jueves, 10 de julio de 2014

EVAP-4 Funciones


FUNCIONES

Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman ciertos valores de entrada, llamados parámetros y proporcionan un valor de salida o valor de retorno; aunque en C++, tanto unos como el otro son opcionales, y pueden no existir.
Tal vez parezca un poco precipitado introducir este concepto tan pronto en el curso. Sin embargo, las funciones son una herramienta muy valiosa, y como se usan en todos los programas C++, creo que debemos tener, al menos, una primera noción de su uso. A fin de cuentas, todos los programas C++ contienen, como mínimo, una función.

Una función es un modulo de un programa separado del cuerpo principal, que realiza una tarea especifica y que puede regresar un valor a la parte principal del programa u otra función o procedimiento que la invoque.
La forma general de una función es:
Tipo dato Nomfun(parámetros)
{
cuerpo de instrucciones;
Return [dato,var,expresión];
}
Donde tipo dato especifica el tipo de dato que regresara la función.
La instrucción RETURN es quien regresa un y solo un dato a la parte del programa que la este llamando o invocando, sin embargo es de considerar que return puede regresar un dato, una variable o una expresión algebraica(no ecuación o formula) como lo muestran los siguientes ejemplos;
a) Return 3.1416;
b) Return área;
c) Return x + 15/2;
La lista de parámetros formales es una lista de variables separadas por comas (,) que almacenaran los valores que reciba la función, estas variables actúan como locales dentro del cuerpo de la función.
Aunque no se ocupen parámetros los paréntesis son requeridos.
INSTRUCCIÓN RETURN
Dentro del cuerpo de la función deber haber una instrucción return cuando menos para regresar el valor, esta instrucción permite regresar datos.
Recordar ademas que cuando se llame una función deberá haber una variable que reciba el valor que regresara la función, es decir generalmente se llama una función mediante una sentencia de asignación, por ejemplo resultado=función(5, 3.1416);
prog14.cpp
<code>
#include <stdio.h>
#include <conio.h>
#include <string.h>
todos los proc y funciones deben declararse antes del main float fun1(float b, float a); void main() { clrscr(); capturando datos
area de declaracion de variables y captura de datos int base,altura; float area; area de captura
printf(“dame base: ”);scanf(”%d”,&base);
printf(“dame altura: ”);scanf(”%d”,&altura);
llamando o invocando la funcion fun1 area= fun1(base, altura); desplegando
printf(” area =%0.2f”,area);
getchar();getchar();
}
float fun1(float b, float a)
{
return b * a / 2;
}
</code
Corrida:
image205.jpg
Usar de preferencia solo ints y doubles como parámetros.
Es permitido poner mas de un return en el cuerpo de instrucciones sobre todo en condiciones, pero solo un return se ejecutara, ejemplo;
if (suma >= 10)
{ Return 10; }
else
{ return 20; }

ESTRUCTURA DE UNA FUNCIÓN
La estructura de un programa en C o C++ quedaría así:
[directivas del pre-procesador: includes y defines]
[declaración de variables globales]
[prototipos de funciones]
[declaraciones de clases]
función main 
[definiciones de funciones]
[definiciones de clases]
También se puede omitir el prototipo si se hace la definición antes de cualquier llamada a la función, es decir, en la zona de declaración de prototipos. Esto se puede hacer siempre, sin embargo no es muy recomendable como veremos a lo largo del curso.
Para no dejar las cosas "a medias", podemos ver una posible definición de la función "Mayor", que podría ser la siguiente:

int Mayor(int a, int b)
{
   if(a > b) return a; else return b;
}
ESTRUCTURAS MAS COMPLEJAS 

Los programas complejos se escriben normalmente usando varios ficheros fuente. Estos ficheros se compilan separadamente y se enlazan todos juntos. Esto es una gran ventaja durante el desarrollo y depuración de grandes programas, ya que las modificaciones en un fichero fuente sólo nos obligarán a compilar ese fichero fuente, y no el resto, con el consiguiente ahorro de tiempo.
La definición de las funciones y clases puede hacerse dentro de los ficheros fuente o también pueden enlazarse desde bibliotecas compiladas previamente.
En C++ es obligatorio el uso funciones prototipo, y aunque en C no lo es, resulta altamente recomendable.

No hay comentarios:

Publicar un comentario