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.
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 sau for — nu poți scrie o formulă în program dacă n vine de la utilizator.
while este falsă de la bun început, de câte ori se execută corpul buclei?
▶ Arată
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ă.
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.
for preferată față de while atunci când numărul de iterații este cunoscut dinainte?
▶ Arată
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.