Подручја рада
Претрага
14. Изрази и наредбе

Уводни део часа :
1. Које наредбе постоје у PASCAL - у ?
2. Како се извршавају наредбе ?
-------------------------------------------------------------------------------------------------------------------
Главни део часа :

Изрази у PASCAL - у користе се за израчунавање неке вредности на основу задате формуле.
Употребом оператора и стандардних функција може се сваки математички израз написати и у PASCAL - у.
Сваки израз се састоји од операнада повезаних оператором.
У следећем примеру : a+b*c-d променљиве a,b,c и d представљају операнде, а +, * и - операторе.
Поред променљивих, операнди могу бити и константе и функције : a+2*sqr(b).
У наведеном изразу операнди су : a - променљива, 2 - константа и sqr - стандардна функција.

Према типу података и оператора изрази могу бити аритиметички, логички и знаковни.

Када у изразу имамо више различитих оператора, потребно је одредити редослед њиховог извршавања односно приоритет сваког оператора.
Оператори вишег приоритета се извршавају пре оператора нижег приоритета ( као у математици - сабирање и множење, нпр.).
У PASCAL - у важи следећи приоритет оператора :

not                                     4. приоритет ( највиши ),
*,/,div,mod,and                    3. приоритет,
+,-,or                                  2. приоритет и
=, <, >, <>, >=, <=              1. приоритет ( најнижи ).

Највиши приоритет има операција not, а најмањи приоритет релацијски оператори.
Оператори истог приоритета извршавају се с лева на десно, један за другим.

У примеру : 10 div 5*3 прво се извршава оператор целобројног дељења div ( 10 div 5 = 2 ), а затим оператор множења * ( 2*3 = 6 ).


Редослед извршавања оператора може се променити употребом заграда :10 div (5*3) тако да се прво извршава множење, а затим целобројно дељење.

Вредност израза је 0.


Изрази логичког типа као резултат дају логичке вредности.

Добијају се применом логичких оператора над константама и променљивима логичког типа или применом релацијских оператора над подацима истог типа :

false and true or false          {false}

3<=5            {true}

'a' < 'b' {true}

Према приоритету, прво ће се извршити операција and ( false and true = false ), а затим операција or ( false or false = false ).

У друга два случаја резултат поређења је тачно ( true ).

Израчунати вредности израза :
1. 5*2 + 4*3
2. 193 mod 19 div 3*127
3. 7 + 3 <= 10
4. 15 mod 7 = 15 div 5 - 1
5. Odd ( trunc ( 10*0.182 )