Основы программирования — Осенний семестр; Михалкович С.С.; 2008; X — различия между версиями

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
(Перечислимый тип)
(Перечислимый тип)
 
(не показана 1 промежуточная версия 1 участника)
Строка 1: Строка 1:
 
[[Категория:Основы программирования]]
 
[[Категория:Основы программирования]]
 +
[[Страница курса Основы программирования|К основной странице курса]]
 
== Перечислимый тип ==
 
== Перечислимый тип ==
 
=== Определение и примеры ===
 
=== Определение и примеры ===
Строка 50: Строка 51:
  
 
== Диапазонный тип ==
 
== Диапазонный тип ==
 +
'''Диапазонный''' тип строится на базе
 +
* целого
 +
* символьного
 +
* или перечислимого типов
 +
 +
''<u>Пример</u>.''
 +
<source lang="Pascal">
 +
type
 +
  Marks = 2..5;
 +
  Digits = '0'..'9';
 +
  Letters = 'a'..'z';
 +
  Summer = Jun..Aug;
 +
</source>

Текущая версия на 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;