Sunteți pe pagina 1din 45

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

Stere, Soroca

CUPRINS

Instruciunile repetitive permit executarea repetat a

unui grup de instruciuni. Limbajul PASCAL pune la dispoziia utilizatorilor trei tipuri de instruciuni repetitive: WHILE, REPEAT si FOR. Primele dou sunt utile n cazul cnd numrul de repetri nu este apriori cunoscut, el depinznd de valoarea de adevr a unei condiii. Instruciunea FOR se utilizeaz n cazul cnd numrul de repetri este cunoscut nainte de execuia instruciunii.

INSTRUCIUNEA FOR
Instruciunea for indic repetarea unei instruciuni n funcie de valoarea unei variabile execuia de control. Aceast construcie se recomand s fie folosit numai pentru organizarea ciclurilor cu un numr cunoscut de repetri.
<Instruciune for>::= for <Variabil> := <Expresie1> <Pas> <Expresie2> do <Instruciune> <Pas> ::= to | downto

DIAGRAMA SINTACTIC
Variabil de control / contor Valoarea iniial a contorului

for

Variabil

:=

Expresie1

Valoarea final a contorului

to Expresie2 downto do Instruciune

PRINCIPII DE LUCRU
Variabila de control trebuie sa fie de tip ordinal. Valorile variabilei de control nu pot fi modificate n interiorul ciclului. Valorile expresiilor din componena instruciunii for trebuie s fie compatibile cu tipul variabilei de control. Expresiile sunt evaluate o singur dat, la nceputul ciclului. Instruciunea dup cuvntul cheie do se execut pentru fiecare valoare din domeniul determinat de valoarea iniial i de valoarea final.

Dac instruciunea for utilizeaz pasul to, valorile variabilei de control snt incrementate la fiecare repetiie, adic se trece la succesorul valorii curente. Dac valoarea iniial este mai mare dect valoarea final, instruciunea situat dup cuvntul-cheie

do nu se execut niciodat. Dac se utilizeaz pasul downto, valorile contorului snt decrementate la fiecare repetiie, adic se trece la

predecesorul valorii curente. Dac valoarea iniial este


mai mic dect valoarea final, instruciunea situat dup cuvntul-cheie do nu se execut niciodat.

Schema de funcionare:
Evaluarea expresiilor

<variabila>:= <expresie1>

False Iesire

1. <var> <= <expr2> 2. <var> >= <expr2>

Instruciunile efective

Exemple:
1. Alctuii programul ce afieaz la ecran numerele din intervalul de la 1 la 100(desprite prin spaiu) 1 2 3 4 5 6 7 8 9 ... 100.

2. Alctuii programul ce afieaz la ecran numerele din intervalul de la 100 la 1(desprite prin spaiu) 100 99 98 97 96 95 94 93... 3 2 1

Dac sunt necesare mai multe instruciuni, aceasta se incadreaz ntre BEGIN i END formnd astfel o instruciune compus. 3. De la tastatur se introduc n numere ntregi. Alctuii programul ce afieaz numerele pare.

4. De la tastatur se introduc n litere (majuscule i minuscule). Alctuii


programul ce afieaz pe ecran literele majuscule.

* 5. Alctuii programul ce afieaz urmtorul triunghi: * * * * * * * * * * * * * *

6. Alctuii programul ce afieaz la ecran urmtorul triunghi:

1 1 1 1 1 2 2 2 2 3 3 3 4 4 5

7. Alctuii programul ce afieaz la ecran urmtorul triunghi:

1 1 1 1 1

2 2 2 2

3 3 3

4 4

8. De la tastatur se introduc n caractere. S se afieze cte cifre i cte litere au fost introduse.

Instruciunea WHILE
O Construcia While este o construcie de

ciclare cu test iniial, deoarece verificarea condiei are loc la nceputul ciclului;
O Corpul ciclului se execut atta timp ct

condiia este adevrat.

Diagrama sintactic

WHILE

Expresie boolean

DO

Instruciune

Sintaxa construciei While

While < condiie> do < corpul ciclului > End;

Principiul de lucru
se evalueaz condiia; 2. dac condiia este adevrat, atunci se execut corpul ciclului, apoi se trece la punctul 1; 3. dac condiia este fals, atunci are loc ieirea din ciclu i gestiunea se transmite la urmtoarea instruciune dup end.
1.

Exemple de probleme rezolvate


1. Alctuii programul ce afieaz la ecran numerele din intervalul de la 1 la 100(desprite prin spaiu) 1 2 3 4 5 6 7 8 9 ... 100.

2. Alctuii programul ce afieaz la ecran numerele din intervalul de la 100 la 1(desprite prin spaiu) 100 99 98 97 96 95 94 93... 3 2 1

3. De la tastatur se introduc n numere ntregi. Alctuii programul ce afieaz numerele pare.

4. De la tastatur se introduc n litere (majuscule i minuscule). Alctuii


programul ce afieaz pe ecran literele majuscule.

* 5. Alctuii programul ce afieaz urmtorul triunghi: * * * * * * * * * * * * * *

6. Alctuii programul ce afieaz la ecran urmtorul triunghi:

1 1 1 1 1 2 2 2 2 3 3 3 4 4 5

7. Alctuii programul ce afieaz la ecran urmtorul triunghi:

1 1 1 1 1

2 2 2 2

3 3 3

4 4

8. De la tastatur se introduc n caractere. S se afieze cte cifre i cte litere au fost introduse.

9. De la tastatur se introduce un numr natural format din cel mult 7 cifre. Alctuii programul ce calculez cte cifre conine acest numr.

10. De la tastatur se introduce un numr natural format din cel mult 7 cifre. Alctuii programul ce calculez suma cifrelor acestui numr.

10. De la tastatur se introduce un numr natural format din cel mult 7 cifre. Alctuii programul ce calculez cte cifre impare conine acest numr.

11. De la tastatur se introduce un numr natural format din cel mult 7 cifre. Alctuii programul ce afieaz cifra cea mai mare a acestui numr.

12. De la tastatur se introduce un numr natural format din cel mult 7 cifre. Alctuii programul ce verific dac cifrele acestui numr sunt aranjate cresctor. Ex. 3456 Rspuns: DA 3465 Rspuns: NU

Construcia Repeat este o construcie de ciclare cu test final, deoarece condiia se verific la sfritul iteraiei;
Corpul ciclului se execut att timp ct condiia este fals.

Efect: Se execut grupul de instruciuni i apoi se calculeaz valoarea de adevr a expresiei condite; dac este FALSE se repet execuia pn cnd condiia ia valoarea TRUE spre deosebire de WHILE, grupul de instruciuni se execut cel puin o data. De asemenea, grupul de instruciuni fiind ncadrat de cuvintele REPEAT i UNTIL, nu se mai ncadreaz cu BEGIN, END.

Repeat < corpul ciclului > Until < condiie>;

1. 2.

se execut corpul ciclului; se evalueaz condiia, dac condiia este fals gestiunea se transmite la punctul 1;

3.

dac condiia este adevrat se face ieirea din ciclu i gestiunea se transmit la urmtoarea instruciune dup until.

Exemple de probleme rezolvate


1. Alctuii programul ce afieaz la ecran numerele din intervalul de la 1 la 100(desprite prin spaiu) 1 2 3 4 5 6 7 8 9 ... 100.

2. De la tastatur se introduc n numere ntregi. Alctuii programul ce afieaz numerele pare.

* 3. Alctuii programul ce afieaz urmtorul triunghi: * * * * * * * * * * * * * *

4. De la tastatur se introduc nite numere ntregi pn la introducerea cifrei 0. S se calculeze suma numerelor pare i pozitive.

Probleme propuse spre rezolvare


1. De afiat urmtorul tablou: 1111111 2222222 3333333 4444444 5555555 6666666 7777777 8888888 2. De afiat: 1 22 333 4444 55555 666666 7777777 88888888 999999999 10 10 10 10 10 10 10 10 10 10

3. Se citete de la tastatur un numr ntreg mai mare sau egal cu 1000. Se cere s se stabileasc dac numrul dat este palindrom sau nu.

4. De afiat:

1 22 333 4444 55555 666666 7777777 88888888 999999999

5. Se numesc numere bine ordonate cresctor sau bine ordonate descresctor acele numere care au cifrele respective n ordine strict cresctoare (de exemplu 2589) sau strict descresctoare (de exemplu 7532). S se scrie un program care citete un numr de 4 cifre, i afieaz este bine ordonat cresctor sau nu este bine ordonat cresctor. 6. De aflat dac exist un numr de dou cifre care este divizibil cu 15 iar imparindu-l la 13 obinem restul 2.

7. De la tastatur se introduce un ir de numere diferite de 0 dup care urmeaz 0. De aflat de cte ori n acest ir se schimb semnul. De exmplu:n irul 1;-34;8;14;-5 semnul se schimb de 3 ori. 8. Se d un ir de numere. De aflat cte din ele sunt mai mari dect "vecinii" si, adic dect cel precedent i dect cel urmtor. 9. De afiat toate numerele naturale de 3 cifre n scrierea crora nu sunt cifre egale. 10. Se d un numr natural n. De compus programul de obtinere a numrului m scris cu aceleai cifre ca i numarul dat dar n ordine invers. 11. De numrat cte caractere au fost ntroduse pna a fost ntrodus caracterul "." 12. De aflat dac un numr dat a este numr prim. 13. S se determine toate numerele naturale de 3 cifre din sistemul zecimal, care fiind imprite cu suma cifrelor sale dau ctul 37.

S U C C E S !!!

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