Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы прог TURBO PASCAL.doc
Скачиваний:
18
Добавлен:
11.11.2018
Размер:
580.61 Кб
Скачать

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

В ТР определены три режима компиляции Compile, Make и Build, которые инициируются выбором соответствующих опций меню Compile. Режимы отличаются только способом связи компилируемого модуля или основной программы с другими модулями, объявленными в предложении Uses. При использовании этих режимов необходимо установить опцию Compile/Destination в состояние Disk.

В режиме Compile (Alt + F9) все модули, указанные в uses, должны быть предварительно откомпилированы (результаты компиляции помещаются в одноименные файлы с расширением tpu).

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

В режиме Make (F9) компилятор проверяет наличие tpu-файлов для каждого объявленного модуля. Если какой-либо из файлов не обнаружен, система пытается отыскать одноименный файл с расширением pas, т.е. файл с исходным текстом модуля, и если исходный файл найден приступает к его компиляции.

Кроме того, в этом режиме система следит за возможными изменениями исходного текста любого используемого модуля. Если в pas-файл внесены какие-либо изменения, то независимо от того, есть ли уже в каталоге соответствующий tpu-файл или нет, система осуществляет его компиляцию перед компиляцией основной программы. Более того, если изменения внесены в интерфейсную часть модуля, то будут перекомпилированы также и все другие модули, обращающиеся к нему.

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

В режиме Build существующие tpu-файлы игнорируются, и система пытается отыскать (и компилировать) соответствующий pas-файл для каждого объявленного в uses-предложении модуля. После компиляции в этом режиме программист может быть уверен в том, что учтены все сделанные им изменения в любом из модулей.

Компиляцию проектов, состоящих из нескольких модулей, удобнее производить, установив в качестве основного файла файл с главной программой. Для этого выбирается пункт Compile/Primary file и вводится имя файла. Отмена этого режима производится выбором пункта Compile/Clear primary file. Если начальный файл установлен, компиляция (Alt + F9) или компиляция с исполнением (Ctrl + F9) происходит всегда так, как будто активным окном являлось окно главной программы. Это позволяет вносить изменения в отдельных модулях и сразу запускать компиляцию и исполнение всего проекта, не переключаясь специально к главной программе.

Для подключения модулей к основной программе компилятор ищет их прежде всего в рабочем каталоге, а затем в каталогах, указанных в строке Unit directories окна настройки, Options/Directories.

Порядок выполнения работы

  1. Получить у преподавателя задание на выполнение лабораторной работы.

  2. Составить словесно-формульный алгоритм решения задачи.

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

  4. Написать программу решения задачи с использованием составленного модуля.

  5. Запустить Turbo Pascal, открыть окно редактирования, вести в компьютер текст модуля и сохранить его.

  6. Откомпилировать модуль в режиме Compile (Alt + F9).

  7. Открыть новое окно редактирования и ввести текст программы в компьютер, затем сохранить ее.

  8. Произвести компиляцию программы в режиме Make (F9); при возникновении синтаксических ошибок сделать в программе соответствующие исправления.

  9. Осуществить отладку программы пошаговым методом (F7)

  10. Вывести на печать решение задачи и тексты отлаженной программы и модуля.

  11. Показать результаты работы преподавателю.