Главная » Статьи » Програмирование » Pascal

Структурированные типы данных

Добавил: swich e-mail от 30.11.2010, просмотров: 932

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

В Турбо Паскале пять структуированных типов:

  • массивы;
  • строки;
  • множества;
  • записи;
  • файлы;

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

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

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

Программист объединяет в одну группу в соответствии с каким-либопризнаком всю совокупность значений, составляющих перечисляемый тип.Например, перечисляемый тип Rainbow (РАДУГА) объединяет скалярные значенияRED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET (КРАСНЫЙ,ОРАНЖЕВЫЙ, ЖЕЛТЫЙ, ЗЕЛЕНЫЙ, ГОЛУБОЙ, СИНИЙ, ФИОЛЕТОВЫЙ). Перечисляемый тип Traffic_Light (СВЕТОФОР) объединяет скалярныезначения RED, YELLOW, GREEN (КРАСНЫЙ, ЖЕЛТЫЙ, ЗЕЛЕНЫЙ).

Перечисляемый тип описывается в разделе описания типов, например:

type
Rainbow = (RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET);

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

Описание переменных, принадлежащих к скалярным типам, которые объявлены в разделе описания типов, производится с помощью имен типов.Например:

type Traffic_Light= (RED, YELLOW, GREEN);var Section: Traffic_Light;

Это означает, что переменная Section может принимать значения RED,YELLOW или GREEN.

Переменные перечисляемого типа могут быть описаны в разделе описания переменных, например:

var Section: (RED, YELLOW, GREEN);

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

К переменным перечисляемого типа может быть применим операторприсваивания:

Section:= YELLOW;

Упорядоченная последовательность значений, составляющих перечисляемый тип, автоматически нумеруется, начиная с нуля и далее через единицу. Отсюда следует, что к перечисляемым переменным и константам могут быть применены операции отношения и стандартные функции Pred,Succ, Ord.

Интервальный тип данных

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

1..10-15..25'a'..'z'

Минимальное и максимальное значения констант называются нижней иверхней границами отрезка, определяющего интервальный тип. Нижняяграница должна быть меньше верхней.

Над переменными, относящимися к интервальному типу, могут выполняться все операции и применяться все стандартные функции, которыедопустимы для соответствующего базового типа.

Добавлено в: Pascal
Смотрите так же:
⇒ Ищем издательство
⇒ Ученые: жильцы верхних этажей стареют быстрее, чем их соседи снизу
⇒ ТОП-10 лучших новинок электроники 2010 года
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]