2. Un método es una función, módulo,
segmento, rutina, subrutina o subalgoritmo
que puede ser definido dentro de una clase
con el propósito de ejecutar una función,
comportamiento o tarea específica,
pudiendo ser llamado o invocado desde el
método principal u otro método cuando se
requiera.
Métodos que no regresan valor
3. Introducción
• En los capítulos precedentes se han planteado problemas
pequeños, es decir, que hacen una sola cosa o tienen una sola
función, y en consecuencia se han diseñado algoritmos que
tienen una sola clase, dentro de la cual se tiene sólo el método
principal, donde se implementa la lógica que resuelve el
problema.
• Sin embargo, en ocasiones se tienen problemas más grandes y
complejos que involucran más de una tarea o función,
complicando la solución en un solo método. Ahora
estudiaremos cómo utilizar más de un método dentro de la
clase.
4. Introducción
• La idea es que se diseñe un método por separado para
implementar cada función y, en su momento, desde el método
principal se llama o invoca a cada método para que haga su
tarea o función; el método principal, que es donde inicia el
funcionamiento del algoritmo, dirigirá la lógica general de la
solución y se apoyará llamando a los otros métodos para que
realicen sus funciones específicas en el momento que se
requieran.
Así, el formato de la clase será el siguiente:
5.
6. Se tiene el esquema de un algoritmo que tiene una clase y
dentro de la clase se tienen cuatro métodos: el Método
principal, el Método funcionUno, el Método funcionDos
y el Método funcionTres.
Cada uno de los métodos funcionUno, funcionDos y
funcionTres tiene la lógica necesaria para implementar una
función específica para resolver el problema. Sin embargo, en el
Método principal es donde inicia el funcionamiento del
algoritmo, el que tiene la lógica general que resuelve el
problema y en su momento deberá llamar a cada uno de los
otros métodos de la clase, es decir, al Método funcionUno, al
Método funcionDos y al Método funcionTres.
En donde:
7. EJEMPLO
Elaborar un algoritmo que ayude a un niño a revisar sus
tareas referentes a las operaciones aritméticas
fundamentales: sumar, restar, multiplicar y dividir.
El proceso es el siguiente:
Se ofrecerá un menú de opciones para escoger lo que
desee hacer de acuerdo con el siguiente formato:
8. En caso de que el niño escoja la opción 1, está indicando que desea
revisar operaciones de sumar. Enseguida se debe establecer un
proceso interactivo para que el niño introduzca los dos números que
se van a sumar y su resultado, luego para que la computadora le
indique si la suma está correcta o incorrecta y después preguntar si
desea revisar otra suma. Si es así, deberá repetir todo el proceso para
revisar una nueva operación de sumar; algo parecido a lo siguiente:
9. La suma está correcta
¿Desea revisar otra suma (S/N)?
Para el caso de la resta, multiplicación y división se seguirá un proceso similar,
pero con las diferencias correspondientes.
¿Qué se requiere para solucionar este problema?
El problema tiene cuatro funciones o tareas específicas:
Sumar Es la parte que permite ayudar a revisar operaciones de sumar.
Restar Es la parte que permite ayudar a revisar operaciones de restar.
Multiplicar Es la parte que permite ayudar a revisar operaciones de
multiplicar.
Dividir Es la parte que permite ayudar a revisar operaciones de dividir.
10. Por tanto, se requiere un método para implementar la
solución de cada una de esas funciones, es decir, un método
para sumar, otro método para restar, otro método para
multiplicar y otro método para dividir, además del método
principal que dirigirá el funcionamiento general del algoritmo,
que llamará a los métodos sumar, restar, multiplicar y dividir
cuando requiera que cada uno haga su tarea o función.
A continuación se presenta el algoritmo de la solución:
11.
12.
13. Algoritmo AYUDA
Es el encabezado del algoritmo
1. Declaraciones de clase (globales a la clase)
Se declaran las variables
num1, num2, resuNi, resuMaq: de tipo Entero.
desea: de tipo Carácter.
opción: de tipo Entero.
En esta parte se hacen las declaraciones de clase. Se pueden declarar
tipos, constantes y variables, y podrán ser utilizadas en cualquier
método de la clase.
Explicación:
14. a. Inicia ciclo do.
1. Imprimir el menú de opciones donde se solicita la opción.
2. Se lee la respuesta en opcion.
3. Inicia switch opcion:
Si opcion es 1, entonces: Llama al método ayudaSumar().
Si opcion es 2, entonces: Llama al método ayudaRestar().
Si opcion es 3, entonces: Llama al método ayudaMultiplicar().
Si opcion es 4, entonces: Llama al método ayudaDividir().
4. Fin del switch.
b Fin ciclo while opcion != 5. Va al do.
c. Fin Método principal.
Todo algoritmo diseñado
con métodos inicia su
funcionamiento en el
método principal, que será
el que dirigirá la operación
del resto de los métodos, es
decir, los llamará para que
realicen la tarea que les
corresponde.
2. Método principal()
15. a. Inicia ciclo do.
1. Solicita número uno, número dos y resultado del niño.
2. Lee en num1, num2, resuNi.
3. Calcula resultado de la máquina.
4. Si resuMaq == resuNi entonces:
a. Imprime “La suma esta correcta”.
5. Si no:
a. Imprime “La suma esta incorrecta”.
6. Fin if.
7. Pregunta “¿Desea revisar otra suma (S/N)?”.
8. Lee la respuesta en desea.
b. Fin ciclo while desea == ‘S’. Regresa al do.
c. Fin Método ayudaSumar. En este método se ayuda a revisar
operaciones de sumar.
3. Método ayudaSumar()
16. a. Inicia ciclo do.
1. Solicita número uno, número dos y resultado del niño.
2. Lee en num1, num2, resuNi.
3. Calcula resultado de la máquina.
4. Si resuMaq == resuNi entonces:
a. Imprime “La resta esta correcta”.
5. Si no:
a. Imprime “La resta esta incorrecta”.
6. Fin del if.
7. Pregunta “¿Desea revisar otra resta (S/N)?”.
8. Lee la respuesta en desea.
b. Fin ciclo while desea == ‘S’. Regresa al do.
c. Fin Método ayudaRestar. En este método se ayuda a revisar
operaciones de restar
4. Método ayudaRestar()
17. a. Inicia ciclo do.
1. Solicita número uno, número dos y resultado del niño.
2. Lee en num1, num2, resuNi.
3. Calcula resultado de la máquina.
4. Si resuMaq == resuNi entonces:
a. Imprime “La multiplicación esta correcta”.
5. Si no:
a. Imprime “La multiplicación esta incorrecta”.
6. Fin del if.
7. Pregunta “¿Desea revisar otra multiplicación (S/N)?”.
8. Lee la respuesta en desea.
b. Fin ciclo while desea == ‘S’. Regresa al do.
c. Fin Método ayudaMultiplicar. En este método se ayuda a revisar
operaciones de multiplicar.
5. Método ayudaMultiplicar()
18. a. Inicia ciclo do.
1. Solicita número uno, número dos y resultado del niño.
2. Lee en num1, num2, resuNi.
3. Calcula resultado de la máquina.
4. Si resuMaq == resuNi entonces:
a. Imprime “La división esta correcta”.
5. Si no:
a. Imprime “La división esta incorrecta”.
6. Fin del if.
7. Pregunta “¿Desea revisar otra división (S/N)?”.
8. Lee la respuesta en desea.
b. Fin ciclo while desea == ‘S’. Regresa al do.
c. Fin Método ayudaDividir.
En este método se ayuda a revisar
operaciones de dividir.
Luego se tiene el fin de la clase y el fin del
algoritmo.
6. Método ayudaDividir().