Bucle definitive vs. Bucla nedefinită
O buclă este un bloc de cod care se repetă pentru un anumit număr de ori sau până când o anumită condiție este îndeplinită. O buclă definită este o buclă în care este cunoscută de câte ori va fi executată înainte de a intra în buclă. Într-o buclă nedeterminată, numărul de repetări pe care le va executa nu este cunoscut în prealabil și va fi executat până când o anumită condiție este îndeplinită.
Ce este o buclă definită?
O buclă definită este o buclă în care este cunoscută de câte ori va fi executată înainte de a intra în buclă. Numărul de iterații pe care se va repeta va fi furnizat de obicei printr-o variabilă întreg. În general, pentru bucle sunt considerate bucle definite. În continuare este un exemplu de buclă definită implementată folosind o buclă pentru (în limba de programare Java).
pentru (int i = 0; i < num; i++)
// corpul for bucla
Buclele de mai sus își vor executa corpul de mai multe ori furnizate de variabila num. Aceasta ar putea fi determinată de valoarea inițială a variabilei i de condiția de buclă.
În timp ce buclele pot fi, de asemenea, folosite pentru a implementa bucle definite, după cum se arată mai jos (în Java).
int i = 0;
in timp ce eu
// corpul bucla
i ++;
Chiar dacă aceasta utilizează o buclă în timp, aceasta este, de asemenea, o buclă definită, deoarece este cunoscut în prealabil că bucla va executa numărul de ori furnizat de variabila num.
Ce este o buclă nedefinită?
Într-o buclă nedeterminată, numărul de întâlniri pe care le va executa nu este cunoscut în prealabil. În mod obișnuit, o buclă nedeterminată va fi executată până când se va îndeplini o anumită condiție. În timp ce buclele și buclele "do-while" sunt utilizate în mod obișnuit pentru a implementa bucle indefinite. Chiar dacă nu există nici un motiv specific pentru a nu utiliza pentru bucle pentru construirea de bucle indefinite, bucle indefinite ar putea fi organizate cu ușurință folosind în timp ce bucle. Unele dintre exemplele obișnuite de care ar trebui să implementați bucle indefinite determină citirea unei intrări până când utilizatorul introduce un întreg pozitiv, citește o parolă până când utilizatorul introduce aceeași parolă de două ori la rând etc.
Care este diferența dintre buclă definită și buclă nedefinită?
O buclă definită este o buclă în care numărul de execuții este cunoscut în avans înainte de a intra în buclă, în timp ce o buclă nedeterminată este executată până când o anumită condiție este îndeplinită și numărul de execuții este necunoscut în avans. Adesea, buclele definite sunt implementate folosind pentru bucle și bucle nedefinite sunt implementate folosind bucle în timp ce și bucle în timp. Dar nu există nici un motiv teoretic pentru a nu utiliza pentru bucle pentru bucle indefinite și în timp ce bucle pentru bucle definite. Dar buclele nedefinite ar putea fi organizate cu bucle în timp ce buclele pot fi organizate cu bucle.