Instrucţiunea While, Repeat, Goto
Instrucţiunea While
Instrucţiunea While conţine o expresie booleană care controlează execuţia repetată a altei instrucţiuni. Sintaxa instrucţiunii în studiu este:
<lnstrucţiune while> ::= while <Expresic booleană> do <Instrucţiune>
Instrucţiunea situată după cuvîntul do se execută repetat atîta timp, cît valoarea exprsiei booleene este true. Dacă expresia booleană ia valoarea false,instrucţiunea de după do nu se mai execută. Se recomandă ca expresia booleană să fie mai simplă, deoarece ea este evaluată la fiecare iteraţie.
În mod obişnuit, instrucţiunea while se foloseşte pentru organizarea calculelor repetitive cu variabile de control de tip real.
Instrucţiunea While se consideră deosebit de utilă în situaţia în care numărul de execuţii repetate ale unei secvenţe de instrucţiuni este dificil de evaluat.
Instrucţiunea Repeat
Instrucţiunea repeat indică repetarea unei secvenţe de instrucţiuni în funcţie de valoarea unei expresii booleene. Sintaxa instrucţiunii este:
<Instrucţiune repeat> ::= repeat <Instrucţiune> {; <Instrucţiune>} until<Expresie booleană>
Instrucţiunile situate între cuvintele cheie repeat şi until se execută repetat atît timp cît expresia booleană este falsă. Cînd această expresie devine adevărată, se trece la instrucţiunea următoare. Instrucţiunile aflate între repeat şi until vor fi executate cel puţin o dala, deoarece evaluarea expresiei logice are loc după ce s-a executat această secvenţă.
În mod obişnuit, instrucţiunea repeat se utilizează în locul instrucţiunii whileatunci cînd evaluarea expresiei care controlează repetiţia se face după executarea secvenţei de repetat.
Programul ce urmează afişează pe ecran paritatea numerelor întregi citite de la tastatură.
Program P68;
{ Paritatea numerelor citite de la tastatura }
var i : integer;
begin
writeln ('Dati numere intregi:');
repeat
readln (i);
if odd(i) then writeln (i:6, ' - număr impar')
else writeln (i:6, ' - număr par');
until i=0;
readln;
end.
Execuţia instrucţiunii repeat se termină cînd utilizatorul introduce i = 0.
Instrucţiunea repeat este utilizată foarte des pentru validarea (verificarea corectitudinii) datelor introduse de la tastatură.
Instrucţiunea Goto
Instrucţiunile unui program sînt executate secvenţial, aşa cum apar scrise în textul programului. Instrucţiunea de salt necondiţionat goto oferă posibilitatea de a întrerupe această secvenţă şi de a relua execuţia dintr-un alt loc al programului. Instrucţiunea în studiu are sintaxa:
<Instrucţiune goto> ::= goto <Etichetă>
Amintim că eticheta este un număr întreg fără semn care prefixează o instrucţiune a programului. Etichetele unui program sînt listate în partea declarativă a programului după cuvîntul-cheie label.
Sintaxa acestei declaraţii este:
<Etichete> ::= labei <Etichetă> {, <Etichetă>};
De reţinut că declararea prin labei a etichetelor este obligatorie.
Execuţia instrucţiunii goto are ca efect transferul controlului la instrucţiunea prefixată de eticheta respectivă.
În lipsa lui goto instrucţiunile unui program sînt executate în ordinea în care sînt scrise. Prin urmare instrucţiunile goto încalcă concordanţa dintre textul programului şi ordinea de execuţie a instrucţiunilor. Acest fapt complică elaborarea, verificarea şi depanarea programelor.
În consecinţă folosirea instrucţiunii goto nu este recomandată.
Niciun comentariu:
Trimiteți un comentariu