Structuri repetitive
Vizualizari 23
Postat vineri, 4 iulie 2025
Definiție
Structurile repetitive sunt instrucțiuni care permit executarea repetată a unui bloc de cod atât timp cât o condiție este adevărată sau pentru un număr determinat de pași.
Tipuri de structuri repetitive în C++
while
– testul se face înainte de executarea blocului de coddo...while
– testul se face după prima executare a bloculuifor
– structură cu număr determinat de pași
Structura while
Execută blocul de instrucțiuni cât timp condiția este adevărată.
int i = 0; while (i < 5) { cout << i << " "; i++; }
Structura do...while
Execută cel puțin o dată blocul de instrucțiuni, apoi verifică condiția.
int i = 0; do { cout << i << " "; i++; } while (i < 5);
Structura for
Se folosește atunci când numărul de pași este cunoscut de la început.
for (int i = 0; i < 5; i++) { cout << i << " "; }
Exemplu: Suma primelor n
numere naturale
int n, suma = 0; cin >> n; for (int i = 1; i <= n; i++) { suma += i; } cout << "Suma este: " << suma;
Exemplu: Afișarea cifrelor unui număr
int n; cin >> n; while (n > 0) { int cifra = n % 10; cout << cifra << " "; n = n / 10; }
Exemplu: Citirea până la 0 și afișarea valorilor pozitive
int x; do { cin >> x; if (x > 0) cout << x << " "; } while (x != 0);
Complexitatea timpului
Complexitatea timpului măsoară câte operații efectuează un algoritm în funcție de dimensiunea datelor de intrare (n). În cazul structurilor repetitive, complexitatea depinde de numărul de iterații efectuate de buclă.
Exemplu 1 – buclă care parcurge un vector de dimensiune n
:
for (int i = 0; i < n; i++) { // O operație constantă }
Complexitate: O(n)
Exemplu 2 – buclă imbricată (două for-uri):
for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { // O operație constantă } }
Complexitate: O(n²)
Analiza complexității este importantă pentru a estima eficiența unui algoritm, mai ales pentru date mari.