Instrucţiunea WHILE
Definiţie:
Instrucţiunea WHILE este
ciclul cu test iniţial care conţine o expresie booleană care controlează
execuţia repetată a altei instrucţiuni.
Instrucţiunea WHILE are forma: while <expresie> do
<instrucţiune>;
unde <expresie> trebuie sa fie de tip boolean,
iar <instrucţiune> poate fi orice instrucţiune Pascal , ce se va executa
atît timp cît <expresie> ia valoarea TRUE. Dacă iniţial <expresie>
are valoarea false, <instrucţiune> nu se va executa niciodată.
Pentru o instrucţiune infinită se va
folosi:
While
True Do instrucţiune;
caz în care nu se poate ieşi din instrucţiune din cauza condiţiei. Dacă
nu exista în interiorul acestei instrucţiuni o instrucţiune de ieşire (cum ar
fi Break), atunci instrucţiunea va fi infinită (nu va mai ieşi din ea,
programul se va bloca şi va trebui terminat cu Ctrl + Break, sau şi mai rău,
din Task Manager sau reboot).
Principiul de execuţie:
·
se evaluează expresia logică;
·
dacă valoarea expresiei este False, se iese din
instrucţiunea WHILE,dacă valoarea expresiei este True, se execută instrucţiunea,apoi
se revine la 1;
·
instrucţiunea cere execuţia repetată a unei instrucţiuni
PASCAL în funcţie de valoarea de adevăr a expresiei logice. Dacă valoarea
iniţială este FALSE, instrucţiunea WHILE nu se execută nici o dată.
·
De remarcat că ieşirea din instrucţiune se va face
doar cînd condiţia va returna valoarea False.
·
Instrucţiunea
WHILE în limbaj natural ar suna: Cît timp condiţia_e_adevarată Fă ceva.
Exemplu de program:
1 PROGRAM P3;
var cnt : integer;
begin
cnt := 1;
While cnt <= 20 Do
Begin
WriteLn(cnt);
cnt := cnt +
1;
End;
ReadLn;
end.
Să analizăm programul. Prima dată am declarat o variabilă de tip integer (care poate lua valori între -32768 şi 32767), care va fi ceea ce denumim contorul instrucţiunii. Iniţializăm contorul cu 1, aceasta fiind prima valoare ce va trebui afişată, apoi afişăm contorul, care apoi va fi mărit cu o unitate. Pe măsură ce avansăm, ajungem cu Cnt = 20. Atunci va fi afişat (20), contorul va creşte la 21 şi programul va reveni la condiţia de la inceputul instrucţiunii WHILE : Cnt este mai mic sau egal cu 20. Evident, nu se mai indeplineşte condiţia , motiv pentru care se trece la executarea următoarei instrucţiuni din program, anume ReadLn.
Niciun comentariu:
Trimiteți un comentariu