1 / 20

Estructuración y modularidad de los programas

Estructuración y modularidad de los programas. Fundamentos de Programación/ Programación I 2007-2008. Estructuración y modularidad. Hay varios criterios que uno quiere cumplir cuando escribe un programa Un programa bien escrito suele ser compacto: no innecesariamente largo

maxim
Download Presentation

Estructuración y modularidad de los programas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Estructuración y modularidad de los programas Fundamentos de Programación/ Programación I 2007-2008

  2. Estructuración y modularidad • Hay varios criterios que uno quiere cumplir cuando escribe un programa • Un programa bien escrito suele ser • compacto: no innecesariamente largo • legible: fácil a entender y utilizar para otros • robusto: no fallar con entradas inesperadas • reutilizable: se puede reutilizar parte del programa

  3. Reutilización • A menudo queremos aplicar una misma operación en varias programas • Podemos copiar el código y manipular las entradas para que funcione en otro programa • No obstante, ¿qué pasa si queremos cambiar el código? • Tenemos que cambiarlo en todos los lugares donde halla • Mejor tener el código en un mismo lugar

  4. Métodos • Métodos en Java son módulos de código que se pueden tratar individualmente • Un programa normalmente consiste en varios métodos • Ventajas: • abstracción: el usuario de un método no necesita conocer el proceso, sólo la entrada y salida • reutilización: un método de un programa se puede reutilizar en otro • legibilidad: más fácil entender y escribir un programa separado en módulos • compactibilidad: no contiene varias copias del mismo código

  5. Declaración de métodos • Sintaxis: <acceso> <tipo> <identificador>(<entrada>) { <bloque> } • El acceso especifica quién tiene acceso al método • El tipo especifica cual va a ser el resultado del método • El identificador es el nombre del método • La entrada es una secuencia de variables separadas por coma

  6. Acceso a métodos • A veces uno quiere restringir el acceso a métodos • Es posible cambiar el acceso en la declaración de un método • En este curso, el acceso de un método siempre será public static • Eso significa que se puede usar el método en cualquier otro programa

  7. Tipos de métodos • El tipo de un método especifica cual será el resultado del método • Por ejemplo, si el tipo de un método es int, el resultado del método es un número entero • Un método puede tener cualquier tipo entre los que conocemos • Además, el tipo de un método puede ser void • Eso significa que el método no devuelve ningún resultado

  8. Entrada de métodos • Cada método tiene una entrada • La entrada es una secuencia de variables separadas por coma • La entrada puede ser vacía, es decir, una secuencia de 0 variables • Las variables especifican el tipo de información que el usuario necesita proveer para aplicar el método • No se inicializan las variables de entrada

  9. Salida de métodos • Si el tipo de un método es otro que void, el método necesita una salida • La salida representa el resultado del método dado una entrada • Para que un método devuelve un resultado se usa la palabra return • El significado de return es “terminar el método y devolver el valor adjunto”

  10. Ejemplo • Ejemplo de un método que realiza multiplicación: public static int mult(int a, int b) { int resultado = a * b; return resultado; }

  11. Llamar a métodos • Para llamar a un método hay que especificar los valores de entrada • Sintaxis: <identificador>(<valores>) • Los valores de entrada son separados por coma y sus tipos tienen que corresponder a los tipos de las variables de entrada en el mismo orden • Para guardar el resultado de un método, hay que utilizar una variable del mismo tipo

  12. Llamar a métodos • Si el método halla en un programa fuera del programa actual, necesita especificar el nombre del otro programa • Sintaxis: <programa>.<identificador>(<valores>) • Ejemplos: TextIO.putln(“Entrar un número entero ”); int numero = TextIO.getInt();

  13. Ubicación de métodos • Todos los métodos de un programa hallan dentro de las llaves del programa • ¡Nunca un método halla dentro de otro método! • Consecuentemente, no hallan dentro de main, que también es un método

  14. Ejemplo • Ejemplo de un método que realiza multiplicación: public static int mult(int a, int b) { int resultado = a * b; return resultado; } public static void main(String[] args) { int producto = mult(15, 17); System.out.println(producto); }

  15. Variables de métodos • Dentro de un método se puede usar variables • ¡No obstante, una variable declarada en un bloque sólo existe dentro de este bloque! • No se puede usar su identificador dentro de otros métodos

  16. Ejemplo • Ejemplo de un método que realiza multiplicación: public static int mult(int a, int b) { int resultado = a * b; return resultado; } public static void main(String[] args) { int producto = mult(15, 17); System.out.println(a * b); }

  17. La pila (stack) • Un método puede llamar a otro método como subrutina • Consecuentemente, varios métodos pueden ejecutar al mismo tiempo • Siempre hay sólo un método activo • Los otros métodos están esperando que el método activo termine y devuelve su resultado • Java usa una pila (stack) para recordar los métodos que están ejecutando • El método activo está arriba de la pila

  18. La pila (stack) public static int mult(int a, int b) { int resultado = a * b; return resultado; } public static void main(String[] args) { int producto = mult(15, 17); System.out.println(producto); } mult main

  19. Ejercicio • Escribir un método que calcule la factorial de un número

  20. Ejercicio • Resolver el problema del supermercado con métodos

More Related