Invatare Atomica

Structura alternativa IF: decizia simpla

Progres lectie:
0%
🎯

Obiectivul lectiei

Vei invata cum decide un program intre "fac ceva" si "nu fac nimic", folosind instructiunea de decizie if simpla si conditii construite cu operatori relationali si logici, in Python (limbaj de baza) si C++ (intensiv).

Dupa aceasta lectie vei putea:

  • Sa explici ce este o conditie (expresie logica) si ce valori poate avea: True / False
  • Sa scrii o instructiune if simpla in Python, respectand indentarea
  • Sa folosesti corect operatorii relationali ==, !=, <, <=, >, >= si cei logici and, or
  • Sa urmaresti pas cu pas executia unui program cu if (ce se afiseaza si ce nu)
  • (intensiv) Sa scrii aceeasi decizie in C++ cu sintaxa if (...) { ... }

Incearca singur!

Provocare:

Un program are variabila nota = 7. Scrie in cuvinte (limbaj natural) regula: "DACA nota este cel putin 5, ATUNCI afiseaza Promovat". Apoi gandeste-te ce s-ar afisa daca nota ar fi 4 in loc de 7.

💡 Ai nevoie de un indiciu?

Regula are doua parti: o conditie (nota >= 5) si o actiune care se face DOAR daca acea conditie este adevarata.

Daca nota = 4, conditia 4 >= 5 este falsa, deci actiunea NU se executa - nu se afiseaza nimic. Exact asta face if simplu: ori face actiunea, ori o sare.

1

1. Ce este o conditie (expresie logica)?

O conditie este o expresie care, evaluata de calculator, da intotdeauna una din doua valori: adevarat (True) sau fals (False). Aceste valori se numesc valori booleene.
Exemplu din viata reala:

"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

⚠️ Atentie la = fata de ==

Un singur = inseamna atribuire (pune o valoare intr-o variabila). Dublu == inseamna comparatie (verifica egalitatea). Intr-o conditie folosim mereu ==.

2

2. Instructiunea if simpla in Python

Instructiunea if simpla executa un bloc de cod numai daca o conditie este adevarata. Daca este falsa, blocul este sarit.

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

ℹ️ De ce conteaza indentarea?

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

3. Cand conditia este falsa: urmarirea executiei

A urmari executia (engl. trace) inseamna sa parcurgi codul linie cu linie, ca un calculator, si sa notezi ce se afiseaza. Este o abilitate ceruta la Bacalaureat.

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 16
  • 16 >= 18 este False - blocul indentat (print("Esti major.")) este sarit
  • print("Verificare terminata.") nu apartine lui if, deci se executa - se afiseaza acel rand
Exemplu util: verificarea paritatii

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

4. Conditii compuse cu and si or

Putem combina mai multe conditii cu operatori logici:
  • and (SI logic) - adevarat doar daca ambele conditii sunt adevarate
  • or (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.

ℹ️ Tabel rapid: and vs or

True and True = True; in rest and da False.

False or False = False; in rest or da True.

5

5. Aceeasi decizie in C++ EXCLUSIV INTENSIV

Sectiune exclusiv intensiv: conform programei OMEN 4.350/2025, C++ este al doilea limbaj si se preda numai la specializarea Matematica-Informatica intensiv informatica. La non-intensiv se lucreaza doar cu Python.
In C++, decizia simpla foloseste tot cuvantul 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

6. Pentru Bacalaureat

La Bacalaureat (proba E(d) - Informatica) intalnesti frecvent cerinte legate de decizie:
  • Trasarea codului: ti se da un program cu if si 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)
ℹ️ Sfat de examen

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.

Exercitii practice

Exercitiul 1 (Nivel minim) - Trasare

Pentru codul de mai jos, scrie exact ce se afiseaza pe ecran:

x = 4
if x > 10:
    print("mare")
print("gata")

Exercitiul 2 (Nivel standard) - Scrie conditia

Scrie un program Python care citeste un numar in variabila n (foloseste n = int(input())) si afiseaza mesajul "divizibil cu 3" doar daca n se imparte exact la 3. Indiciu: restul impartirii la 3 trebuie sa fie 0.

Exercitiul 3 (Nivel performanta) - Conditie compusa

Scrie un program care, pentru o variabila varsta, afiseaza "adolescent" daca varsta este intre 13 si 19 inclusiv (foloseste o conditie cu and). Pentru intensiv: scrie acelasi program si in C++, folosind && si acolade.

Ce ai invatat astazi

  • O conditie este o expresie logica ce da True sau False
  • Operatorii relationali: ==, !=, <, <=, >, >= (atentie: = atribuie, == compara)
  • Instructiunea if simpla executa blocul indentat doar cand conditia e adevarata; altfel il sare
  • Conditii compuse cu and (ambele) si or (cel putin una)
  • (intensiv) In C++: if (conditie) { ... }, cu && si || pentru logica

Urmatoarea lectie

Continua cu IF-ELSE-IF si decizii multiple: ce facem cand conditia este falsa si cum tratam mai multe cazuri.

Continua →