Алгоритмический язык PASCAL. Алфавит языка. Идентификаторы. Операции над данными, страница 3

Переменная  ограниченного типа может принимать  не  все  значения своего типа, а только  в  определённом  диапазоне. Такая  возможность предоставляется  не для всех типов, а   толь-ко для  целых и символьных. Переменные  ограниченного   типа   определяются  заданием   min  и  max  значений  диапазона:   1 . . 10,  ’ a ’ . . ’ z ’.

Например: 

TYPE  DAY=( MO, TU, WE, TH, FR, SA, SU );

WORKDAY= MO ..  FR ;

Объявлены      два  типа:

DAY ( Дей )  – дни  недели;

WORKDAY (  воркдей ) – новый   тип   от   MO   до   FR

                                5.3.  Сложные.

5.3.1.  Массивы.

Массивы  -  фиксированное  количество  упорядоченных   однотипных  элементов, снабженных  индексами ( номерами ). Массивы могут быть одномерными, двухмерными  и  много-мерными. Размерность  массива ( число  индексов )  не  огра-ничена.

Для  задания  массивов  используется  слово  ARRAY.                 

TYPE  A: ARRAY [ 1 .. N ]  OF    тип ;

 
 


здесь:   А – имя  массива;

1 .. N – количество  элементов;

тип – тип  элементов  массива.

TYPE   A   : ARRAY [ 1 .. 3, 1 .. 5 ]  OF   INTEGER;

B   : ARRAY [ 1 .. 3 ]  OF  REAL;

Здесь:   А – двухмерный  массив  с  именем  А,  сос-тоящий  из  3  строк  и  5  столбцов;     

B – одномерный  массив  из  3  элементов.

Элементы  массивов  могут  быть  любого  типа, индексы – только  целого  типа.

Доступ  к  элементам  массива  осуществляется  по имени   массива с  указанием  в  квадратных  скобках  значения индекса  или  индексов  элемента:

А1 [ 2 ] ,  A [ 1 , 3 ].

Одному  массиву можно  присвоить  значения  другого  массива, если оба массива идентичны:

VAR  B, C: ARRAY [ 1 . . 5 ]   OF  INTEGER;

Тогда  допустимы  операторы  типа   В=С.

5.3.2.  Множества.

Множества – не упорядоченный ограниченный  набор  эле-ментов одинакового типа, причём  элементы  множества не  дол-жны  повторяться:

2   3   6   8   4.

Тип  множества  определяется  тем, какие элементы оно   включает.  Для задания  множества  используется  слово  SET.

Имя= SEТ  OF  тип;

 
 


C=SET   OF   0 . . 9;

A=SET   OF   ‘ B ’ . .  ‘ Z ‘ ;

При  задании  явных  значений  элементов  множества  они  перечисляются  через  запятую  в  квадратных  скобках:

CONST   D: SET  OF  0 . . 9=[ 0, 6, 4, 2, 8 ];

5.3.3.  Запись.

В  отличие от массивов и множеств  запись включает  ряд  компонент  различных  типов, называемых  полями  записи. Запись  удобно  использовать при  создании  баз  данных:

№№

п/п

Ф.И.О.

Оценки  по  предметам                 

1

2

3

4

Здесь  присутствуют  данные  различных  типов:

№№ п/п  -  целые  числа:

Ф.И.О.    -  массив  символов:

Оценки   -  массив  целых  чисел.

Для  обозначения  записи  используется  слово  RECORD.

с  перечислением  всех  полей  записи  с  указанием  их  типов.

Заканчивается   перечисление   полей   словом   END.

Имя  = RECORD   списки  полей    END; 

 
 


Списки  полей  выглядят  как 

Имя  поля: тип  поля;

Пример:      TYPE   DATA= RECORD

YEAR: INTEGER;

MONTH: 1 . . 12;

DAY: 1 . . 31

END;

Здесь:  тип  ДАТА  РОЖДЕНИЯ,

Поля – ГОД  ( целая ),

МЕСЯЦ ( от  1  до  12 ),

ЧИСЛО ( от  1  до  31 ).

После  описания  записи  можно  задать  константы  и  пе-ременные.  При  задании   констант  поля   записи  записывают-ся  в  круглых  скобках  через ;. Сначала  указывается имя  поля, затем  через  двоеточие – его  значение:

CONST  B: DATA=( YEAR:1972; MONTH:12; DAY:9);

Доступ  к  полям  записи  осуществляется  с  указанием имени  переменной   и  имени  поля  через  точку:

B . YEAR;

5.3.4.Файл.

Файл – последовательность   элементов   одного   типа.  В   отличие   от   массива   длина  файла ( число  элементов ) не  задаётся,  место    элемента   не   обозначено.  Элемент    файла  становится   доступным   после  переборки   всех  предыдущих  элементов. Для   наглядности   можно  представить  бумажный  рулон, на  котором  одно   под   другим  записаны  данные. Читать  их  можно   только  сначала  рулона, перемещаясь   последовательно  от  одного  элемента  к  другому.