Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСНОВЫ АЛГОРИТМИЗАЦИИ.doc
Скачиваний:
188
Добавлен:
16.03.2015
Размер:
1.82 Mб
Скачать

Варианты заданий

Ряд

Контрольная формула

1

2

3

sinx – cosx + 1

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

6. Перечислимые и ограниченные типы данных

6.1 Перечислимый тип данных

Перечислимый тип данных задаётся списком констант (объектов), которые могут принимать переменные этого типа. Каждый объект имеет своё имя. Числа, логические и символьные константы не могут являться объектами перечислимых типов. Применение перечислимого типа повышает наглядность программы и даёт возможность автоматически контролировать допустимость значений переменных. Перечислимый тип задаётся в виде перечисления в строго определённом порядке и строго ограниченном количестве всех значений, которые могут принимать данные рассматриваемого типа.

Описание перечисляемого типа имеет вид:

TYPE<имя_типа> = (список констант);

VAR<имя_пер> : <имя_типа>;

Например.

TYPE

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

VAR

D1,D2,D3 :DAY;

Переменные D1, D2, D3 типа DAY при выполнении программы могут принимать только одно из семи указанных значений.

Для перечисляемого типа данных существенен порядок указанных объектов, каждая константа имеет свой порядковый номер, счёт начинается с нуля. Упорядоченность констант позволяет применять к ним операции отношения, а также функции PRED, SUCC, ORD, имеющих тот же смысл, что и для стандартных скалярных типов.

Например,

TYPE

COLOR = (RED, BLUE, BLACK);

VAR

C1, C2, C3 : COLOR;

Результатом функции SUCC(RED) является значение BLUE, PRED(BLACK)=BLUE, ORD(BLUE)=1.

Примечание. Непосредственно вводить и выводить на внешние устройства значения перечисляемых типов в языке Паскаль недопустимо.

6.2. Ограниченный тип данных

Множество значений стандартных скалярных типов данных и перечисляемых скалярных типов упорядочено и конечно (кроме вещественного типа).

Если необходимо сузить диапазон значений, принимаемых некоторым объектом скалярного типа, то осуществляется это наложением ограничений на стандартный или перечислимый скалярный тип, называемый в данном случае базовым.

Описание ограниченного типа имеет вид:

TYPE <имя_типа> = константа..константа;

Обе граничные константы должны быть одного типа, в качестве базового типа можно использовать любой простой тип, кроме действительного (REAL). Начальное значение для определения ограниченного типа не должно быть больше конечного. Переменные ограниченного типа должны быть описаны в разделе переменных с помощью имён этих типов.

К переменным ограниченного типа применимы все операции и стандартные функции, допустимые при работе с переменными соответствующего базового скалярного типа.

Например.

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

NOM = 10..25;

SSS = ‘C’..'X';

WD = FR..SU;

Для ограниченного типа NOM базовым является целый тип, для SSS – символьный, для WD – определённый ранее перечислимый тип DAY.

Из примера видно, что для определения ограниченного типа указываются начальное и конечное значения, которые может принимать константа базового типа на этом отрезке, разделённые двумя точками (..).