Teorie: Instrucțiunea IF
Instrucțiuni decizionale (if, switch) și repetitive (for, while, do-while). Controlul fluxului de execuție.
Instrucțiunea decizională IF
În limbajul C++, instrucțiunea if este folosită pentru a testa o condiție (o expresie logică). Dacă acea condiție este adevărată (diferită de zero), se va executa un bloc de cod, altfel se poate executa un alt bloc de cod prin intermediul clauzei else.
1. Sintaxa de bază
if (condiție) {
// instrucțiuni care se execută dacă condiția este ADEVĂRATĂ
} else {
// instrucțiuni care se execută dacă condiția este FALSĂ
}Ramura else este opțională. Dacă nu avem nevoie de ea, putem scrie simplu doar if (conditie) { ... }. De asemenea, dacă avem o singură instrucțiune în corpul lui if sau else, acoladele {} pot lipsi, deși este o bună practică să le includem mereu.
int nota = 8;
if (nota >= 5) {
cout << "Promovat";
} else {
cout << "Nepromovat";
}2. Structuri decizionale înlănțuite (if-else if)
Când avem mai multe posibilități distincte, putem folosi structura else if. Se va executa primul bloc a cărui condiție este adevărată, iar restul vor fi ignorate.
int numar = 0;
if (numar > 0) {
cout << "Pozitiv";
} else if (numar < 0) {
cout << "Negativ";
} else {
cout << "Zero";
}Capcană la Bacalaureat
Cea mai comună greșeală în scrierea condițiilor este confundarea operatorului de egalitate == cu operatorul de atribuire =. Această greșeală este adesea testată în grile!
int x = 5;
// GREȘIT: aicea îi atribuim lui x valoarea 0, iar expresia evaluează la 0 (fals).
if (x = 0) { ... }
// CORECT: verificăm dacă x este egal cu 0.
if (x == 0) { ... }