- •1.Понятие и виды информации. Единицы измерения информации.
- •2.Эвм как средство обработки информации. Структурная схема и принципы функционирования эвм.
- •3. Программное обеспечение персонального компьютера. Структура
- •4.Понятие алгоритма. Способы задания алгоритмов.
- •5.Структура программы на Турбо Паскаль
- •6.Понятие типа данных в Турбо Паскаль
- •7.Целый тип.
- •11.Приоритет операций
- •13.Условный оператор.
- •Оператор условного перехода
- •Основные математические функции
- •14.Оператор перехода. Метки и операторы перехода
- •15. Вход-выход. Ввод данных
- •Вывод данных
- •16.Оператор варианта.
- •17.Ограниченный тип.
- •18.Перечисляемый тип.
- •19.Оператор цикла с параметром for. Циклы
- •Арифметические циклы
- •Итерационные циклы с предусловием
- •20.Оператор цикла с постусловием. Циклы
- •Итерационные циклы с постусловием
- •21.Оператор цикла с предусловием.
- •Итерационные циклы с предусловием
- •22.Точность вычислений.
- •23.Одмерномерный массив. Массивы
- •24.Многомерный массив.
- •25.Строковый тип. Строковый тип данных
- •Процедуры и функции для работы со строками
- •26.Внешний файл.
- •Особенности обработки текстовых файлов.
- •27.Операции над файлами.
- •28.Множественный тип.
- •29. Подпрограммы Процедуры и функции
- •Локальные и глобальные идентификаторы
- •30,31.Механизм подпрограмм. Описание и вызов процедур и функций
- •32.Рекскурсия
- •33.Модуль.
33.Модуль.
Процедуры и функции могут быть сгруппированы в отдельный модуль. Модуль (unit)- это программная единица, текст которой компилируется автономно (независимо от главной программы). Если модуль откомпилирован для реального режима, то результат имеет расширение TPU; модули, откомпилированные для защищенного режима, имеют расширение TPP. Структура модуля отличается от структуры обычной программы на языке Турбо Паскаль. Модули имеют четыре основные части: заголовок, который следует за зарезервированным словом UNIT; описательную (интерфейсную) часть, которая начинается за зарезервированным словом INTERFACE (в ней помещаются объявления переменных, процедур, функций, констант и типов данных, которые должны быть доступны для других программных модулей, использующих данный модуль); исполнительную (внутреннюю) часть, которая начинается словом IMPLEMENTATION (в нее входит текст подпрограмм и локальные объекты, доступные только внутри данного модуля) и необязательную часть (секцию инициализации), расположенную после исполнительной части между словами BEGIN и END (при этом, если инициализация модуля не нужна, то в секции помещается лишь слово END). При описании подпрограмм модуля допустимо использовать сокращенные заголовки (без параметров и указания типа результата для функции) как, например, в случае использования директивы FORWARD. Начинается модуль заголовком, состоящим из зарезервированного слова UNIT и имени модуля. Имя модуля обязательно должно совпадать с именем файла (имеющим расширение PAS), в котором он находится. Модуль имеет следующую структуру:
UNIT <имя модуля>; INTERFACE USES <список подключаемых модулей>; TYPE <описание типов, определенных в данном модуле и доступных для других модулей>; CONST <описание констант, определенных в данном модуле и доступных для других модулей >; VAR <описание переменных, определенных в данном модуле и доступных для других модулей >; PROCEDURE <заголовки процедур, определенных в данном модуле и доступных для других модулей >; FUNCTION <заголовки функций, определенных в данном модуле и доступных для других модулей >; IMPLEMENTATION USES <список подключаемых модулей>; TYPE <описание типов, определенных в данном модуле и недоступных для других модулей>; CONST <описание констант, определенных в данном модуле и недоступных для других модулей >; VAR <описание переменных, определенных в данном модуле и недоступных для других модулей >; PROCEDURE <реализация процедур, определенных в данном модуле и доступных для других модулей >; FUNCTION <реализация функций, определенных в данном модуле и доступных для других модулей >; PROCEDURE <заголовки и реализация процедур, определенны в данном модуле и недоступных для других модулей >; FUNCTION <заголовки и реализация функций, определенных в данном модуле и недоступных для других модулей >; BEGIN< это слово необходимо, если имеются операторы секции инициализации> <Необязательная часть модуля> END. |
Интерфейсная и реализационная части могут быть пустыми, но присутствовать должны обязательно. При подключении модуля вначале выполняются операторы секции инициализации (если они имеются), а затем операторы основного блока главной программы, в которую включен данный модуль.
Рассмотрим пример. Требуется написать главную программу, в которой вводится размерность вектора и элементы вектора и вызывается процедура сортировки одномерного массива целых чисел в порядке возрастания. Длина массива не превышает 100. Процедуру оформить в виде модуля.
USES CRT,MODSORT; VAR A:MAS;
BEGIN
END. |
Первым предложением программы является Uses, в котором подключается стандартный модуль и модуль Modsort, в котором и находится процедура сортировки.
Кроме того тип, с которым описывается массив отсутствует в главной программе, т.к. он присутствует в модуле.
UNIT MODSORT; INTERFACE TYPE MAS=ARRAY[1..100] OF INTEGER; PROCEDURE SORT(VAR A:MAS; N:BYTE); IMPLEMENTATION PROCEDURE SORT; VAR I,J:BYTE;
BEGIN
END; END. |
В интерфейсной части модуля описан тип mas и заголовок процедуры сортировки. Поэтому при подключении этого модуля с помощью предложения Uses в любой программе становятся доступны и этот тип и процедура, что и продемонстрировано в главной программе.
