Dr inż. Robert Wójcik
E-mail: wojcik@ict.pwr.wroc.pl
Języki i metody programowania
3. Operatory i wyrażenia
Podstawowe definicje
Rodzaje i priorytety operatorów
Konstrukcja i obliczanie wyrażeń
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 + 3∗7; 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, |
rzeczywisty, |
ArcTan |
arcus tangens |
Rzeczywisty, |
rzeczywisty |
Cos |
cosinus |
Rzeczywisty, |
rzeczywisty |
Exp |
e do potęgi |
Rzeczywisty, |
rzeczywisty |
Frac |
część ułamkowa |
Rzeczywisty, |
rzeczywisty |
Int |
część całkowita |
Rzeczywisty, |
rzeczywisty |
Ln |
logarytm naturalny |
Rzeczywisty, |
rzeczywisty |
Pi |
3.1415926536 |
nie ma |
rzeczywisty |
Round |
zaokrąglenie do |
Rzeczywisty |
Longint |
Sin |
sinus |
Rzeczywisty, |
rzeczywisty |
Sqr |
kwadrat |
Rzeczywisty, |
rzeczywisty, |
Sqrt |
pierwiastek |
Rzeczywisty, |
rzeczywisty |
Trunc |
część całkowita |
rzeczywisty |
longint |