Вы находитесь на странице: 1из 8

UNIVERSIDAD NACIONAL DE INGENIERIA

FACULTAD DE INGENIERIA MECANICA


CURSO: MB545
SEMANA05
FUNCIONES PROPIAS
Realizan tareas especficas.
Requieren datos para su tarea: parmetros.
Pueden retornar un valor como no.
Son independientes en su desarrollo
Se desarrollan una sola vez pero se pueden invocar muchas veces.

TAREAS ESPECFICAS:
- calcula el valor de la raz cuadrada
- calcula el valor de la potencia
- calcula el valor del factorial
- determina el menor de dos nmeros
- muestra los n primeros nmeros impares
- muestra n nmeros aleatorios comprendidos en un rango
- muestra la tabla de multiplicar de cualquier nmero
- ordena los datos de un vector / arreglo unidimensional
- muestra el contenido de una matriz
- etc

PARAMETROS:
Son datos que debe recibir una funcin para hacer su tarea especfica
Ejemplos:
- para calcular la raz cuadrada, la funcin recibe el nmero al cual va a sacar su raz cuadrada.
- Para calcular la potencia, la funcin recibe la base y el exponente.
- Para calcular el factorial, la funcin recibe el nmero al cual va a calcular su factorial.
- Para determinar el menor de dos nmeros, la funcin recibe los dos nmeros para determinar
cul de ellos es el menor.
- Para mostrar los n primeros nmeros impares, la funcin recibe el valor de n
- Para mostrar n nmeros aleatorios comprendidos en un rango, la funcin recibe n, lmite inferior,
lmite superior.
- Para mostrar la tabla de multiplicar de cualquier nmero, la funcin recibe el nmero
- Para ordenar los datos de un vector, la funcin recibe el vector y el nmero de elementos que
tiene.
- Para mostrar el contenido de una matriz, la funcin recibe la matriz.
- Etc.

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

nombre (valores);
}

SI RETORNAN:
Cuando Si retorna:
Tipo de dato nombre (parmetros) {
TipoDeDato variable;
Tipo de dato x;
variable = nombre (valores);

return x;

Elaborado por Ing. Julio Vsquez Paragulla 1


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

Cuando la funcin retorna un valor, debemos considerarlo como tl. Es decir, el valor devuelto lo
podemos recibir en una variable( uso frecuente), pero tambin lo podemos utilizar en una orden de salida,
o lo podemos utilizar en una expresin de clculo, o lo podemos enviar como valor a otra funcin que
tenga parmetros.

SON INDEPENDIENTES EN SU DESARROLLO:

void nombre (parmetros) {


int x;
.

double nombre (parmetros) {


double x;

return x;
}

LA UTILIZACIN O INVOCACIN SE REALIZA:


Donde se necesite
Cuantas veces se le necesite

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

// libreras
#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 Vsquez Paragulla 2


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

1.- Desarrolle un programa que implemente una funcin que retorne el factorial de un nmero entero.
Verifique que el nmero sea menor que 16.

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

// prototipo
long factorial (int n);

// funcion principal
void main()
{
int n;
cout<<"Ingresa un numero entero menor a 16: "; cin>>n;
// llamada
if (n<16){
long f = factorial(n);
cout<<"Factorial de "<<n<<" = "<<f<<endl;
}
else
cout<<"Numero demasiado grande!"<<endl;

_gettch();
}

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

2.- Desarrolle un programa que implemente dos funciones: una que retorne el mayor de dos nmeros
reales y otra que retorne el mayor de 3 nmeros reales utilizando la primera funcin. Ingrese tres nmeros
y determine el mayor entre la combinacin de ellos.

Elaborado por Ing. Julio Vsquez Paragulla 3


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

3.- Desarrolle un programa que implemente funciones, y a travs de un men gestione las siguientes
opciones:
[1] Das de un mes
[2] Factoriales
[3] Fibonacci
[0] Fin

Para la opcin [1] considere una funcin que reciba el mes y el ao como nmeros enteros y devuelva la
cantidad de das que tiene el mes. Considere 29 dias en febrero para aos bisiestos. Un ao es bisiesto
cuando es mltiplo de 4 pero no de 100 excepto 400.

Para la opcin [2] utilice la funcin factorial() desarrollado anteriormente y muestre los factoriales de los n
primeros nmeros naturales. Considere que n debe ser menor a 16.

Para la opcin [3] considere una funcin que determine el valor del n-avo trmino de la serie de Fibonacci,
otra funcin que retorne la suma de los n primeros trminos de la serie y otra funcin que muestre los n
primeros trminos de la serie junto a la suma de los mismos.

Elaborado por Ing. Julio Vsquez Paragulla 4


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

Elaborado por Ing. Julio Vsquez Paragulla 5


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

Elaborado por Ing. Julio Vsquez Paragulla 6


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: MB545
SEMANA05
FUNCIONES PROPIAS
4.- Desarrolle un programa que implemente funciones, y a travs de un men gestione las siguientes
opciones:
[1] nmeros aleatorios
[2] notas aleatorias
[3] nmero diablico
[0] Fin

Para la opcin [1] genere y muestre n nmeros aleatorios de un rango determinado. Considere una
funcin que reciba un rango de enteros y devuelva un nmero aleatorio comprendido en dicho rango.

Para la opcin [2] genere nmeros aleatorios que representen notas de n alumnos, los muestre, calcule y
muestre el promedio, la nota ms alta y la nota ms baja.

Para la opcin [3] genere muestre y cuente nmeros aleatorios de 3 cifras hasta que aparezca el nmero
666. Al finalizar debe mostrar la cantidad de nmeros que fueron generados.

No olvide incluir la siguiente librera:


#include <time.h>

5. Funciones diversas:

5.1 Desarrolle un mtodo/funcin que retorne el rea de un anillo concntrico.

double area (double R1 double R2) {


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

5.2 Desarrolle un mtodo/funcin donde lea el valor de r1 y r2 y muestre el rea del crculo concntrico
con una variacin de 0.5 hasta que ambos radios coincidan.

Elaborado por Ing. Julio Vsquez 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 mtodo/funcin que retorne la existencia o no existencia de un tringulo dado sus tres
lados.

PROPUESTOS:

1. Desarrolle un programa que implemente las funciones diversas a travs de un men de


opciones.

2. Desarrolle un programa que implemente a travs de una funcin men, las siguientes
opciones:

1) Que devuelva el Mximo Comn Divisor de 2 nmeros enteros


2) Que devuelva el valor de PI calculada en base a una serie matemtica de n trminos.
3) Que devuelva la representacin binaria de cualquier nmero entero.
4) Que devuelva el valor de un nmero con sus cifras invertidas.
5) Que devuelva el nmero de cifras que encuentra en un nmero entero.
6) Que muestre la tabla de multiplicar de cualquier nmero
7) Que muestre los n primeros nmeros naturales en filas de 5
8) Que retorne el estado civil de una persona de acuerdo a un nmero entero dado como
parmetro, considerando los siguientes valores: 1=soltero, 2=casado, 3=viudo,
4=divorciado, 5= otro.
9) Que dibuje un cuadrado con borde o relleno segn un valor dado como parmetro.
10) Que dibuje un tringulo rectngulo con borde o relleno segn un valor dado como
parmetro.

Elaborado por Ing. Julio Vsquez Paragulla 8

Вам также может понравиться