Основы программирования — Осенний семестр; Михалкович С.С.; 2008; X — различия между версиями
Материал из Вики ИТ мехмата ЮФУ
Juliet (обсуждение | вклад) (→Диапазонный тип) |
Admin (обсуждение | вклад) (→Перечислимый тип) |
||
Строка 1: | Строка 1: | ||
[[Категория:Основы программирования]] | [[Категория:Основы программирования]] | ||
+ | [[Страница курса Основы программирования|К основной странице курса]] | ||
== Перечислимый тип == | == Перечислимый тип == | ||
=== Определение и примеры === | === Определение и примеры === |
Текущая версия на 08:17, 2 сентября 2013
Содержание
Перечислимый тип
Определение и примеры
- Тип, задаваемый перечислением значений, называется перечислимым.
Пример 1.
type
/// Дни
Days = (Mon, Tue, Wen, Thi, Fri, Sat, Sun);
/// Месяцы
Months = (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);
var
d: Days;
m: Months;
begin
d := Tue;
m := Months.May;
end.
Переменные перечислимого типа хранятся в памяти, как целые числа. Первому значению соответствует 0, второму — 1, и т.д.
Замечание. Все имена из определения перечислимого типа помещаются в текущее пространство имен.
Переменная перечислимого типа может служить параметром цикла for, а также переключателем в операторе case.
Пример 2.
for m: Months := Jan to Dec do
case m of
Jan: writeln('Январь: 31');
Feb: writeln('Февраль: 28 или 29');
else writeln('Забыл');
end;
Стандартные подпрограммы для работы с перечислимым типом
Succ(<переменная>) Возвращает следующее значение перечислимого типа Pred(<переменная>) Возвращает предыдущее значение перечислимого типа Ord(<переменная>) Возвращает порядковый номер значения перечислимого типа
Замечание. Тип boolean = (False, True)
Если не инициализировать глобальную переменную перечислимого типа, то по умолчанию она получает значение первой константы типа.
Диапазонный тип
Диапазонный тип строится на базе
- целого
- символьного
- или перечислимого типов
Пример.
type
Marks = 2..5;
Digits = '0'..'9';
Letters = 'a'..'z';
Summer = Jun..Aug;