1. Ce este o conditie (expresie logica)?
True) sau fals (False). Aceste valori se numesc valori booleene.
"Afara ploua?" are mereu un raspuns DA sau NU. La fel, "varsta este cel putin 18?" da mereu adevarat sau fals, niciodata "poate".
In cod, scriem conditii cu operatori relationali. Iata cum sunt evaluate cateva, cu valoarea x = 10:
# x are valoarea 10; afisam rezultatul fiecarei conditii x = 10 print(x == 10) # egal cu 10? print(x != 5) # diferit de 5? print(x > 20) # mai mare ca 20? print(x <= 10) # mai mic sau egal cu 10?
Iesire (rulat real cu Python):
True
True
False
True
Un singur = inseamna atribuire (pune o valoare intr-o variabila). Dublu == inseamna comparatie (verifica egalitatea). Intr-o conditie folosim mereu ==.
2. Instructiunea if simpla in Python
In Python, sintaxa este: cuvantul if, conditia, apoi :, iar dedesubt blocul indentat (de obicei 4 spatii) care se executa cand conditia e adevarata.
if conditie: # bloc executat DOAR daca "conditie" este True instructiune_1 instructiune_2
Exemplu concret: un elev cu nota 7.
nota = 7 if nota >= 5: print("Ai promovat!") print("Sfarsit program")
Iesire (rulat real cu Python):
Ai promovat!
Sfarsit program
In Python, indentarea NU este decor - ea decide ce instructiuni fac parte din if. print("Ai promovat!") este indentat, deci apartine lui if. print("Sfarsit program") nu este indentat, deci se executa mereu, indiferent de nota.
3. Cand conditia este falsa: urmarirea executiei
Sa schimbam exemplul: acum conditia este falsa.
varsta = 16 if varsta >= 18: print("Esti major.") print("Verificare terminata.")
Iesire (rulat real cu Python):
Verificare terminata.
Pas cu pas:
varsta = 16- variabila primeste valoarea 1616 >= 18esteFalse- blocul indentat (print("Esti major.")) este saritprint("Verificare terminata.")nu apartine luiif, deci se executa - se afiseaza acel rand
Operatorul % da restul impartirii. Un numar e par daca restul impartirii la 2 este 0: n % 2 == 0.
n = 12 if n % 2 == 0: print(n, "este par")
Iesire (rulat real cu Python):
12 este par
4. Conditii compuse cu and si or
and(SI logic) - adevarat doar daca ambele conditii sunt adevarateor(SAU logic) - adevarat daca cel putin una dintre conditii este adevarata
Exemplu: un elev are situatie buna daca are nota de trecere SI putine absente.
nota = 8 absente = 3 if nota >= 5 and absente < 10: print("Situatie buna: promovat si fara probleme de absente.")
Iesire (rulat real cu Python):
Situatie buna: promovat si fara probleme de absente.
Aici 8 >= 5 este adevarat si 3 < 10 este adevarat, deci and da adevarat si mesajul se afiseaza. Daca una singura ar fi falsa (de ex. absente = 12), intreaga conditie ar fi falsa si nu s-ar afisa nimic.
True and True = True; in rest and da False.
False or False = False; in rest or da True.
5. Aceeasi decizie in C++ EXCLUSIV INTENSIV
if, dar: conditia se pune intre paranteze rotunde ( ), iar blocul se delimiteaza cu acolade { } (nu prin indentare).
#include <iostream> using namespace std; int main() { int nota = 7; if (nota >= 5) { cout << "Ai promovat!" << endl; } cout << "Sfarsit program" << endl; return 0; }
Iesire (compilat cu g++ -std=c++17 si rulat real):
Ai promovat!
Sfarsit program
Conditiile compuse folosesc && pentru SI logic si || pentru SAU logic (in loc de and / or din Python):
#include <iostream> using namespace std; int main() { int n = 12; if (n % 2 == 0) { cout << n << " este par" << endl; } int nota = 8, absente = 3; if (nota >= 5 && absente < 10) { cout << "Situatie buna" << endl; } return 0; }
Iesire (compilat cu g++ -std=c++17 si rulat real):
12 este par
Situatie buna
6. Pentru Bacalaureat
- Trasarea codului: ti se da un program cu
ifsi valori, iar tu trebuie sa spui exact ce se afiseaza - Completarea conditiei: ti se da un program incomplet si trebuie sa scrii conditia care produce un anumit comportament
- Verificarea unei proprietati: par/impar, divizibilitate, apartenenta la un interval (de ex.
0 <= x and x <= 100)
Cand trasezi un program, scrie pe ciorna valoarea fiecarei variabile si raspunsul fiecarei conditii (True/False). Asa nu uiti ca un bloc if cu conditie falsa este sarit complet.