Indice->SubrutinasSubrutinasLas subrutinas facilitan la estructuración del programa. Cuando el programa principal llama a una subrutina para que ésta se ejecute, la subrutina procesa su programa hasta el final. El sistema retorna luego el control al segmento del programa principal desde donde se llamó a la subrutina. Las subrutinas sirven para estructurar o dividir el programa en bloques más pequeños y, por tanto, más fáciles de gestionar. Los bloques más pequeños facilitan la comprobación y la eliminación de errores tanto en las subrutinas como en el programa entero. Con las subrutinas también la CPU se puede utilizar más eficientemente, llamando al bloque sólo cuando se necesite, y no ejecutar todos los bloques en todos los ciclos. La operación Llamar subrutina transfiere el control a la subrutina, se puede utilizar con o sin parámetros. Ejemplo de llamada a subrutina con parámetros. En cada llamada a subrutina se pueden utilizar 16 parámetros de entrada/salida como máximo. Los valores de los parámetros se asignan de la siguiente forma a la memoria local en la subrutina:
En la operación "Llamar subrutina" con parámetros, éstos deben concordar exactamente con las variables definidas en la tabla de variables locales de la subrutina. Los parámetros se deben organizar de la siguiente forma:
Ejemplo de una subrutina que hace regla de 3 La operación Retorno condicionado desde la subrutina, nos permite finalizar la subrutina en función de la combinación lógica precedente. Ejemplo de subrutina con retorno condicional. Un programa puede contar con 64 subrutinas como máximo. En el programa principal se pueden anidar (situar una llamada a subrutina dentro de otra) hasta 8 subrutinas. Las subrutinas no se pueden anidar en 1 subrutina de interrupción. La recursión (la subrutina se llama a sí misma) está permitida de manera indirecta, es decir, una subrutina no se puede llamar a sí misma, ha de hacer la recusión por medio de otra subrutina, como muestra el cuadro. Ejemplo de recurrencia. Aunque la recursión esté permitida, hay que utilizarla con mucha precaución |