Informatică Gimnaziu (5-8)

Elemente de logica booleana: operatori AND, OR, NOT

Logica booleana este fundamentul pe care se bazează toate calculatoarele și programele moderne. Ea poartă numele matematicianului George Boole, care a introdus un sistem de logică bazat pe doar două valori: ADEVĂRAT (True, notat cu 1) și FALS (False, notat cu 0). În informatică, aceste valori sunt folosite pentru a lua decizii, a controla fluxul programelor și a construi circuite.

Cei trei operatori de bază sunt AND (ȘI), OR (SAU) și NOT (NU). Operatorul AND produce rezultatul ADEVĂRAT doar dacă ambele expresii de intrare sunt ADEVĂRATE. Altfel, rezultatul este FALS.

De exemplu, afirmația 'Plouă ȘI este frig' este adevărată numai dacă ambele condiții sunt îndeplinite. Operatorul OR produce rezultatul ADEVĂRAT dacă cel puțin una dintre expresii este ADEVĂRATĂ. Afirmația 'Plouă SAU este frig' este adevărată dacă plouă, dacă este frig, sau dacă sunt ambele.

Operatorul NOT este un operator unar (lucrează cu o singură valoare) și inversează valoarea: dacă intrarea este ADEVĂRAT, NOT o face FALS, și invers. De exemplu, NOT 'Plouă' înseamnă 'Nu plouă'. În programare, acești operatori se scriu adesea ca && (AND), || (OR) și ! (NOT) în limbaje precum C, Java sau JavaScript, sau ca and, or, not în Python.

Tabelele de adevăr sunt un instrument excelent pentru a înțelege comportamentul: pentru AND, avem 0 AND 0 = 0, 0 AND 1 = 0, 1 AND 0 = 0, 1 AND 1 = 1; pentru OR, 0 OR 0 = 0, 0 OR 1 = 1, 1 OR 0 = 1, 1 OR 1 = 1; pentru NOT, NOT 0 = 1, NOT 1 = 0. În probleme practice, combinăm acești operatori pentru a crea condiții complexe. De exemplu, pentru a verifica dacă un număr este între 10 și 20 (inclusiv), scriem: (număr >= 10) AND (număr <= 20).

Pentru a verifica dacă un utilizator are acces (admin SAU moderator) ȘI nu este blocat, scriem: (rol == 'admin' OR rol == 'moderator') AND (blocat == False). Înțelegerea acestor operatori este esențială pentru a scrie instrucțiuni condiționale (if, else, while) și pentru a gândi algoritmic. Exersând cu tabele de adevăr și probleme reale, vei stăpâni rapid logica booleană.

Exemple

  • Exemplul 1: Evaluarea unei expresii simple. Fie A = 1 (ADEVĂRAT) și B = 0 (FALS). Calculați: (A AND B) OR (NOT A). Mai întâi, A AND B = 1 AND 0 = 0. Apoi, NOT A = NOT 1 = 0. Acum avem 0 OR 0 = 0. Deci rezultatul final este FALS (0). Observăm cum parantezele schimbă ordinea operațiilor; fără paranteze, NOT s-ar aplica primul, apoi AND, apoi OR, dar în acest caz rezultatul ar fi același pentru că NOT A = 0, iar A AND B = 0, deci 0 AND 0 ar fi 0 – dar este o coincidență. De aceea, folosim paranteze pentru claritate.
  • Exemplul 2: Condiție pentru acces la un joc. Un joc permite accesul dacă jucătorul are vârsta >= 18 SAU are permisiunea părintească (parent_ok = 1). În plus, jucătorul nu trebuie să fie banat (banned = 0). Scriem expresia: (varsta >= 18 OR parent_ok == 1) AND (banned == 0). Dacă varsta = 16, parent_ok = 0, banned = 0, atunci (16>=18) = 0, (0 OR 0) = 0, deci întreaga condiție devine 0 AND 1 = 0 – acces refuzat. Dacă varsta = 20, parent_ok = 0, banned = 0, atunci (20>=18) = 1, (1 OR 0) = 1, apoi 1 AND 1 = 1 – acces permis.
  • Exemplul 3: Verificare paritate și divizibilitate. Fie un număr n = 15. Vrem să verificăm dacă n este par (n % 2 == 0) ȘI divizibil cu 3 (n % 3 == 0). 15 % 2 = 1 (fals), 15 % 3 = 0 (adevărat). Expresia (n % 2 == 0) AND (n % 3 == 0) devine 0 AND 1 = 0 – fals. Dacă n = 12, atunci (12%2==0)=1, (12%3==0)=1, deci 1 AND 1 = 1 – adevărat. Putem combina și cu NOT: 'n NU este par SAU n este divizibil cu 5' – (NOT (n%2==0)) OR (n%5==0). Pentru n=15, NOT(0) = 1, 15%5==0=1, deci 1 OR 1 = 1 – adevărat.

Concepte cheie: Valori booleene: 0 (Fals) și 1 (Adevărat), Operatorul AND (ȘI) – rezultat adevărat doar dacă ambele intrări sunt adevărate, Operatorul OR (SAU) – rezultat adevărat dacă cel puțin o intrare este adevărată, Operatorul NOT (NU) – inversează valoarea booleană, Tabele de adevăr pentru fiecare operator, Ordinea operațiilor și utilizarea parantezelor pentru claritate, Aplicarea în condiții din programare (if, while)

Vrei exerciții pe lecția asta + AI care te ajută pas cu pas?
Cont gratuit — 20 întrebări AI/zi, exerciții nelimitate.

Creează cont