Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
www.ulisesroman.blogspot.com
Pgs.:1
UNMSM-FISI
Practica No 03 Tema: Funciones y Recursividad
- 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.
Retorno
Llamada B
Llamada C
Retorno A
Retorno C
Pgs.:2
UNMSM-FISI
A continuacin representa una serie de problemas usando las funciones.
Desarrollar el Algoritmo y el programa en C++ / Dev C++/ Visual C++/ C++ Builder para resolver los siguientes problemas:
1. Determinar
Funciones.
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.
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.
divisores diferentes de n. Por ejemplo, 12 es abundante, porque 12<1+2+3+4+6. Los nmeros abundantes impares son escasos.
Pgs.:3
UNMSM-FISI 7. Funcin recursiva. Desarrolle la funcin factorial 8. Determinar todos los divisores de un numero.
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 <
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.
Pgs.:4
UNMSM-FISI
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.
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
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[]) {..} ____________________
Pgs.:5
void fact1 (int); _____________________________________ int fact3(void); _____________________________________ int fact2( ); ________________________________________ float Fact (int, float); float Fact (int i, float j); ) NO( )
23. Escriba una funcin que multiplique un valor por 10 y devuelva el valor
modificado
UNMSM-FISI
variables definidas en la librera del compilador(Ver help del compilador: Ejem. Borland C++ Ver. 5.0)
sucede.
Pgs.:7
UNMSM-FISI
hexadecimal), Binario a (decimal, octal Hexadecimal), Hexadecimal a (binario, Octal, decimal) y Octal a (binario, decimal, hexadecimal) .
Pgs.:8