Instrucțiunea break (structuri repetitive)

Această lecție este despre instrucțiunea break: definiție, exemple și exerciții propuse.

Există momente când vrem să ieșim dintr-o structură repetitivă, chiar și dacă condiția este încă adevărată. Pentru asta, ne folosim de instrucțiunea break.

Instrucțiunea break întrerupe execuția unei structuri repetitive (while, do while, for), trecând la instrucțiunile de după indiferent dacă condiția acestor structuri mai sunt sau nu adevărate.

Sintaxa instrucțiunii break

Sintaxa instrucțiunii break este următoarea:

break;

Exemple

Afișarea primelor n numere naturale, însă dacă atingem valoarea 5, ne oprim.

//Pentru n = 8, se va afișa:
//1 2 3 4 5 (ne oprim la 5)
//Pentru n = 3, se va afișa:
//1 2 3
for(int i = 1; i <= n; i++) {
    cout << i << " ";
    if(i == 5) {
        break;
    }
}

Multe probleme cer citirea și prelucrarea unor numere până când se întâlnește valoarea 0. De exemplu, dacă vrem să calculăm suma unor numere până la întâlnirea lui 0, putem proceda astfel:

//Pentru numerele 4 9 10 0, se va afișa:
//23
int sum = 0;
while(true) {
    int nr;
    cin >> nr;
    if(nr == 0) {
        break;
    }
    sum += nr;
}
cout << sum;

Problemă rezolvată

For fără condiție

Să se afișeze primele n numere naturale nenule, însă fără a folosi o condiție în structura repetitivă aleasă:

  • for(int i = 1; true; i++)
  • while(true)

Testează-ți rezolvarea pe această pagină.

Exemplu: Pentru n = 3 se vor afișa numerele 1 2 3.

Rezolvare: Vom citi n, după care folosind o structură repetitivă de tip for, vom afișa numerele. În loc de condiție, vom folosi un if cu un break.

#include <iostream>

using namespace std;

int main()
{
    int n;
    cin >> n;
    for(int i = 1; true; i++) {
        cout << i << " ";
        if(i == n) {
            break;
        }
    }
}

Exercițiu propus

Completează următoarea secvență de cod:

Să se afișeze primele n numere naturale nenule, oprindu-ne dacă atingem numărul 7:

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

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