Professional Documents
Culture Documents
InCo - Fing
Programacin 1
Contents
1 Repeticin 1
1.1 Instrucciones de repeticin . . . . . . . . . . . . . . . . . . . . . . 1
1.2 La instruccin for. Ejemplo. . . . . . . . . . . . . . . . . . . . . 2
1.3 Ejemplo (2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Ejemplo (3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.5 Ejemplo (3) (cont.) . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.6 Ejemplo (4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.7 Ejemplo (5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.8 Ejemplo (6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.9 Sintaxis de la instruccin for . . . . . . . . . . . . . . . . . . . . 4
1.10 Semntica de la instruccin for . . . . . . . . . . . . . . . . . . . 5
1.11 Semntica de la instruccin for (cont.) . . . . . . . . . . . . . . 5
1.12 Observaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1 Repeticin
for controlada por una variable que toma valores en un rango especificado.
1
while controlada por una expresin booleana. La repeticin contina mientras
la expresin se mantenga verdadera.
repeat controlada por una expresin booleana. La repeticin termina cuando
la expresin se hace verdadera.
const ASTERISCO = *;
VECES = 10;
var i : integer;
begin
for i:= 1 to VECES do
write(ASTERISCO);
end.
for i:= 1 to 10 do
WriteLn(2*i);
2
a=10
**********
**********
**********
**********
**********
**********
**********
**********
**********
**********
ReadLn(lado);
Encontrar todos los nmeros comprendidos entre dos enteros que son mltiplos
de 3.
ReadLn(num_A,num_B);
for numero:= num_A to num_B do
if numero mod 3 = 0 then
WriteLn(numero)
var
num_A,num_B,numero,contador: integer;
begin
ReadLn(num_A,num_B);
3
contador:= 0; (* inicializacin *)
for numero:= num_A to num_B do
if numero mod 3 = 0 then
contador:= contador + 1; (* incremento *)
(* mostrar el total *)
WriteLn(La cantidad de divisores de 3 es: ,
contador);
end.
producto:= 0; (* inicializacin *)
for i:= 1 to b do
producto:= producto + a; (* acumulacin *)
(* mostrar el resultado *)
WriteLn(El producto es: , producto);
end.
BNF
sentencia_for ::=
for identificador := expresin1 (to|downto) expresin2
do instruccin
4
1.10 Semntica de la instruccin for
La instruccin:
for v := e1 to e2 do instruccin;
La instruccin:
1.12 Observaciones
Se considera un error: