La programación estructurada es un conjunto de técnicas para desarrollar algoritmos fáciles de escribir, verificar, leer y modificar. La programación estructurada utiliza:
• Diseño descendente. Consiste en diseñar los algoritmos en etapas, yendo de los conceptos generales a los de detalle. El diseño descendente se verá completado y ampliado con el modular.
• Programación modular. El diseño descendente resuelve un problema efectuando descomposiciones en otros problemas más sencillos a través de distintos niveles de refinamiento.
La programación modular consiste en resolver de forma independiente los subproblemas resultantes de una descomposición. La programación modular completa y amplia el diseño descendente como método de solución de problemas y permite proteger la estructura de la información asociada a un subproblema. Cuando se trata de este modo, existirá un algoritmo principal o conductor que transferirá el control a los distintos módulos o subalgoritmos, los cuales, cuando terminen su tarea, devolverán el control al algoritmo que los llamó. Los módulos o subalgoritmos deberán ser pequeños, seguirán todas las reglas de la programación estructurada y podrán ser representados con las herramientas de programación habituales.
Un problema complejo se puede dividir en pequeños subproblemas más sencillos. Estos subproblemas se conocen como “Módulos” y su complementación en un lenguaje se llama subprograma (procedimientos y funciones).
Un subprograma realiza las mismas acciones que un programa, sin embargo, un subprograma lo utiliza solamente un programa para un propósito especifico.
Un subprograma recibe datos de un programa y le devuelve resultados (el programa “llama” o “invoca” al subprograma, este ejecuta una tarea específica y devuelve el “control” al programa que lo llamo).
Tipos de módulos
- Funciones
- Procedimientos
Función: Una función en matemáticas, es una operación que toma un o mas valores (argumentos) y devuelve un resultado (valor de la función para los argumentos dados). Por ejemplo:
F(X) = X / (1+X2)
Donde:
F ………….. Nombre de la función
X …………. Es el argumento (también conocido como parámetro formal)
Una función desde el punto de vista de la programación, se define como un proceso que recibe valores de entrada (llamados argumentos) y el cual retorna un valor resultado. Las funciones son subprogramas dentro de un programa que se puede invocar (ejecutar), desde cualquier parte del programa, es decir, desde otra función, desde la misma función o desde el programa principal, cuantas veces sea necesario.
Definición de funciones: Una definición de función se presenta de la siguiente manera:
Función nombre_funcion (arg1: tipo,…arg n: tipo) tipo
Variables
Inicio
Bloque de instrucciones
Retornar “valor”
Fin_función
Ejemplo:
Función minimo (a: real; b: real; c: real): real
Variables m: real
Inicio
Si (a<=b & a<=c) entonces
m=a
sino
si (b<=a & b<=c) entonces
m=b
sino
m=c
fin_si
fin_si
retornar m
fin_función
Donde:
Función …………… Es la palabra clave que nos indica una definición de función.
Nombre_funcion ….. Es el identificador con el cual se reconoce a la función en el cuerpo del
Algoritmo principal.
P1,p2,…,pn ……... Es el grupo de parámetros que define a la función.
Llamado a una función
Cuando definimos una función solo le indicamos al algoritmo que esta función existe, pero una definición de función no implica la realización de las instrucciones que la constituyen. Para hacer uso de una función, el algoritmo principal la debe llamar. Por ejemplo:
Función F(X)
Inicio
F = X /(1 + X^2)
Fin
Inicio
Imprimir “Este es el algoritmo principal”
Leer N
Imprimir “El resultado de la función es:”,R
Fin
Procedimientos
Un procedimiento es una parte del programa que realiza una acción específica basada a menudo en una serie de parámetros o argumentos. El procedimiento se ejecuta simplemente con una sentencia que es igual a su identificador seguido de los parámetros correspondientes, si los tiene, entre paréntesis. A diferencia de las funciones, no tiene sentido situarlos en una expresión porque no devuelven un valor una vez terminada su ejecución.
Un procedimiento se define de la siguiente manera:
Procedimiento nombre (arg 1: tipo 1,….)
Variables
Inicio
Instrucciones
Fin_procedimiento
Los parámetros o argumentos son un mecanismo para pasar datos del programa principal a un procedimiento y viceversa. Los parámetros de la llamada para ejecutar la rutina se llaman parámetros reales mientras que los parámetros en la declaración de la rutina se llaman parámetros formales.
Los parámetros formales por valor permiten la introducción de información en el procedimiento.
Sintaxis: identificador : tipo_dato; o si hay n parámetros por valor del mismo tipo: identificador_1,...,identificador_n : tipo_dato;
Los valores son introducidos en la llamada a la subrutina mediante el parámetro real que puede ser una constante, una variable o una expresión con un valor determinado. Al empezar a ejecutarse la subrutina se reserva espacio en memoria para el parámetro formal al que, en un principio, se le asigna el mismo valor que el parámetro real. Posteriormente los valores que vayan tomando durante la ejecución de la subrutina los parámetros real y formal serán independientes. Una vez terminada de ejecutar la subrutina se deja libre de uso el espacio de memoria correspondiente al parámetro formal.
Estuctura de un algoritmo
Algoritmo
INICIO
const
..................................................
tipo
var
.........................................................................................................
//Los datos han de ser declarados antes de poder ser utilizados.
........................
llamar_a
//La llamada a la función ha de realizarse en una expresión, por ejemplo:
escribir(
//Se utilizará siempre la sangría en las estructuras selectivas y repetitivas.
...................................
FIN.
procedimiento
INICIO
[declaraciones locales].
enunciados.
FIN.
INICIO
//claseDato devuelto por la función es una clase estándar.
[declaraciones locales].
enunciados.
....................
devolver(
FIN.
No hay comentarios:
Publicar un comentario