Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
FUNCIONES Y MDULOS
INTRODUCCIN
Las funciones contienen varias sentencias bajo un solo nombre, que un
programa puede utilizar una o ms veces para ejecutar dichas sentencias.
Ahorran espacio, reduciendo repeticiones y haciendo mas fcil la programacin,
proporcionando un medio de dividir un proyecto grande en mdulos pequeos
mas manejables.
CONCEPTO DE FUNCIN
Para escribir un programa en C++, se divide este en varios mdulos o funciones.
Un programa en C++ se compone de varias funciones, cada una de las cuales
realiza una tarea principal. El mejor medio para escribir es escribir funciones
independientes para cada tarea que realice el programa. Cada funcin realiza
una determinada tarea y cuando se ejecuta la sentencia return termina el
cdigo de la funcin y se retorna al punto en que fue llamada por el programa o
funcin principal.
Las funciones son unas de las piedras angulares de la programacin en C++.
Una buena regla para determinar la longitud de una funcin (nmero de lneas
que contiene) es que no ocupe
mas
longitud
que el equivalente
a una pantalla
Curso:
Lenguaje
de Programacion
I
Prof. Ing. Farfn Aguilar Jos Antonio
PROTOTIPO DE FUNCIONES
C++ requiere que una funcin se declare o defina antes de uso. La
declaracin de una funcin se denomina prototipo. Especficamente
un prototipo consta de los siguientes elementos : nombre de la
funcin; lista de parmetros formales encerrados entre parntesis y
un punto y coma. Los prototipos se sitan normalmente al principio
de un programa, antes de la definicin de la funcin main(). La
definicin completa de la funcin debe existir en algn lugar del
programa; por ejemplo, antes o despus del main.
El compilador utiliza los prototipos para validar que el nmero y los
tipos de datos de los parmetros actuales de la llamada a la funcin
son los mismos que el nmero y tipo de parmetros formales. Si una
funcin no tiene argumentos se ha de utilizar la palabra reserva void
como lista de argumentos del prototipo (tambin se puede escribir
parntesis vacos)
#include <stdlib.h>
#include <iostream.h>
PROGRAMACION MODULAR
Divide el problema en mdulos independientes.
Cada programa contiene un mdulo Principal que
PLANILLA EMPLEADOS
VENTAJAS
Es sencillo de escribir y depurar
Se puede cambiar un mdulo, sin afectar a
los otros.
Permite chequear solo donde hay
problemas.
Primero son chequeadas las interfaces
principales.
Funciones
Una funcin es una seccin de cdigo que realiza
una tarea especfica, y que puede ser llamada
desde otra funcin.
FUNCION
Conjunto de Instrucciones cuya ejecucin se lleva a
cabo cada vez que es Invocada
Cuando termina la ejecucin de la funcin, se
retorna al punto de llamada, para continuar con las
siguientes instrucciones.
Todas las funciones, menos las de tipo void,
devuelven un valor
Curso: Lenguaje de Programacion I
Prof. Ing. Farfn Aguilar Jos Antonio
#include <iostream.h>
#include <stdlib.h>
int mayor;
void ingreso();
void salida();
void main()
{
ingreso();
salida();
system("pause");
}
void ingreso()
{
int a,b,c;
cout<<"Ingreses nmeros: \n";cin>>a>>b>>c;
mayor=a;
if(b>mayor)
mayor=b;
if(c>mayor)
mayor=c;
}
void salida()
{
cout<<"El nmero mayor es: "<<mayor<<endl;
}
EJEMPLO:01
el pago mensual del empleado de una empresa se efecta de la
siguiente manera: el sueldo bsico se calcula en base al monto
total de horas trabajadas basada en una tarifa horaria, al sueldo
bsico se le aplica una bonificacin del 20% obtenindose el sueldo
#include <iostream.h>
#include <stdlib.h>
float s_basico,s_bruto,s_neto;
void ingreso();
void salida();
void main(){
ingreso();
salida();
system ("pause");
}
void ingreso(){
float ph,ht;
cout<<"\n Ingrese el nmero de horas trabajadas: "; cin>>ht;
cout<<"\n Ingresar el pago por hora: "; cin>>ph;
s_basico=ph*ht;
s_bruto=1.2*s_basico;
s_neto=0.9*s_bruto;
}
void salida(){
cout<<"\n El sueldo basico es: "<<s_basico;
cout<<"\n El sueldo bruto es: "<<s_bruto;
cout<<"\n El sueldo neto es: "<<s_neto<<endl;
}
Curso: Lenguaje de Programacion I
Prof. Ing. Farfn Aguilar Jos Antonio
CLASIFICACIN DE VARIABLES
LOCALES
GLOBALES
Mantienen su valor
funcin, al principio o en
del programa
programa
sale de la funcin.
CLASIFICACION DE VARIABLES
LOCALES
GLOBALES
Se
pueden
usar Se declaran antes del
diferentes
variables
programa principal.
locales, con el mismo
nombre
PASO DE PARAMMETROS
Muchas veces las funciones requieren que les enven una lista
de valores llamados parmetros(argumentos), para usarlos en
la solucin de la tarea encomendada.
Los parmetros son variables muchas veces de entrada(reciben
valores) y de salida (devuelven resultados) o ambos de e/s.
Estos parmetros tambin toman el nombre de parmetros por
valor (entrada) y parmetros por referencia(salida).
/* funcin rea */
real area(real x, real y)
{
return (x*y);
}
Curso: Lenguaje de Programacion I
Prof. Ing. Farfn Aguilar Jos Antonio
Ej.:
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>
//funcin calcula menor de tres nmeros
int menor(int x, int y, int z);
int main()
{
int a,b,c;
#include <iostream.h>
#include <stdlib.h>
float area(float b, float h);
float perimetro(float b, float h);
int main()
{
float b,h,func1,func2;
cout<<"Ingrese base: ";cin>>b;
cout<<"Ingrese altura: ";cin>>h;
func1=area(b,h);
func2=perimetro(b,h);
cout<<"\nEl area del rectangulo es "<<func1;
cout<<"\nEl perimetro del rectangulo es
"<<func2<<endl;
system("pause");
Curso: Lenguaje de Programacion I
Prof.
Ing. Farfn Aguilar Jos Antonio
}
Principal
{
real Area, perimetro, Ancho, Alto;
Escribir area y perimetro de un rectangulo;
Leer Ancho;
Leer Alto;
rectangulo(Ancho, Alto, Area, perimetro);
Escribir El area es: Area y perimetro es: perimetro;
}
EJEMPLO 1:
#include <iostream.h>
#include <conio.h>
void intercambiar(int &num1, int &num2);
int main()
{
int a,b;
cout<<"Ingresar primer nmero: ";cin>>a;
cout<<"Ingresar segundo nmero: ";cin>>b;
cout<<"\nEl valor de a es: "<<a;
cout<<"\nEl valor de b es: "<<b;
intercambiar(a,b);
cout<<"\nEl numevo valor de a es: "<<a;
cout<<"\nEl numevo valor de b es: "<<b;
getch();
return 0;
}
void intercambiar (int &num1, int &num2)
{
int aux;
aux=num1;
num1=num2;
num2=aux;
Curso: Lenguaje de Programacion I
}
Prof. Ing. Farfn Aguilar Jos Antonio