Sunteți pe pagina 1din 3

Expresii i evaluarea expresiilor

Formulele pentru calculul unor valori se reprezint n Pascal


prin expresii. Acestea sunt formate din operanzi ( constante, variabile,
referine de funcii) i operatori (simbolurile operanilor). Operatorii se
clasific dup cum urmeaz:
<Operator multiplicativ>::=*/ div mod and
<Operator aditiv>::=+- or
<Operator relaional>::=< <= = > = ><> in
n componena expresiilor intr factori, termeni i expresii simple.
Factorul poate fi o variabil, o constant fr semn, apelul unei funcii .a.
Mai exact:
<Factor>:: <Variabil> < Constant fr semn > < Apel funcie>
not <Factor> (<Expresie>) <Constructor mulime>









Evaluarea expresiilor

Prin evaluarea unei expresii se nelege calculul valorii ei. Rezultatul furnizat
depinde de valorile operanzilor i de operatorii care acioneaz asupra acestora.
Regulile de evaluare a unei expresii snt cele obinuite n matematic:
operaiile se efectueaz conform prioritii operatorilor;
n cazul prioritilor egale, operaiile se efectueaz de lastnga spre dreapta;
mai nti se calculeaz expresiile dintre paranteze.

Prioritile operatorilor snt indicate n tabelul 3.2.


Categorie Operatori Prioritate
Operatori unitari not Prima ( cea mai mare )
Operatori multiplicativi *,/, div, mod, and A doua
Operatori aditivi +,-, or A treia
Operatori relaionali <,<=,=, >=, >, <>, in A patra (cea mai mic)

Tipul expresiilor PASCAL

n funcie de mulimea valorilor pe care le poate lua, fiecare expresie se
asociaz cu un anumit tip de date. Conform conceptului de dat realizat n limbajul
PASCAL, tipul expresiei deriv (rezult) din tipul operanzilor i operatorilor care
acioneaz asupra acestora. Prin urmare tipul unei expresii poate fi dedus fr a
calcula valoarea ei.
Tipul rezultatelor furnizate de operatori este indicat ntabelul 3.3.
Indiferent de tipul operanzilor, operatorul / (mprirea) furnizeaz numai
rezultate tic tip real, iar operatorii relaionali -numai rezultate de tip boolean.
Pentru a afla tipul unei expresii, factorii, termenii i expresiile simple se
examineaz n ordinea evalurii lor. Tipul fiecrei pri componente se deduce cu
ajutorul tabelelor 3.3 i 3.4
De exemplu, fie expresia:
(x>i) or (6*i<sin (x/y) ) unde i este de tipul integer, iar x i de tipul real.


Tipul rezultatelor furnizate de operatori


Operator Tipul operanzilor Tipul rezultatului
+,-,* integer integer
/ Unul integer altul real Real
Div Integer sau real real
Mod integer integer
Not, and, or boolean boolean

<,<=,=, >=, >, <>,
Tipuri indentice boolean
Tipuri compatibile boolean
Unul integer, altul real boolean

Trimitei prin e-mailPostai pe blog!Distribuii pe TwitterDistribuii pe Facebook