Descargar Imprimir esta página

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

Publicidad

Observe qué fácil sería modificar la línea 70 para que el programa sumara diez números,
o incluso cien.
Este método es tan útil que hay dos órdenes especiales para hacerlo más fácil: la orden
FOR
y la orden
NEXT,
las cuales siempre han de ser utilizadas conjuntamente. Con ellas
el programa anterior se convierte en:
10
LET
total=O
20
FOR
c=1
TO
5
30 INPUT
a
40
REM
c es el número de veces que se ha
captado el valor de a hasta ahora
50
LET
total=total+a
60 NEXT
c
80
PRINT
total
(Para obtener este programa a partir del anterior, basta con editar las líneas
20, 40
y
60
y borrar la línea 70.)
Observe que hemos cambiado contador por c. Esto ha sido necesario porque el nombre
de la variable de control de un bucle
FOR ... NEXT
tiene que constar de una sola letra,
El mecanismo de este programa es el siguiente: c va tomando sucesivamente los valores
l (valor inicial), 2,
3,4
y 5 (límite), y para cada uno de ellos el ordenador ejecuta las líneas
30, 40
y
50.
Después, cuando c ya ha recorrido sus cinco valores, ejecuta la línea 80.
Ahora intente resolver el ejercicio 2 del final de esta Sección 4, que hace referencia al pro­
grama anterior.
Un refinamiento adicional de la estructura
FOR ... NEXT
consiste en que la variable de
control no tiene que crecer necesariamente de uno en uno, sino que podemos cambiar ese
1 por cualquier otro número sin más que incluir la cláusula
STEP
(paso) en la orden
FOR.
La forma más general de una orden
FOR
es, pues,
FOR variable-de-control
=
valor-inicial TO límite STEP paso
donde la
variable-de-control
es una sola letra, y el
valor-inicial,
el
límite
y el
paso
son «ex­
presiones» (es decir, cualquier cosa que el +3 pueda evaluar y cuyo valor sea un número:
constantes numéricas, sumas de números, variables numéricas, etc.). Pues bien, si reem­
plazarnos la línea
20
del programa por:
20
FOR
c=1
TO
5
STEP
3/2
la variable de control se verá incrementada en
3/2
cada vez que se ejecute el bucle
FOR.
Observe que podríamos haber puesto
STEP
1.5, o haber asignado el valor del paso a una
variable (por ejemplo, p) y luego haber especificado
STEP
p.
Con esta modificación, la variable c tomará los valores
1,2.5
y 4. Observe que no hay
por qué limitarse a números enteros y que, por otra parte, no es necesario que la variable
Sección 4. Bucles
69

Publicidad

loading