Documente Academic
Documente Profesional
Documente Cultură
21/10/2012
FUNCIONES
Todo programa en C es una coleccin de funciones donde main es la funcin principal.
Las funciones pueden clasificarse como: 1) Funciones con valor devuelto: Function 2) Funciones que no devuelven valor : Procedure
21/10/2012
1.
Funciones con valor devuelto. Son aquellas funciones que devuelven un valor o resultado a la seccin donde se hizo la llamada. FORMATO: Tipo_dato Identificador lista_ argumentos de retorno { . . . . . . .// cdigo de la funcin return <valor devuelto> Mg. Edgar Ruiz Lizama }
21/10/2012
Ejemplo 1:
#include <iostream> #include <cmath> float RaizCuadrada(int p); using namespace std; int main() //funci2.cpp { float r=25; cout<<"La Raiz cuadrada de "<<r<<" es = "<<RaizCuadrada(r); cout<<endl; return 0; }
21/10/2012
Las funciones que no devuelven valor (o procedimientos) se especifican como funciones de tipo void.
FORMATO:
void {
...
identificador
lista_ argumentos
}
Mg. Edgar Ruiz Lizama
Ejemplo 2:
##include <iostream> #include <cmath> void RaizCuadrada(float p); using namespace std; int main() //funci3.cpp { float r=25;
21/10/2012
RaizCuadrada(r); //llamada a la funcion return 0; } void RaizCuadrada (float p) { cout<<"La Raiz cuadrada de "<<p<<" es = "<<sqrt(p); cout<<endl; }
Mg. Edgar Ruiz Lizama
21/10/2012
SOBRECARGA DE FUNCIONES
Ejemplo 3:
Escribir un programa que solicite el radio y calcule el rea, longitud, y el volumen segn las siguientes formulas. Resuelva utilizando funciones.
21/10/2012
Solucin
//Ejemplo 3 #include <iostream> const float PI=3.141592; //declaracion de funciones prototipo float AreaCirculo (float r); float LongitudCircu(float r); float VolumenEsfera (float r); using namespace std; int main()//areas1.cpp { float radio; cout<<"ingrese valor del radio: "; cin>>radio; cout<<"el area del circulo es "<<AreaCirculo(radio)<<endl; cout<<Longitud de la circunf. es:"<<LongitudCircu(radio)<<endl; cout<<"el volumen de la esfera es "<<VolumenEsfera(radio)<<endl; return 0; }
Mg. Edgar Ruiz Lizama
21/10/2012
Continuacin
//definiciones de funciones
10
21/10/2012
11
21/10/2012
12
21/10/2012
float radio; float r1; double r2; long double r3; cout<<"ingrese valor del radio: cin>>radio; ";
Mg. Edgar Ruiz Lizama
13
21/10/2012
Continuacin
r3=r2=r1=radio; cout<<"el area del circulo es "<<formulas(r1)<<endl; cout<<"La longitud de la circunf. es:"<<formulas(r2)<<endl; cout<<"el volumen de la esfera es "<<formulas(r3)<<endl; return 0; }
14
21/10/2012
Continuacin
return 2*PI*r;
} long double formulas(long double r) { //esfera return (4/3)*PI*r*r*r; }
15
21/10/2012
Ejemplo5: Escribir un programa que halle la media de 2 y 3 nmeros. Resuelva sin sobrecarga
#include <iostream> //hallando la media //Declaracion de funciones prototipo float media2(float n1, float n2); float media3(float n1,float n2,float n3); using namespace std; int main() //funcs2.cpp { float media; media = media2(2.5,4.7); cout<<"La media de 2.5 y 4.7 es "<<media<<endl; media = media3(2.5,4.7,3.2); cout<<"La media de 2.5, 4.7 y 3.2 es "<<media<<endl; } float media2(float n1,float n2) { return (n1+n2)/2; } float media3(float n1,float n2,float n3) { return (n1+n2+n3)/3; } return 0;
16
21/10/2012
17
21/10/2012
Ejemplo: Escribir un programa que halle la media de dos y tres nmeros, utilizando el concepto de sobrecarga
#include <iostream> // Declaracion de funciones prototipo float media(float n1, float n2); float media(float n1,float n2,float n3); double media(double n1,double n2,double n3); using namespace std; int main() //funcs2.cpp { float med;
med = media(2.5,4.7); cout<<"Media de 2.5 y 4.7 es: "<<med<<endl; med=media(2.5,4.7,3.2); //tres flotantes cout<<"Media de 2.5, 4.7 y 3.2 es: "<<med<<endl; med=media(2.5655,4.7897,3.000568); //trea dobles cout<<"Media 2.5, 4.7 y 3.2 es: "<<med<<endl; return 0;
} //continua
Mg. Edgar Ruiz Lizama
18
21/10/2012
Continuacion:
float media(float n1,float n2) { return (n1+n2)/2; }
float media(float n1,float n2,float n3) { return (n1+n2+n3)/3; } double media(double n1,double n2,double n3) { return (n1+n2+n3)/3; }
19
21/10/2012
21/10/2012
20
21
21/10/2012
MACROS
Una macro es una seccin de cdigo, generalmente una lnea que realiza una labor o clculo.
FORMATO:
22
21/10/2012
CODIGO EN C++ :
#include <iostream> #define PI 3.141592 #define CUBO(x) (x)*(x)*(x) #define VOLESFERA(r) ((4/3)*PI*CUBO(r))
using namespace std; int main() { int x,r; cout<<"Ingrese el lado del cubo: "<<endl; cin>>x; cout<<"El volumen del cubo es: "<<CUBO(x)<<endl; cout<<"Ingrese el radio de la esfera: "; cin>>r; cout<<"El volumen de la esfera es: <VOLESFERA(r)<<endl;
return 0;
}
Mg. Edgar Ruiz Lizama
23
21/10/2012
24
21/10/2012
EJEMPLO
La seccin de cdigo if(a>b) mayor = a; else mayor = b; Usando una macro se puede escribir como: #define MAYOR(a,b)((a>b)?(a) : (b))
Mg. Edgar Ruiz Lizama
25
21/10/2012
Implementacin
#include<iostream> // macros #define MAYOR(x,y) ((x>y)? (x):(y)) #define MENOR(x,y) ((x<y)? (x):(y)) using namespace std; int main()// macro6.cpp { int a,b; cout<<"ingrese dos enteros diferentes: cin>>a>>b; cout<<"el mayor es "<<MAYOR(a,b)<<endl; cout<<"el menor es "<<MENOR(a,b)<<endl; return 0; }
Mg. Edgar Ruiz Lizama
";
26
21/10/2012
27
21/10/2012
Archivos de Inclusin
Un archivo de inclusin es un archivo que fsicamente existe fuera del archivo fuente. Para ser utilizado debe ser llamado desde una directiva de inclusin en el archivo fuente, mediante la directiva include; tal como lo siguiente: #include miheader.h. Los Archivos de inclusin son definidos del siguiente modo:
Mg. Edgar Ruiz Lizama
28
21/10/2012
#endif
donde NOMBRE_H es un identificadorMg. Edgar Ruiz Lizama
29
21/10/2012
30
21/10/2012
31
21/10/2012
32
21/10/2012
Referencias
Deitel H.M. y Deitel P.J., (2008). Como Programar en C++". Mxico, 6ta. ed. Prentice Hall: 927p. Kernighan Brian W. & Ritchie Dennis M. (1993) El Lenguaje de Programacin C. 2da. Edicin. Prentice-Hall Hispanoamericana, 294 p. Mxico. Parker Alan, (1993). "Algorithms and Data Structures in C++ ". USA CRC Press: 257p. Ruiz Lizama Edgar, (2009). Programacin con C++ Fondo editorial de la UNMSM, 432p. Ruiz Lizama Edgar, (1999). "Curso de Lenguaje C". Lima, Facultad de Ingeniera Industrial UNMSM, 234p. Stroustrup, Bjarne (2002) "El Lenguaje de Programacin C++ Edicin especial". Addison Wesley PEARSON EDUCACIN S.A. 1050 p. Espaa.
Mg. Edgar Ruiz Lizama