русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2014-02-04; просмотров: 1042; Нарушение авторских прав


Модули

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

Все программные элементы модуля можно разбить на две части:

- программные элементы, предназначенные для использования другими программами или модулями, такие элементы называют видимыми вне модуля;

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

В соответствии с этим модуль, кроме заголовка, содержит две основные части, называемые интерфейсом и реализацией.

Модуль имеет следующую структуру:

 

unit <имя модуля>;

interface

[uses <список модулей подключаемых вместе с модулем>]

[ <описание видимых программных элементов модуля>]

implementation

[uses <список модулей используемых модулем>]

[ <описание скрытых программных элементов модуля>]

[initialization]

[ <операторы инициализации элементов модуля>]

[finalization]

[ <операторы деинициализации элементов модуля>]

end.

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



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

Рекурсивное использование модулей запрещено.

Если в модуле имеется раздел инициализации, то операторы из этого раздела будут выполнены перед началом выполнения программы, в которой используется этот модуль.

Если в модуле имеется раздел деинициализации, то операторы из этого раздела будут выполнены после выполнения последнего оператора программы, в которой используется этот модуль.

 

 

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

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

Например, перечисляемый тип Traffic_Light (СВЕТОФОР) объединяет скалярные значения RED, YELLOW, GREEN (КРАСНЫЙ, ЖЕЛТЫЙ, ЗЕЛЕНЫЙ). Перечисляемый тип описывается в разделе объявления типов:

type

<имя_типа>=(<имя_константы>[=<выражение>][,…]);

<имя_типа> - имя нового перечисляемого типа;

<имя_константы> - имя константы принадлежащей данному типу;

<выражение> - выражение, дающее результат целого типа, порядковый номер константы.

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

Например:

type

Traffic_Light=(RED, YELLOW=4, GREEN);

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

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

Например:

type Traffic_Light= (RED, YELLOW=4, GREEN);

var Section: Traffic_Light;

Это означает, что переменная Section может принимать значения RED, YELLOW или GREEN. Также она может принимать ее три значения без имени соответствующие порядковым номерам 1, 2 и 3.

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

var Section: (RED, YELLOW=4, GREEN);

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

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

Section := YELLOW;

Перечисляемым переменным и константам могут быть применены операции отношения, стандартные функции Pred, Succ, Ord и процедуры Inc, Dec.



<== предыдущая лекция | следующая лекция ==>
Подпрограммы | Массивы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.113 сек.