Bazele programării

Structuri de control

Instrucțiunile if, for, while, do-while și switch în C++ cu exemple BAC.

Capitole Formule Teste Calculator Grafic

Instrucțiunea if

if (conditie) {
    // executat dacă condiția e adevărată
} else {
    // executat dacă condiția e falsă
}

Exemplu — număr par sau impar:

if (n % 2 == 0)
    cout << "par";
else
    cout << "impar";

if-else if înlănțuit:

if (nota >= 9) cout << "Foarte bine";
else if (nota >= 7) cout << "Bine";
else if (nota >= 5) cout << "Satisfacator";
else cout << "Insuficient";

Instrucțiunea while

Se execută cât timp condiția e adevărată. Test la început.

while (conditie) {
    // corp
}

Exemplu — suma cifrelor:

int s = 0;
while (n > 0) {
    s += n % 10;
    n /= 10;
}

Instrucțiunea do-while

Se execută cel puțin o dată. Test la sfârșit.

do {
    // corp
} while (conditie);

Instrucțiunea for

for (initializare; conditie; actualizare) {
    // corp
}

Exemplu — suma 1..n:

int s = 0;
for (int i = 1; i <= n; i++)
    s += i;

For cu pas negativ:

for (int i = n; i >= 1; i--)
    cout << i << " ";

Instrucțiunea switch

switch (expresie_intreaga) {
    case valoare1:
        // instructiuni
        break;
    case valoare2:
        // instructiuni
        break;
    default:
        // altfel
}

break și continue

  • break — iese imediat din bucla curentă
  • continue — sare la următoarea iterație
for (int i = 1; i <= 10; i++) {
    if (i == 5) continue;  // sare peste 5
    if (i == 8) break;     // oprește la 8
    cout << i << " ";      // afișează 1 2 3 4 6 7
}

Bucle imbricate

for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++)
        cout << a[i][j] << " ";

La examen

  • Alege while când nu știi dinainte câte iterații sunt (ex: cifre din n)
  • Alege for când știi numărul de iterații sau iterezi un interval fix
  • Atenție la off-by-one: i <= n vs i < n
  • La trasare: urmărește exact condiția — când devine falsă, bucla se oprește