Diferență cheie – pentru vs bucla while
Un program este un set de instrucțiuni scrise într-un limbaj de programare pentru a îndeplini o anumită sarcină. Poate fi o operație logică sau o operație matematică. În general, instrucțiunile din program se execută una după alta. Uneori este necesar să executați un set de instrucțiuni din nou și din nou. Structurile de control sunt utilizate pentru realizarea acestei sarcini. Două dintre ele sunt bucle for și while. Aceste structuri ajută la executarea unei secvențe de cod până când condiția dată este adevărată. Sintaxa buclei for constă în inițializare, expresie de testare și expresie de actualizare. Sintaxa buclei while conține expresia test. Acest articol discută diferența dintre bucla for și while. Diferența esențială dintre bucla for și while este că bucla for poate fi utilizată atunci când se cunoaște numărul de iterații, iar bucla while poate fi utilizată atunci când nu se cunoaște numărul de iterații.
Ce este pentru Loop?
Bucla for este folosită în multe limbaje de programare, cum ar fi C, Java etc. Este folosită pentru a executa un set de instrucțiuni de mai multe ori. Sintaxa buclei for este următoarea.
pentru (inițializare; expresie de testare, actualizare){
//instrucțiuni în bucla for
}
Expresia de inițializare se execută o singură dată. Apoi, expresia testului este evaluată. Expresia test poate conține variabile, valori, constante și operatori. Este o expresie booleană. Dacă expresia evaluată este adevărată, se execută codul din bucla for. După atingerea sfârșitului buclei, expresia de actualizare este executată. Poate fi o creștere sau o scădere. Din nou, expresia test este verificată. Dacă expresia evaluată este adevărată, instrucțiunile din bucla for sunt executate. La sfârșitul buclei, expresia de actualizare este executată. Acest proces se repetă până când expresia testului este falsă. Când expresia testului este falsă, bucla for se termină și controlul este trecut la următoarea instrucțiune după bucla for.
Figura 01: un program cu bucla for pentru a calcula suma a 5 numere
Programul de mai sus este de a găsi suma primelor cinci numere, care sunt 1, 2, 3, 4 și 5. În bucla for, i este 1. Este mai mic decât 5. Deci suma este calculată. Inițial, suma este 0. Se adaugă la i care este 1. Totalul este atribuit sumei variabilei. Acum suma este 1. Apoi se evaluează expresia de actualizare. I este crescut cu unu. Acum am 2. Este mai mic de 5. Deci, se calculează suma. Valoarea anterioară a sumei este 1 și se adaugă la valoarea i care este 2. Acum suma este 3. Expresia de actualizare este evaluată și i este incrementată cu 1. Acum este 3. Acest proces se repetă. Când i devine 6, expresia devine falsă deoarece 6 nu este egal sau mai mic decât 5. Prin urmare, bucla for se termină. În cele din urmă, suma tuturor celor cinci numere este imprimată pe ecran.
Ce este bucla while?
Bucla while execută instrucțiunile țintă atâta timp cât condiția dată este adevărată. Sintaxa buclei while este următoarea.
while(expresie de testare){
//instrucțiuni în bucla while
}
Bucla while conține o expresie de testare. Este o expresie booleană. Dacă expresia evaluată este adevărată, atunci instrucțiunile din bucla while se execută. La sfârșitul acestor afirmații, expresia test este evaluată din nou. Acest proces se repetă până când expresia testului devine falsă. Când devine fals, bucla while se termină și controlul este transmis instrucțiunii după bucla while.
Figura 02: Un program cu buclă while pentru a calcula suma a 5 numere
Conform programului de mai sus, suma este inițializată la 0 și i este inițializată la 1. În bucla while, valoarea i este evaluată. Este mai mic de 5. Deci, se calculează suma. Valoarea inițială a sumei este 0. Se adaugă la valoarea i 1. Acum suma este 1. Apoi valoarea i este incrementată cu unu. Acum valoarea i este 2. Este mai mică decât 5. Deci se calculează suma. Suma curentă care este 1 este adăugată la valoarea i care este 2. Acum suma este 3. Din nou valoarea i este incrementată. Acum valoarea i este 3. Acest proces se repetă. Când valoarea i devine 6, expresia devine falsă deoarece nu este mai mică sau egală cu 5. Deci, bucla while se termină. În cele din urmă, valoarea sumei este imprimată pe ecran. Dacă nu a existat nicio creștere, cum ar fi i++, atunci valoarea i rămâne aceeași, care este 1. Este mai mică decât 5. Condiția este întotdeauna adevărată. Deci va fi o buclă infinită.
Care sunt asemănările dintre bucla for și while?
- Atât bucla for, cât și bucla while sunt structuri de control al repetiției în programare.
- Execuția buclei depinde de expresia de testare.
Care este diferența dintre bucla for și while?
for vs bucla while |
|
Bucla for este o structură de control al repetiției care permite programatorului să scrie eficient o buclă care trebuie să fie executată de un anumit număr de ori. | Bucla while este o structură de control al repetiției care execută instrucțiuni țintă atâta timp cât condiția dată este adevărată. |
Utilizare | |
Bucla for poate fi folosită atunci când este cunoscut numărul de iterații. | Bucla while poate fi utilizată atunci când numărul de iterații nu este cunoscut. |
Inițializare | |
Inițializarea are loc o dată în bucla for. | În bucla while, dacă instrucțiunea de inițializare este în interiorul buclei, atunci inițializarea se face de fiecare dată când bucla repetă. |
Rezumat – pentru vs bucla while
În programare, uneori este necesar să repetați un set de instrucțiuni de mai multe ori. Există structuri de control al repetiției pentru a realiza aceste sarcini. Două dintre ele sunt bucle for și while. Diferența dintre bucla for și while este că bucla for este utilizată atunci când se cunoaște numărul de iterații și bucla while este utilizată atunci când numărul de iterații nu este cunoscut.