capitulo5-metodos

28
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/ ). CAPÍTULO 5: MÉTODOS Avanzamos en el desarrollo de la materia y en este capítulo abordaremos una técnica que se puede aplicar para resolver problemas de complejidad media y alta, a través de algoritmos y programas Java. El objetivo de la técnica es facilitar el proceso de programación. Los problemas que se han propuesto, analizado y programado hasta el momento, son sencillos, y para resolverlos se necesita de una tarea específica (escrita en una sola clase y en un solo método – el método principal); pero existen problemas, cuya solución involucra más de una tarea, es decir que necesitaremos más de una clase y otros métodos adicionales, a más del principal. Cuando un problema es bastante grande se suele aplicar el principio “divide y vencerás”, dividir un problema en varios problemas pequeños, resolver cada uno de esos problemas pequeños y la suma de esas soluciones, resuelve el problema original. En programación, cada problema pequeño será resuelto a través de métodos. Una de las ventajas de trabajar con métodos es la facilidad que traen para depurar un programa (encontrar errores), ya que si tengo un método que calcula el factorial de un número y al ejecutar el programa veo que el factorial no es correcto, el problema se encuentra en las acciones (sentencias) que forman el método, no en otro lugar. Es decir que si falla una tarea concreta debo buscar dentro del programa, el método que realiza esa tarea y concentrarnos en las acciones de ese método. Antes de comenzar con el análisis del pseudocódigo y los programas Java es necesario estudiar ciertas definiciones que se presentan a continuación. 5.1 Definiciones Acuda al texto básico y revise el Capítulo 9 “Métodos” (página 204). Al inicio del punto 9.1 encontramos una definición del concepto de método 1 y una clasificación de los mismos, es necesario que lea por completo este tema antes de continuar. Observe también como la estructura del pseudocódigo que hemos utilizado hasta el momento cambia, para permitir la definición de otros métodos además del método principal. ¿Qué le pareció la lectura? ¿Comprendió? Si es así avancemos y repasemos ciertos elementos de la lectura anterior. 1 En otras metodologías de programación se suele hablar de funciones y procedimientos.

Upload: injer-bta

Post on 19-Jan-2016

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

CAPÍTULO 5: MÉTODOS Avanzamos en el desarrollo de la materia y en este capítulo abordaremos una técnica que se puede aplicar para resolver problemas de complejidad media y alta, a través de algoritmos y programas Java. El objetivo de la técnica es facilitar el proceso de programación. Los problemas que se han propuesto, analizado y programado hasta el momento, son sencillos, y para resolverlos se necesita de una tarea específica (escrita en una sola clase y en un solo método – el método principal); pero existen problemas, cuya solución involucra más de una tarea, es decir que necesitaremos más de una clase y otros métodos adicionales, a más del principal. Cuando un problema es bastante grande se suele aplicar el principio “divide y vencerás”, dividir un problema en varios problemas pequeños, resolver cada uno de esos problemas pequeños y la suma de esas soluciones, resuelve el problema original. En programación, cada problema pequeño será resuelto a través de métodos. Una de las ventajas de trabajar con métodos es la facilidad que traen para depurar un programa (encontrar errores), ya que si tengo un método que calcula el factorial de un número y al ejecutar el programa veo que el factorial no es correcto, el problema se encuentra en las acciones (sentencias) que forman el método, no en otro lugar. Es decir que si falla una tarea concreta debo buscar dentro del programa, el método que realiza esa tarea y concentrarnos en las acciones de ese método. Antes de comenzar con el análisis del pseudocódigo y los programas Java es necesario estudiar ciertas definiciones que se presentan a continuación.

5.1 Definiciones 

Acuda al texto básico y revise el Capítulo 9 “Métodos” (página 204). Al inicio del punto 9.1 encontramos una definición del concepto de método1 y una clasificación de los mismos, es necesario que lea por completo este tema antes de continuar. Observe también como la estructura del pseudocódigo que hemos utilizado hasta el momento cambia, para permitir la definición de otros métodos además del método principal.

¿Qué le pareció la lectura? ¿Comprendió? Si es así avancemos y repasemos ciertos elementos de la lectura anterior.

1 En otras metodologías de programación se suele hablar de funciones y procedimientos.

Page 2: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

Tanto en Java como en el pseudocódigo que estamos usando, puede existir un único método principal en donde se inicia el funcionamiento del programa y del algoritmo.

Analice detenidamente lo que se menciona en la página 205 del texto básico, el párrafo anterior al ejemplo. Mientras cada método realiza una tarea específica, el método principal hace las veces de director determinando cuando llamar a cada uno de los métodos, es decir tiene la lógica general. Antes de continuar es necesario que estudie por completo el acápite 9.2 “Métodos que no regresan valor” en la página 210 del texto básico, en donde se explica a detalle la estructura de una clase con más de un método. Observe en la página 211 en la parte 3 como los métodos tienen su propia sección de declaraciones de: constantes, tipos y variables, así como también sus propias acciones. Por lo anterior podemos ver como un método tiene la capacidad de: declarar variables, constantes y tipos; ejecutar todas las acciones que sean necesarias empleando cualquiera de las estructuras de control estudiadas. Es decir tiene todo lo necesario para realizar su tarea específica. Una vez revisada la forma que tienen los algoritmos que poseen varios métodos, iniciemos un estudio detallado de las acciones que se necesitan para trabajar con métodos.

5.2 Creación / invocación de métodos 

Recurra una vez más al texto básico y lea detenidamente las páginas desde la 204 a la 210. En ellas se plantea y desarrolla un ejercicio que le ayudará a comprender las tareas de creación e invocación de métodos.

¿Qué le pareció la lectura? ¿Comprendió? Si es así avancemos y repasemos ciertos elementos de la lectura anterior. Si bien en las páginas 204 y 205 se muestra el nuevo esquema de un algoritmo que soporta métodos, la mejor manera de comprender, como crear e invocar un método se muestra en el ejemplo que se describe en la página 205, el mismo se implementa en las páginas 206 a la 208; y finalmente es explicado en las páginas 208 a la 210 del texto básico. Recuerde leer detenidamente las explicaciones de los algoritmos que se encuentran desarrollados en el texto básico, antes de pasar a analizar cualquier programa Java de esta guía didáctica.

Page 3: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

La estructura del programa en Java es bastante similar a la forma que tiene el pseudocódigo, veamos la “traducción” del algoritmo de la página 206 del texto básico.

Ilustración 1 Programa Ayuda, que muestra la invocación y construcción de métodos Tal y como se menciona en la explicación del algoritmo que se encuentra en la página 208 del texto básico para la elaboración del programa que se muestra en la Ilustración 70, en las líneas 15-18 podemos ver las declaraciones de clase o globales, fíjese que están fuera del método principal, luego de la declaración de la clase, las líneas 33, 36, 39 y 42 hacen la invocación a los métodos que se han definido más adelante. Recuerden que dijimos que un programa se ejecuta línea tras línea de forma consecutiva, cuando se encuentra la invocación o llamada a un método sucede lo siguiente: (supóngase que estamos en la línea 33) se encuentra la invocación al método y el flujo del programa se pasa a dicho método, es decir que se ejecutaría la línea 49 (como se muestra en la Ilustración 71), una vez que terminó de ejecutarse el método (de acuerdo a las necesidades del usuario), el

Page 4: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

flujo del programa pasa de la línea 69 a la línea 34 (una línea después de la invocación al método) devolviendo el flujo de control del programa al método principal. Así sucederá con todas las invocaciones a los métodos. La definición de un método en Java se muestra a continuación:

Ilustración 2 Método de la clase Ayuda Un método en Java, al igual que en el pseudocódigo, debe declararse fuera del método principal (en el programa el método principal termina en la línea 46 – Vea la Ilustración 70) y antes de finalizar la clase (en el programa termina en la línea 135). El método anterior, así como todos los métodos de esta clase son métodos que no retornan o devuelven algún valor, por lo que en sus definiciones, y antes del nombre, se ubica la palabra void, la misma que señala que ese método no devuelve ningún valor. Los métodos que no retornan valor son uno de los tipos de métodos que existen, en el texto básico se describen en el apartado 9.1. Veamos otro ejemplo de la declaración del método que ayuda a dividir.

Page 5: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

Ilustración 3 Otro método de la clase Ayuda2

Dentro de un método se puede ubicar cualquiera de las estructuras de control que hemos estudiado y realizar cualquiera de las acciones que hemos empleado (incluida la llamada a funciones matemáticas) e incluso invocar a otros métodos.

Para que el programa Java funcione se agregó la palabra reservada static en algunos lugares, como por ejemplo en las declaraciones de clase (líneas 15-18 de la Ilustración 70); en las declaraciones de los métodos (líneas: 20 método

principal; 48 método ayudaSumar y 112 método ayudaDividir3, Ilustración 70, Ilustración 71 y Ilustración 72 respectivamente). Sin ser demasiado técnicos, podemos decir que la palabra static se usa para trabajar sin la creación de objetos, este concepto lo entenderá de una mejor manera en el siguiente capítulo. Si ha sido observador se dará cuenta que las declaraciones de los métodos que se muestran en las ilustraciones Ilustración 70, Ilustración 71 y Ilustración 72, a diferencia del método principal, utilizan la palabra reservada private. Tanto public (que se usó en el método principal), como private se conocen como modificadores de acceso y determinan desde donde (otras clases) se puede invocar al método, no entraremos en muchos detalles4.

2 Dentro de la programación Java éste método únicamente funciona si la división es exacta, ya que las

variables que contienen los resultados son variables enteras. 3 Los otros métodos no se incluyeron, pero los puede encontrar en el CD de la guía. 4 Para detalles consulte la siguiente dirección: http://mundogeek.net/archivos/2009/03/30/modificadores-

en-java/

Page 6: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

Trabajar con métodos exige que dominemos otros conceptos. A continuación abordaremos esa temática

5.3 Otros conceptos importantes 

En el trabajo con métodos existen otros conceptos que deben ser analizados, por ello les sugiero revisar el tema 9.3 “Variables globales, locales y parámetros” del texto básico

¿Qué le pareció la lectura? ¿Comprendió? Si es así avancemos y repasemos ciertos elementos de la lectura anterior. Las definiciones que vamos a estudiar están relacionadas con los tipos de variables que existen cuando se trabaja con métodos. Comencemos a estudiar aquellas variables que se pueden usar en toda la clase.

5.3.1 Variables globales 

Aunque el término variables globales no se aplica en los lenguajes orientados a objetos, para seguir la notación del libro lo mantendremos. En el próximo capítulo lo reemplazaremos por atributos o propiedades. Una variable global se define luego de la declaración de la clase (tanto en Java como en el pseudocódigo) y antes de la declaración del método principal. Un ejemplo lo puede encontrar en el algoritmo que se muestra en la página 212 del texto básico, y en Java en la Ilustración 70, líneas desde la 15 a la 18. Estas variables globales pueden usarse en todos los métodos de la clase. Fíjese en la variables globales num1, num2, resuNi, resuMaq de la Ilustración 70, las mismas se usan en los métodos que se muestran en las ilustraciones Ilustración 71 y Ilustración 72. Podemos decir que el ámbito de una variable global es toda la clase.

El ámbito de una variable, define los límites de uso de la misma, es decir desde que sitio hasta que sitio se puede usar la variable.

El uso de una variable fuera de su ámbito provoca errores en programación. Para la explicación de los otros conceptos los invitamos a ver el siguiente algoritmo y programa en Java.

Algoritmo VARIOS CONCEPTOS Clase Utilidades 1. Método principal a. Declaraciones Variables

Page 7: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

opcion, res, num, b, e: Entero b. DO 1. Imprimir 1. Cálculo factorial 2. Potenciación 3. Salir Opción: 2. Leer opcion 3. SWITCH opcion 1 :

a. Solicitar un número b. Leer num c. res = calcularFactorial(num) d. Imprimir res

2: a. Solicitar base y exponente b. Leer b, e c. res = potencia(b, e) d. Imprimir res 4. ENDSWITCH c. WHILE opcion != 3 d. Fin Método principal 2. Método calcularPotencia(numero : Entero) : Entero a. Declaraciones Variables fac, i:Entero b. Calcular a = 1 c. FOR i = numero; i > 1; i-- 1. fac = fac * i d. ENDFOR e. return fac f. Fin Método calcularFactorial 3. Método potencia(base:Entero, exponente:Entero):Entero a. Declaraciones Variables pot, i:Entero b. Calcular pot = 1 c. FOR i = 0; i < exponente; i++ 1. pot = pot * base d. ENDFOR e. return pot f. Fin Método potencia Fin Clase Utilidades Fin

En este algoritmo se presentan dos opciones, la primera opción calcula el factorial de un número, por lo tanto se necesita: que se ingrese un número (líneas a. y b. bajo el caso 1 del SWITCH) y luego invocar a un método que calcula y devuelve el factorial del número que se ingresó (línea c. bajo el caso 1 del SWITCH). La segunda opción permite elevar un número a un potencia, por lo que solicita que se ingrese dos números (que se asignan a las variables b y e, líneas a. y b. bajo la opción 2 del SWITCH), para luego invocar a un método

Page 8: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

que eleva el número b a la potencia e (Vea la línea c. bajo el caso 2 del SWITCH). El programa en Java que equivale al algoritmo anterior se ha divido en 2 ilustraciones (con el fin de facilitar la explicación) que se muestran a continuación:

Ilustración 4 Clase Utilidades – Método principal

Page 9: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

Ilustración 5 Clase Utilidades - Métodos Como lo analizamos anteriormente las variables globales se pueden emplear en toda la clase, pero las siguientes variables que estudiaremos solamente se pueden usar dentro de un método.

5.3.2 Variables locales 

Antes de continuar es necesario que revise el texto básico en la página 213, en ella se dice que una variable es local cuando ha sido definida dentro de un método. Las variables locales tienen una restricción, no pueden utilizarse fuera del método donde fueron declaradas. Recuerde que los límites de uso de una variable se denominan ámbito. Ejemplos de variables locales podemos encontrar en el método principal y en los métodos calcularFactorial y potencia del algoritmo VARIOS CONCEPTOS en el punto 5.3.2 de esta guía didáctica; el ámbito de las variables que mencionamos anteriormente es cada uno de sus métodos, mientras que en Java, las variables declaradas en las líneas: 17, 18, 28, 35, 48 y 58 (Ilustración 73 y Ilustración 74) son variables locales y su ámbito lo explicamos en los siguientes líneas. Dentro de la programación en Java el concepto de variable local es más amplio, debido a que en Java es posible declarar una variable en cualquier sitio dentro de un método o dentro de una clase, es decir no existe un sección específica para realizar las declaraciones; en la Ilustración 74 fíjese en las variables num (línea 28), b y e (línea 35). Esta manera de trabajo, produce que el ámbito de la variable sea definido por el bloque al cual pertenece, recuerde que un bloque en Java se define por las llaves de apertura y cierre ({}). Entonces las variables opcion y res (líneas 17

Page 10: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

y 18 de la Ilustración 74) pueden usarse en el bloque del método principal (líneas desde la 15 hasta la 45); mientras que las variables num, b y e pueden usarse dentro del bloque de la estructura switch (líneas desde la 26, hasta la 43). Tal y como lo mencionamos anteriormente tratar de usar una variable fuera de su ámbito produce un error, por ejemplo no podemos usar la variable opcion en alguno de los métodos, así como tampoco se puede usar la variable pot en los métodos principal o calcularFactorial. Otro tipo especial de variables se denomina parámetros y al igual que las variables locales existen en los métodos. Estudiemos en detalle a los parámetros en el siguiente acápite.

5.3.3 Parámetros 

El tema de parámetros lo podemos encontrar la página 214 del texto básico, aunque éste hace una excelente explicación de los temas, este punto necesita reforzarse. Desde nuestro punto de vista, un parámetro es un mecanismo de comunicación con los métodos. Esta comunicación sirve para enviar los valores con los que trabajará ese método; recuerde las funciones que analizamos en los capítulos anteriores, como por ejemplo RaizCuad(x), debíamos enviarle el valor (x) a la función o método para que este calcule la raíz cuadrada; es decir le informamos o comunicamos al método. Un parámetro o una lista de parámetros, se ubica luego del nombre del método encerrado entre paréntesis y debe tener un nombre y un tipo de dato. Si se tiene una lista de parámetros cada uno de ellos se separa mediante comas. Un parámetro es una variable representativa que será reemplazada por un valor al momento de ejecutar el método. Si analizamos nuevamente el algoritmo VARIOS CONCEPTOS, elaborado en esta guía didáctica en páginas anteriores; vemos algunos ejemplos de parámetros en los métodos: calcularFactorial y potencia; mientras que en Java (Ilustración 73 e Ilustración 74) podemos ver parámetros en los métodos: principal (línea 15)5, calcularFactorial(línea 47) y potencia(línea 57). En el método potencia vemos una lista de parámetros, mientras que en los otros observamos un solo parámetro. De lo anterior podemos generalizar y decir que para la invocación de métodos que necesitan un parámetro, se debe enviar un valor (a través de una variable por ejemplo) que reemplazará al parámetro6 y que permiten la ejecución de los

5 Sí el método principal recibe como parámetro un arreglo de tipo String llamado arg. 6 Cuando se invoca a un método se cambia el nombre de parámetro por argumento.

Page 11: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

métodos. En el algoritmo revise el punto c. del caso 1 del SWITCH; en Java vea la línea 31 de la Ilustración 73. En cambio, cuando se trabaja con métodos que tienen una lista de parámetros (vea el método potencia), para invocarlos se debe enviar el número exacto de parámetros (el mismo número que el método tiene en su definición), en el orden correcto y los tipos de dato apropiados; caso contrario se produce un error. Es importante respetar el orden en el envío de los parámetros, porque cambiar el orden de los parámetros al invocar un método produce resultados incorrectos. Imagínese que quiero elevar dos a su tercera potencia debería invocar al método potencia así: potencia(2, 3), pero si cambio el orden, potencia(3, 2) el resultado cambia. Una vez analizadas algunas características de los parámetros pasemos a estudiar los tipos de parámetros que existen.

5.3.3.1 Parámetros por valor y por referencia 

Para entender estos conceptos revise las páginas desde la 214 a las 217 del texto básico. Una aclaración: en Java los tipos de datos int, double y sus derivados se pasan únicamente por valor y no existe forma de pasarlos por referencia. Luego retomaremos este tema, cuando hablemos de objetos ya que un objeto se pasa por referencia. Este es su comportamiento por defecto y no se necesita usar o escribir alguna palabra reservada. Como se mencionó en el apartado 5.2 “Creación / Invocación de métodos” de esta guía didáctica existen métodos que no retornan valor, pero existe otro tipo de métodos que a diferencia de los anteriores devuelven un valor y que analizaremos a continuación.

5.4 Métodos que regresan valor 

Para tratar este tema, lea el contenido del texto básico que se encuentra en el apartado 9.5 “Métodos que regresan valor” en la página 227.

¿Qué le pareció la lectura? ¿Comprendió? Si es así avancemos y repasemos ciertos elementos de la lectura anterior. Este tipo de métodos devuelven, a quién los invoca, el resultado de la ejecución de las acciones que lo conforman. Las diferencias (a nivel de algoritmo) más notables, con los métodos que no retornan valores, se encuentran en la definición del método ya que luego de los

Page 12: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

paréntesis se ubican los dos puntos y el tipo de dato del valor que devuelve. Además, los métodos que devuelven valor, debe tener por lo menos una sentencia – acción return, en algunos métodos se puede emplear una o más. Vea la definición de métodos que devuelven valor, en la página 227 del texto básico. Podemos observar algunos ejemplos en los métodos calcularFactorial y potencia del algoritmo VARIOS CONCEPTOS (desarrollado en esta guía didáctica en el acápite 5.3.1), además del algoritmo de la página 228 del texto básico. En Java en las líneas 15 y 47 de la Ilustración 74, vemos la definición de los métodos, a diferencia del pseudocódigo, el tipo de dato de retorno, se señala antes del nombre del método. Puede ver el uso de la sentencia return en las líneas 54 y 65 de la misma ilustración. Generalmente el valor que retorna el método se asigna a una variable para luego usar esta variable en otra acción o sentencia. Es necesario tomar en cuenta el tipo de dato de la variable, ya que debe coincidir con el tipo de dato de retorno del método, sino es así se da un error. Un método que retorno un valor real, no puede ser asignado a una variable tipo entero, ya que son datos incompatibles. Todo lenguaje de programación incluye con conjunto de métodos previamente elaborados que permiten realizar ciertas acciones, así que analicemos brevemente este tema.

5.5 Uso de librerías de métodos 

En la página 217 del texto básico lea el acápite 9.4 “Funciones estándar”, por favor revíselas y comprenda su funcionamiento. A estas funciones deben tenerlas como base y consultarlas en caso de ser necesario.

¿Qué le pareció la lectura? ¿Comprendió? Si es así avancemos y repasemos ciertos elementos de la lectura anterior. Con respecto al mundo Java, no cubriremos totalmente este tema con el afán de NO causar confusiones y únicamente trabajaremos con los métodos definidos en la clase Math, que se cubrió en el capítulo 2, en concreto en el tema 2.2. A continuación presentamos un programa en Java que muestra algunas de las funciones estándares definidas en el texto básico y su traducción en Java.

Page 13: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

Ilustración 6 Muestra algunas de las funciones estándares en Java El programa anterior muestra como obtener la longitud (el número de caracteres) que tiene una variable tipo String (texto), vea la línea 30. La longitud de un texto siempre será un valor entero. En las líneas 35 y 37 se transforma un variable tipo String (Texto) a un tipo de dato entero y luego a real. Para la generación de números aleatorios en Java se usa un objeto de la clase Random (vea la línea 19) y para la generación se debe fijar el límite superior, ya que el inferior siempre será 0 (cero), vea la línea 40, en este caso los posibles valores de la variable aleatorio serían números enteros comprendidos entre 0 y 10. Como lo mencionamos anteriormente no entraremos en detalles extensos. Antes de pasar a la sección de ejercicios le invitamos a revisar algunas recomendaciones que le ayudarán a trabajar con los métodos. Estas

Page 14: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

recomendaciones han sido elaborados en base a nuestras experiencias laborales.

5.5 Recomendaciones para trabajar con métodos Es necesario dar un conjunto de recomendaciones para encontrar y trabajar con métodos.

• Para encontrar un método: Trate de dividir un problema en varias partes. Muchos de los problemas se pueden dividir en varias partes, pero no caiga en exageraciones (cada línea de código en un método). Una serie numérica “compleja” (con varias acciones y tipos de números) es ideal para usar métodos, un método para calcular el factorial de un número, otro método para determinar si un número es primo, otro para encontrar el siguiente elemento de la serie de Fibonacci, etc.

• Si bien no existe una regla estándar que diga cuál es el límite de métodos que debe tener un buen programa, cree los métodos que son útiles y aporten claridad al programa. Uno de los objetivos de trabajar con métodos es aportar claridad a la programación si luego de construir los métodos, el programa es más complicado de entender, vuelva a pensar si ha planteado los métodos correctamente.

• Una de las formas que nos han permitido encontrar métodos de una

manera sencilla ha sido preguntarnos ¿este código lo usaré en otros programas? Si la respuesta es afirmativa entonces ese código debe ser un método, sino es así no es conveniente crear un método. Piense por ejemplo en el código que nos permite determinar si un número es primo, este código lo podemos usar en varios programas, así que podríamos crear un método.

• Una de las formas de encontrar posibles métodos es encontrar acciones

o sentencias que se repiten una y otra vez dentro de nuestro programa; una vez ubicadas estas sentencias las agrupamos en un método. Extracción del factor común.

• Una vez dividido el problema, analice cada uno de los partes para

encontrar que datos debe recibir el método (encontrar parámetros) y si es necesario que el método devuelva algún valor (valor de retorno).

• Aunque en el texto básico no se menciona, en nuestra experiencia, el

mejor método es aquel que entre sus sentencias (acciones) no solicita ni lee datos. Reemplace la solicitudes/lecturas de datos por parámetros ya que es el medio de comunicación para enviarle datos a un método y la lectura la puede hacer en el método principal por ejemplo.

Page 15: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

Una vez cubiertos los detalles de los métodos, desarrollemos una serie de ejercicios que les ayudarán a entender y ampliar su conocimiento sobre ellos. No olvide leer detenidamente el análisis que se hace de cada uno de los ejercicios.

1.6 Ejercicios  Importante: en el análisis de los ejercicios desarrollados se utiliza números para referirse a líneas de código de los programas Java. Mientras que, para los algoritmos escritos en pseudocódigo se utiliza letras del alfabeto y a veces la combinación de letras y números.

1. Escriba un algoritmo y luego un programa en Java que posea 2 métodos,

el primero de ellos permite determinar si un número es par. El segundo método calcula el número impar según su posición (Ejemplo el usuario ingresa la posición 1 el método debe devolver 1, posición 2 se devuelve 3, posición 3 se devuelve 5 y así sucesivamente). Recuerde usar parámetros para comunicar valores a los métodos.

Algoritmo VARIOS MÉTODOS Clase UtilSeries 1. Método Principal a. Declaraciones Variables nro, pos, res : Entero b. Soliciar un número y la posición c. Leer nro pos d. IF esPar(nro) == True THEN 1. Imprimir “Es par” e. ELSE 1. Imprimir “Es Impar” f. ENDIF g. res = obtenerImpar(pos) h. Imprimir res i. Fin Método principal 2. Método esPar(num : Entero) : Boleano a. IF num MOD 2 == 0 THEN 1. return True b. ELSE 1. return False c. ENDIF d. Fin Método esPar 3. Método obtenerImpar(po : Entero) : Entero a. Declaraciones Variables impar : Entero b. Calcular impar = (po * 2) - 1 c. return impar

Page 16: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

d. Fin Método obtenerImpar Fin Clase UtilSeries Fin El programa Java se muesta a continuación:

Ilustración 7 Programa con métodos útiles para series

Análisis:

Page 17: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

Tenga presente que: para el análisis del código Java todas los números de líneas hacen referencia a la Ilustración 76. Antes que realizar un análisis de los datos de entrada del método principal es importante analizar los datos que recibe el método (parámetros) y la información que devuelve a través de la sentencia return. Los métodos reciben los valores con los que van trabajar (Fíjese en los puntos 2 y 3 del algoritmo, mientras que en el código Java vea las líneas 37 y 45) se realizan las declaraciones (Vea el punto a bajo 3 del algoritmo o la línea 46 del código Java). Las acciones son simples, ambos métodos devuelven un valor por lo que el uso de la sentencia return es necesario, fíjese como el método esPar usa dos sentencias return (Vea los puntos: 1. bajo a. y 1. bajo b. del método esPar ó las líneas 39 y 41 del código Java), lo que es perfectamente válido y podrá encontrar varios ejercicios así. Mientras que el método obtenerImpar únicamente la usa una sola vez, vea el punto 3. bajo c. o la línea 49 del código Java. Algo importante, que puede resultar peculiar, es el uso del método esPar en el método principal (vea el punto d. del algoritmo o la línea 26 del código Java). La invocación del método es parte de una condición, es decir que si el valor que devuelve el método es verdadero se ingresa al bloque del IF, caso contrario se ejecuta el bloque del ELSE.

2. Elabore un algoritmo y luego un programa en Java, que a través del uso de métodos: devuelva un número mayor a un número entero positivo que es enviado como parámetro, pero con la condición que el número devuelto sea primo. Otro método que según una posición devuelve un término de la serie de Fibonacci que corresponda (Ejemplo: posición 1, Fibonacci 0; posición 2, Fibonacci 1; posición 3, Fibonacci 1; posición 4, Fibonacci 2; etc.) Los métodos que se solicitan en esta pregunta se agregarán al algoritmo que se construyó en el ejercicio anterior. Incluimos los métodos luego de la línea d. Fin Método obtenerImpar.

4. Método esPrimo (num : Entero) : Boleano a. Declaraciones Variables i : Entero b. FOR i = 2; i < num; i ++ 1. IF num % i == 0 THEN a. return False 2. ENDIF c. ENDFOR d. return True

Page 18: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

e. Fin Método esPrimo 5. Método sigPrimo (n : Entero) : Entero a. Declaraciones Variables sPrimo : Entero encontrePrimo : Boleano b. Calcular sPrimo = n c. WHILE encontrePrimo == false 1. sPrimo ++ 2. IF esPrimo(sPrimo) == true THEN a. encontrePrimo = true 3. ENDIF d. ENDWHILE e. return sPrimo f. Fin Método sigPrimo 6. Método obtenerElementoFibonacci (posElem : Entero) : Entero a. Declaraciones Variables ant, sig, fib, i : Entero b. ant = 0, sig = 1, fib = 0 c. IF posElem == 1 THEN 1. return ant d. ELSE 1. IF posElem == 2 THEN a. return sig 2. ELSE a. FOR i = 2; i < posElem; i ++ 1. fib = ant + sig 2. ant = sig 3. sig = fib b. ENDFOR 3. ENDIF e. ENDIF f. Fin Método obtenerElementosFibonacci

El código Java es el siguiente:

Page 19: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

Ilustración 8 Otros métodos útiles para el trabajo con series

Análisis: Es necesrio que recuerde lo siguiente: para el análisis del código Java todas los números de líneas hacen referencia a la Ilustración 77. El método esPrimo (punto 4 del algoritmo y línea 52 Java) recibe un parámetro que es el número a evaluar para deteminar si es primo. Para verificar si un número es primo, se busca si existe algún divisor entre dos y el número menos uno (ciclo FOR en el punto b, bajo 4; o línea 53

Page 20: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

del código Java) si existe algún divisor (IF en el punto 1 bajo b del método esPrimo; o en la línea 54). Si es así ese número no es primo y se devuelve falso, si se llega a ejecutar todo el ciclo FOR se devuelve verdadero indicando que ese número es primo. El método sigPrimo recibe como parámetro un número que sirve de base y para encontrar el siguiente primo mayor que esa base. La idea del algoritmo es generar un número (en este caso mayor al parámetro – Vea los puntos b. bajo 5. y 1. bajo c. en el método sigPrimo o las líneas 65 y 68 del código del código Java) y verificar si es primo. La verificación se hace usando el método esPrimo que se definió y explicó previamente. Si se encuentra un número primo se termina el ciclo repetitivo y se devuelve ese número primo. Finalmente el método obtenerElementoFibonacci recibe como parámetro la posición del elemento de la serie de Fibonacci a devolver. Recuerde que los dos primeros elmentos de Fibonacci no se generan sino que son la base, por eso se usan las sentencias IF (punto c. bajo 6. y 1. bajo d. en el método obtenerElementoFibonacci o de las líneas 81 y 83 del código Java) en caso que la posición se refiera a esos elementos. Para los demás elementos se aplica la fórmula: el siguiente elemento es igual a la suma de los dos anteriores (ciclo FOR punto a. bajo 2. en el método obtenerElementoFibonacci o línea 86 del código Java), el ciclo inicia en dos porque pasaron ya dos elementos de Fibonacci (los elementos raíz); se repite la generación de términos de Fibonacci hasta alcanzar la posición señalada por el parámetro.

3. Resuelva el problema número 5 de los ejercicios del capítulo 3, pero

usando los métodos que se han definido en estos ejercicios. El algoritmo:

Algoritmo SERIE CON MÉTODOS Clase Serie 1. Método principal a. Declaraciones Variables cont, nroTerminos, primo, fibo : Entero suma : Real b. suma = 0, cont = 0 c. Solicitar el número de terminos d. Leer nroTerminos e. WHILE cont < nroTerminos 1. primo = sigPrimo(cont) 2. fibo = obtenerElementoFibonacci(cont + 1) 3. suma = suma + Pot(primo, fibo) 4. cont ++ f. ENDWHILE

Page 21: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

g. Imprimir suma 2. Fin Método principal Fin Clase Fin El programa en Java es el siguiente:

Ilustración 9 Una serie resuelta con métodos

Análisis: Tenga presente que: para el análisis del código Java todas los números de líneas hacen referencia a la Ilustración 78. La entrada del programa es el número de términos a sumar es decir el límite máximo a sumar. El proceso es bastante sencillo ya que únicamente consta de invocaciones a los métodos que se definieron en los ejercicios anteriores, que en este caso se usan para realizar las operaciones. Se invoca al método sigPrimo para encontrar el siguiente primo según un número, en este caso es contador. El siguiente método a invocar es obtenerElementoFibonacci el mismo que devuelve un elemento de la serie de Fibonacci según su posición. Con estos valores se realiza la potenciación, se incrementa el contador y finalmente se imprime la suma.

Page 22: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

4. Crear un método que devuelva alguna operación (1: suma, 2: resta, 3: multiplicación) de una matriz nxn. El algoritmo es el siguiente:

Algoritmo

Clase Métodos. 1. Método Principal

a. Declaraciones n: entero A,B,Result : arreglo [][] entero

b. Solicitar el orden de la matriz c. Leer n d. Inicializar A[n][n] e. Inicializar [n][n] f. Inicializar Result[n][n] g. A= IngresarMatriz(n) h. B= IngresarMatriz(n) i. Imprimir el Menú de opciones:

Sumar A+B Restar A-B Multiplicar AXB

j. Elija la opcion: k. Leer opcion l. SWITCH(opcion)

1. Result= sumar(A,B) 2. Result= restar(A,B) 3. Result= multiplicar(A,B)

m.END SWITCH n. Llamar método Presentar(Result)

2. Fin del método principal

1. 3. Método IngresarMatriz(n entero): arreglo [][] entero

a. Declaraciones orden: entero E : arreglo [n][n] entero Orden=longitud(E)

b. Solicitar el orden de la matriz c. FOR i=0 ; i< orden ;i++

1. FOR j=0 ;j<orden ;j++ a. Solicitar el valor de los elementos b.Leer E[i][j]

2. ENDFOR d. ENDFOR e. Return E

4.Fin de Método

5. Método Multiplicar(A: arreglo[][] ,B: arreglo[][]):arreglo [][] entero a,Declaraciones

Orden, suma, i, j: entero

Page 23: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

resultado : arreglo [][] entero b. Orden=longitud(A) c. FOR i=0 ;i< orden ;i++

1. FOR j=0 ;j<orden ;j++ a. Suma=0 b. FOR k = 0; k < orden; k++

1. suma += A[i][k] * B[k][j] c. ENDFOR d. resultado[i][j] = suma;

2. ENDFOR d. ENDFOR e. Return resultado

6. Fin de Método

7. Método Sumar(A: arreglo[][], B: arreglo[][]): arreglo [][] entero a. Declaraciones

Orden, suma, i, j: entero resultado : arreglo [][] entero

b. Orden=longitud(A) c. FOR i=0 ; i< orden ;i++

1. FOR j=0 ;j<orden ;j++ a. resultado[i][j]=A[i][j]+B[i][j];;

2. ENDFOR d. ENDFOR e. Return resultado

8. Fin de Método

9. Método restar(A: arreglo[][], B: arreglo[][]): arreglo [][] entero a. Declaraciones

Orden, suma, i, j: entero resultado : arreglo [][] entero

b. Orden=longitud(A) c. FOR i=0 ; i< orden ; i++

1. FOR j=0 ; j<orden ; j++ a. resultado[i][j]=A[i][j]-B[i][j];;

2. ENDFOR d. ENDFOR e. Return resultado

10. Fin de Método 11. Método Presentar(A: arreglo[][])

a. Declaraciones 1. j: entero 2. resultado : arreglo [][] entero

b. Orden=longitud(A) c. FOR i=0 ; i< orden ; i++

1. FOR j=0 ; j<orden ; j++ a. Imprimir A[i][j]

2. ENDFOR d. ENDFOR

12 Fin de Método

Page 24: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

Fin de la Clase El código Java se muestra a continuación:

Page 25: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

Ilustración 10 Métodos que trabajan con matrices

Análisis: Recuerde que: Para el análisis del código Java todas los números de líneas hacen referencia a la Ilustración 79. El problema implica que deben ingresarse dos matrices de un orden N, es decir (NXN). Luego mediante métodos (línea 38 a 40) se realizarán las operaciones de suma, resta o multiplicación de acuerdo a la opción que indique el usuario. Se ha realizado métodos para el ingreso de las

Page 26: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

matrices (línea 26 y 27) y también para la presentación(línea 43). Iniciaremos el análisis del método ingreso_matrices (línea 48 a 58) que recibe como parámetros de entrada el orden N de la matriz, el método retorna una matriz entera. Además observe que dentro del método se ha creado una matriz denominada E, la cual recibe los valores ingresados por el usuario. Analizando el método multiplicar, vemos que recibe como parámetro dos matrices de tipo entero (A y B), y cuyo valor de retorno es otra matriz. Observe que la matriz resultado (línea 61) tiene igual número de filas y columnas, debido a que se realiza la multiplicación de una matriz cuadrada. Seguido podemos observar el proceso de multiplicación de matrices cuadradas, mediante ciclos FOR anidados, tal y como se lo ha explicado en capítulos anteriores. Al igual que el método anterior los métodos suma y resta reciben como parámetros las dos matrices (A y B) y como devuelven como resultado otra matriz entera. La única diferencia ente estos métodos se encuentra en las operaciones que se realizan (suma y resta) vea las líneas 80 y 88. En ambos métodos se utilizan ciclos FOR anidados para realizar las operaciones.

5. Elaborar un algoritmo que permita leer un número entero e indique si es capicúa (un números es capicúa si se lee igual de izquierda a derecha que en sentido contrario). Utilizar un método que reciba como parámetro el número, y que devuelva TRUE si es capicúa o FALSE en caso contrario. Ejemplo: 1991.

Algoritmo CAPICÚA Clase Métodos8.

1. Método Principal a. Declaraciones

Cantidad, i,j : Entero valor: Boolenao

b. Solicitar cantidad a validar c. Leer cantidad d. Valor=esCapicua(cantidad) e. IF valor==verdadero THEN

1.Imprimir la cantidad es capicúa f. ELSE

2. Imprimir la cantidad no es capicúa g. ENDIF

2. Fin del método principal

3. Método esCapicua(cantidad :Entero): Booleano a. Declaraciones

palabra: Cadena

Page 27: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

estado: boolean b. palabra=trasformar a cadena(cantidad) c. estado=true d. FOR i=0; i<palabra.longitud; i++

1. IF palabra.subCaracter(i)!= palabra.subcaracter(palabra.longitud()-i-1 THEN a. Asignar estado=false;

f. ENDIF g. return estado

4. Fin de Método Fin de la clase

El código Java se muestra a continuación:

Ilustración 11 Programa Java que determina si un número es Capicúa

Análisis: No olvide que: para el análisis del código Java todas los números de líneas hacen referencia a la Ilustración 80. El programa tiene como entrada una cadena de texto ingresada por el usuario (línea 21) que sirve como parámetro para el método esCapicua (línea 28). Este método permite conocer si un número tiene la propiedad de leerse el mismo número al revés, como lo indica el enunciado. Para esto es necesario convertir un número a texto (línea 31) para poder extraer cada uno de sus caracteres . Se utiliza una estructura FOR que recorre la cadena y evalúa cada uno de los caracteres (línea 34). Finalmente se retorna el estado del proceso.

Page 28: capitulo5-metodos

Escuela de Ciencias de la Computación – UTPL                                                                                                                                                            Fundamentos de la Programación                                                                                                             Autores: Ing. Jorge López, Ing. Greyson Alberca 

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial - Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/

En el presente capítulo estudiamos como dividir un programa en métodos, es decir hemos hecho modulares nuestros programas. Se cubrió los diferentes conceptos que giran alrededor de los métodos, los tipos que existen y algunas funciones estándares; para finalmente analizar algunas recomendaciones para trabajar con métodos. Para ampliar el conocimiento adquirido acerca de métodos en el lenguaje de programación Java, les proponemos que lea el siguiente material adicional. Material adicional:

En el CD que se adjuntó en la guía didáctica, puede revisar (programación-en-java-i\Contenidos\LecturaObligatoria\) los archivos: 8-sentenciareturnymetodos.pdf 14-tiposdemetodos.pdf

).