Тип выражения определяется типом операндов, входящим в выражение и зависит от операций, выполняемых над ними.
Тип константы определяется видом самой константы. Например, константы 4, 9 и -312 целого типа (INTEGER), а 2.0, 0.0, 2.1e-04 - вещественного типа (REAL).
Тип переменной задается в ее объявлении.
Операторы*, +, -. Если хотя бы один операнд имеет тип REAL, то результат имеет тип REAL; если оба операнда типа INTEGER, то результат имеет тип INTEGER.
Оператор/.Результатом всегда является выражение типа REAL.
ОператорыDIV и MOD. Операнды этих операторов всегда должны быть типа INTEGER.
Выполнение инструкции присваивания заключается в следующем: сначала вычисляется результат выражения, находящегося справа от символа присваивания, затем вычисленное значение записывается в переменную, имя которой стоит слева от символа присваивания.
Например, в результате выполнения инструкций:
а) j:= 1; Значение переменной j становится равным 1;
б) d := c + b ; Значением переменной d будет число, равное сумме значений c и b;
в) n := n + 1 ; Значение переменной n увеличивается на 1.
Инструкция присваивания считается верной, если тип выражения соответствует, или может быть приведен к типу переменной. Переменной типа REAL можно присвоить значение выражения типа REAL или INTEGER. Переменной типа INTEGER можно присвоить значение выражения только типа INTEGER.
Например, если переменные i и n типа INTEGER, а d типа REAL, то инструкции
i := n/10 ;
i := 2.0;
неправильные, а инструкция
d := i ;
правильная.
Во время перевода исходной программы в выполняемую компилятор проверяет соответствие типов выражений и переменных. Если тип выражения не соответствует типу переменной, то компилятор выдает сообщение об ошибке.
Константами называются параметры программы, значения которых не меняются в процессе ее выполнения.
В языке Паскаль возможно двоякое использование констант:
* непосредственное использование значения константы;
* использование идентификатора константы.
Задание константы идентификаторами осуществляется в разделе объявления констант, начинающимся зарезервированным словомCONST. В Turbo Pascal имеются две разновидности констант, заданных идентификаторами:
* обычные константы, тип которых определяется их значением;
* типизированные константы, для которых в явном виде указывается их тип.
Обычные константы могут быть целого, вещественного, символьного, логического типа и типа string;
типизированные константы ¾ любого типа, кроме типа файл (или содержащего компоненту типа файл). Для обычных констант используются их имена и значения, разделенные знаком равенства: