Типы данных,определяемые пользователем.

Типы данных

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

Определение

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

Назначение

Перечислимые типы очень похожи на целочисленные типы данных. Кое-кто может задаться вопросом: «А зачем это все нужно, если и так можно пользоваться целочисленными типами данных?» Предположим, что нам нужно определить состояние лифта. Возможными состояниями лифта являются: «стоит», «едет», «отключен». Можно обозначить каждое из состояний значениями 1, 2, 3 и оперировать ими. Какие у нас тут появляются проблемы?

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

Синтаксис

  • EnumeratedTypeName — Идентификатор перечислимого типа данных.
  • ListOfValues — Описание перечислимого типа. Список идентификаторов значений, принадлежащих к указанному типу данных.

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

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

Что же касается объявлений var, то они задают компилятору некоторые действия, связанные с ранее объявленными типами. Тип переменной ограничивает как ее значения, так и операции, которые можно выполнять с этими значениями.

Порядковые типы



Из простых типов данных порядковые — самые простые. В этих типах информация представляется в виде отдельных элементов. Связь между отдельными элементами и их представлением в памяти определяет естественные отношения порядка между этими элементами. Отсюда и название порядковые.

В Object Pascal определены три группы порядковых типов и два типа, определяемых пользователем. Группы — это целые, символьные и булевы типы. Порядковые типы, задаваемые пользователем, — это перечисления и под диапазоны.

Целые типы

В переменных целых типов информация представляется в виде целых чисел, т.е. чисел не имеющих дробной части. Определенные в Object Pascal целые типы подразделяются на физические (фундаментальные) и логические (общие). При программировании удобнее использовать логические целые типы, которые задают объем переменных в зависимости от типа микропроцессора и операционной среды таким образом, чтобы достигалась максимальная эффективность. Физические целые типы следует применять лишь в тех случаях, когда в первую очередь важны именно диапазон значений и физический объем переменной. В Object Pascal определены следующие целые типы.

Integer
Shortint
Smallint
Longint
Byte
Word
Cardinal

Символьные типы
Смысл символьных данных очевиден, когда они выводятся на экран или принтер. Тем не менее, определение символьного типа может зависеть от того, что подразумевать под словом символ. Обычно символьные типы данных задают схему взаимодействия между участками памяти разного объема и некоторым стандартным методом кодирования/декодирования для обмена символьной информацией. В классическом языке Pascal не задано никакой схемы, и в конкретных реализациях применялось то, что на том же компьютере мог использовать каждый.

Булевы типы
На ранней стадии обучения программисты осваивают понятие бита, два состояния которого можно использовать для записи информации о чем-либо, представляющем собой одно из двух. Бит может обозначать 0 или 1, ДА или НЕТ, ВКЛЮЧЕНО или ВЫКЛЮЧЕНО, ВЕРХ или НИЗ, СТОЯТЬ или ИДТИ.

Добавить комментарий