Sunteți pe pagina 1din 4

Index

Structuri de control în C++


Structuri repetitive
Structura while
La o structură while întâi se verifică dacă condiția este îndeplinită. Dacă aceasta este
îndeplinită se execută codul dintre acolade, în caz contrar se iese din buclă:
int i = 0;
while(i < 3){
    cout << i;
    i++;
}

Structura do...while
Într-o structură do...while mai întâi se execută codul dintre acolade și doar apoi se
verifică dacă condiția este îndeplinită. Astfel indiferent de condiție,
structura do...while se execută cel puțin o dată:
int i = 0;
do {
    cout << i;
    i++;
} while(i < 3);

Structura for
Instrucțiunea for permite programului repetarea uneia sau mai multor instrucțiuni.
Această intrucțiune are trei secțiuni: una de inițializare, una de testare a unei condiții
și una de incrementare
for(inițializare; test; incrementare)
Toate cele trei secțiuni sunt opționale, astfel că putem avea diverse variante de
declarare:
for(; contor < 1000; contor++)
sau
for(; contor < 1000;)
sau
for(;;) //aici bucla se va repeta la infinit
La o structură for întâi se verifică dacă condiția este îndeplinită. Dacă aceasta este
îndeplinită se execută codul dintre acolade, apoi se incrementează contorul i. În cazul
în care condiția nu este indeplinită se iese din buclă:
for(int i = 0; i < 3; i++){
    cout << i;
}

Structuri condiționale
Structura if[-else]
O instrucțiune if poate fi urmată de o declarație else opțională, care se execută atunci
când expresia booleană este falsă.
int i = 0;
if(i < 3){
    cout << "Răspuns corect!";
}

else if(i == 3){


    cout << "Răspuns incorect!";
}

else {
   cout << "Tot incorect!";
}

Structura switch
O structură de tip switch permite ca o variabilă să fie testată pentru egalitate față de o
listă de valori. Fiecare valoare este numită un caz, iar variabila testată este verificată
pentru fiecare caz de comutare în parte.
# include <iostream>
using namespace std;

int main(){

    char nota = 'B';


    switch(nota){
        case 'A' :
           cout << "Excelent!\n";
           break;
        case 'B' :
        case 'C' :
           cout << "Nu-i rău!\n";
           break;
        case 'D' :
           cout << "Ai trecut!\n";
           break;
        case 'E' :
           cout << "Mai încearcă!\n";
           break;
        default :
           cout << "Notă invalidă\n";
           break;
    }
    cout << "Nota este: " << nota << endl;
}

Instrucțiunea continue
Există situații când se dorește suprimarea execuției intrucțiunilor dintr-o buclă
(while sau for), în funcție de o anumită condiție. Acest lucru se poate realiza cu
ajutorul instrucțiunii continue ce permite trecerea peste iterația curentă, fără a executa
intrucțiunile până la finalul buclei.
int contor;
cout << "Valori pare: \n";
for (contor = 1; contor <= 100; contor++)
    {
        if (contor % 2)         // dacă sunt numere impare
            continue;           //trece la următoarea iterație a buclei
        cout << contor << " ";  //afisează doar numerele pare
    }

Instrucțiunea break
Pentru a ieși complet dintr-o buclă, înainte de a se îndeplini condiția de terminare
buclei, se poate folosi instrucțiunea break:
int contor;
for (contor = 1; contor <= 100; contor++)
    {
        if (contor == 50)
           break;
        cout << contor << " ";
    }
Instrucțiunea break se recomandă a se folosi doar în cadrul instrucțiunii switch.
Pentru bucle se recomandă adăugarea de condiții suplimentare în declararea buclei.
Temă:
1.De realizat un program care permite însumarea unor numere introduse de la
tastatură. Programul se sfârșește atunci când utilizatorul introduce valoarea zero de la
tastatură. La final se va afișa suma numerelor primite de la tastatură. (Se va folosi
bucla do-while prezentată mai sus).
2.De realizat un program care afișează numerele impare de la 0 până la 50 și cele pare
între 50 și 100.
3.De realizat un program care afișează cel mai mare număr dintre trei numere citite
de la tastatură.
4.Să se realizeze un program care citește de la tastatură 2 numere de 3 cifre fiecare.
Să se afișeze numărul care conține pe prima poziție prima cifra din primul număr, pe
a doua poziție cea mai mare cifră dintre cele două cifre din mijloc ale celor 2 numere
citite de la tastatură, iar pe ultima poziție media aritmetică a ultimelor 2 cifre al celor
2 numere citite de la tastatură.
5. Să se realizeze două programe care calculează suma numerelor introduse de la
tastatură, atâta timp cât rezultatul este mai mic decât 100. Se va folosi în primul
program bucla while, iar în cel de-al doilea bucla do-while.
6. Să se realizeze un program care calculează C.M.M.D.C a două numere introduse
de la tastatură.
7. Să se scrie un program care citeşte de la tastatură trei numere naturale și determină
diferenţa dintre cel mai mare şi cel mai mic.
8. Se citește de la tastatură un număr natural de maxim 2 cifre. Să se afișeze pe ecran
valori astfel: dacă numărul este mai mic sau egal cu 15 se va afișa pătratul valorii
sale; dacă numărul este cuprins între 16 și 30 (inclusiv) se va afișa suma cifrelor sale;
în caz contrar se va afișa produsul cifrelor sale.

S-ar putea să vă placă și