Contact și feedback

Nu obții 100 de puncte sau ai nelămuriri în privința problemelor? Scrie-mi pe Instagram.


Ai găsit o greșeală, vrei să raportezi un utilizator sau vrei să comunici altceva? Folosește formularul de contact.


Vrei să ne transmiți o părere despre platformă? Folosește formularul de feedback.

Shortcuturi

Folosește următoarele shortcuturi pentru a naviga mai ușor pe platformă.

Generale

Meniu shortcuturi?
Căutare probleme sau utilizatori/
Navigare printre rezultatele căutării↑, ↓
Meniu de contact și feedbackCTRL + Shift + F
Ieșire din meniuriEsc

Editor probleme

Setări editorCTRL + Shift + S
Schimbare stil editorCTRL + Shift + E
Șabloane de codCTRL + Shift + 1/2/3
Golire editorCTRL + Shift + 4

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);
}

Obține medalia mult dorită. Devino As la olimpiadă.

Curs complet de olimpiadă, pregătit de olimpici de la Oxford și TU Delft.

Cuprinsul lecției

Se încarcă…

Citește și

Cum să afișezi partea întreagă a unui număr real în C++Suma divizorilor unui număr în C++Maximul și minimul a n valori în C++Transformarea unei litere mici în literă mare în C++Structuri repetitive (while, do while, for, etc)Numărul minim de peroane pentru o gară în C++CMMDC recursiv a două numere naturale în C++Afișarea divizorilor primi ai unui număr în C++Șirul lui Fibonacci în C++Maximul și minimul unui vector în C++Cifrele unui număr. Prelucrarea cifrelor unui număr în C++Radicalul unui număr în C++ (rădăcina pătrată)Verificarea unui an bisect în C++Valoarea absolută (modulul) unui număr în C++Afișarea elementelor unui vector recursiv în C++Cel mai mare divizor comun (CMMDC) a două numere în C++Cel mai frecvent element dintr-un șir în C++Instrucțiunea break (structuri repetitive)Factorialul unui număr în C++Ce este o variabilă unsigned în C++?CMMMC a două numere în C++ (cel mai mic multiplu comun)Generarea șirului Fibonacci generalizat în C++Verifică dacă o literă este vocală în C++Aplicații cu ciurul lui Eratostene în C++: suma divizorilor, numărul divizorilorCum să calculezi instant 2 la puterea N în C++Verifică dacă un caracter este literă în C++Cifra maximă a unui număr recursiv în C++Ciurul lui Eratostene în C++Verifică dacă o literă este mică sau mare în C++Bordarea unei matrice în C++Transformarea unei litere mari în literă mică în C++Cel mai semnificativ bit în C++Numărul combinărilor în C++ (formula combinărilor)Numărul de divizori primi ai unui număr în C++Verifică dacă un număr aparține șirului Fibonacci în C++Operații cu numere mari în C++ - Toate funcțiile explicateCe înseamnă variabilă globală și locală în C++?Cel mai mic număr cu suma cifrelor N în C++Verifică dacă un număr este par sau impar fără modulo în C++Verifică dacă un bit de pe o anumită poziție este 1 sau 0 în C++Vectorii în C++: declarare și parcurgereAl N-lea termen dintr-o progresie geometricăOglinditul recursiv al unui număr în C++Suma 1 + 2 + 3 + ... + N în C++Numere triunghiulare. Verificarea unui număr triunghiularCum să citești și să afișezi în fișiere în C++Află secolul unui an citit de la tastatură în C++Numărul permutărilor în C++ (formula permutărilor)Materia pentru olimpiada de informatică - tot ce trebuie să știiComplexitatea unui algoritm (timp și spațiu) în C++Sortare crescătoare recursivă în C++ - Merge sort și Bubble sortInterschimbarea a două variabile în C++ (3 metode)Numărul de divizori al unui număr în C++Verifică dacă trei puncte sunt coliniare C++Inversarea unui șir de caractere în C++Do while vs while în C++ - Care e diferența?Instrucțiunea continue (structuri repetitive)Al N-lea termen Fibonacci în C++Numărul de apariții al unui număr într-un vector în C++Verificare dacă un număr este palindrom în C++Indicatorul lui Euler al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Tipul struct în C++. Ce sunt structurile de date neomogeneCe este o funcție void în C++?Citirea și afișarea matricelor în C++Pointer în C++. Variabile de tipul char * (char steluță)Funcții în C++. Ce sunt subprogrameleMatrice în C++. Declararea și parcurgerea tablourilor bidimensionaleInstrucțiunea for (structuri repetitive)Ce înseamnă endl în C++?Suma divizorilor numerelor de la 1 la N (Folosind ciurul lui Eratostene)Aflarea sumei primelor N sume GaussTransformarea unui număr din baza 2 în baza 10 în C++Cel mai puțin semnificativ bit în C++Instrucțiunea while (structuri repetitive)Tutorial instalare CodeBlocks (ușor) - Introducere în informatică C++Distanța dintre două puncte în C++Cea mai lungă secvență de elemente crescătoare în C++Inversarea unui vector în C++Comentarii în C++Aria unui triunghi folosind coordonatele acestora în C++Matrice Fibonacci - al n-lea termen Fibonacci în timp logaritmicCombinatorică în C++: permutări, aranjamente, combinări și alteleCifra de control a unui numărOglinditul unui număr în C++Ridicarea la putere în timp logaritmic în C++. Exponențiere rapidăRădăcina cubică a unui număr în C++ (cube root)Verifică dacă un caracter este cifră în C++Verificare număr prim în C++ (Clasa a IX-a)De ce cer unele probleme răspunsul modulo 666013 sau modulo 1.000.000.007?Căutare binară în C++Numărul aranjamentelor în C++ (formula aranjamentelor)Maximul și minimul a două valori în C++Instrucțiunea de decizie în C++: if, else, switch, caseVerificare dacă șir de caractere este palindrom în C++Divide et Impera (metodă de programare C++)Aria și circumferința unui cerc în C++Recursivitate în C++Calculul combinărilor de n luate câte k (nCk) în C++Șiruri de caractere în C++. Tot ce trebuie să știiTransformarea unui număr din baza 10 în baza 2 în C++Câte numere naturale sunt într-un interval dat? (C++)Suma elementelor unui vector recursiv în C++Vectorii în C++: citire și afișareCel mai mic/mare divizor prim al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Al N-lea termen dintr-o progresie aritmeticăInterclasarea a doi vectori în C++Maximul și minimul a trei valori în C++Copiuțe: Cifrele unui numărInstrucțiunea do while (structuri repetitive)Codul ASCII (tabel complet)Indicatorul lui Euler în C++Suma numerelor naturale dintr-un interval dat în C++Prima cifră a unui număr în C++Verifică dacă un număr dat este o putere de 2 în C++Tipuri de date în C++: numere întregi, reale, caractere și alteleVectori de frecvență (de apariții) în C++Cifra maximă și minimă a unui număr în C++Citește un șir de caractere cu spații în C++Funcții predefinite în C++ (matematice, șiruri de caractere)Mediana unui șir de valori în C++Algoritm recursiv pentru căutare binară (clasa a X-a)Numărul de divizori al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Matrice pătratice în C++. Diagonala principală și secundarăNumărul de cifre ale factorialului unui număr

© Drepturi de autor

Echipa InfoAs își rezervă drepturile de autor pentru conținutul acestei pagini. Copierea conținutului fără acordul scris expres al InfoAs reprezintă o încălcare a Legii 8/1996 și va fi tratată ca atare.

Trimite lecția

Toată lecția

Doar videoclipul pe YouTube

Informatica devine ușoară cu InfoAs

Intră în cont