Ahora con nuevo dominio, para que tu acceso a la página sea mas fácil.  

 www.cmasmas.es.mn

-----------------------------------------------------------

FUNCIONES

Funciones del programador.

El programador puede escribir funciones para definir ciertas tareas especificas que podrán utilizarse en muchos puntos del programa.  Las instrucciones reales que definen la función solo se escriben una vez y se ocultan de las demás funciones.

Puede invocar a una función (es decir, hacer que realice su tarea) mediante una llamada función.  Ésta especifica el nombre de la función y le proporciona información (en forma de argumentos) que necesita para trabajar.

Las funciones le permiten al programador modulizar sus programas.  Todas las variables declaradas en las definiciones de función son  variables locales solo se conoce en la función en la que se definieron.  La mayoría de las funciones tienen una lista de parámetros, que proporciona el medio para la comunicación de información entre las funciones.  Los parámetros de una función también son variables locales.

Hay varias razones para funcionalizar los programas.  La estrategia de divide y conquista hace más manejable el desarrollo de programas.  Otra razón es la reutilización de software, es decir la utilización de funciones ya existentes como bloques de construcción de nuevos programas.  La reutilización de código de software es un factor medular en la programación orientada a objetos.

Con buena definición y nombrado de funciones se puede crear programas a partir de funciones estandarizadas que llevan a cabo tareas específicas, en lugar de construirlos con código personalizado.  Un tercer aliciente es evitar la repetición del código dentro de un programa.  Cuando el código se empaca como función, es posible ejecutarlo desde varios puntos del programa, simplemente llamando a la función.

Formato de una definición de función

Tipo de valor devuelto nombre de función (lista de parámetros)

{

   declaraciones e instrucciones

}

El nombre de la función es cualquier identificador válido.  El Tipo de valor devuelto es el tipo de datos del resultado que la función le devuelve al invocador.  El tipo de valor devuelto void indica que la función no devuelve ningún valor.  Si no se especifica el tipo de valor devuelto, el compilador supone int.

Las declaraciones e instrucciones entre llaves forman el cuerpo de la función.  Este también se conoce como bloque.  Un bloque simplemente es una instrucción compuesta que incluye declaraciones.  Las variables pueden declararse en cualquier bloque, y los bloques pueden estar anidados.

Hay tres maneras de devolver el control al punto en el que se invocó a la función.  Si la función no devuelve un resultado, el control simplemente se devuelve cuando se llega a la llave que termina la función, o ejecutando la instrucción return; si la función devuelve un resultado, la instrucción return expresión; le devuelve el valor de expresión al invocador.

Devolver el valor la función main mediante la instrucción return variable; el valor devuelto se asigna a otra variable.

Prototipos de función

Una de las características más importantes de C++ es el prototipo de función.  Un prototipo de función le dice al compilador el nombre de la función, el tipo de datos que esta devuelve, el número, tipo y orden de los parámetros que dicha función espera recibir.  El compilador utiliza sus prototipos de función para validar las llamadas de funciones.

Código con función que encuentra el cuadrado de los primero 10 números.

#include<conio.h>
#include<iostream.h>
int cuadrado(int);/*Prototipo de función.  El tipo de datos int que esta entre paréntesis le informa al compilador que la función cuadrado espera que el invocador le devuelva un valor entero.  El tipo de datos int que está a la izquierda del nombre de la función le informa al compilador que cuadrado le devuelve un resultado entero al invocador.  El compilador hace referencia al prototipo de la función para asegurarse de que las llamadas a cuadrado contengan el tipo de devolución correcto y que él número, tipo y orden de los argumentos estén correctos.  No es necesario el prototipo de la función si la definición de esta aparece antes de la primera vez en que se usa en el programa.  En tal caso, la definición de la función también actúa como prototipo de la función.  Se puede indicar los nombres de los parámetros en los prototipos de las funciones con fines de documentación.  El compilador ignora estos nombres.*/
int main()/*Código principal (main), "siempre" las funciones se invocan desde el main, o también se pueden crear funciones que llamen otras funciones.*/
{
clrscr();
for(int x=1;x<=10;x++)
cout<<cuadrado(x)<<" ";/*La función cuadrado se invoca o llama desde main mediante la llamada ---cuadrado(x)---, la función cuadrado recibe una copia del valor de x en el parámetro y.  Luego, cuadrado calcula y*y.  El resultado se devuelve al punto de main donde se llamo cuadrado y se despliega en pantalla.  Observe que la llamada de la función no cambió el valor de x.  Este proceso se repite diez veces por medio de la estructura for.*/
cout<<endl;
getch();
return 0;
}
int cuadrado(int y)/*Definición de la función.  La definición de la función cuadrado muestra que cuadrado espera un parámetro entero y.  La palabra clave int que precede al nombre de la función indica que cuadrado devuelve un resultado entero.  */
{
return y*y;/*Esta instrucción devuelve el resultado del calculo a la función invocadora.*/
}

Programa con función que encuentra el cuadrado de los primero 10 números.

Código con función, encuentra el mayor de tres números ingresados.

#include<conio.h>
#include<iostream.h>
int maximo(int,int,int);/*Prototipo.*/
int main()/*Función principal.*/
{
int a,b,c;
clrscr();
cout<<"Ingrese tres número enteros, se encontrará el mayor de ellos: "<<endl;
cout<<"Valor 1= ";
cin>>a;
cout<<"Valor 2= ";
cin>>b;
cout<<"Valor 3= ";
cin>>c;
cout<<endl<<endl<<"El número mayor es: "<<maximo(a,b,c);
getch();
return 0;
}
int maximo(int valor1,int valor2,int valor3)/*Definición de la función maximo.*/
{
int max;
if(valor1>valor2&&valor1>valor3)
{
max=valor1;
}
else
{
if(valor2>valor3)
max=valor2;
else
max=valor3;
}
return max;
}

Programa con función, encuentra el mayor de tres números ingresados.

Código con procedimiento. Se lee n valores y se encuentra la suma y el promedio de los valores.

#include<iostream.h>
#include<conio.h>
void sumprom(int n,int &suma,double &prom)/*Definición de función.*/
{
int i,num;
suma=0;
for(i=1;i<=n;i++)
{
cout<<"Entrar número: ";
cin>>num;
suma+=num;
}
prom=float(suma)/n;/*Se hace casting.*/
}
main()
{
int auxn,auxsuma;
double auxprom;
clrscr();
cout<<"Entrar cantidad de números: ";
cin>>auxn;
cout<<endl<<endl;
sumprom(auxn,auxsuma,auxprom);
cout<<endl<<endl<<"Valor de la suma: "<<auxsuma<<endl;
cout<<"Valor promedio: "<<auxprom<<endl;
getch();
return 0;
}

Programa con procedimiento. Se lee n valores y se encuentra la suma y el promedio de los valores.

-----------------------------------------------------------

Si encuentras algún error en las temas aquí explicados, te rogamos el favor nos lo hagas saber a cmasmascc@hotmail.com

-----------------------------------------------------------

Empresa amiga-->   pcXPertos ®