Operații aritmetice și logice
Această lecție este dedicată primelor operații pe care le putem face în programare. Nu este nevoie să fi mai făcut informatică înainte. Totul pornește de la lucruri pe care le cunoști deja din viața de zi cu zi și din matematică.
Calculatorul nu „știe” singur ce să facă. El execută doar instrucțiunile pe care i le dăm. Pentru a lucra cu numere și pentru a lua decizii, folosim operatori.
Ce este un operator?
Un operator este un simbol special care îi spune calculatorului ce operație trebuie să facă.
De exemplu:
+îi spune să adune-îi spune să scadă>îi spune să compare două valori
Operații aritmetice
Operațiile aritmetice sunt aceleași operații pe care le folosești și la matematică.
Operatorii aritmetici
+adunare
-scădere
*înmulțire
/împărțire
%restul împărțirii
Exemplu pas cu pas
int a = 10;
int b = 3;Avem două variabile:
aconține valoarea 10bconține valoarea 3
Acum putem face calcule cu ele:
int suma = a + b;Calculatorul:
- ia valoarea lui
a - ia valoarea lui
b - le adună
- pune rezultatul în variabila
suma
Valoarea lui suma va fi 13.
Alte exemple
int diferenta = a - b; // 10 - 3 = 7
int produs = a * b; // 10 * 3 = 30
int cat = a / b; // 10 / 3 = 3
int rest = a % b; // restul împărțirii: 1Împărțirea la numere întregi
Atunci când folosim variabile de tip int,
calculatorul:
- nu păstrează zecimalele
- ia doar partea întreagă a rezultatului
int x = 7 / 2;Valoarea lui x va fi 3, nu
3.5.
Restul împărțirii (%)
Operatorul % este foarte important în
algoritmică.
Exemple:
7 % 2 = 1→ număr impar8 % 2 = 0→ număr par15 % 5 = 0→ se împarte exact
Aplicare
Completați codul de mai jos pentru ca programul să afișeze,
pe linii diferite, suma,
diferența, produsul,
câtul și restul împărțirii a
două numere a și b, în această
ordine.
Operații de comparație
Uneori nu vrem să calculăm un număr, ci să verificăm dacă o condiție este adevărată.
Rezultatul unei comparații este întotdeauna:
true(adevărat)false(fals)
Operatorii de comparație
== egal
!= diferit
< mai mic
> mai mare
<= mai mic sau egal
>= mai mare sau egal
Exemplu explicat
int a = 10;
int b = 5;
bool rezultat = (a > b);Calculatorul verifică: „Este 10 mai mare decât 5?”
Răspunsul este da, deci:
rezultatva fitrue
Atenție foarte importantă
Nu confunda:
=atribuire (punem o valoare într-o variabilă)==comparație (verificăm dacă două valori sunt egale)
a = 5; // atribuim valoarea 5 lui a
a == 5; // verificăm dacă a este egal cu 5Operații logice
Operațiile logice ne ajută să combinăm mai multe condiții.
Operatorii logici
&&și (AND)
||sau (OR)
!nu (NOT)
Operatorul &&
(AND)
Tabelul de adevăr
pentru operatorul &&
| && | 1 | 0 |
|---|---|---|
| 1 | 1 | 0 |
| 0 | 0 | 0 |
int varsta = 12;
bool arePermisiune = true;
bool poateIntra = (varsta >= 10) && arePermisiune;Rezultatul este true doar dacă:
- vârsta este cel puțin 10
- și există permisiune
Dacă una dintre condiții este falsă, rezultatul va fi
false.
Operatorul || (OR)
Tabelul de adevăr
pentru operatorul ||
| || | 1 | 0 |
|---|---|---|
| 1 | 1 | 1 |
| 0 | 1 | 0 |
bool esteWeekend = true;
bool esteVacanta = false;
bool timpLiber = esteWeekend || esteVacanta;Rezultatul este
truedacă: - este weekend - sau - este vacanță
Este suficient ca o singură condiție să fie adevărată.
Operatorul ! (NOT)
Operatorul ! se citește „nu” și
este folosit pentru a obține opusul unei valori
logice.
Pe scurt: - !true devine false -
!false devine true
Calculatorul nu interpretează sensul cuvintelor, ci doar aplică această regulă simplă.
Exemplu pas cu pas
bool ploua = false;
bool iesAfara = !ploua;Să analizăm cu atenție ce se întâmplă:
Variabila
plouaare valoareafalse
(înseamnă că nu plouă).Scriem
!ploua, adică
„nu plouă” → adevărat.Calculatorul inversează valoarea:
falsedevinetrue
Valoarea
trueeste salvată în variabilaiesAfara.
La final:
ploua=falseiesAfara=true
Un alt exemplu explicat
bool usaInchisa = true;
bool potIntra = !usaInchisa;Interpretare:
usaInchisaestetrue(ușa este închisă)!usaInchisaînseamnă „ușa NU este închisă”- rezultatul devine
false potIntrava fifalse
Cum să te gândești la
operatorul !
Poți să îl vezi ca pe un comutator:
- DA ↔︎ NU
- DESCHIS ↔︎ ÎNCHIS
- 1 ↔︎ 0
Operatorul ! schimbă întotdeauna starea.
Tabel de adevăr
pentru operatorul !
| A | !A |
|---|---|
| 1 | 0 |
| 0 | 1 |
De reținut
- Operatorul
!inversează o valoare logică. - Se folosește pentru a verifica opusul unei condiții.
- Este foarte util în instrucțiuni de decizie, precum
if.
Greșeli frecvente
1. Confuzia între = și
==
=este atribuire (dă o valoare)==este comparație (verifică dacă sunt egale)
if (a = 5) // GREȘIT: atribuie 5 lui a
if (a == 5) // CORECT: verifică dacă a este 52. Împărțirea întreagă neașteptată
int a = 7, b = 2;
cout << a / b; // afișează 3, nu 3.5Dacă ambii operanzi sunt int, rezultatul este
tot int (fără zecimale).
3. Împărțirea la zero
int a = 5, b = 0;
cout << a / b; // EROARE!Împărțirea la zero oprește programul.
Ce să reții
- Operatorii ne permit să lucrăm cu valori.
- Operațiile aritmetice fac calcule.
- Operațiile de comparație verifică condiții.
- Operațiile logice combină condiții.
- Calculatorul respectă exact regulile pe care i le dăm.