Subprogramas

 

 

Introducción

Los subprogramas son rutinas, procedimientos o conjuntos de instrucciones que realizan una labor específica. Los subprogramas o subrutinas nacieron de la necesidad de no repetir innecesariamente un trabajo ya hecho. Pueden invocarse desde el cuerpo del programa principal cuantas veces se desee. Constituyen el núcleo de lo que se denomina programación estructurada, y permiten la descomposición de un problema complejo en subproblemas más sencillos abordables de forma independiente (véase la figura de la estructura general de un módulo de programa de Flowol)

Para definir un subprograma no hay más que insertar un bloque terminador y pulsar el botón Sub en el cuadro de diálogo que aparece:

En el cuadro de texto que aparece en blanco se puede introducir el nombre deseado para el subprograma:

de modo que se obtiene el bloque:

(si no se hubiese introducido ningún nombre, el subprograma sería reconocido simplemente por Sub 1).

El cuerpo del subprograma se completa arrastrando y soltando los bloques precisos y se finaliza insertando un terminador Stop.

En Flowol los subprogramas no admiten parámetros, es decir, valores o argumentos que se pasan desde el programa o subprograma que los invoca, ni devuelven ningún valor a dicho programa. Sin embargo, se pueden pasar valores entre el programa principal y los subprogramas utilizando variables.

En Flowol se pueden definir hasta 16 diferentes subprogramas, con un grado de anidamiento máximo de 8 niveles (es decir, un subprograma puede invocar en su interior a otro subprograma y éste a su vez a otro, y éste a otro, etc., un máximo de 8 veces).

En particular, un subprograma se puede llamar a sí mismo. Esto se conoce como recursividad.

Volver al principio de página

 

Llamada desde el programa principal

Una vez se tienen definidos uno o más subprogramas, cualquiera de ellos puede ser invocado desde el programa principal.

Para ello hay que insertar el bloque Proceso en un punto del programa: hay más que pulsar sobre el símbolo indicado en la figura adjunta de la barra de herramientas, arrastrarlo y hacer click en el punto seleccionado. En este momento se abre el cuadro de diálogo Editar Proceso que permite introducir los datos necesarios para manejar las salidas.

El botón Sub da acceso a una lista de los subprogramas previamente definidos, de forma que se puede seleccionar a cuál de ellos se desea invocar.

 Si, por ejemplo, se selecciona el denominado 1(Nom_sub), se obtiene el bloque:

de modo que pulsando Aceptar se tiene el bloque:

que interrumpe el flujo del programa principal para comenzar a ejecutar el contenido del subprograma. Cuando se alcanza el bloque terminador Stop del mismo, el programa principal continúa su ejecución en el punto donde lo dejó.

Si en el anterior cuadro Editar Proceso se hubiese pulsado alguno de los botones numéricos (1-9), por ejemplo, el 5, se hubiese obtenido el bloque:

Este, ejecuta el nº de veces elegido (en este caso 5), las instrucciones contenidas en el subprograma antes de retornar el control al programa principal.

Volver al principio de página

Ir al índice de "El lenguaje de control Flowol"

2004 Víctor R. González

volver a Inicio