|
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 ®
|