Instrucción FOR. Do loop. - Departamento de Electrónica

Anuncio
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
Programación en Pascal
Capítulo 16. Instrucción For. Do loop.
16. INSTRUCCION FOR. Do loop
La sentencia for se emplea para indicar que una acción será repetidamente ejecutada,
mientras se asigna una progresión ordenada de valores a una variable de control.
Es una instrucción de repetición, similar al repeat y al while; y suele emplearse cuando se
conoce de antemano el número de veces que debe repetirse la acción.
Existe en dos formas:
a) Progresiva:
for v:=a to b do B
b) Regresiva:
for v:=a downto b do B
Donde:
v: es la variable de control; debe ser de tipo ordinal, y debe definirse como local. No debe
asignarse valores a esta variable dentro de B.
a y b: son expresiones de igual tipo que la variable de control. No pueden cambiarse sus
valores vía asignaciones, dentro del bloque de repetición.
B: es la acción o grupo de acciones que serán repetidas.
Es recomendable aplicar esta instrucción en la manipulación de arreglos, que se verán más
adelante. También es conveniente restringir su uso a casos simples, sobre todo en las
expresiones de las cotas a y b.
La forma progresiva es equivalente, semánticamente, a:
if a<=b
then
begin
v:=a; B;
while v<b do
begin
v:=succ(v);
B
Prof. Leopoldo Silva Bijit.
07-07-2003
183
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
Programación en Pascal
Capítulo 16. Instrucción For. Do loop.
end
end
La que muestra que el nivel de abstracción del for es mayor que el del while. Además, la
descripción formal define semánticamente la instrucción.
Una forma alternativa, más simple es:
begin
v:=a;
while v<=b do
begin
B;
v:=succ(v);
end
end
Para la forma regresiva, se tiene el equivalente:
if a>=b
then
begin
v:=a;B;
while v>b do
begin
v:=pred(v);
B
end
end
También se tiene, en forma alternativa:
begin
v:=a;
while v>=b do
begin
B;
v:=pred(v);
end
Prof. Leopoldo Silva Bijit.
07-07-2003
184
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
Programación en Pascal
Capítulo 16. Instrucción For. Do loop.
end
Prof. Leopoldo Silva Bijit.
07-07-2003
185
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
Programación en Pascal
Capítulo 16. Instrucción For. Do loop.
Ejemplo. Tabla de potencias de 2.
Debe indicarse en una línea: 2^i, i, 2^(-i)
....
d:=1; f:=1.0;
for exp:=1 to n do
begin
d:=2*d; write(d);
write(exp);
f:=f/2.0; writeln(f)
end
....
Se verán suficientes ejemplos de esta instrucción, cuando se desarrollen arreglos.
Prof. Leopoldo Silva Bijit.
07-07-2003
186
Descargar