Documente Academic
Documente Profesional
Documente Cultură
cu test inițial: mai întâi se evaluează condiția; dacă este adevărată se execută
instrucțiunea și procesul se reia.
cu test final: mai întâi se execută instrucțiunea, apoi se evaluează condiția; Dacă
este adevărată, procesul se reia.
Instrucțiunea care se execută în mod repetat poartă numele de corp al structurii
repetitive, corp al ciclului, corp al buclei și de foarte multe ori este o instrucțiune
compusă, care conține alte instrucțiuni.
Sintaxa
while (Expresie)
Instructiune
Mod de execuție
1. Se evaluează Expresie
2. Dacă rezultatul este adevarat
o Se execută Instructiune
o Se reia pasul 1.
3. Dacă rezultatul este fals, se trece la instrucțiunea de după while.
Observații
1. Instructiune se execută cât timp Expresie este o condiție adevărată.
2. Dacă Expresie este de început fals, Instructiune nu se execută deloc.
3. Instructiune poate fi orice fel de instrucțiune, dar una singură. Dacă sunt
necesare mai multe instrucțiuni, se va folosi instrucțiunea compusă (se pun
instructiunile intre acolade).
4. Este necesar ca cel puțin o variabilă care apare în Expresie să-și modifice valoarea
în Instructiune. Altfel se obține o buclă infinită/ciclare infinita
Exemplu
Următorul program citește valoarea variabilei n și calculează suma primelor n numere
naturale. Rulați-l analizând rezultatul pentru diverse valori ale lui n, inclusiv 0.
#include <iostream>
using namespace std;
int main ()
{
int n, S = 0,i=1 ;
cin >> n;
while(i <= n)
{
S += i;//sau S=S+i
i ++;//sau i=i+1
}
cout << S << endl;
return 0;
}
Instrucțiunea for
Instrucțiunea for este o structură repetitivă cu număr cunoscut de pași și test inițial,
echivalentă cu while.
sintaxa
for (Expresie_de_Initializare ; Expresie_de_Testare ; Expresie_de_Continuare)
Instructiune
Mod de execuție
1. Se evaluează Expresie_de_Initializare
2. Se evaluează Expresie_de_Testare.
3. Dacă rezultatul este adevarat:
o Se execută Instructiune.
o Se evaluează Expresie_de_Continuare.
o Se revine la pasul 2.
4. Dacă rezultatul este fals, se trece la instrucțiunea de după for.
Observații
Instrucțiunea for este echivalentă cu instrucțiunea while. Sintaxa descrisă mai sus
este echivalentă cu:
Expresie_de_Initializare;
while( Expresie_de_Testare )
Instructiune
Expresie_de_Continuare;
Exemplu
Următorul program citește valoarea variabilei n și calculează suma primelor n numere
naturale. Rulați-l analizând rezultatul pentru diverse valori ale lui n, inclusiv 0.
#include <iostream>
using namespace std;
int main ()
{
int n, i, S=0;
cin >> n;
for( i = 1; i <= n ; i ++)
S += i;//S=S+i
cout << S << endl;
return 0;
}
Instrucțiunea do...while
Instrucțiunea do ... while este o structură repetitivă cu număr necunoscut de pași și test
final.
Sintaxa
do
{
Instructiune
} while ( Expresie );
Mod de execuție
1. Se execută Instructiune
2. Se evaluează Expresie.
3. Dacă rezultatul este adevarat, se reia pasul 1.
4. Dacă rezultatul este false, se trece la instrucțiunea de după do ... while.
Observații
Instructiune se execută cât timp Expresie este adevarat – condiție adevărată.
Dacă Expresie este de început fals, Instructiune se execută exact o dată. În
orice situație, Instructiune se execută cel puțin o dată.
Instructiune poate fi orice fel de instrucțiune, dar una singură. Dacă sunt
necesare mai multe instrucțiuni, se va folosi instrucțiunea compusă.
Este necesar ca cel puțin o variabilă care apare în Expresie să-și modifice valoarea
în Instructiune. Altfel se obține o buclă infinită.
Exemplu
Următorul program citește valoarea variabilei n și calculează suma primelor n numere
naturale. Rulați-l analizând rezultatul pentru diverse valori ale lui n, inclusiv 0.
#include <iostream>
using namespace std;
int main ()
{
int n, i, S;
cout<<"n=";
cin >> n;
S = 0;
i = 1;
do
{
S += i;//S=S+i;
i ++;//i=i+1;
}
while(i <= n);
cout << S << endl;
return 0;
}