Vasile Baş, profesor de informatică, grad didactic superior, L.T. „C.

Stere”, Soroca

CUPRINS

Instrucţiunile repetitive permit executarea repetată a

unui grup de instrucţiuni. Limbajul PASCAL pune la dispoziţia utilizatorilor trei tipuri de instrucţiuni repetitive: WHILE, REPEAT si FOR. Primele două sunt utile în cazul cînd numărul de repetări nu este apriori cunoscut, el depinzînd de valoarea de adevăr a unei condiţii. Instrucţiunea FOR se utilizează în cazul cînd numărul de repetări este cunoscut înainte de execuţia instrucţiunii.

INSTRUCŢIUNEA FOR
Instrucţiunea for indică repetarea unei instrucţiuni în funcţie de valoarea unei variabile execuţia de control. Această construcţie se recomandă să fie folosită numai pentru organizarea ciclurilor cu un număr cunoscut de repetări.
<Instrucţiune for>::= for <Variabilă> := <Expresie1> <Pas> <Expresie2> do <Instrucţiune> <Pas> ::= to | downto

DIAGRAMA SINTACTICĂ Variabilă de control / contor Valoarea iniţială a contorului for Variabilă := Expresie1 Valoarea finală a contorului to Expresie2 downto do Instrucţiune .

• Expresiile sunt evaluate o singură dată. . la începutul ciclului. • Valorile variabilei de control nu pot fi modificate în interiorul ciclului. • Valorile expresiilor din componenţa instrucţiunii for trebuie să fie compatibile cu tipul variabilei de control. • Instrucţiunea după cuvîntul cheie do se execută pentru fiecare valoare din domeniul determinat de valoarea iniţială şi de valoarea finală.PRINCIPII DE LUCRU • Variabila de control trebuie sa fie de tip ordinal.

Dacă valoarea iniţială este mai mică decît valoarea finală. adică se trece la predecesorul valorii curente. adică se trece la succesorul valorii curente. Dacă se utilizează pasul downto. valorile contorului sînt decrementate la fiecare repetiţie. instrucţiunea situată după cuvîntul-cheie do nu se execută niciodată. .Dacă instrucţiunea for utilizează pasul to. valorile variabilei de control sînt incrementate la fiecare repetiţie. Dacă valoarea iniţială este mai mare decît valoarea finală. instrucţiunea situată după cuvîntul-cheie do nu se execută niciodată.

<var> >= <expr2> Instrucţiunile efective .Schema de funcţionare: Evaluarea expresiilor <variabila>:= <expresie1> False Iesire 1. <var> <= <expr2> 2.

Alcătuiţi programul ce afişează la ecran numerele din intervalul de la 1 la 100(despărţite prin spaţiu) 1 2 3 4 5 6 7 8 9 .Exemple: 1... 100. .

. Alcătuiţi programul ce afişează la ecran numerele din intervalul de la 100 la 1(despărţite prin spaţiu) 100 99 98 97 96 95 94 93. 3 2 1 ..2.

Alcătuiţi programul ce afişează numerele pare.Dacă sunt necesare mai multe instrucţiuni. aceasta se incadrează între BEGIN şi END formînd astfel o instrucţiune compusă. 3. . De la tastatură se introduc n numere întregi.

4. De la tastatură se introduc n litere (majuscule şi minuscule). . Alcătuiţi programul ce afişează pe ecran literele majuscule.

* 5. Alcătuiţi programul ce afişează următorul triunghi: * * * * * * * * * * * * * * .

6. Alcătuiţi programul ce afişează la ecran următorul triunghi: 1 1 1 1 1 2 2 2 2 3 3 3 4 4 5 .

7. Alcătuiţi programul ce afişează la ecran următorul triunghi: 1 1 1 1 1 2 2 2 2 3 3 3 4 4 5 .

. De la tastatură se introduc n caractere.8. Să se afişeze cîte cifre şi cîte litere au fost introduse.

Instrucţiunea WHILE O Construcţia While este o construcţie de ciclare cu test iniţial. O Corpul ciclului se execută atîta timp cît condiţia este adevărată. . deoarece verificarea condiţei are loc la începutul ciclului.

Diagrama sintactică WHILE Expresie booleană DO Instrucţiune .

.Sintaxa construcţiei While While < condiţie> do < corpul ciclului > End.

atunci se execută corpul ciclului. 1. dacă condiţia este adevărată. atunci are loc ieşirea din ciclu şi gestiunea se transmite la următoarea instrucţiune după end.Principiul de lucru se evaluează condiţia. . 2. apoi se trece la punctul 1. dacă condiţia este falsă. 3.

Exemple de probleme rezolvate 1. Alcătuiţi programul ce afişează la ecran numerele din intervalul de la 1 la 100(despărţite prin spaţiu) 1 2 3 4 5 6 7 8 9 . 100... .

Alcătuiţi programul ce afişează la ecran numerele din intervalul de la 100 la 1(despărţite prin spaţiu) 100 99 98 97 96 95 94 93. 3 2 1 .2...

3. De la tastatură se introduc n numere întregi. . Alcătuiţi programul ce afişează numerele pare.

4. Alcătuiţi programul ce afişează pe ecran literele majuscule. . De la tastatură se introduc n litere (majuscule şi minuscule).

* 5. Alcătuiţi programul ce afişează următorul triunghi: * * * * * * * * * * * * * * .

6. Alcătuiţi programul ce afişează la ecran următorul triunghi: 1 1 1 1 1 2 2 2 2 3 3 3 4 4 5 .

7. Alcătuiţi programul ce afişează la ecran următorul triunghi: 1 1 1 1 1 2 2 2 2 3 3 3 4 4 5 .

. De la tastatură se introduc n caractere. Să se afişeze cîte cifre şi cîte litere au fost introduse.8.

9. . De la tastatură se introduce un număr natural format din cel mult 7 cifre. Alcătuiţi programul ce calculeză cîte cifre conţine acest număr.

.10. Alcătuiţi programul ce calculeză suma cifrelor acestui număr. De la tastatură se introduce un număr natural format din cel mult 7 cifre.

Alcătuiţi programul ce calculeză cîte cifre impare conţine acest număr. .10. De la tastatură se introduce un număr natural format din cel mult 7 cifre.

. Alcătuiţi programul ce afişează cifra cea mai mare a acestui număr.11. De la tastatură se introduce un număr natural format din cel mult 7 cifre.

12. Alcătuiţi programul ce verifică dacă cifrele acestui număr sunt aranjate crescător. Ex. De la tastatură se introduce un număr natural format din cel mult 7 cifre. 3456 Răspuns: DA 3465 Răspuns: NU .

 Construcţia Repeat este o construcţie de ciclare cu test final. deoarece condiţia se verifică la sfîrşitul iteraţiei. Corpul ciclului se execută atît timp cît condiţia este falsă.  .

. END. Efect: Se execută grupul de instrucîiuni şi apoi se calculează valoarea de adevăr a expresiei „conditţe”. nu se mai încadrează cu BEGIN. dacă este „FALSE” se repetă execuţia pînă cînd condiţia ia valoarea TRUE spre deosebire de WHILE. De asemenea. grupul de instrucţiuni se execută cel puţin o data. grupul de instrucţiuni fiind încadrat de cuvintele REPEAT şi UNTIL.

Repeat < corpul ciclului > Until < condiţie>. .

dacă condiţia este adevărată se face ieşirea din ciclu şi gestiunea se transmit la următoarea instrucţiune după until. 3. 2. dacă condiţia este falsă gestiunea se transmite la punctul 1. se evaluează condiţia. . se execută corpul ciclului.1.

Exemple de probleme rezolvate 1. Alcătuiţi programul ce afişează la ecran numerele din intervalul de la 1 la 100(despărţite prin spaţiu) 1 2 3 4 5 6 7 8 9 . ... 100.

De la tastatură se introduc n numere întregi. Alcătuiţi programul ce afişează numerele pare.2. .

Alcătuiţi programul ce afişează următorul triunghi: * * * * * * * * * * * * * * .* 3.

4. De la tastatură se introduc nişte numere întregi pînă la introducerea cifrei 0. Să se calculeze suma numerelor pare şi pozitive. .

Se citeşte de la tastatură un număr întreg mai mare sau egal cu 1000. .Probleme propuse spre rezolvare 1. Se cere să se stabilească dacă numărul dat este palindrom sau nu. De afişat următorul tablou: 1111111 2222222 3333333 4444444 5555555 6666666 7777777 8888888 2. De afişat: 1 22 333 4444 55555 666666 7777777 88888888 999999999 10 10 10 10 10 10 10 10 10 10 3.

De afişat: 1 22 333 4444 55555 666666 7777777 88888888 999999999 5. 6. . Să se scrie un program care citeşte un număr de 4 cifre. De aflat dacă există un număr de două cifre care este divizibil cu 15 iar imparţindu-l la 13 obţinem restul 2.4. şi afişează „este bine ordonat crescător” sau „nu este bine ordonat crescător”. Se numesc numere „bine ordonate crescător” sau „bine ordonate descrescător” acele numere care au cifrele respective în ordine strict crescătoare (de exemplu 2589) sau strict descrescătoare (de exemplu 7532).

11. De afişat toate numerele naturale de 3 cifre în scrierea cărora nu sunt cifre egale. De aflat dacă un număr dat a este număr prim. Se dă un şir de numere.8. 8.14. De aflat cîte din ele sunt mai mari decît "vecinii" săi. Se dă un număr natural n. De la tastatură se introduce un şir de numere diferite de 0 după care urmează 0. Să se determine toate numerele naturale de 3 cifre din sistemul zecimal. De compus programul de obtinere a numărului m scris cu aceleaşi cifre ca şi numarul dat dar în ordine inversă.-34.7.-5 semnul se schimbă de 3 ori." 12. De aflat de cîte ori în acest şir se schimbă semnul. 9. 10. adică decît cel precedent şi decît cel următor. care fiind impărţite cu suma cifrelor sale dau cîtul 37. . De numărat cîte caractere au fost întroduse pîna a fost întrodus caracterul ". 13. De exmplu:în şirul 1.

S U C C E S !!! .

Sign up to vote on this title
UsefulNot useful