0% encontró este documento útil (0 votos)
25 vistas4 páginas

Guía sobre Subrutinas en Programación

Las subrutinas permiten dividir un programa en bloques más pequeños para facilitar la estructuración y la detección de errores. Las subrutinas también permiten pasar parámetros y devolver valores al programa principal. Se pueden anidar subrutinas para lograr mayor estructuración.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
25 vistas4 páginas

Guía sobre Subrutinas en Programación

Las subrutinas permiten dividir un programa en bloques más pequeños para facilitar la estructuración y la detección de errores. Las subrutinas también permiten pasar parámetros y devolver valores al programa principal. Se pueden anidar subrutinas para lograr mayor estructuración.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Subrutinas

Última actualización: 2021-02-28

Una subrutina es un conjunto de instrucciones que realizan una tarea concreta. Es un pequeño programa
que puede incorporarse en un programa y accederse a él con una sentencia GOSUB, o puede ser externo
al programa y accederse a él con una sentencia CALL. Los procesos comunes a menudo se guardan como
subrutinas externas. Este método permite al programador acceder a ellos desde muchos programas
distintos sin tener que volver a escribirlos.

Cuando se encuentra una sentencia GOSUB o sentencia CALL, el control del programa realiza una
ramificación a la subrutina referenciada. Una subrutina interna debe empezar con una etiqueta de
sentencia. Una subrutina externa debe empezar con una sentencia SUBROUTINE.

Una sentencia RETURN se puede emplear al final de una subrutina para que el flujo del programa vuelva
a la sentencia que figura a continuación de la última sentencia GOSUB o CALL referenciada. Si no hay
ninguna sentencia CALL o GOSUB correspondiente, el programa se detiene y vuelve al nivel de mandatos
de InfoSphere DataStage. Si una subrutina externa finaliza antes de encontrar una sentencia RETURN,
automáticamente se proporciona un retorno.

Nota: Si se encuentra una sentencia ABORT, sentencia STOP o sentencia CHAIN durante la ejecución de
la subrutina, la ejecución del programa termina anormalmente, se detiene o encadena a otro programa
BASIC y el control nunca vuelve al programa de llamada.

Es posible pasar uno o varios argumentos separados por comas a la subrutina en forma de lista de
argumentos. Un argumento puede ser una constante, variable, variable de matriz o expresión, cada una
de las cuales representa un valor real. La lista de argumentos de la sentencia SUBROUTINE debe
contener el mismo número de argumentos para que la subrutina pueda hacer referencia a los valores
que se le pasan. Los argumentos se pasan a las subrutinas pasando un puntero al argumento. Por
consiguiente, los argumentos también se pueden emplear para devolver valores al programa de llamada.

https://www.ibm.com/docs/es/iis/11.5?topic=basic-subroutines

subrutinas

Las 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:

 Los valores se asignan a la memoria local en el orden indicado por la operación Llamar subrutina,
comenzando dichos parámetros en L0.

 De uno a ocho valores binarios consecutivos se asignan a un sólo byte comenzando en Lx.0 hasta
Lx.7.

 Los valores de byte, palabra y doble palabra se asignan a la memoria local en bytes (LBx, LWx,
LDx).

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:

 Los parámetros de entrada.

 Los parámetros de entrada/salida.

 Los parámetros de salida.


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

http://isa.uniovi.es/~vsuarez/ii/CursoOnline/12asubrutinas.htm#:~:text=Las%20subrutinas%20sirven
%20para%20estructurar,como%20en%20el%20programa%20entero.

También podría gustarte