Descargar Imprimir esta página

AMSTRAD sinclair ZX Spectrum +3 Manual Del Usario página 84

Publicidad

La sentencia GO TO 30 de la línea 70, y la sentencia STOP del programa siguiente, son
muy importantes; si no fuera por ellas, los programas entrarían en las subrutinas y se pro­
duciría un error ('7 RETURN sin GO SUB') al llegar a la sentencia RETURN.
El siguiente programa utiliza una subrutina (líneas 100 a 150) que escribe la tabla de multi­
plicar correspondiente al parámetro n. La orden GO SUB 100 que invoca la subrutina
puede estar en cualquier lugar del programa. Cuando BASIC encuentra la orden RE­
TURN en la línea 150 de la subrutina, el control retorna al programa principal, que conti­
núa funcionando a partir de la sentencia siguiente a aquélla en que se encontraba el GO
SUB original. Al igual que ocurría con GO TO, se puede escribir GO SUB en una sola
palabra: GOSUB.
10 REM Tabla de multiplicar del 2. el 5. el 10 y el 11
20 LET n=2: GO SUB 100
30 LET n=5: GO SUB 100
40 LET n=10: GO SUB 100
50 LET n=11: GO SUB 100
60 STOP
70 REM Fin del programa principal. comienzo de la subrutina
100 PRINT "Tabla de multiplicar por ";n
110 FOR v=1 TO 9
120 PRINT v;" x ";n;" = ";v*n
130 NEXT v
140 PRINT
150 RETURN
Una subrutina puede invocar a otra, o incluso a sí misma. (Una rutina que se invoca a
'sí misma es una rutina
recursiva).
Capitulo 8. Guía de programación en +3 BASIC
74

Publicidad

loading