Введение в Турбо Паскаль
Перечисляемый тип
Перечисляемый тип задается перечислением тех значений, которые он может получать. Каждое значение именуется некоторым идентификатором и располагается в списке, обрамленном круглыми скобками, например:
Type или без предварительного описания этого типа Colors = (red,white,blue); var col: (black, red, white); Var a:colors;
Применение перечисляемых типов делает программы нагляднее. Если, например, в программе используются данные, связанные с месяцами года, то такой фрагмент программы был бы очень наглядным. (нельзя использовать кириллицу в идентификаторах) Например,
Type typeMonth=(jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec); Var Month:TypeMonth; Begin … if month=aug then writeln (‘Хорошо бы поехать к морю!’); … End.
Все значения перечисляемого типа имеют свой порядковый номер: первое значение в списке получает порядковый номер 0, второе – 1, и т.д. Максимальная мощность (Количество значений в списке называется мощностью) перечисляемого типа составляет 65536 значений.
Использование перечисляемых типов повышает надежность программ благодаря возможности контроля тех значений, которые получают соответствующие переменные. Пусть, например, заданы такие перечисляемые типы: Type Colors=(black, Red, White); Ordenal=(one, two, three); Days=(Monday, Tuesday, Wednesday); С точки зрения мощности и внутреннего представления все три типа эквивалентны:
Ord(black)=0,…, ord(white)=2, Ord(one)=0, …, ord(three)=2, Ord(Monday)=0, …, ord(Wednesday)=2. Если определены переменные
Var Col: colors; Num: ordenal; Day: days; То допустимы операторы col:=red; Num:=succ(two); Day:=pred(Tuesday )
Но недопустимы col:=one; day:=black; Эквивалентны следующие присваивания: col:= one; col:= colors(0); Присваивание col:=0 – недопустимо.
Назад