26
T RABAJO PRACTICO EN ENTORNO DE C++ F UNCIONES EN C ++ Las funciones son un conjunto de instrucciones que realizan una tarea específica. valores de entrada, llamados parámetros y proporcionan un valor de salida o valor tanto unos como el otro son opcionales, y pueden no eistir. En C++ es o!ligatorio usar prototipos. "n prototipo es una declaraci#n de una fun presentaci#n de la funci#n, eactamente con la misma estructura que la definici# terminada con un $;$. La estructura de un prototipo es% [extern |static ] <tipo_valor_retorno> [<modificadores>] <identificador>(<lista_parámetros>); En general, el prototipo de una funci#n se compone de las siguientes secciones% &pcionalmente, una pala!ra que especifique el tipo de almacenamiento, puede ser extern o static . 'i no se especifica ninguna, por defecto será extern . (o te preocupes de esto todavía, de momento s#lo usaremos funciones eternas, lo menciono porque declaraci#n. El tipo del valor de retorno, que puede ser void , si no necesitamos valor de retorno. En C, si no se esta!lece, será int por defecto, aunque en general se considera una mala t)cnica d programaci#n omitir el tipo de valor de retorno de una funci#n. En C++ es o!l el tipo del valor de retorno. *odificadores opcionales. ienen un uso muy específico, de momento no entrar este particular, lo veremos en capítulos posteriores. El identificador de la funci#n. Es costum!re, muy til y muy recomenda!le, que indiquen, lo más claramente posi!le, qu) es lo que -ace la funci#n, y que interpretar qu) -ace el programa con s#lo leerlos. Cuando se precisen varias conseguir este efecto se puede usar alguna de las reglas más usuales. "na con cada pala!ra con un $ $. &tra, que yo prefiero, consiste en escri!ir la prime pala!ra en may scula y el resto en min sculas. /or ejemplo, si -acemos una f !usque el n mero de tel)fono de una persona en una !ase de datos, podríamos $!usca telefono$ o $0usca elefono$. "na lista de declaraciones de parámetros entre par)ntesis. Los parámetros d son los valores de entrada 1y en ocasiones tam!i)n de salida2. /ara la funci# eactamente igual que varia!les, y de -ec-o cada parámetro se declara igual q "na lista de parámetros es un conjunto de declaraciones de parámetros separad /uede tratarse de una lista vacía. En C es preferi!le usar la forma $func1voi parámetros vacías. En C++ este procedimiento se considera o!soleto, se usa si $func12$. Por ejemplo: int Mayor( int a, int b); "n prototipo sirve para indicar al compilador los tipos de retorno y los de los p modo que comprue!e si son del tipo correcto cada vez que se use esta funci#n dent -acer las conversiones de tipo cuando sea necesario. Integrantes de 6°4°: Gonzalo Florentn! Igna"#o Gat#"a! $en %# Tog&"'#! Ra(#ro Da(er

Funciones en c

Embed Size (px)

DESCRIPTION

Algunas de las funciones C++ que debemos saber para este lenguaje de programación.

Citation preview

Trabajo practico en entorno de C++

Funciones en c++

Las funciones son un conjunto de instrucciones que realizan una tarea especfica. En general toman ciertos valores de entrada, llamados parmetros y proporcionan un valor de salida o valor de retorno; aunque en C++, tanto unos como el otro son opcionales, y pueden no existir.En C++ es obligatorio usar prototipos. Un prototipo es una declaracin de una funcin. Consiste en una presentacin de la funcin, exactamente con la misma estructura que la definicin, pero sin cuerpo y terminada con un ";". La estructura de un prototipo es:[extern|static] [] (); En general, el prototipo de una funcin se compone de las siguientes secciones: Opcionalmente, una palabra que especifique el tipo de almacenamiento, puede serexternostatic. Si no se especifica ninguna, por defecto serextern. No te preocupes de esto todava, de momento slo usaremos funciones externas, lo menciono porque es parte de la declaracin. El tipo del valor de retorno, que puede servoid, si no necesitamos valor de retorno. En C, si no se establece, serintpor defecto, aunque en general se considera una mala tcnica de programacin omitir el tipo de valor de retorno de una funcin. En C++ es obligatorio indicar el tipo del valor de retorno. Modificadores opcionales. Tienen un uso muy especfico, de momento no entraremos en este particular, lo veremos en captulos posteriores. El identificador de la funcin. Es costumbre, muy til y muy recomendable, poner nombres que indiquen, lo ms claramente posible, qu es lo que hace la funcin, y que permitan interpretar qu hace el programa con slo leerlos. Cuando se precisen varias palabras para conseguir este efecto se puede usar alguna de las reglas ms usuales. Una consiste en separar cada palabra con un "_". Otra, que yo prefiero, consiste en escribir la primera letra de cada palabra en mayscula y el resto en minsculas. Por ejemplo, si hacemos una funcin que busque el nmero de telfono de una persona en una base de datos, podramos llamarla "busca_telefono" o "BuscaTelefono". Una lista de declaraciones de parmetros entre parntesis. Los parmetros de una funcin son los valores de entrada (y en ocasiones tambin de salida). Para la funcin se comportan exactamente igual que variables, y de hecho cada parmetro se declara igual que una variable. Una lista de parmetros es un conjunto de declaraciones de parmetros separados con comas. Puede tratarse de una lista vaca. En C es preferible usar la forma "func(void)" para listas de parmetros vacas. En C++ este procedimiento se considera obsoleto, se usa simplemente "func()".Por ejemplo:int Mayor(int a, int b);Un prototipo sirve para indicar al compilador los tipos de retorno y los de los parmetros de una funcin, de modo que compruebe si son del tipo correcto cada vez que se use esta funcin dentro del programa, o para hacer las conversiones de tipo cuando sea necesario.En el prototipo, los nombres de los parmetros son opcionales, y si se incluyen suele ser como documentacin y ayuda en la interpretacin y comprensin del programa. El ejemplo de prototipo anterior sera igualmente vlido si se escribiera como:

int Mayor(int, int);

Esto slo indica que en algn lugar del programa se definir una funcin "Mayor" que admite dos parmetros de tipointy que devolver un valor de tipoint. No es necesario escribir nombres para los parmetros, ya que el prototipo no los usa. En otro lugar del programa habr una definicin completa de la funcin.Normalmente, los prototipos de las funciones se declaran dentro del fichero del programa, o bien se incluyen desde un fichero externo, llamado fichero de cabecera, (para esto se usa la directiva#include, que veremos en el siguiente captulo).Ya lo hemos dicho ms arriba, pero las funciones sonexternpor defecto. Esto quiere decir que son accesibles desde cualquier punto del programa, aunque se encuentren en otros ficheros fuente del mismo programa.En contraposicin las funciones declaradasstaticslo son accesibles dentro del fichero fuente donde se definen.

Definicin de funciones

Al igual que hemos visto con las variables, las funciones deben declararse, para lo que usaremos los prototipos, pero tambin deben definirse.Una definicin contiene adems las instrucciones con las que la funcin realizar su trabajo, es decir, su cdigo.La sintaxis de una definicin de funcin es:[extern|static] [modificadores] (){ [sentencias]}Como vemos, la sintaxis es idntica a la del prototipo, salvo que se elimina el punto y coma final, y se aade el cuerpo de funcin que representa el cdigo que ser ejecutado cuando se llame a la funcin. El cuerpo de la funcin se encierra entre llaves "{}".La definicin de la funcin se hace ms adelante o ms abajo, segn se mire, es decir, se hace despus que el prototipo. Lo habitual es hacerlo despus de la funcinmain.Una funcin muy especial es la funcinmain, de la que ya hablamos en el captulo primero. Se trata de la funcin de entrada, y debe existir siempre, ya ser la que tome el control cuando se ejecute el programa. Los programasWindowsusan la funcinWinMaincomo funcin de entrada, aunque en realidad esta funcin contiene en su interior la definicin de una funcinmain, pero todo esto se explica en otro lugar.Existen reglas para el uso de los valores de retorno y de los parmetros de la funcinmain, pero de momento la usaremos comointmain()ointmain(void), con un entero como valor de retorno y sin parmetros de entrada. El valor de retorno indicar si el programa ha terminado sin novedad ni errores retornando cero, cualquier otro valor de retorno indicar un cdigo de error.

Otros tipos de funciones son las siguientes:

Hasta ahora siempre hemos declarado los parmetros de nuestras funciones del mismo modo. Sin embargo, ste no es el nico modo que existe para pasar parmetros.La forma en que hemos declarado y pasado los parmetros de las funciones hasta ahora es la que normalmente se conoce como "por valor". Esto quiere decir que cuando el control pasa a la funcin, los valores de los parmetros en la llamada se copian a "objetos" locales de la funcin, estos "objetos" son de hecho los propios parmetros.Lo veremos mucho mejor con un ejemplo:#include using namespace std; int funcion(int n, int m); int main() { int a, b; a = 10; b = 20; cout