| CURRICULUM |
Anterior: Tema 3: Introducción a Superior: Programa Detallado de Teoría Siguiente: Tema 5: Vectores y |
El mecanismo de paso de valores a un módulo hace una abstracción de los valores concretos que se proporcionan al módulo en cada llamada, los parámetros actuales, mediante la declaración de variables que servirán para referenciar esos valores de manera única, los parámetros formales. De esta forma es posible diseñar un módulo de manera independiente de los valores que le serán proporcionados en la entrada. Además, ocultamos los datos e instrucciones que maneja el subprograma de manera que mejoramos la estructura del programa y facilitamos la abstracción a la hora de programar.
Se distinguen dos construcciones distintas para la definición de subprogramas, las funciones y los procedimientos.
Se definen las funciones dejando clara su utilidad. Se detalla que para declarar una función hemos de especificar el nombre de la misma, el tipo del dato devuelto y los nombres y tipos de sus argumentos formales. Después se explica el uso de las mismas: cómo se pasan los argumentos actuales y cómo se puede usar el valor devuelto. También se estudia la estructura interna de la función y se explica la sentencia de devolución de datos. Para distinguirlas de los procedimientos hemos de dejar claro que las funciones devuelven un único valor y que el valor de los parámetros no cambia.
Se definen los procedimientos especificando su utilidad. Se detalla la especificación de los mismos distinguiendo entre parámetros por valor y por variable. Se verá cómo se hacen las llamadas a procedimientos y se detallará la estructura interna de los mismos.
En este punto se hace la distinción entre datos locales, encapsulados en un subprograma y sólo accesibles en él mismo y los datos globales accesibles desde cualquier punto del programa.
Para finalizar se explicará como hacer trazas cuando aparecen subprogramas. Esto será de gran utilidad para asimilar los conceptos de parámetro por valor, parámetro por variable y valor devuelto.
Finalizamos viendo cómo se implementan las funciones y procedimientos en
lenguaje C.