Documente Academic
Documente Profesional
Documente Cultură
Structurile repetitive
Structurile repetitive execută o instrucțiune de un anumit număr de ori, sau cât timp o condiție este
adevărată. Se mai numesc și bucle sau cicluri.
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ă.
Instrucțiunea while
Sintaxa
Instructiune;
Mod de execuție
1. Se evaluează Expresie
2. Dacă Expresie este nenulă
o Se execută Instructiune;
o Se reia pasul 1.
Observații
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>
int main ()
int n;
cin >> n;
int S = 0;
int i = 1;
while(i <= n)
S += i;
i ++;
return 0;
Instrucțiunea do ... while este o structură repetitivă cu număr necunoscut de pași și test final.
Sintaxa
repeta
Instructiune;
pana cand( conditia devine adevarata)
Mod de execuție
1. Se execută Instructiune;
2. Se evaluează Expresie
3. Dacă Expresie este nenulă, se reia pasul 1.
Observații
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>
int main ()
int n;
cin >> n;
int S = 0;
int i = 1;
repete
S += i;
i ++;
return 0;
Instrucțiunea pentru
Instrucțiunea for este o structură repetitivă cu număr necunoscut de pași și test inițial, echivalentă
cu while.
Sintaxa
Instructiune
Altfel niciodata
Pentrui<-b,a,-1 executa
Instructiune
Altfel niciodata
Mod de execuție
1. Se evaluează Expresie_de_Initializare
2. Se evaluează Expresie_de_Testare
3. Dacă Expresie_de_Testare este nenulă:
o Se execută Instructiune;.
o Se evaluează Expresie_de_Continuare.
o Se revine la pasul 2.
Observații
Expresie_de_Initializare ;
while ( Expresie_de_Testare )
{ Instructiune; Expresie_de_Continuare ;
}
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_de_Testare să-și modifice valoarea
în Instructiune; sau la evalurea Expresiei_de_Continuare. 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>
int main ()
int n;
cin >> n;
int S = 0;
S += i;
return 0;
Instrucțiunea break
Sintaxa:
break;
Mod de execuție
Efectul instrucțiunii break când apare într-o instrucțiune repetitivă este întreruperea execuției acesteia și
trecerea la instrucțiunea care urmează celei repetitive.
Exemplu:
#include <iostream>
int main ()
int n;
cin >> n;
int S = 0;
S += i;
if(i == 5)
break;
return 0;
Dacă n >= 5 se va afișa întotdeauna 15, deoarece execuția lui for se întrerupe, datorită lui break,
când i este 5.
Instrucțiunea continue
Sintaxa:
continue;
Mod de execuție
Exemplu:
#include <iostream>
int main ()
{
int n;
cin >> n;
int S = 0;
if(i % 2 == 0)
continue;
S += i;
return 0;
Repeta Instr
Instr Cat timp (cl=a) executa
Pana cand ( cl devine adev) instr
Ex
X<-3 X<-3
Repeta X<-x+6
X<-x+6 Cat timp x<3 executa
Pana cand x>=3 X<-x+6
Scrie x Scrie x
3
X=9 9