ÎnțelegeInfo

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++

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.