La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

1.3 Programación modular. Subprogramas.

Presentaciones similares


Presentación del tema: "1.3 Programación modular. Subprogramas."— Transcripción de la presentación:

1 1.3 Programación modular. Subprogramas.
Tema 1 Introducción a la programación (Lenguaje java). 1.3 Programación modular. Subprogramas.

2 1.3 Programación modular. Subprogramas.
EL TRABAJO MODULAR COMO PARADIGMA DE INGENIERÍA: Tecnología para la programación modular. Módulos externos Incluidos como paquetes (packages) en el entorno de desarrollo. Construidos por el programador. Adquiridos a terceros. Desarrollados por el programador como ficheros independientes. Desarrollados por el programador e incorporados en el fichero que contiene el programa principal. “Conjunto de algoritmo más estructuras de datos”. Wirth (1985)

3 1.3 Programación modular. Subprogramas.
Modelo estático. Modelo dinámico: El bloque correspondiente al programa principal está permanentemente en memoria mientras que los subprogramas se cargan cuando se necesitan y al finalizar su ejecución se libera la memoria ocupada.

4 1.3 Programación modular. Subprogramas.
Mecanismos para el paso de información. Llamada: Se indica nombre e información que se pasa al módulo: lista de argumentos. Forma de compartir la información: Valor . Se pasa una copia del argumento. Única forma posible en Java para los tipos simples (primitivos). Referencia. Se permite al módulo acceder al argumento (se pasa su referencia). Se puede modificar el contenido de la referencia. Única forma posible en Java para tipos no primitivos. Otras consideraciones: El subprograma puede tener sus propias variables (locales). Inaccesibles desde el módulo de llamada. Es posible (pero no recomendable) declarar variables (globales) accesibles por los módulos de llamada (principal) y módulos llamados (subprograma).

5 1.3 Programación modular. Subprogramas.
Aplicación al lenguaje Java. Los subprogramas en Java se denominan métodos (funciones o procedimientos en otros lenguajes). Cabecera: <tipoDevuelto> <nombreDel Método>(<tipo> <argumento1>, <tipo> <argumento2>,... ) Los nombres de los argumentos son formales. La lista de argumentos puede estar vacía. El método puede no devolver nada (void). Cuerpo: Delimitado por { }. Incluye la declaración de las variables globales y el algoritmo. Debe finalizar con: return <variableDeTrabajoLocal>; (return; si no devuelve nada)

6 1.3 Programación modular. Subprogramas.
Estructura general de un programa en Java.

7 1.3 Programación modular. Subprogramas.
Recursividad (I). Concepto de objeto recursivo: “Aquel que forma parte de sí mismo o que forma parte de su propia definición”. Ejemplos: Número natural: El 1 es un número natural. El siguiente de un número natural es un número natural. Factorial de un número natural. 0! = 1; N > 0, N! = N * (N-1)!

8 1.3 Programación modular. Subprogramas.
Recursividad (II). La recursividad en programación. Justificación: El tratamiento recursivo (frente al iterativo) simplifica la lógica pero resulta menos eficiente para la máquina (memoria y tiempo). Es la única alternativa posible para la resolución de algunos problemas. Materialización. Es un subprograma que se llama, a sí mismo (fase “de ida”) hasta que se alcanza una condición “de parada” (fase “de transición”). A continuación se realiza un recorrido en sentido inverso (fase “de vuelta”) por las diferentes instancias que fueron invocadas en la fase de ida. Hace uso del modelo dinámico de subprogramación.

9 1.3 Programación modular. Subprogramas.
Recursividad (III). Consideraciones complementarias. Terminación anticipada. Por omisión: no hacer una nueva llamada. Utilización de módulos de llamada. Inicialización del estado de partida. Momentos de realización del proceso (fases de ida, transición o vuelta) y su implicación en la modalidad del paso de argumentos (valor o referencia). Recursividad indirecta. Reciprocidad de llamadas.


Descargar ppt "1.3 Programación modular. Subprogramas."

Presentaciones similares


Anuncios Google