Dr inż. Robert Wójcik
E-mail: wojcik@ict.pwr.wroc.pl
Języki i metody programowania
3. Operatory i wyrażenia 3.1. Podstawowe definicje
3.2. Rodzaje i priorytety operatorów 3.3. Konstrukcja i obliczanie wyrażeń
3.4. Wykorzystanie funkcji standardowych w wyrażeniach
3. Operatory i wyrażenia
3.1. Podstawowe definicje
Operatory - określają operacje, które mają być wykonane na zadanych argumentach (operandach) oraz kolejność tych operacji (np. operatory arytmetyczne +, -, , /).
Operatory w języku Pascal dzieli się na jednoargumentowe, np. -arg1, operator (-) i dwuargumentowe, np. arg1+ arg2, operator (+).
Wyrażenie - konstrukcja językowa określająca regułę wyznaczania wartości pewnego typu.
Wyrażenie składa się z:
argumentów,
działających na nich operatorów,
nawiasów okrągłych.
Argumentami wyrażenia są: stałe, zmienne, wartości przyjmowane przez funkcje.
Dla każdego operatora są zdefiniowane jego argumenty oraz jest określony jego priorytet, tj. kolejność wykonywania działań na argumentach.
Priorytet operatorów – określa kolejność wykonywania operacji przez
operatory (uwzględniany jeśli dwa operatory mają wspólny operand, np. y = 2 8 + 37; w tym przypadku 8 jest wspólnym operandem dla i +; wyższy priorytet ma (mnożenie), stąd y = 37).
Np. operatory arytmetyczne (+,-,,/) mają priorytety takie jak w matematyce.
3.2. Rodzaje i priorytety operatorów
Wyróżnia się następujące operatory:
- arytmetyczne (+, -, , /, div, mod), - logiczne (not, and, or, xor, shl, shr), - relacyjne (=, <>, <, >, <=, >=, in), - teoriomnogościowe (+, -, ).
Priorytety operatorów:
najwyższy priorytet ma operator not,
następnie operatory multyplikatywne (, /, div, mod and),
operatory addytywne (+, -, or),
operatory relacyjne (<, <=, <>, =, >, >=, in).
3.3. Konstrukcja i obliczanie wyrażeń
Wyrażenia są budowane w oparciu o stałe, zmienne, operatory, nazwy funkcji i zbiorów oraz nawiasy okrągłe.
Wyrażenia zapisujemy w jednym wierszu, bez opuszczania znaku mnożenia, z wykorzystaniem nawisów zwykłych.
Wartościowanie wyrażenia – wyznaczenie wartości wyrażenia, tj. wykonanie operacji na argumentach zgodnie kolejnością określoną przez nawiasy zwykłe lub priorytet operatorów.
Przykładowe wyrażenia: (a-b)/(c+d); a-c/(d+e); (a+b)/c-d.
Reguły obliczania wartości wyrażeń zawierających operatory:
- wykonywanie obliczeń w kolejności określonej przez nawiasy grupujące;
- w pierwszej kolejności realizacja działań dla operatorów o najwyższym priorytecie;
- w przypadku jednakowego priorytetu operatorów wykonywanie działań od lewej strony do prawej.
3.4. Wykorzystanie funkcji standardowych w wyrażeniach
Budując wyrażenia można korzystać z różnych funkcji standardowych.
WYBRANE FUNKCJE ARYTMETYCZNE
Nazwa Wynik Typ argumentu Typ wyniku
Abs wart. bezwzględna Rzeczywisty, całkowity
rzeczywisty, całkowity ArcTan arcus tangens Rzeczywisty,
całkowity rzeczywisty
Cos cosinus Rzeczywisty,
całkowity rzeczywisty
Exp e do potęgi Rzeczywisty,
całkowity rzeczywisty Frac część ułamkowa Rzeczywisty,
całkowity rzeczywisty Int część całkowita Rzeczywisty,
całkowity rzeczywisty Ln logarytm naturalny Rzeczywisty,
całkowity (>0) rzeczywisty
Pi 3.1415926536 nie ma rzeczywisty
Round zaokrąglenie do najbliższej liczby
całkowitej Rzeczywisty Longint
Sin sinus Rzeczywisty,
całkowity rzeczywisty
Sqr kwadrat Rzeczywisty,
całkowity rzeczywisty, całkowity
Sqrt pierwiastek Rzeczywisty,
całkowity (>0) rzeczywisty Trunc część całkowita rzeczywisty longint