Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция №13_ Модульная структура программы!.doc
Скачиваний:
4
Добавлен:
19.04.2019
Размер:
136.7 Кб
Скачать

Лекция 13 Модульная структура программы

Методы работы с модулями. Стандартные модули языка Pascal. Создание модульных программ. Передача в программу аргументов из командной строки.

Содержание

Модульность программ 1

Стандартные модули языка Pascal 2

System 2

Crt 2

Wincrt 2

Printer 2

Winprn 3

Dos 3

Windos 3

Strings 3

Graph 3

Overlay 3

Winapi 3

Подключение модулей 3

Создание модульной программы 4

Структура модуля 4

Название 4

Секция внешних связей 4

Секция реализации 6

Секция инициализации 8

Взаимодействие модулей 8

Компиляция модулей 9

Пример модуля 9

Передача аргументов из командной строки 10

Модульность программ

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

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

Кроме того, если коллектив программистов пишет одну большую программу (а именно в таких условиях работают сегодня все производители программного обеспечения), то каждому из них нужно обеспечить более или менее независимый "фронт работ". Даже два человека не могут одновременно исправлять один и тот же файл, иначе конфликт обновлений будет гарантирован. Что уж тут говорить о проектах, над которыми работают десятки и даже сотни человек! В такой ситуации модули, которые хранятся каждый в отдельном файле и могут быть отредактированы, откомпилированы и протестированы независимо от остальных частей программы, являются наилучшим решением этой проблемы.

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

Стандартные модули языка Pascal

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

System

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

Напомним, что этот модуль содержит следующие типы подпрограмм:

подпрограммы для обработки величин порядковых типов данных ( dec, inc, odd, pred, succ );

арифметические функции;

функции преобразования типов данных ( chr, ord, round, trunc );

процедуры управления процессом выполнения программы ( break, continue, exit, halt );

подпрограммы обработки строк ( concat, copy, delete, insert, length, pos, str, val );

подпрограммы файлового ввода и вывода;

подпрограммы динамического распределения памяти ( dispose, freemem, getmem, new );

функции для работы с указателями и адресами (addr);

а также некоторые другие подпрограммы (например, exclude, include, random, randomize, upcase ).

Crt

Модуль Crt служит для организации "хорошего" вывода на экран. Подробнее о содержимом этого модуля мы расскажем в следующей лекции.

Wincrt

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

Printer

Модуль Printer позволяет производить вывод информации не на консоль, а на принтер (под операционной системой DOS).

Winprn

Модуль WinPrn является аналогом модуля Printer для операционной системы Windows.

Dos

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

Windos

Модуль WinDos является аналогом модуля Dos для операционной системы Windows.

Strings

Модуль Strings позволяет перейти от стандартных строк языка Pascal к строкам, ограниченным нулем. В отличие от обычных строк, чья длина не может превышать 255 символов, эти строки могут состоять из 65 535 символов, причем конец каждой такой строки помечен символом #0.

Graph

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

Overlay

Модуль Overlay предоставляет возможность делать большие программы оверлейными (многократно использующими одну и ту же область памяти).

Winapi

Модуль WinApi отвечает за создание динамических библиотек. Этот модуль свойственен лишь поздним версиям языка Pascal (например, Turbo Pascal 7.0).