1 / 9

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

Tema 1 Introducción a la programación (Lenguaje java). 1.3 Programación modular. Subprogramas. 1.3 Programación modular. Subprogramas. EL TRABAJO MODULAR COMO PARADIGMA DE INGENIERÍA : Tecnología para la programación modular . Módulos externos

niyati
Download Presentation

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

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. 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. 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. 1.3 Programación modular. Subprogramas.

  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. 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. 1.3 Programación modular. Subprogramas.

More Related