Métodos Capítulo 3
EPIS UNSA - 2008
marcoaedo@hotmail.com
Objetivos 1.3 1.3
Quit
Entender
el procedimiento de construcción modular de programas a partir de piezas pequeñas llamadas métodos Crear métodos personalizados Comprender como es que se pasa información a métodos Conocer las reglas de alcance Entender la recursión y sobrecarga de métodos
1. Construcci贸n modular 1.4 1.4
Quit
1. Construcción modular 1.5 1.5
Quit
Modularizar consiste en construir un programa a partir de piezas más pequeñas o módulos, cada uno de los cuales es más manejable que el programa original
1. Construcción modular DEFINICIÓN: 1.6 1.6
Quit
nombre_método(lista de parámetros) cuerpo con o sin retornar FIN LLAMADA: nombre_metodo(n) … leer n m=cuadrado(n)… cuadrado(num) retornar num*num FIN
2. Ejemplos 1.7 1.7
Quit
PROBLEMA: Se desea leer dos enteros y mostrar el producto de su suma por su diferencia
2. Ejemplos 1.8 1.8
Quit
leer m,n producto=(m+n)*(m-n) escribir producto
leer m,n producto=operar(m,n) escribir producto operar(num1,num2) producto=(num1+num2)*(num1-num2) retornar producto FIN
2. Ejemplos 1.9 1.9
Quit
PROBLEMA: Se desea saber el máximo de tres números
2. Ejemplos 1.10 1.10
Quit
leer a,b,c si a>b && a>c mayor=a sino si b>c mayor=b sino mayor=c finsi finsi escribir mayor
leer a,b,c escribir mayor(a,mayor(b,c)) mayor(a,b) si a>b retornar a sino retornar b finsi FIN
2. Ejemplos 1.11 1.11
Quit
PROBLEMA: Se desea leer dos enteros y mostrar el producto de sus factoriales si existen, y el mensaje “error� en caso contrario
2. Ejemplos leer m,n 1.12 Quit 1.12 factorialm=1 factorialn=1 si m>=0 && n>=0 si m==0 || m==1 factorialm=1 sino para i=2 hasta m factorialm=factorialm*i fin ciclo fin si si n==0 || n==1 factorialn=1 sino para i=2 hasta n factorialn=factorialn*i fin ciclo fin si escribir factorialm*factorialn sino escribir "error" fin si
leer m,n si n>=0 && m>=0 escribir factorial(m)*factorial(n) sino escribir "error" fin si factorial(num) factorialNum=1; si num==0 || num==1 factorialNum=1; sino para i=2 hasta num factorialNum=factorialNum*i fin ciclo fin si retornar factorialNum FIN
3. Ventajas 1.13 1.13
Quit
1. Reutilizar 2. Evitar la repetici贸n en el programa 3. C贸digo m谩s manejable
4. Recursi贸n 1.14 1.14
Quit
factorial(num) factorialNum=1; si num==0 || num==1 factorialNum=1; sino para i=2 hasta num factorialNum=factorialNum*i fin ciclo fin si return factorialNum FIN
factorial(num) si num==0 || num==1 retornar 1 sino retornar num*factorial(num-1) fin si FIN
5. Sobrecarga de MĂŠtodos 1.15 1.15
Quit
leer n escribir operar(n) escribir operar(n,n+1) escribir operar(n,n+1,n+2) ‌ operar(num) retornar num*num FIN operar(num1, num2) retornar num1*num2 FIN operar(num1, num2, num3) retornar num1*num2*num3 FIN
EJERCICIOS 1. Programa donde me muestre un par ordenado con el formato (a, b) 2. Programa donde me muestre un número complejo con el formato 1.16 Quit 1.16 a + bi 3. Mostrar un número aleatorio en un intervalo que se indique. 4. Crear un programa consistente que me calcule el factorial de un número utilizando la iteración 5. Crear un programa consistente que me calcule el fibonacci de un número utilizando la iteración 6. Crear un método cubo, el que me devuelva un número entero elevado al cubo 7. Crear un método mayor3, el que me devuelva el mayor número de un total de 3 8. Crear un programa que simule un juego de dados. Cada jugador tira 2 dados. Se juega con la máquina y gana el que tenga la mayor suma de los resultados 9. Crear un programa consistente que me calcule el factorial de un número utilizando la recursión 10. Crear un programa consistente que me calcule el fibonacci de un número utilizando la recursión
MĂŠtodos Gracias