РАЗДЕЛ ОПИСАНИЯ КОНСТАНТ
В Turbo Pascal описываются все именованные константы, значения которых в ходе выполнения программы постоянны.
Для описания констант используется ключевое слово CONST, имя константы, знак = равенства и значение константы:
Const < имя 1> = < значение 1>;
< имя 2> = < значение 2>;
.......................
< имя N> = < значение N>;
Допускается использовать константные выражения, состоящие из констант описанных ранее, в правой части описания констант. В константных выражениях разрешается использовать стандартные функции.
Пример описания констант:
const A=‘студент’; Sbol=true; revu=9.82; T_k=273;
РАЗДЕЛ ОПИСАНИЯ ТИПОВ
В разделе описания типов программист с целью упрощения программы может задавать свои нестандартные типы, явно описываемые в программе, сформированные на основе определенных правил и с использованием стандартных типов. Раздел описания типов начинается с зарезервированного слова Type, за которым следуют одно или несколько определений типов, разделенных точкой с запятой “; “.
Общая форма описания новых типов:
TYPE <имя типа1>:<определение типа1>;
<имя типа2>:<определение типа2>;
...............................
<имя типа N>:<определение типа N>;
ТИП “ПЕРЕЧИСЛЕНИЕ”
Перечисляемый тип задается непосредственным перечислением всех значений, которые может принимать переменная данного типа. Отдельные значения указываются через запятую, а весь список заключается в круглые скобки.
Формат описания типа “ ПЕРЕЧИСЛЕНИЕ ”:
TYPE <имя типа> = (< знач1>,<знач2>,...,<значN>);
В основе типа перечисления лежит идея дать программисту возможность обращаться с элементами данных, используя их названия. Описание типа “перечисление” вводит упорядочение его значений, считается, что нумерация значений в типе начинается с нуля. В двух разных перечислениях не должно быть одного общего элемента. Значения перечисляемого типа нельзя вводить и выводить непосредственно операторами Read и Write.
Пример: type animals = (cat, dog, horse, cow);
month = (january, februaty, march, april, may, june, july, august, september, october, november, december);
ТИП “ДИАПАЗОН”
Интервальный тип позволяет задавать две константы, определяющие границы диапазона значений для данной переменной. Компилятор при каждой операции с переменной интервального типа генерирует подпрограмму проверки, определяющие, остается ли значение переменной внутри установленного для нее диапазона значений.
Формат описания типа “ диапазон ” имеет вид:
TYPE <имя типа> = Min.. Max;
Здесь Min, Max - константы, определяющие левую и правую границы значений, которые могут принимать переменные типа “диапазон”. Тип констант Min, Max называется базовым относительно типа “диапазон”. Базовый тип должен принадлежать одному из стандартных типов, кроме вещественного (real - недопустим). Значение первой константы базисного типа должно быть меньше второй.
Пример: type days = 1..31; temperature = 1..100;
ТИП “МАССИВ”
Массив - это упорядоченная совокупность однотипных элементов. Тип “массив” вводится при помощи ключевого слова ARRAY:
TYPE
<имя типа> = array[1..n,1..m,...,1..k] of <тип элементов>;
здесь n, m, k - размерность (число индексов) массива. В Turbo Pascal размерность массивов не ограничена.
Пример: type vector = array[1..50] of real;
massiv = array[1..20,1..25] of string;
nomer = array[1..100] of integer;
datau = array[1..10,1..20,1..30] of char;
ТИП “СТРОКА”
Существует стандартный тип “строка” STRING во многом похожий на тип массивов символов.
Строка - это последовательность символов кодовой таблицы ПЭВМ. При использовании в выражениях строка заключается в апострофы. количество символов в строке (длина строки) может динамически меняться от 0 до 255 символов. Для определения данных строкового типа используется служебное слово string, за которым следует заключенное в квадратные скобки значение максимально допустимой длины строки данного типа. Если это значение не указывается, то по умолчанию длина строки равна 255 байт.
TYPE
<имя типа>=string[< максимальная длина строка];
Пример: type name = string[30];
phone = string[ 7];
Тип “Запись”
Запись - это совокупность элементов различных типов. Структурированный тип данных запись объявляется с помощью служебного слова RECORD.
Формат:
Type <имя типа> = record
<имя поля1>:<тип поля1>;
<имя поля2>:<тип поля2>;
.......................
<имя поля n>:<тип поля n>;
<вариантная часть>;
End;
Здесь вариантная часть - это конструкция следующего типа:
CASE <селектор> of
<знач.1>:(<имя поля1>:<тип поля1>,..., <имя поля n>:<тип поляn>,);
<знач.2>:(<имя поля1>:<тип поля1>,..., <имя поля n>:<тип поляn>,);
<знач.m>:(<имя поля1>:<тип поля1>,..., <имя поля n>:<тип поляn>,);
Индивидуальные элементы данных образующих запись, называются полями или компонентами записи. Компонента записи находится по имени записи и имени поля разделенной точкой.
Тип “Множество”
Множество - это произвольный набор объектов произвольной природы. Множества не упорядочены. Количество элементов множества может меняться в отличии от записей и массивов.
Описание типа “множество” осуществляется с использованием служебное словосочетание SET OF (множество из...)
Формат:
TYPE <имя> = SET OF <базисный тип >;
TYPE <имя> = SET OF <min>... <max>; { диапазон}
TYPE <имя> = SET OF (< знач1>,<знач2>,...,<значN>); {перечисление}
При определении множества существуют следующие ограничения:
¾ базисный тип может быть любой простой тип, за исключением вещественного real;
¾ максимальное число символов 256;
¾ значения элементов из базисного типа integer должны принадлежать множеству 0... 255;
Множества вычисляются через выражения над множествами, состоящих из констант, переменных и операций. Константы из множеств - это подмножества некоторых множеств. В выражениях на языке Turbo Pascal значения элементов множества указываются в квадратных скобках: [ x, y ], [ x.. y ], [ ]. Если множество не имеет элементов, то оно называется пустым и обозначается [ ].
Существуют следующие операции над множествами:
* пересечение + объединение - разность
= равенство <> неравенство IN принадлежность
<= меньше или равно >= больше или равно