В этой главе были рассмотрены порядковые типы данных Паскаля. Операции, которые могут быть применены к каждому типу, обобщены в следующей таблице.
Оператор
Операция
Функциональность
NOT
инверсия
логический -> логический
AND
коньюнкция
логический x логический
OR
дизъюнкция
=
эквивалентность
порядковый x порядковый -> логический
<>
неравенство
<
меньше
<=
меньше или равно
>
больше
>=
больше или равно
+
унарный плюс
целый -> целый
-
унарный минус
+
бинарное сложение
целый x целый -> целый
-
бинарное вычитание
*
умножение
DIV
целочисленное деление
MOD
остаток от деления
Каждый порядковый тип используется по-своему. Переменные типа BOOLEAN могут быть использованы для хранения сложных условий для дальнейшего использования. Переменные типа INTEGER позволяют легко выполнять подсчет при условии, что выполняется ограничение [-MAXINT, MAXINT]. Перечислимые типы хороши, когда нужно зафиксировать небольшой набор значений, каждое со своим мнемоническим именем. Типы диапазоны позволяют программисту объявлять границы их значений, чтобы они проверялись автоматически.
Методы анализа, использованные в CF Pascal, расширены до использования с порядковыми типами без изменений.
Структура программ в D Pascal
Программы в D Pascal могут включать разделы определяющие константы и типы для использования в программе. Они также могут определять и использовать функции примерно в таким же способом, как и процедуры. Они могут обрабатывать файлы, которые созданы иными программами, или готовить файлы для других программ. Эти возможности создают удобство использования и являются вкладом в хороший стиль программирования документированием и локализацией значения программ.
Программы CF Pascal состоят из заголовка, объявления переменных, объявления процедур и тела программы. D Pascal богаче чем CF Pascal и содержит дополнительные возможности как внешние файлы, константы, типы и функции, и это отражает его структура программы. В D Pascal <заголовок программы> и <блок> могут содержать больше элементов, чем в CF Pascal. Синтаксис D Pascal следующий:
<программа> ::= <заголовок программы>; <блок>.
<заголовок программы> ::= PROGRAM <идентификатор> (<список идентификаторов>);
Порядок этих частей очень жесткий, но он легко запоминается из требования Паскаля объявлять идентификаторы до использования. Идентификаторы констант, которые объявляются в разделе объявлений констант и могут быть использованы в объявлении диапазонов в разделе объявления типов, объявляются перед типами. Аналогично, объявления переменных должны появиться до использования переменных в процедурах, а процедуры должны быть объявлены до того как они могут быть вызваны в операторе BEGIN.