Descargar

Programación con diseño descendente

Enviado por Pablo Turmero


Partes: 1, 2, 3

    edu.red

    Diseño descendente Diseño descendente, top-down, que consiste en dividir el problema en subproblemas más pequeños, que se pueden tratar de forma separada. En Fortran, hay dos tipos de procedimientos externos: Funciones Subrutinas Su ejecución se controla desde alguna otra unidad de programa (que puede ser el programa principal u otro procedimiento externo).

    edu.red

    Programación con funciones y subrutinas Programa principal Función F1 Subrutina S1 Función F2 Subrutina S2

    edu.red

    Ventajas del diseño descendente (top-down) Permite usar procedimientos construidos por otros programadores. Es mucho más fácil encontrar errores en el código, sobre todo en programas largos. Evita cambios indeseables en las variables del programa. Sólo algunas de ellas se transfieren entre las diferentes unidades de programa, aquellas variables que son necesarias para realizar los cálculos previstos. Las demás variables sólo son accesibles en la unidad de programa donde se declaran (variables locales), quedando a salvo de cambios imprevistos para el resto de las unidades de programa.

    edu.red

    Funciones Intrínsecas Definidas por el programador o subprogramas función Las funciones definidas por el programador se usan igual que las funciones intrínsecas. La estructura general de un procedimiento función es: Cabecera de función Sección de especificaciones Sección de ejecución Terminación de la función Su resultado es un valor numérico, lógico, una cadena de caracteres o un array.

    edu.red

    Primer ejemplo de uso de una función Calcular mediante el desarrollo en serie el valor de con un error admisible que se lee como dato. Se recuerda que el error que se comete es menor que el valor absoluto del último término que se considere.

    edu.red

    Funciones (definición) [TIPO] FUNCTION nombre_funcion ([Lista de argumentos formales]) identifica esa unidad de programa como un procedimiento función. Cabecera: TIPO es cualquier tipo Fortran válido relativo a nombre_funcion. Si no aparece TIPO en la cabecera, debe especificarse en la sección de especificaciones. Lista de argumentos formales es una lista (puede ser vacía) de constantes, variables, arrays o expresiones, separados por comas. Se emplean para pasar información al cuerpo de la función. Se llaman formales porque no conllevan una reserva de espacio en memoria. nombre_funcion es cualquier identificador válido de Fortran. Debe declarar el TIPO de nombre_funcion (si no se ha hecho en la cabecera), el tipo de los argumentos formales y el de las variables locales a la función. Sección de especificaciones: Debe incluir al menos una sentencia de asignación en la que se asigne a nombre_funcion el resultado de una expresión del mismo tipo. Sintaxis: Sección de ejecución: nombre_funcion = expresión Terminación: END FUNCTION [nombre_funcion]

    edu.red

    Funciones (invocación) nombre_funcion ([Lista de argumentos actuales]) Una función se invoca escribiendo: formando parte de una expresión o en cualquier lugar donde puede aparecer una expresión. El número, tipo y orden de los argumentos actuales que aparecen en la llamada a la función y los argumentos formales que aparecen en la cabecera de su definición deben corresponderse. Como resultado de la evaluación de la función con sus argumentos actuales se devuelve un valor que es usado para evaluar, a su vez, la expresión de la que forme parte. El tipo del nombre_funcion debe ser el mismo en la(s) unidad(es) de programa que invoca(n) a la función y el declarado en el propio procedimiento función.

    edu.red

    Ejecución de la llamada a una función Definición: En Fortran, la transferencia de argumentos entre dos unidades de programa cualesquiera se realiza por dirección. Así, la asociación entre argumentos actuales y formales significa pasar las direcciones de memoria que ocupan los argumentos actuales al procedimiento llamado, de modo que éste puede leer y escribir en esas direcciones de memoria. Por ejemplo, para escribir en un argumento formal basta ponerlo a la izquierda de una sentencia de asignación en el interior de un procedimiento llamado. nombre_funcion ([lista de argumentos actuales]) Invocación: [TIPO] FUNCTION nombre_funcion ([Lista de argumentos formales])

    Partes: 1, 2, 3
    Página siguiente