Está en la página 1de 26

Mg.Ing. Yuri A.

Pomachagua Basualdo
2014
Universidad Tecnolgica del Per
Yart
Ing Yuri A. Pomachagua Basualdo
Funciones
Ing Yuri A. Pomachagua Basualdo
Contenido

Modulacin de un programa
Definicin de Funcin
Argumento.
Retorno
Aplicaciones
Yart
Ing Yuri A. Pomachagua Basualdo
Logro
Al finalizar esta sesin el alumno ser
capaz de comprender un programa
utilizando funciones y sabr definir
adecuadamente las funciones con
parmetros o sin parmetros
Yart
Ing Yuri A. Pomachagua Basualdo
La abstraccin es la herramienta ms poderosa
que la gente tiene para gestionar la complejidad!
Ing Yuri A. Pomachagua Basualdo
Ejercicio.- Escribir un
programa que dibuja
una casa tal como se
muestra en la imagen
Ing Yuri A. Pomachagua Basualdo
Principal
Dibuja
Chimenea
Dibuja
Puerta
Dibuja
Ventana
Dibuja
Contorno
Dibuja
Marco de Puerta
Dibuja
Perilla
Ing Yuri A. Pomachagua Basualdo
Consiste en dividir un programa
complejo en subprogramas, donde
el programa principal es el
controlador o conductor y los
subprogramas son las funciones o
procedimientos
Ing Yuri A. Pomachagua Basualdo
El programa principal invoca al
subprograma, el subprograma
ejecuta las tareas y luego devuelve
el control al Programa principal.
Programa
Principal
Subprograma1
Subprograma 2
Subprograma1.1
Invoca
Retorna
Invoca
Retorna
Ing Yuri A. Pomachagua Basualdo
Definicin.- Una funcin consta de dos
partes, el encabezado y el cuerpo de la
funcin.

El encabezado.- Aqu, al igual que en el
prototipo de la misma, se tienen que
especificar los parmetros de la funcin,
si los utiliza y el tipo de datos que
devuelve.

El cuerpo.- Se compone de las
instrucciones necesarias para realizar la
tarea para la cual se crea la funcin
Ing Yuri A. Pomachagua Basualdo

Tipo_de_Retorno Nombre_Funcin(Parmetros)
{
Declaraciones;
Instrucciones;
--------
--------
return [expresin];
}

Cuero de la
Funcin
Encabezado
Ing Yuri A. Pomachagua Basualdo
Tipo_de_retorno: es el tipo del valor devuelto por la funcin,
o, en caso de que la funcin no devuelva valor alguno, la
palabra reservada void.

Nombre_funcin: es el identificador asignado a la funcin.

Parmetros: Tambin llamado argumentos es la lista de
declaracin de los parmetros que son pasados a la funcin.
stos se separan por comas. Debemos tener en cuenta que
pueden existir funciones que no utilicen parmetros.

Cuerpo_de_la_funcin: est compuesto por un conjunto de
sentencias que llevan a cabo la tarea especfica para la cual
ha sido creada la funcin.

Return: mediante la palabra reservada return, se devuelve
el valor de la funcin, en este caso representado por
expresin.
Ing Yuri A. Pomachagua Basualdo
La declaracin de una funcin se conoce
tambin como prototipo de la funcin.

En el prototipo de una funcin se tienen que
especificar los parmetros de la funcin, as
como el tipo de dato que devuelve.

Los prototipos de las funciones se incluyen
generalmente en la cabecera del programa.
Ing Yuri A. Pomachagua Basualdo

Tipo_de_Retorno Nombre_Funcin(Parmetros);

Int main()
{
Instrucciones;
-------
return [expresin];
}

Tipo_de_Retorno Nombre_Funcin(Parmetros)
{
Instrucciones;
return expresin;
}

Funcin
principal
Prototipo
Ing Yuri A. Pomachagua Basualdo

float vol_Esfera( float Ra,);

Int main()
{
Instrucciones;
-------
return 0;
}

float vol_Esfera(Pfloat Ra)
{
return 3.14*3/4*Ra*Ra*Ra;
}

Ing Yuri A. Pomachagua Basualdo
Ejercicio.-
Elaborar una
funcin que
calcule el
producto de dos
nmeros


#include <iostream>
using namespace std;
double Multiplicar(float N1, float N2);
int main()
{
float A,B;
double Prod;
cout << "Ingrese primer Operando ";
cin >> A;
cout << "Ingrese segundo Operando ";
cin >> B;
Prod = Multiplicar(A,B); // Aqu se invoca a la funcin
cout << "El producto de " << A << " * " <<B <<" es --> "<< Prod <<endl;
return 0;
}
double Multiplicar(float N1, float N2)
{
return N1*N2;
}
Ing Yuri A. Pomachagua Basualdo
Ejercicio.- Elaborar
una funcin que calcule
el volumen de un
cilindro


#include <iostream>
using namespace std;

float Vol_Cilindro(float, float);
int main()
{
float ra,ha, res;
cout << "Ingrese el radio: ";
cin >> ra;
cout << "Ingrese la altura: ";
cin >> ha;
res = Vol_Cilindro(ra,ha); // Aqu se invoca a la funcin
cout << "El volumen del cilindro es --> "<< res << endl;
}

float Vol_Cilindro(float R, float H)
{
float resp;
resp = 3.1416*R*R*H;
return resp;
}
Ing Yuri A. Pomachagua Basualdo
Solucin 1:
C++




#include <iostream>
using namespace std;
float Media(float a, float b, float c);
int main() {
float x, y, z;
Media(x, y, z); // Aqu se invoca a la funcin
system(pause);
return 0; }
float Media(float a, float b, float c)
{ float M;
cout << "Ingrese 1er nmero --> ";
cin >> a;
cout << "Ingrese 2do nmero --> ";
cin >> b;
cout << "Ingrese 3er nmero --> ";
cin >> c;
M=(a+b+c)/3.0;
cout << "EL promedio de los nmeros " << a << ", " << b << " y "<< c
<<" es --> " << M <<endl;
return 0;
}
Ing Yuri A. Pomachagua Basualdo
float Vol_Cilindro(float R, float H)
{
float resp;
resp = 3.1416*R*R*H;
return resp;
}
Ing Yuri A. Pomachagua Basualdo
Variable Global- Tienen actuacin sobre todo el
programa, tanto el principal como cualquier
subprograma.

float vol_Esfera( float Ra,);
double volum;

Int main()
{
Instrucciones;
Volum = Expresion;
return 0;
}
float vol_Esfera(float Ra)
{
volum=Expresin1;
return [Expresin];
}

Ing Yuri A. Pomachagua Basualdo
Por Referencia- Es aquel en que se pasa la
variable y no el valor, lo que permite pueda ser
modificada por el subprograma llamado.
Ing Yuri A. Pomachagua Basualdo
Paso de
parmetro
por valor
#include <iostream>
using namespace std;
int funcion(int n, int m);
int main()
{
int a, b;
a = 50;
b = 100;
cout << "a,b ->" << a << ", " << b << endl;
cout << "funcion(a,b) ->" << funcion(a, b) << endl;
cout << "a,b ->" << a << ", " << b << endl;
cout << "funcion(50,100) ->" << funcion(50, 100) << endl;
return 0;
}
int funcion(int n, int m)
{
n = n + 10;
m = m - 25;
return n+m;
}
Ing Yuri A. Pomachagua Basualdo
Paso de
parmetro
por
referencia
#include <iostream>
using namespace std;
int funcion(int &n, int &m);
int main()
{
int a, b;
a = 50;
b = 100;
cout << "a,b ->" << a << ", " << b << endl;
cout << "funcion(a,b) ->" << funcion(a, b) << endl;
cout << "a,b ->" << a << ", " << b << endl;
return 0;
}
int funcion(int &n, int &m)
{
n = n + 10;
m = m - 25;
return n+m;
}
Ing Yuri A. Pomachagua Basualdo

Ejercicio 1.- Elaborar una funcin que calcule la
cantidad de nmeros primos que se encuentran
entre dos valores a, b naturales; a>b.

Ejercicio 2.- Escribir una funcin para imprimir
todos los valores de a, b y c que cumplan con la
siguiente ecuacin c
2
= a
2
+ b
2
, para valores de a,
b y c que se encuentran entre 1 y 50.

.


Ing Yuri A. Pomachagua Basualdo
Smbolo Operacin
++ Incremento
-- Decremento
= A = B
+= A += B A = A + B
-= A -= B A = A - B
*= A *= B A = A * B
/= A /= B A = A / B
%= A %= B A = A % B
Ing Yuri A. Pomachagua Basualdo
IMPLEMENTAR EN EL
LABORATORIO LAS FUNCIONES
EXPLICADOS EN CLASE
Yart
Ing Yuri A. Pomachagua Basualdo

También podría gustarte