Sunteți pe pagina 1din 3

Structura Pentru Structuri repetitive prof.

Timb Edina

Structura repetitivă cu număr cunoscut de pași(PENTRU…EXECUTĂ)

Varianta 1 - Sintaxa structurii repetitive cu număr cunoscut de pași este:


Pseudocod C++
PENTRU contor  expresie_1, expresie_2 EXECUTĂ{ FOR(contor=expresie_1; contor<=expresie_2;
instrucțiune_1 contor++){
… Instrucțiune_1
instrucțiune_n} …
instrucțiune_n}
LOGO

Efect:
Pas 1: Se atribuie variabilei contor valoarea expresiei expresie_1(care va fi valoarea inițială).
Pas 2: Se evaluează expresie_2(care reprezintă valoarea finala)
Pas 3: Dacă valoarea variabilei contor este mai mare decât valoarea expresiei expresie_2, atunci se iese din
instrucțiunea repetitivă.
Dacă valoarea variabilei contor este mai mică sau egală cu valoarea expresiei expresie_2 , atunci se
execută instrucțiune și apoi se incrementează(se mărește cu 1) valoarea variabilei contor, după care se revine la
Pas 2.

Observații:
Sintaxa dată funcționează dacă expresie_1<=expresie_2 . În caz contrar nu se execută niciodată instrucțiunea.
Numărul de operații efectuate de orice structură repetitivă cu număr cunoscut de pași este:
expresie_2 – expresie_1 +1
Structura repetitivă cu număr cunoscut de pași poate fi simulată cu ajutorul celorlalte două structuri repetitive.

Varianta 2 - Sintaxa structurii repetitive cu număr cunoscut de pași este:


Pseudocod C++
PENTRU contor  expresie_1, expresie_2, -1 FOR(contor=expresie_1; contor>=expresie_2;
EXECUTĂ instrucțiune contor--)
instrucțiune

Efect:
Pas 1: Se atribuie variabilei contor valoarea expresiei expresie_1.
Pas 2: Se evaluează expresie_2.
Pas 3: Dacă valoarea variabilei contor este mai mică decât valoarea expresiei expresie_2, atunci se iese din
instrucțiunea repetitivă.
Dacă valoarea variabilei contor este mai mare sau egală cu valoarea expresiei expresie_2 , atunci se
execută instrucțiune și apoi se decrementează(se micșorează cu 1) valoarea variabilei contor, după care se
revine la Pas 2.
Observații:
Sintaxa dată funcționează dacă expresie_1>=expresie_2 . În caz contrar nu se execută niciodată instrucțiunea.

Problema 1 - Suma primelor n numere naturale nenule


Enunț: Se introduce de la tastatură un număr natural nenul în variabila n. Scrieți un algoritm în pseudocod
care calculează și afișează suma numerelor naturale nenule până la n.
Exemplu: Dacă n=5, programul va afișa 1+2+3+4+5=15
s 0 1 3 6 10 15
i 1 2 3 4 5 6
Soluție(folosind struct. rep. cu număr cunoscut de pași - Varianta 1):
Pseudocod C++
n, i, s natural;
Citește n;
s  0;
pentru i  1,n execută s  s + i;
Scrie ”Suma este: ”, s;

LOGO
var "s 0
var "i 1
var "n :lgv1
tipareste "Suma_numerelor_1_n
pentru [i 1 :n 1]
[
afiseaza :i
daca_altfel :i = :n
[afiseaza "=]
[afiseaza "+]
var "s :s + :i
]
afiseaza :s

Soluție(folosind struct. rep. cu număr cunoscut de pași - Varianta 2):


Pseudocod C++
n, i, s natural;
Citește n;
s  0;
pentru i  n,1,-1 execută s  s + i;
Scrie ”Suma este: ”, s;

LOGO
var "s 0
var "i 1
var "n :lgv1
tipareste "Suma_numerelor_1_n
pentru [i :n 1 -1]
[
afiseaza :i
daca_altfel :i = 1
[afiseaza "=
mutaxy 0 0]
[afiseaza "+
inainte :i
dreapta 30]
var "s :s + :i
]
afiseaza :s

2
Problema 2: Suma numerelor din intervalul [a,b] , a<b
Enunț: Se introduc de la tastatură două numere naturale nenule în variabile a și b. Scrieți un algoritm în pseudocod
care calculează și afișează suma numerelor naturale din intervalul [a,b].

Exemplu: Dacă a=3 și b=10, suma va fi 52 (3+4+5+6+7+8+9+10=52)


Varianta 1(prin incrementarea contorului, adică a lui i)
s 0 3 7 12 18 25 33 42 52
i 3 4 5 6 7 8 9 10 11
Soluție:

Pseudocod, Varianta 1 Pseudocod, Varianta 2


a, b, i, s natural; a, b, i, s natural;
Citește a, b; Citește a, b;
s  0; s  0;
pentru i  a,b execută s  s + i; pentru i  b,a,-1 execută s  s + i;
Scrie ”Suma este: ”, s; Scrie ”Suma este: ”, s;
C++, Varianta i=a,b C++, Varianta i=b,a,-1

TEMA DE CASĂ

Rezolvați problemele de mai jos folosind structura PENTRU…EXECUTĂ

Problema 3 - Produsul primelor n numere naturale nenule

Enunț: Se introduce de la tastatură un număr natural nenul în variabila n. Scrieți un algoritm în pseudocod care
calculează și afișează produsul numerelor naturale până la n.

Exemplu: Dacă n=5, programul va afișa 1*2*3*4*5=120.

Problema 4 - Suma numerelor naturale nenule pare până la n

Enunț: Se introduce de la tastatură un număr natural nenul în variabila n. Scrieți un algoritm în pseudocod care
calculează și afișează suma numerelor naturale nenule pare până la n.

Exemplu: Dacă n=10, programul va afișa 2+4+6+8+10=30

Problema 5 - Suma numerelor naturale nenule impare până la n

Enunț: Se introduce de la tastatură un număr natural nenul în variabila n. Scrieți un algoritm în pseudocod care
calculează și afișează suma numerelor naturale nenule impare până la n.

Exemplu: Dacă n=10, algoritmul va afișa 1+3+5+7+9=25.

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