Основные операторы языка
Совместимость и преобразование типов
Логические выражения, выражения отношения
В Паскале есть шесть операций отношения (=, <>, <, >, <=, >=), позволяющих сравнивать между собой результаты арифметических выражений. По обе стороны операции отношения должны быть совместимые по типу выражения.
Логическим называется выражение, составленное из операндов логического типа, скобок и логических операций (Not – отрицание, And – логическое «И», Or – логическое «Или»). В качестве операндов могут быть переменные логического типа или выражения отношения, например, (x>0)And(x<10).
Рассмотрим таблицу истинности логических операций:
X | Y | Not X | X And Y | X Or Y |
Пусть даны две логические переменные x и y.
1 – обозначено True
0 – обозначено False
Приоритет логических операций и операций отношения:
1) Not
2) And
3) Or
4) =, <>, <, >, <=, >=.
Общая таблица приоритета операций:
|
|
1) Not (высший приоритет)
2) *, /, Div, Mod, And
3) +, -, Or
4) =, <>, <, >, <=, >=.
Операции с одинаковым приоритетом выполняются поочередно слева
направо.
Турбо Паскаль – типизированный язык, в котором осуществляется строгое соблюдение соответствия типов данных.
Два типа считаются совместимыми, если:
§ оба они есть один и тот же тип;
§ оба вещественные (любые подтипы вещественного типа);
§ оба целые (любые подтипы целого типа);
§ один – вещественный тип, второй – целочисленный;
§ один – строка, второй – символ.
Особое значение совместимость приобретает в операторах присваивания.
Существует явное и неявное преобразование типов.
При явном преобразовании типов используются функции преобразования, аргументы которых принадлежат одному типу, а результат – другому (Ord, Trunc, Round, Chr).
Неявное преобразование производится в выражениях, составленных из вещественных и целочисленных операндов; последние автоматически преобразуются к вещественному типу, и все выражение приобретает
вещественный тип.
Оператор используется, чтобы явно присвоить переменной результат вычисления выражения.
Формат оператора:
<Имя переменной>:= <Выражение>;
Примеры:
S:=0;
Name:=’Оля’;
S:=S+1;
Выполнение оператора присваивания заключается в следующем: сначала вычисляется результат выражения, затем полученное значение записывается в переменную, имя которой стоит слева от знака присваивания.
Оператор присваивания считается верным, если тип выражения соответствует или может быть приведен к типу переменной слева от знака присваивания.
Переменной вещественного типа можно присвоить выражение вещественного или целочисленного типов. Переменной целочисленного типа можно присвоить значение выражения только целочисленного типа.
|
|
Например, если объявлены следующие переменные
Var
I, n: integer;
D: real;
то операторы присваивания
i:=n/10; – неправильный,
i:=1.0; – неправильный,
d:=i: – правильный.
Если тип выражения не соответствует типу переменной, то компилятор выдает сообщение об ошибке.