Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Pascal / Delphi / Лекции по Turbo Pascal [12].pdf
Скачиваний:
108
Добавлен:
02.05.2014
Размер:
1.06 Mб
Скачать

Одесский колледж компьютерных технологий “СЕРВЕР”

Например, Pred(‘h’)=’g’.

Ограниченные и перечислимые типы.

Иногда удобно использовать переменную, принимающую значения только в интервале, например, от 5 до 43. Если же она примет значение 45, то это должно быть ошибкой. Если описать эту переменную как integer, то об ошибке в программе не будет сообщено, но будут получены неверные результаты. «Выловить» их источник будет крайне тяжело. В таком случае удобно использовать ограниченный тип.

Ограниченный тип - это тип, действующий в некотором интервале. Описание ограниченного типа следующее:

type <имя типа> = <начальное значение> .. <конечное значение>; Например, интервал [5,43] описывается так:

type Interv = 5 .. 43;

Переменная типа Interv может принимать значения от 5 до 43. При попытке присвоить ей значение, выходящее за границы этого промежутка, поя-

вится сообщение об ошибке: «Subscript out of range».

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

type MyLetters = ‘c’ .. ‘r’;

Переменная типа MyLetters может принимать значения символов от ‘c’

до ‘r’.

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

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

Перечислимые типы введены в язык, чтобы повысить читаемость программы. Конечно, вы знаете, что делают ваши операторы, но кто-то другой - нет. Скажем, вы пишете программу управления светофором и хотите описать в ней красный, жёлтый и зелёный цвета. Вы можете присвоить каждому цвету номер (пусть цвет – это целочисленная переменная cv), например, 1 - красный, 2 - жёлтый, 3 - зелёный. А затем сказать в своей программе: if cv=3 then TurnLightGo. Это выглядит естественно, не так ли? Но что делать бедному программисту, который должен будет внести изменения в вашу программу после того, как вы стали знамениты и перестали ею заниматься? Выходом из положения являются перечислимые типы. Они позволяют явно задать значения. Например, можно было описать тип:

type Lights=(Red,Yellow,Green);

var

38