Video: Instrucțiunea do while (structuri repetitive)

Instrucțiunea do while (structuri repetitive)

Această lecție este despre structura repetitivă do while: definiție, exemple și exerciții propuse.

De multe ori se întâmplă să avem nevoie să repetăm un set de instrucțiuni de un număr de ori. Iată câteva exemple:

  • Să calculăm valoarea a^b (a la puterea b): trebuie să îl înmulțim pe a în mod repetat, de b ori;
  • Să calculăm media a n numere.

Limbajul C++ ne oferă o varietate de modalități de a repeta un set de instrucțiuni. În această lecție vom vorbi despre structura repetitivă do while, dar dacă vrei să vezi toate structurile repetitive în C++, poți intra pe această pagină.

Spre deosebire de structura while, do while execută instrucțiunile dintre acolade cel puțin o dată, indiferent dacă condiția este adevărată sau nu.

Se recomandă să cunoști structura de decizie (if și switch) și structura repetitivă while înainte de a parcurge această lecție.

Sintaxă

Sintaxa structurii do while este oarecum pe dos față de cea a whileului:

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

Structura aceasta are sens dacă stăm să ne gândim: mai întâi executăm instrucțiunile, după care verificăm dacă condiția este adevărată sau nu, urmând să mai iterăm încă odată dacă este cazul.

Exemplu

Afișăm primele n numere naturale, sau 0, dacă n < 0:

//Pentru n = 5, se va afișa:
//0 1 2 3 4
//Pentru n = -1, se va afișa:
//0
int i = 0, n;
cin >> n;
do {
    cout << i << " ";
    i++;
} while(i < n);

Problemă rezolvată

Împărțiri repetate

Dându-se un număr natural n, să se împartă repetat la 5, afișând de fiecare dată câtul dat, până când n este 0.

Exemple: Pentru n = 126 se va afișa 126 25 5 1, iar pentru n = 0 se va afișa 0.

Rezolvare: Vom citi n, după care, folosind o structură repetitivă de tip do while, îl vom împărți pe n la 5 în mod repetat.

#include <iostream>

using namespace std;

int main()
{
    int n;
    cin >> n;
    do {
        cout << n << " ";
        n /= 5;
    } while(n != 0);
}

Exercițiu propus

Completează următoarea secvență de cod:

Să se afișeze primele n numere naturale nenule:

int n, i = 1;
cin >> n;
??? {
    cout << i << " ";
    i++;
} ???(i <= n);

Bibliografie și alte resurse

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