Está en la página 1de 8

UNIVERSIDAD NACIONAL DE INGENIERIA

FACULTAD DE INGENIERIA MECANICA


CURSO: MB545
SEMANA05
FUNCIONES PROPIAS
 Realizan tareas específicas.
 Requieren datos para su tarea: parámetros.
 Pueden retornar un valor como no.
 Son independientes en su desarrollo

TAREAS ESPECIFICAS:
- calcula el valor de la raíz cuadrada
- calcula el valor de la potencia
- calcula el valor del factorial
- determina el menor de dos números
- muestra los n primeros números impares
- muestra n números aleatorios comprendidos en un rango
- etc

PARAMETROS:
Son datos que requiere una función para hacer su tarea.
Ejemplos:
- para calcular la raíz cuadrada, la función requiere un parámetro: el número al cual va a sacar su
raíz cuadrada.
- Para calcular la potencia, la función requiere dos parámetros: la base y el exponente.
- Para calcular el factorial, la función requiere un parámetro: el número al cual va a calcular su
factorial.
- Para determinar el menor de dos números, la función requiere dos parámetros: los dos números
para determinar cuál de ellos es el menor.
- Para mostrar los n primeros números impares, la función requiere un parámetro: el valor de n
- Para mostrar n números aleatorios comprendidos en un rango, la función requiere tres
parámetros: n, límite inferior, límite superior.
- Etc.

NO RETORNAN:
COMO SE UTILIZAN / INVOCAN:
void nombre (parámetros) {
Cuando No retorna:

nombre (valores);
}

SI RETORNAN:

Tipo de dato nombre (parámetros) {


Cuando Si retorna:

TipoDeDato variable;
return x;
variable = nombre (valores);
}

Cuando la función retorna un valor, debemos considerarlo como tál. Es decir, el valor devuelto lo
podemos recibir en una variable( uso frecuente), pero también lo podemos utilizar en una orden de salida,
o lo podemos utilizar en una expresión de cálculo, o lo podemos enviar como valor a otra función que
tenga parámetros.

Elaborado por Ing. Julio Vásquez Paragulla 1


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: MB545
SEMANA05
FUNCIONES PROPIAS
SON INDEPENDIENTES EN SU DESARROLLO:

void nombre (parámetros) {


….
//variable int x;
}

int nombre (parámetros) {


//variable double x;

return x;
}

LA UTILIZACIÓN O INVOCACIÓN SE REALIZA:


 Donde se necesite
 Cuantas veces se le necesite

NUEVA ESTRUCTURA DE UN PROGRAMA C++ QUE IMPLEMENTA FUNCIONES:

// librerías
#include "stdafx.h"
#include <iostream>
using namespace std;

// prototipos
tipo nombre (parametros);

// funcion principal
void main()
{
// llamada y uso

_gettch();
}

// desarrollo de prototipos
tipo nombre (parametros){
// variables locales

// desarrollo
}

Elaborado por Ing. Julio Vásquez Paragulla 2


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: MB545
SEMANA05
FUNCIONES PROPIAS
EJERCICIOS

1.- Desarrolle un programa que implemente una función que retorne el factorial de un número entero.
Verifique que el número sea menor que 15 de lo contrario que retorne -1.

#include "stdafx.h"
#include <iostream>
using namespace std;

// prototipo
long factorial (int n);

// funcion principal
void main()
{
int n;
cout<<"Ingresa un valor para n: "; cin>>n;
// llamada
long f = factorial(n);
if (f!=-1)
cout<<"Factorial de "<<n<<" = "<<f<<endl;
else
cout<<"Numero demasiado grande!"<<endl;

_gettch();
}

// desarrollo de prototipos
long factorial (int n) {
long f=1;
if (n<=15) {
for ( int c=1; c<=n; c++)
f *=c;
return f;
} else return -1;
}

2.- Desarrolle un programa que implemente dos funciones: una que retorne el mayor de dos números
reales y otra que retorne el mayor de 3 números reales utilizando la primera función. Ingrese tres números
y determine el mayor entre la combinación de ellos.

Elaborado por Ing. Julio Vásquez Paragulla 3


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: MB545
SEMANA05
FUNCIONES PROPIAS

3.- Desarrolle un programa que implemente funciones, y atraves de un menú gestione las siguientes
opciones:
[1] Días de un mes
[2] Factoriales
[3] Fibonacci
[0] Fin

Para la opción [1] considere una función que reciba el mes y el año como números enteros y devuelva la
cantidad de días que tiene el mes. Considere 29 dias en febrero para años bisciestos. Un año es bisciesto
cuando es múltiplo de 4 pero no de 100 excepto 400.

Para la opción [2] utilice la función factorial() desarrollado anteriormente y muestre los factoriales de los n
primeros números naturales. Considere que n debe ser menor o igual a 15.

Para la opción [3] considere una función que determine el valor del n-avo término de la serie de Fibonacci,
otra función que retorne la suma de los n primeros términos de la serie y otra función que muestre los n
primeros términos de la serie junto a la suma de los mismos.

Elaborado por Ing. Julio Vásquez Paragulla 4


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: MB545
SEMANA05
FUNCIONES PROPIAS

Elaborado por Ing. Julio Vásquez Paragulla 5


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: MB545
SEMANA05
FUNCIONES PROPIAS

Elaborado por Ing. Julio Vásquez Paragulla 6


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: MB545
SEMANA05
FUNCIONES PROPIAS
4.- Desarrolle un programa que implemente funciones, y atraves de un menú gestione las siguientes
opciones:
[1] números aleatorios
[2] notas aleatorias
[3] número diabólico
[0] Fin

Para la opción [1] genere y muestre n números aleatorios de un rango determinado. Considere una
función que reciba un rango de enteros y devuelva un número aleatorio comprendido en dicho rango.

Para la opción [2] genere números aleatorios que representen notas de n alumnos, los muestre, calcule y
muestre el promedio, la nota más alta y la nota más baja.

Para la opción [3] genere muestre y cuente números aleatorios de 3 cifras hasta que aparezca el número
666. Al finalizar debe mostrar la cantidad de números que fueron generados.

No olvide incluir la siguiente librería:


#include <time.h>

5. Funciones diversas:

5.1 Desarrolle un método/función que retorne el área de un anillo concéntrico.

double area (double R1 double R2) {


double z;
z= 3.1416*abs (pow (R1,2)-pow(R2,2));
return z;
}

5.2 Desarrolle un método/función donde lea el valor de r1 y r2 y muestre el área del círculo concéntrico
con una variación de 0.5 hasta que ambos radios coincidan.

Elaborado por Ing. Julio Vásquez Paragulla 7


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: MB545
SEMANA05
FUNCIONES PROPIAS
void reporte () {
double r1 = lee R1 ();
double r2 = lee R2 ();
cout<<”r1\tr2\tarea”<<endl;
while (r2<=r1) {
cout<<r1<<“\t”<<r2<<“\t”<area (r1, r2));
r2 +=0.5;
}
}

5.3 Desarrolle un método/función que retorne la existencia o no existencia de un triángulo dado sus tres
lados.

PROPUESTOS:

1. Desarrolle un programa que implemente las funciones diversas a través de un menú de


opciones.

2. Desarrolle un programa que implemente a través de una función menú, las siguientes
opciones:

1) Que devuelva el Máximo Común Divisor de 2 números enteros


2) Que devuelva el valor de PI calculada en base a una serie matemática de n términos.
3) Que devuelva la representación binaria de cualquier número entero.
4) Que devuelva el valor de un número con sus cifras invertidas.
5) Que devuelva el número de cifras que encuentra en un número entero.

Elaborado por Ing. Julio Vásquez Paragulla 8

También podría gustarte