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