Sunteți pe pagina 1din 5

Valorile variabilelor interactioneaza intre ele prin operatii.

Simbolurile prin care reprezentam aceste operatii se numesc


operatori. Combinatiile care apar in urma folosirii operatorilor si
variabilelor/constantelor se numesc edexpresii.

Expresii
O expresie poate fi:

o constanta/variabila
o combinatie de tipul operator expresie (cazul operatorilor unari: – a)
o combinatie de tipul expresie operator expresie (cazul operatorilor
binari: a+b )
Operatori
Operatorii folositi in C/C++ sunt:

operatori aritmetici: +,-,*, /, %


A/B reprezinta catul impartirii lui A la B
A%B reprezinta restul impartirii lui A la B
A%10 reprezinta ultima cifra a lui A
A%2 va avea valoarea zero daca A este par si 1 daca A este impar
operatori relationali: <, <=, ==, !=, >=, >
majoritatea operatorilor relationali sunt intuitiv identici cu cei folositi
in matematica; excepti fac == si !=
expr1 == expr2 verifica daca valoarea expresiei din stanga este
aceeasi cu valoarea din dreapta
analog, expr1 != expr2 verifica daca valoarea expresiei din stanga
este diferita de valoarea din dreapta
in toate cazurile raspunsul la intrebari (ex: A este mai mic decat B )
poate fi doar DA sau NU, adicaADEVARAT sau FALS; aceste raspunsuri
se numesc valori logice (valori de adevar)
operatori logici: si logic( && ) , sau logic ( | | ), negare ( ! )
evident raspunsurile la operatorii logici sunt tot valori logice
(Adevarat sau Fals)
operatorul logic SI ( && )
Exemplul Alinei: Imi plac baietii atletici SI glumeti. Aceasta propozitie
poate fi scrisa ca A && B (A =Imi plac baietii atletici si B = Imi plac
baietii glumeti)
posibilitatile care apar sunt:
neatletic, posac=> nu imi place ; raspuns NU (FALS)
neatletic, glumet => nu imi place ; raspuns NU (FALS)
atletic, posac => nu imi place; raspuns NU (FALS)
atletic, glumet => imi place; raspuns DA (ADEVARAT)
observam ca raspunsul este DA (ADEVARAT) numai in cazul cand
ambele proprietati sa indeplinesc ( si atletic si glumet); daca macar o
proprietate nu se indeplineste raspunsul este NU (FALS)
operatorul logic SAU ( || )
Pentru ca Alina nu a gasit ce cauta, a schimbat regula. Exemplul
Alinei: Imi plac baietii atletici SAUglumeti. Aceasta propozitie poate fi
scrisa ca A || B (A =Imi plac baietii atletici si B = Imi plac baietii
glumeti)
posibilitatile care apar sunt:
neatletic, posac=> nu imi place ; raspuns NU (FALS)
neatletic, glumet => imi place; raspuns DA (ADEVARAT)
atletic, posac => imi place; raspuns DA (ADEVARAT)
atletic, glumet => imi place; raspuns DA (ADEVARAT)
observam ca raspunsul este DA (ADEVARAT) daca macar una din
proprietati este adevarata; daca nici una dintre proprietati nu se
indeplineste raspunsul este NU (FALS)
operatorul logic de negare ( ! )
l-am folosit deja pentru != (ne-egalitate)
Exemplul Alinei: Nu iti place?; Aceasta propozitie poate fi scrisa ca !A.
posibilitatile care apar sunt:
Alinei ii place: ! (Adevarat) => FALS
Alinei nu ii place: ! (Fals) => ADEVARAT
Exemple:

Cum scriem A apartine intervalului (- infinit, 7)


Raspuns: A<7
Cum scriem A apartine intervalului [3, infinit)
Raspuns: A>=3
Cum scriem A apartine intervalului [3, 7)
Raspuns: (A>=3) && (A<7)
Cum scriem ca A nu apartine intervalului [3, 7)
Raspuns 1: ! ( (A>=3) && (A<7) )
Raspuns 2: valoarea lui A trebuie sa fie inainte de 3 SAU dupa 7=>
A<3 || A>=7
Din acest ultim exemplu observam ca raspunsurile sunt echivalente
(pentru acelasi A, indiferent de valoarea lui, obtinem acelasi raspuns).
! ( (A>=3) && (A<7) ) echivalent cu A<3 || A>=7.

Echivalentele de acest tip au fost studiate de matematicianul De


Morgan, care a spus ca:

! (A && B) = !A || !B
! (A || B) = !A && !B
Prioritatea operatorilor
Spre deosebire de matematica, in informatica, pentru scrierea
expresiilor se folosesc doar paranteze rotunde. Pentru a evita
folosirea excesiva a parantezelor rotunde trebuie sa stiti prioritatea
operatorilor (ordinea operatiilor):

In ordinea scaderii importantei, operatorii sunt:

! (negare)
*, /, %
+, –
<, <=, >=, >
==, !=
&&
||
Exemplu: la expresia ! (A || B) = (!A) && (!B) nu sunt necesare
parantezele din partea a 2-a deoarece oricum operatorul de negare
se activeaza mai inainte de operatorul &&.

S-ar putea să vă placă și