Как и другие языки программирования, Паскаль интерпретирует данные как константы и переменные. Они определяются идентификаторами (именами), по которым к ним можно обращаться в программе.
Константами называются элементы данных, значения которых установлены в описательной части программы и в процессе выполнения программы не изменяются. Для определения значений констант служит зарезервированное слово CONST:
CONST_идентификатор=значение константы;
Пример 2.
CONST а=2.2; s=3;
Переменные в отличие от констант могут в процессе выполнения программы менять свои значения.
Каждая переменная и константа в программе принадлежит к определенному типу данных. Тип констант автоматически распознается компилятором без предварительного описания. Тип переменных должен быть обязательно (в отличие от ТВ) описан в разделе описания типов данных (см. структуру программы). Для описания переменных служит команда:
VAR_идентификатор : тип;
Пример 3.
VAR n, I, j: integer; x, z: real;
Типпеременной или константы – это множество значений, которые могут принимать объекты этой программы, и совокупность операций, допустимых над этими значениями.
Классификация типов данных представлена на рис.1.
Рис.1. Классификация типов данных.
Целочисленныетипы данных (см табл.1)представляют собой значения, которые могут использоваться в арифметических выражениях.
Вещественные типы данных (см табл. 2) представляют собой вещественные значения, которые используются в арифметических выражениях. Паскаль допускает представление вещественных значений как с плавающей, так и с фиксированной точкой.
Литерный (символьный) тип определяется множеством значений кодовой таблицы персонального компьютера. В программе значения переменных и констант типа char должны быть заключены в апострофы.
Булевский тип (boolean) представлен двумя значениями True (истина) и False (ложь) и используется в логических выражениях и выражениях отношения.
Пользовательские типы данных определяются программистом и могут быть перечисляемого и интервального типа. Этот тип данных в методических указаниях не рассматривается.
Структурированные типы данных определяют упорядоченную совокупность скалярных переменных и характеризуются типом своих компонентов. К структурированным типам относятся строки, массивы, записи, множества и файлы.
Строка – это последовательность символов кодовой таблицы ЭВМ. При использовании в выражении строка заключается в апострофы. Над строковыми данными (string) допустимы операции сцепления (+) и операции отношения (=, <>, <, >, >=, <=).
Массив – это структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип. Элементами массива могут быть данные любого типа, число элементов массива фиксируется при описании и в процессе выполнения программы не может быть изменено. Доступ к каждому элементу массива осуществляется также как и в ТВ путем индексирования элементов массива, только в Паскале индексы элемента массива записываются в квадратных скобках. Ввод и вывод элементов массива производится поэлементно, обычно для этой процедуры используются циклы.
Для описания массива предназначено словосочетание ARRAY OF. Описать массив можно в разделе описания переменных или в разделе описания типов данных, используя следующие операторы:
1) TYPE_имя типа=ARRAY[тип индекса]_OF_тип элементов массива;
2) VAR_имя массива1[, имя массива2…]:имя типа;
Пример 4. а) Описание массивов в разделе описания типов данных (задаются одномерные массивы из пяти элементов вещественного типа с именами m1, rez).
TYPE mass=array [1..5]of real;
VAR m1, rez: mass;
б) Описание массива в разделе описания переменных.
VAR matrix: array [1..5,1..7] of integer;
Множество – это структурированный тип данных, представляющий набор взаимосвязанных по какому-либо признаку или группе признаков объектов, которые можно рассматривать как единое целое. Все элементы множества должны принадлежать к одному из скалярных типов, кроме вещественного. Для описания множественного типа используется словосочетание SET OF, описание аналогично описанию массива. При работе с множествами допускается применение операций отношения (=,<>,>=,<=), объединения (+), пересечения (*), разности множеств (-) и операции in, которая используется для проверки принадлежности какого-либо значения указанному множеству. Результатом выполнения этих операций является значение TRUE или FALSE.
Пример 5. Задание множества.
VAR nomer: SET OF (1, 2, 3, 4, 5);
Chetn: SET OF (2, 4);
Записи – структурированный тип данных, состоящий из фиксированного числа компонентов одного или нескольких типов. Определение типа записи имеет формат:
Доступ к полям записи осуществляется с помощью идентификатора переменной типа запись и идентификатора поля, разделенных точкой.
Пример 6. Запись типа ZAPIC содержит три компонента: номер, фамилию и имя. Доступ к полям записи осуществляется через переменную SPICOK типа запись и массив TABL, состоящим из записей.
TYPE ZAPIC= RECORD nomer: integer;
famil: string[20];
Imya:string[20];
END;
VAR: SPICOK: ZAPIC; TABL: ARRAY [1.. 25] OF ZAPIC;
BEGIN
READ(SPICOK.NOMER, SPICOK.FAMIL, SPICOK.IMYA);
Файл - поименованная совокупность данных, расположенная во внешней памяти. В Паскале существуют три типа файлов: типизированные (файлы строго определенного типа, их содержимое рассматривается как последовательность записей определенного типа), текстовые (можно рассматривать как последовательность символов, разбитую на строки) и нетипизированные (рассматриваются как совокупность символов или байтов). Для создания каждого из этих типов файлов используются соответствующие служебные слова. В методических указаниях рассмотрена работа только с текстовыми файлами в разделе 4.4.
Необходимо быть очень внимательными и аккуратными при объявлении типов переменных. Совместимость типов играет важнейшую роль в выражениях, операциях сравнения и в операторах присваивания.