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;
- 1i = 1: s = 0 + 1 = 1.
- 2i = 2: s = 1 + 4 = 5.
- 3i = 3: s = 5 + 9 = 14.
- 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.
clasa a IX-a
Prelucrarea cifrelor unui număr
„Nu știu cum să „scot” cifrele unui număr, să le număr sau să construiesc oglinditul.”
Vezi ce îți lipsește
clasele IX–X
Vectori (tablouri unidimensionale)
„Nu înțeleg indicii, nu știu să parcurg un vector și să găsesc maximul sau să număr elementele cu o proprietate.”
Vezi ce îți lipsește
clasa a X-a
Subprograme și recursivitate
„Nu înțeleg cum o funcție se poate apela pe ea însăși și nu pot urmări ce returnează.”
Vezi ce îți lipsește