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

Type TDirection = North South Est West; На базе типа TDirection можно объявить переменную Direction и присвоить ей значение: Vr Direction: TDirection; begin Direction := North; end. На самом деле за идентификаторами значений перечисляемого типа стоят целочисленные константы. Соответствие между значениями перечисленного типа и порядковыми номерами этих значений устанавливается порядком перечисления: первое значение в списке получает порядковый номер 0 второе 1 и т.

2014-07-24

15.34 KB

1 чел.


Поделитесь работой в социальных сетях

Если эта работа Вам не подошла внизу страницы есть список похожих работ. Так же Вы можете воспользоваться кнопкой поиск


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

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

Type

 TDirection = (North, South, East, West);

На базе типа TDirection можно объявить переменную Direction и присвоить ей значение:

Var

 Direction: TDirection;

begin

 Direction := North;

end.

На самом деле за идентификаторами значений перечисляемого типа стоят целочисленные константы. По умолчанию, первая константа равна 0, вторая — 1 и т.д. Существует возможность явно назначить значения идентификаторам:

Type

 TSizeUnit = (Byte = 1, Kilobyte = 1024 * Byte, Megabyte = Kilobyte * 1024,

   Gigabyte = Megabyte * 1024);

Перечисляемый тип

Перечисленный тип задается перечислением тех значений, которые он может получать. Каждое значение именуется некоторым идентификатором и располагается в списке, обрамленном круглыми скобками, например:
type
colors = (red, white, blue);

Применение перечисленных типов делает программы нагляднее. Если, например, в программе используются данные, связанные с месяцами года, то такой фрагмент программы:
  type
      типМесяц=(янв,фев,мар,апр,май,июн,июл,авг,сен,окт,ноя,дек);
  var
      месяц : ТипМесяц;
  begin
      if месяц = авг then WriteLn('Хорошо бы поехать к морю!');
  end.
был бы, согласитесь, очень наглядным. Увы! В Турбо Паскале нельзя использовать кириллицу в идентификаторах, поэтому мы вынуждены писать так:
  type
      TypeMonth=(jan,feb,inar,may,jun,jul,aug,sep,oct,nov,dec);
  var
      month: TypeMonth;
  begin
      if month = aug then WriteLn('Хорошо бы поехать к морю!');
  end.

Соответствие между значениями перечисленного типа и порядковыми номерами этих значений устанавливается порядком перечисления: первое значение в списке получает порядковый номер 0, второе — 1 и т. д. Максимальная мощность перечисленного типа составляет 65 536 значений, поэтому фактически перечисленный тип задает некоторое подмножество целого типа WORD и может рассматриваться как компактное объявление сразу группы целочисленных констант со значениями О, 1 и т. д.

Благодаря перечисленным типам повышается надежность программ за счет возможности контроля тех значений, которые получают соответствующие переменные. Пусть, например, заданы такие перечисленные типы:
  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 := black;
      num := succ(two);
      day := pred(tuesday);
но недопустимы
      col := one;
      day := black;

Как уже упоминалось, между значениями перечисленного типа и множеством целых чисел существует однозначное соответствие, задаваемое функци ей ORD ( X ) . В Турбо Паскале допускается и обратное преобразование: любое выражение типа WORD можно преобразовать в значение перечисленного типа, если только значение целочисленного выражения не превышает мощности перечисленного типа. Такое преобразование достигается применением автоматически объявляемой функции с именем перечисленного типа. Например, для рассмотренного выше объявления типов эквивалентны следующие присваивания:
      col := one;
      col := colors(0);

Разумеется, присваивание
      col := 0;
будет недопустимым.

Переменные любого перечисленного типа можно объявлять без предварительного описания этого типа, например:
  var
      col: (black, white, green);

Определить i-интервал, образованный нотами n1 и n2 (они между собой не равны),секунда это интервал из двух соседних,по кругу нот,терция-интервал через ноту и т.д.

вот я составил код

Код Pascal

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

type nota=(doo,re,mi,fa,sol,lya,si);

     interval=(second,terchiya,kvarta,kvinta,seksta,septima);

var n1,n2:nota;

    i:interval;

Begin

writeln('vvedite 1 notu');

readln(n1);

writeln('vvedite 2 notu');

readln(n2);

write('interval=',i);

case i:=ord(n2)-ord(n1) of

  2:writeln ('seconds');

  3:writeln ('terchiya');

  4:writeln ('kvarta');

  5:writeln ('kvinta');

  6:writeln ('seksta');

  7:writeln ('septima');

end;

writeln;

end.



 

Другие похожие работы, которые могут вас заинтересовать.
7150. Ключевые элементы данных. Назначение и типы ключей. Типы отношений. Построение отношений 31.46 KB
  Отношения между таблицами Отношения между таблицами устанавливают связь между данными находящимися в разных таблицах базы данных. Отношения между таблицами базы данных BIBLIO. Отношения между таблицами базы данных BIBLIO.
2761. Пользовательские типы данных 25.88 KB
  Например бывает удобным совместить в одной переменной сразу ряд однотипных данных или же предусмотреть хранение данных разных типов например строк и чисел. К счастью в Object Pscl имеется возможность создавать собственные типы данных на основе уже имеющихся совмещая их или комбинируя. Например для создания упорядоченного списка однотипных данных используют массивы rrys а для объединения нескольких типов в один записи records.
5992. Основы работы с MathCAD. Математические выражения. Типы данных 494.07 KB
  Функции MthCD – это мощная и в то же время простая универсальная среда для решения задач в различных отраслях науки и техники финансов и экономики физики и астрономии математики и статистики MthCD остается единственной системой в которой описание решения математических задач задается с помощью привычных математических формул и знаков. MthCD позволяет выполнять как численные так и аналитические символьные вычисления имеет чрезвычайно удобный математикоориентированный интерфейс и прекрасные средства научной графики. Система MthCD...
10950. Количественные методы ситуационного анализа: опрос, панель, эксперимент. Общая характеристика методов опроса. Разработка форм сбора данных. Типы вопросов и шкал. Составление анкет 11.7 KB
  Опрос может быть: структуризированный когда все опрашиваемые отвечают на одни и те же вопросы неструктуризированный когда интервьюер задает вопросы в зависимости от полученных ответов. Достоинства: Стандартизация вопросов задаваемых всем респондентам с одинаковыми вариантами ответов на них. Формализованный опрос может быть реализован в различных формах: личная беседа интервью; телефонный опрос; рассылка анкет в виде почтовой или Интернет рассылки При формализованном интервью имеется конкретная схема проведения опроса обычно это...
7176. ОРГАНИЗАЦИЯ БАЗ ДАННЫХ И СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ 116.07 KB
  Например в качестве информационной системы можно рассматривать расписание движения поездов или книгу регистрации данных о заказах. Атрибут записанный на каком-либо носителе информации называют элементом данных полем данных или просто полем. При обработке данных часто встречаются однотипные объекты с одинаковыми свойствами.
8335. Аналоговая и дискретная информация. Носители данных. Операции с данными. Кодирование данных. Системы счисления. Энтропия и количество информации 227.54 KB
  Системы счисления. Системы счисления Кодирование данных используется издавна: код Морзе Брайля морской сигнальный алфавит и т. В истории человечества для кодировании чисел наиболее известны две системы счисления: непозиционная и позиционная. Как та так и другая системы счисления характеризуются основанием – количеством различных цифр используемых для записи чисел например от 0 до 9 т.
8334. Формулы Шеннона и Хартли. Расчёт количества информации. Кодирование символьных, графических и звуковых данных. Структуры данных Формула Шеннона 140.5 KB
  Для решения обратных задач, когда известна неопределенность (H) или полученное в результате ее снятия количество информации (I) и нужно определить какое количество равновероятных альтернатив соответствует возникновению этой неопределенности, используют обратную формулу Хартли, которая выводится в соответствии с определением логарифма и выглядит еще проще...
17888. Типы логики 25.95 KB
  Многие положения гипотезы и выводы логики далеко не так легко воспринимаются как скажем описания раннего утра или картинки из жизни народов. Целью работы является рассмотреть типы логики. Из цели можно выявить следующие задачи: - изучить историю появления логики; - рассмотреть индуктивную дедуктивную и диалектическую логики в экономической теории. Основная часть История возникновения логики В качестве самостоятельной науки логики была разработана более двух тысяч лет назад в IV в.
1748. Типы правопонимания 21.59 KB
  За время своего мноковекового существования юридическая наука сформировала различные образы права различные его концепции и толкования. Тип правопонимания – это определенный образ права характеризуемый совокупностью наиболее общих теоретических признаков права и наиболее общих признаков практического ценностного к нему отношения Иными словами это определенное направление в познании сущности и социального назначения права. В разных частях света в группах государств или отдельно взятой стране исторически складывалась своя система права...
2465. Типы цивилизаций 15.61 KB
  Основным принципом космогенной цивилизации является принцип традиционализма – принцип преобладания традиций над новациями. Мир с точки зрения космогенной цивилизации рассматривается как космос. Это является главной характеристикой космогенной цивилизации. Из вышесказанного вытекает важная характеристика космогенной цивилизации – это крайне низкий темп социального развития.
© "REFLEADER" http://refleader.ru/
Все права на сайт и размещенные работы
защищены законом об авторском праве.