User Tools

Site Tools


wiki:sinteza_teorie.4.5

Expresii

Obiectele cu ajutorul cărora lucrează algoritmii
Două tipuri de obiecte:
A. date: constante și variabile
B. expresii: aritmetice și logice(boolene)

Definiție: Expresia reprezintă o combinaţie validă de operatori şi operanzi, ce este folosită în scopul efectuării calculelor. Operanzii sunt valorile care intră în calcul (ei pot fi variabile sau constante), iar operatorii desemnează operaţiile care se execută în cadrul expresiei și sunt reprezentați cu ajutorul unor simboluri.
Exemplu: în expresia x-7, operanzii sunt x și 7, iar operatorul este -.
Observație: Un operand poate fi la rândul său o expresie, caz în care va fi delimitat de paranteze rotunde.
Exemplu: în expresia (x-7)*(y-5), avem operanzii: x-7 și y-5 și operatorul *. Operandul x-7 este la randul său o expresie alcătuită din operanzii: x și 7 și operatorul -, la fel cum și operandul y-5 este alcătuit din operanzii y și 5 și operatorul -.

Expresiile aritmetice efectuează operații matematice și au ca rezultat un număr.
În cadrul acestora sunt folosiți operatorii aritmetici care la rândul lor se împart în:

  • operatori aditivi: + pentru adunare, - pentru scădere
  • operatori multiplicativi: * pentru înmulțire, / pentru împărțire, % pentru restul împărțirii

Observații:
1) a/b returnează rezultate diferite în funcție de tipul variabilelor a și b. Astfel, dacă cel puțin una dintre variabilele a sau b este reală, atunci rezultatul va fi real, iar dacă ambele sunt întregi, atunci a/b va returna câtul împărțirii întregi lui a la b.
2) Operatorul % se poate aplica doar variabilelor de tip întreg.

Prioritatea operatorilor aritmetici (stabilește ordinea în care se execută operațiile): ca și la matematică, operatorii multiplicativi se execută primii, urmați de cei aditivi.

Observații:
1) În cazul în care avem mai mulți operatori de aceeași prioritate, atunci aceștia se vor executa, în ordine, de la stânga la dreapta.
Exemplu:
Fie expresia: 8/4/2*3.
În rezolvarea corectă a acesteia se parcurg următoarele etape: 8/4/2*3=2/2*3=1*3=3.
Dacă am fi tentați să calculăm mai întâi, spre exemplu, împărțirea întreagă 4/2, atunci rezultatul obținut ar fi unul greșit: 8/4/2*3=8/2*3=4*3=12

2) Pentru a schimba prioritatea operatorilor, se pot folosi parantezele rotunde.
Exemplu:
Dacă pentru expresia anterioară dorim ca mai întâi să se realizeze înmulțirea, atunci vom scrie: 8/4/(2*3), iar rezultatul va fi: 8/4/(2*3)=
=8/4/6=2/6=0.

3) În informatică, spre deosebire de matematică, se folosesc doar parantezele rotunde. Așadar o expresie poate să conțină mai multe perechi de paranteze rotunde, caz în care expresia se evaluează dinspre interior spre exterior.
Exemplu:
În expresia ((7-5)*(10+2)-3)*4 se rezolvă mai întâi parantezele (7-5) și (10+2), iar rezultatele lor sunt folosite în continuare în evaluarea expresiei, aceasta devenind: (2*12-3)*4 = 21*4=84.

Expresiile logice(boolene) sunt reprezentări ale uneia sau mai multor condiţii și au ca rezultat o valoare de adevăr: adevărat - condiție îndeplinită sau fals - condiție neîndeplinită.

Observație:
În informatică, pentru “adevărat”, vom folosi valoarea 1, iar pentru “fals” valoarea 0.
Astfel dacă vom fi întrebați: “care dintre următoarele expresii are valoarea 1?”, aceasta va însemna, de fapt, “care dintre următoarele expresii este adevărată?”.

Expresiile logice folosesc două tipuri de operatori: operatori logici și operatori relaționali.
Operatorii logici sunt: și logic (AND), sau logic (OR) și negația logică (NOT)
Operatorii relaționali sunt: >, ≥, <, ≤, ≠, =.
Pentru a putea evalua expresiile în care apar mai multe condiții legate prin operatori logici, este necesar să cunoaștem anumite reguli, cuprinse în următoarele tabele de adevăr:

Tabelul de adevăr pentru și logic (AND):

a b a și b (a AND b)
adevărat adevărat adevărat
adevărat fals fals
fals adevărat fals
fals fals fals

Tabelul de adevăr pentru sau logic (OR):

a b a sau b (a OR b)
adevărat adevărat adevărat
adevărat fals adevărat
fals adevărat adevărat
fals fals fals

Observații:
1) Dacă cel puțin una dintre condițiile a sau b, numite în informatică și propoziții logice, este falsă, atunci și rezultatul expresiei “a și b” este fals.
2) Dacă cel puțin una dintre condițiile a sau b este adevărată, atunci și rezultatul expresiei “a sau b” este adevărat.

Tabelul de adevăr pentru negația logică (NOT):

a NOT a
adevărat fals
fals adevărat

Negația aplicată operatorilor logici și relaționali:

operator NOT operator
>
<
<
>
=
=
AND OR
OR AND

Prioritatea operatorilor logici și relaționali: prima dată se execută negația logică, urmată de operatorii relaționali și ceilalți doi operatori logici AND și OR, în această ordine.
Observație:
Pentru a schimba prioritatea operatorilor, se pot folosi parantezele rotunde.
Exemplu:
Fie expresia: 3<5 sau 7>9 și 10<20
În evaluarea corectă a acesteia se parcurg următoarele etape: (A) sau 7>9 și 10<20 ⇔(A) sau (F) și 10<20 ⇔ (A) sau (F) și (A) ⇔ (A) sau (F) ⇔ (A).
În cazul în care am dori ca mai întâi să se evalueze prima parte a expresiei, atunci aceasta ar trebui scrisă: (3<5 sau 7>9) și 10<20, iar evaluarea sa ar fi: ( (A) sau (F) ) și (A) ⇔ (A)

Prioritatea operatorilor aritmetici, logici și relaționali:

Nivel prioritate Operator
1(cea mai mare prioritate) negație logică (NOT)
2 *, /,%
3 +, -
4 >, ≥, <, ≤, =, ≠
5 și logic (AND)
6(cea mai mică prioritate) sau logic (OR)

În informatică unii operatori sunt reprezentați diferit față de notația cunoscută de la matematică. Astfel corespondența este următoarea:

= → == ≠ → != ≥ → >= ≤ → <= negație logică (NOT) → ! și logic (AND) → && sau logic (OR) → ||
wiki/sinteza_teorie.4.5.txt · Last modified: 2017/08/14 22:42 by craciun.alexandra