Care este diferenta dintre structura repetitiva for si while . vreau sa fie mai explicit
Răspunsuri la întrebare
Structura repetitiva for 7
Se foloseste atunci cand se cunoaste dinainte numarul de repetitii (numarul de pasi ce se vor executa). Are urmatoarea sintaxa:
for( [instructiune1] ; [conditie] ; [instructiune2] ) { [instructiune3] }unde:
instructiune1 este o instructiune de executat la inceputconditie este o expresie care daca este evaluata ca adevarata va determina repetarea ciclului - este denumita generic conditia de repetareinstructiune2 se va executa la fiecare pas al repetariiinstructiune3 reprezinta operatia efectiva care se repeta in cadrul FOR-uluiIn general, [instructiune1] este o expresie de initializare de forma $i = 1, conditia de repetare este de forma $i <= numarul de pasi si [instructiune2] este o expresie de incrementare $i++.
for( $i = 1; $i <= 10; $i++ ) { echo $i; // instructiune3 }In limbaj natural, intructiunea se traduce prin "plecand de la $i = 1, executa operatia si creste-l pe $i cu o unitate; apoi repeta totul atat timp cat $i <= 10
De retinut: instructiunea din cadrul for-ului se executa doar daca expresia (conditia) este adevarata, deci pot exista situatii cand expresia este falsa si [instructiune3] nu se executa niciodata. Exemplu:
for( $i = 0; $i > 10; $i++ ) { echo 'Aceasta instructiune nu se executa niciodata, pentru ca valoarea ' . 'initiala a lui $i nu este mai mare decat 10'; } 7 comentarii Citeste-le Adauga unulStructura repetitiva while 3
Instructiunea while este folosita atunci cand nu se cunoaste dinainte numarul de executii. Are o forma mai intuitiva decat for si multe persoane o considera mai usor de folosit. Diferenta dintre while si for este aceea ca prima este mai generala si mai flexibila. Se poate chiar afirma ca for este o situatie particulara a unei structuri while. Sintaxa este urmatoarea:
while( [conditie] ) { [instructiune] }Este probabil usor de inteles ca [instructiune] se executa atata timp cat [conditie] este adevarata. La fel ca si la for, exista posibilitatea ca instructiunea sa nu fie executata niciodata.
Mai jos este un exemplu de structura repetitiva while care are acelasi rezultat ca secventa de cod de mai sus ce foloseste for. Se poate observa ca in cazul structurii while conditia are la baza, de multe ori, o variabila initializata in exterior si modificata in interior. In cazul de mai jos, $i este modificata la fiecare executie, pana cand, la un moment dat, va fi mai mare decat 10 ceea ce va determina iesirea din bucla repetitiva.
$i = 0; while( $i <= 10 ) { echo $i; $i++; // la fiecare pas $i creste cu o unitate }De retinut: este de datoria programatorului sa includa in blocul din structura repetitiva si codul necesar iesirii din bucla. Daca acest lucru nu se realizeaza, codul se va executa la nesfarsit. Exemplu:
$continua = true; while( $continua == true ) { echo 'La nesfarsit', '<br>'; } echo 'Aici nu se mai ajunge';Varianta corecta a exemplului de mai sus este urmatoarea:
$continua = true; while( $continua == true ) { echo 'La nesfarsit', '<br>'; $continua = false; # modific variabila de testare a conditiei } echo 'Acum se ajunge aici';