← Înapoi la concepte
🔄

Structuri repetitive (bucle)
while, do-while, for

💻 Programare Clasa a VI-a Clasa a VII-a

Pe scurt

Repetă, repetă, repetă — dar inteligent! O buclă îi spune calculatorului să execute același grup de instrucțiuni de mai multe ori, fără să rescrii codul de fiecare dată.

În clasa a VI-a înveți să gândești în pseudocod și scheme logice — bucla „repeta de N ori" și bucla condiționată. În clasa a VII-a implementezi aceleași idei în C++, cu sintaxa concretă while, do-while și for.

Fără bucle, un program care citește 100 de note ar necesita 100 de linii identice. Cu o buclă: 3 linii.

Ce este o structură repetitivă

O structură repetitivă (sau buclă) este o instrucțiune care execută un bloc de cod de mai multe ori, atâta timp cât o condiție este adevărată — sau un număr fix de ori.

Există trei tipuri principale, fiecare cu o „personalitate" diferită:

  • while — verifică condiția înainte de fiecare execuție. Dacă de la început condiția e falsă, bucla nu se execută deloc.
  • do-while — execută corpul cel puțin o dată, apoi verifică condiția la final.
  • for — cea mai elegantă când știi exact de câte ori repeți: inițializare, condiție și incrementare scrise pe un singur rând.
while (i <= 5) { // conditionata anterior cout << i; i++; } do { // conditionata posterior — ruleaza cel putin o data cout << optiune; } while (optiune != 3); for (int i = 1; i <= n; i++) { // cu contor explicit cout << 7 * i << endl; }
Analogie: Gândește-te la un antrenor de fotbal care spune „faceți 10 genuflexiuni!". Tu știi exact că repeți de 10 ori — asta e for. Dacă spune „continuați până când obosesc eu" — nu știi câte, asta e while. Iar dacă spune „faceți cel puțin una, apoi vom vedea" — asta e do-while.

De ce contează

Harta lecțiilor

Clasa a VI-a — pseudocod & scheme logice
Bucla Repeta - Actiuni Multiple Repeta Pana Cand - Bucle Conditionate

Verifică-te

1. Dacă condiția unui while este falsă de la bun început, de câte ori se execută corpul buclei? ▶ Arată
Deloc — zero iterații. while este o structură repetitivă condiționată anterior: condiția se verifică înainte de orice execuție. Dacă e falsă din start, corpul nu rulează niciodată. Asta o deosebește de do-while, care execută cel puțin o dată.
2. Ce este o buclă infinită și cum o provoci din greșeală în C++? ▶ Arată
O buclă infinită nu se oprește niciodată — condiția rămâne mereu adevărată. Apare cel mai des când uiți să modifici variabila din condiție: de exemplu while (i <= 5) { cout << i; /* lipsește i++ */ }. Soluția: asigură-te că în interiorul buclei există întotdeauna o instrucțiune care schimbă variabila de control.
3. De ce este for preferată față de while atunci când numărul de iterații este cunoscut dinainte? ▶ Arată
Pentru că reunește într-un singur loc inițializarea, condiția și incrementarea: for (int i = 1; i <= n; i++). La while ai nevoie de trei linii separate — inițializare înainte, condiție în paranteză, increment în corp. Cu for codul e mai compact și mai greu de stricat (nu uiți incrementul pentru că e scris chiar în header-ul buclei). Ambele sunt echivalente ca logică, dar for e convenția standard pentru iterații cu contor.

Concepte înrudite