Sei sulla pagina 1di 8

UNMSM-FISI

Prof. Ulises ROMAN C

www.ulisesroman.blogspot.com

Tema: Funciones y Recursividad

Pgs.:1

UNMSM-FISI
Practica No 03 Tema: Funciones y Recursividad

Prof. Ulises ROMAN C

- RESUMEN Una funcin es una parte del programa que calcula y retorna un valor/bloque de instrucciones que realiza una tarea especifica. Se usan las funciones como ayuda para organizar un programa complejo, una funcin puede ser llamada desde cualquier parte del programa aun dentro de una funcin, existen diversos tipos de funciones: definidas por el usuario, matemticas, recursivas,propias del compilador, funciones de cadenas, ect. Existen tareas que se pueden realizar pasando parmetros (Valor, Referencia). Una funcin que contiene una autollamada se denomina recursivo (llamada as mismo), Cada funcin tiene la misma estructura que la funcin principal main(). A continuacin mostramos la estructura de una funcin:

A travs de la funcin RETURN <expresin> permite devolver un valor, a continuacin veamos el flujo de control de una funcin y la transferencia de datos a travs de parmetro/argumentos hacia el programa principal.

Programa Principal (PP) Funcin Transferencia

Retorno

Orden de Invocacin PP Llamada A fA fB fC

Llamada B

Llamada C

Retorno A

Retorno B Orden retorno

Retorno C

Tema: Funciones y Recursividad

Pgs.:2

UNMSM-FISI
A continuacin representa una serie de problemas usando las funciones.

Prof. Ulises ROMAN C

Desarrollar el Algoritmo y el programa en C++ / Dev C++/ Visual C++/ C++ Builder para resolver los siguientes problemas:

1. Determinar

Funciones.

la suma, resta, multiplicacin y la divisin. Usando

2. Determinar el algoritmo y el programa en C++ el rea de un triangulo,

cuadrado, circulo y rectngulo


3. Determinar el algoritmo y el programa en C++ que reciba tres valores

enteros que representen calificaciones. La funcin debe regresar el valor de cadena bien para un promedio de por lo menos 85, regular para un promedio de por lo menos 70 pero menor de 85, o mal para un promedio menor de 70.

4. Determinar el algoritmo y el programa en C++ que simule la tirada de un

par de dado 100 veces y cuente el numero de veces en las que el resultado es 8, 9 o al menos 10. La salida debe tener la forma: 8 Apareci:_______ veces 9 Apareci:_______ veces La suma fue al menos 10:_______ veces
5. Calcular el numero perfecto y el numero

abundante. Un numero n se llama perfecto si n es igual, a la suma de todos sus divisores diferentes a el. Por Ej. 6 es perfecto porque 6= 1+2+3. Escriba una funcin que imprima los tres primeros nmeros perfectos.

6. Un entero n se llama abundante si n es menor que la suma de sus

divisores diferentes de n. Por ejemplo, 12 es abundante, porque 12<1+2+3+4+6. Los nmeros abundantes impares son escasos.

Tema: Funciones y Recursividad

Pgs.:3

UNMSM-FISI 7. Funcin recursiva. Desarrolle la funcin factorial 8. Determinar todos los divisores de un numero.

Prof. Ulises ROMAN C

9. Calcular el producto de dos nmeros positivos mediante sumas.

Ejemplo: axb=a+a+a+a..+a (b veces).

10. Crea una tabla de multiplicar de nxn 11. Desarrollar :


a) b) c) d)

FUNCION_MAYOR(I,J,K) donde se tiene que I,J son los dos nmeros. FUNCION_INTERCAMBIAR(X,Y) donde X,Y son los dos nmeros. FUNCION_POTENCIA(X,N) donde X es la base y N es el exponente de la forma (XN) para N 0 FUNCION_CUBO(N), donde N es un numero entero.

12. Escriba una funcin que describa dos parmetros enteros m y n, con m <

n. La funcin deber regresar la suma:

13. Supongamos que cada empleado de una empresa tiene un numero de

identificacin de 3 dgitos, y que cada numero de identificacin tiene la siguiente propiedad : Digito _ centena = digito _ decenas + dgito _ unidad El programa pedir un numero de identificacin a cada persona que desee entrar al recinto de la empresa. Despus de verificar si ese numero tiene la propiedad requerida, el programa mostrara el mensaje adecuado la persona puede entrar o bien no entrar.

Tema: Funciones y Recursividad

Pgs.:4

UNMSM-FISI

Prof. Ulises ROMAN C

14. Usar la funcin RANDOM/SRAND/RAND/RANDOMIZE para que el

programa de DADOS continuara lanzando un par de dados hasta que se obtenga un 11. La impresin dar resultado de cada tirada, el numero de tiradas en que aparece el primer 11, y el numero de veces haba salido el 7 hasta ese momento. Ejemplo: 6 8 7 4 10 7 9 7 11 El primer 11 en la tirada 9 Hubo tres 7
15. Usar la funcin RANDOM/SRAND/RAND/RANDOMIZE, para determinar

el numero de caras y sellos cuando se lanza una moneda, teniendo en cuenta que hay una probabilidad de 50% de que el resultado sea cara. Se debe lanzar como mximo 10 veces.

16. Implemente la exponenciacion usando una funcin recursiva potencia

que reciba una base x y un exponente n, donde x es real y n es entero no negativo use:

17. Escriba una funcin recursiva para calcular la suma de los contenidos

de un arreglo numrico, cuyo prototipo es funcion_SUMA(a, N[])

La funcion_MAIN() todos los programas de C/C++ tienen un punto de entrada al programa denominado main (). La declaraciones de una funcin siempre requieren el uso de un prototipo.
18. Determinar si las siguientes funciones son correctas/incorrectas(C/I):

int funcion_1 ( ); ______ int funcion_1 (void); ______ void funcion_2 (void ); ______ int main() {..} ___________ int main( int argc, char *arg V[]) {..} ____________________

Tema: Funciones y Recursividad

Pgs.:5

UNMSM-FISI 19. Que retorna la siguiente funcin:

Prof. Ulises ROMAN C

RETURN RETURN 1 RETURN 0 RETURN X


20. Si una funcin no devuelve un valor se debe declarar como:_________ 21. Cual es las funciones tiene un parmetro y cual no tiene parmetro:

void fact1 (int); _____________________________________ int fact3(void); _____________________________________ int fact2( ); ________________________________________ float Fact (int, float); float Fact (int i, float j); ) NO( )

22. El siguiente prototipo es una funcin factoral: SI (

23. Escriba una funcin que multiplique un valor por 10 y devuelva el valor

modificado

FUNCIONES ESPECIALES a) flour (x) b) fabs(x) c) Pow(x,y) d) Sqrt(x) e) Sin(x) f) Strcmp()


24. Que hace la siguiente funcin hash explique o investigue sobre el. Tema: Funciones y Recursividad Pgs.:6

UNMSM-FISI

Prof. Ulises ROMAN C

25. Desarrolle la funcin mximo y mnimo de dos nmeros usando las

variables definidas en la librera del compilador(Ver help del compilador: Ejem. Borland C++ Ver. 5.0)

26. Implementar la funcin Ackermann y probar para A(1,2) y A(4,3) que

sucede.

Tema: Funciones y Recursividad

Pgs.:7

UNMSM-FISI

Prof. Ulises ROMAN C

27. Implementar la funcin MCD(a,b) mediante la solucin recursiva y

mediante la solucin iterativa.


28. Implementar funciones que conviertan: Decimal a (binario, octal,

hexadecimal), Binario a (decimal, octal Hexadecimal), Hexadecimal a (binario, Octal, decimal) y Octal a (binario, decimal, hexadecimal) .

29. Propongas 5 ejemplos de funciones y recursividad donde se aplique a

casos reales, especificando sus algoritmos y cdigos respectivos.

Tema: Funciones y Recursividad

Pgs.:8

Potrebbero piacerti anche