Informatică · clasa a IX-a

Structuri repetitive: for, while, do-while

„Nu știu când să folosesc for și când while, și buclele mele fie nu se opresc, fie rulează o dată în plus.”

Semne că blocajul vine de aici

  • Uiți să modifici variabila de control în while (buclă infinită).
  • Greșești cu 1 numărul de iterații (i <= n vs. i < n).
  • Nu poți „urmări” pe hârtie ce se întâmplă pas cu pas.

Noțiunea care lipsește de obicei

Înainte să refaci exerciții de tipul acesta, verifică dacă stăpânești noțiunile de mai jos. De cele mai multe ori, blocajul se rezolvă acolo, nu aici.

Explicația, pe scurt

for se folosește când știi dinainte câte repetări sunt (de la 1 la n). while când repetarea depinde de o condiție care se schimbă pe parcurs (cât timp numărul mai are cifre). do-while execută corpul cel puțin o dată, apoi verifică condiția.

Trei întrebări pentru orice buclă: de unde pornește variabila de control? când se oprește? cum se modifică la fiecare pas? Dacă răspunsul la a treia lipsește, bucla este infinită.

Cea mai bună metodă de depanare este tabelul de urmărire: scrii pe hârtie, pentru fiecare iterație, valorile variabilelor. Vezi imediat dacă ai o iterație în plus sau în minus.

Exemplu rezolvat

Ce afișează? s = 0; for (i = 1; i <= 4; i++) s = s + i * i; cout << s;

  1. 1i = 1: s = 0 + 1 = 1.
  2. 2i = 2: s = 1 + 4 = 5.
  3. 3i = 3: s = 5 + 9 = 14.
  4. 4i = 4: s = 14 + 16 = 30. i devine 5, condiția 5 <= 4 este falsă, bucla se oprește.

Răspuns: 30

Verificare rapidă

Răspunsul rămâne doar în pagina ta; nu este trimis sau salvat.

De câte ori se execută corpul buclei: i = 10; while (i > 0) { i = i - 3; }

Ce poți învăța în continuare

Noțiunile de mai jos se construiesc pe structuri repetitive: for, while, do-while. Dacă verificarea a ieșit bine, poți trece la ele.