Do while vs while în C++ - Care e diferența?

În C++ există trei instrucțiuni repetitive de bază: for, while și do while. Structurile while și do while sunt foarte asemănătoare, însă totuși trebuie avut grijă când se folosesc.

Dacă vreți să aflați mai multe despre aceste structuri repetitive, urmăriți acest articol în detaliu.

Structura while

Structura while are următoarea sintaxă:

while(condiție) {
    instrucțiune 1;
    instrucțiune 2;
    …
}

Modul de funcționare a structurii repetitive while este următorul:

  • Verificăm condiția;
  • Dacă este adevărată, executăm instrucțiunile dintre acolade ({}); altfel, ieșim din while;
  • Verificăm iar condiția;
  • Din nou, dacă este adevărată, executăm instrucțiunile dintre acolade ({}); altfel, ieșim din while;
  • Și așa mai departe, până când se iese din while.

Mai exact, pentru structura while, mai întâi se verifică condiția, după care se execută codul.

Structura do while

Structura do while are următoarea structură:

do {
    instrucțiune 1;
    instrucțiune 2;
    …
} while(condiție);

Modul de funcționare a instrucțiunii repetitive do while este următorul:

  • Se execută instrucțiunile dintre acolade ({});
  • Se verifică condiția; dacă este adevărată, se execută iar instrucțiunile (altfel se iese din structură);
  • Și așa mai departe.

Mai exact, pentru structura do while, se execută codul mai întâi, după care se verifică condiția.

Diferența dintre do while și while

Putem trage următoarea concluzie: do while este exact ca și while, doar că execută codul dintre acolade cel puțin odată.

Transformarea instrucțiunii do while în while

Pentru a transforma următoarea structură do while într-una while, vom copia instrucțiunile și le vom rula înainte de while (pentru a le executa cel puțin odată).

do {
    instrucțiune 1;
    instrucțiune 2;
    …
} while(condiție);

Devine:

instrucțiune 1;
instrucțiune 2;
…
while(condiție) {
    instrucțiune 1;
    instrucțiune 2;
    …
}

Transformarea instrucțiunii while în do while

Do while va executa codul cel puțin odată. Așadar, va trebui să imbricăm codul într-un if, prin care să verificăm dacă condiția este adevărată:

while(condiție) {
    instrucțiune 1;
    instrucțiune 2;
    …
}

Devine:

if(condiție) {
    do {
        instrucțiune 1;
        instrucțiune 2;
        …
    } while(condiție);
}

DS

Autorul acestei lecții

Dominic Satnoianu

Această lecție a fost redactată de către Dominic Satnoianu.

© 2021 – 2025 Aspire Education Labs SRL. Toate drepturile rezervate.

Așa cum este specificat și în termeni și condiții, conținutul acestei pagini este protejat de legea drepturilor de autor și este interzisă copierea sau modificarea acestuia fără acordul scris al autorilor.

Încălcarea drepturilor de autor este o infracțiune și se pedepsește conform legii.

Comentarii 0

Autentifică-te pentru a putea comenta.

Autentifică-te