Sunteți pe pagina 1din 9

Instrucţiunea FOR

Există două modalităţi de utilizare a instrucţiunii For:


1) FOR <c>:=<li> TO <lf> DO
[BEGIN]
<set de instrucţiuni>;
[END;]

•<c> este o variabilă de orice tip ordinal (de ex. integer, char,
boolean, dar nu poate fi real, double etc.) numită contor;
•<li> și <lf> reprezintă limita iniţială, respectiv limita finală a
contorului (trebuie să fie de acelaşi tip cu variabila contor);
• dacă setul de instrucţiuni conţine cel puţin două instrucţiuni, acesta
va fi scris între begin şi end.
Modul de funcţionare al
instrucţiunii:
Variabila contor <c> ia pe rând toate valorile cuprinse
între <li> şi <lf> în ordine crescătoare și pentru fiecare valoare a
lui <c> execută setul de instrucţiuni (corpul ciclului).
Obs.:
• dacă li=lf, atunci setul de instrucţiuni se execută o singură dată;
•dacă li>lf, atunci setul de instrucţiuni nu se mai execută.
Întrebare: Care este efectul următoarelor instrucţiuni:
1) For i:=1 to 10 do write(i,’ ’);
2) For i:=2 to 1 do write(i,’ ’);

3) For i:=10 to 10 do write(i,’ ’);


O altă variantă a instrucţiunii For:
2) FOR <c>:=<lf> DOWNTO <li> DO
[BEGIN]
<set de instrucţiuni>;
[END;]

Modul de funcţionare diferă față de varianta 1) prin


faptul că variabila <c> ia pe rând valorile de la <lf> la <li> în
ordine descrescătoare.

Întrebare: Care este efectul următoarelor instrucţiuni:


1) For i:=5 downto 1 do write(i,’ ’);
2) For i:=1 downto 4 do write(i,’ ’);
3) For i:=10 downto 10 do write(i,’ ’);
Exerciţii
1) Care este efectul următoarei secvenţe de instrucţiuni:
For i:=1 to 10 do
begin
write(i,’ ’);
i:=i+1;
end;
2) Ce valori vor fi afişate în urma execuţiei următoarei
secvenţe de instrucţiuni:
n:=10;
For i:=1 to n do
begin
write(i,’ ’);
n:=n-1;
end;
Write(n);
Observaţia 1
Este interzisă modificarea contorului în interiorul
ciclului For.
Este INCORECT să scriem:
For i:=1 to 10 do
begin
write(i,’ ’);
i:=i+1;
end;
CORECT:
For i:=1 to 10 do
begin
write(i,’ ’);
end;

Observaţia 2
Se evită modificarea limitelor în interiorul ciclului For, deoarece
pot să apară erori de programare.
Aplicaţii
1) Se citește de la tastatură un număr natural n. Să se afişeze
suma primelor n numere naturale.
2) Să se afişeze suma numerelor pare din intervalul [a,b], unde a
şi b se citesc de la tastatură.
3) Fiind date două numere naturale a şi n, scrieţi un program care
afişează valoarea an, calculată prin înmulţiri repetate, după
formula an=a*a*…*a (de n ori).
4) Să se afişeze toate numerele impare din intervalul [a,b], unde a
şi b se citesc de la tastatură.
5) Se citeşte de la tastatură un număr natural n. Să se afişeze
valoarea expresiei: S=1*3+2*5+3*7+…+n*(2*n+1).
Problema 1
Problema 5
Tema de casă
1. De realizat la calculator problemele 2,3,4
apoi le transcrieți în caiete.

S-ar putea să vă placă și