Пример программы с модулем

Компиляция и компоновка модулей

Локализация (видимость) имен

Программный элемент, имя которого определено в интерфейсной части модуля, будет доступен по этому имени и в программе, к которой модуль присоединен. Если в программе определен объект с таким же именем, то по этому имени в программе будет доступен объект, определенный в программе, а в модуле – объект, определенный в модуле. В таком случае, из программы можно получить доступ к объекту, определенному под этим именем в модуле, если перед именем объекта указать имя модуля с точкой (как при обращении к полю записи). Так же можно получить доступ к объекту, описанному в одном из двух модулей, содержащих объекты с одинаковыми именами.

Перед подключением к главной программе модули компилируются и сохраняются на диске в виде файлов с тем же именем, но с расширением ".tpu" в каталоге, объявленном в меню Options-Compiler-Directories-EXE&TPU Directories. Файл tpu является частично компилированным. В нем исходный текст заменен машинными кодами, но сохранены в закодированном виде все объявленные имена констант, переменных, процедур и функций, описанных в интерфейсной части. При подключении модуля к программе, из модуля выбираются только те компоненты, которые используются в программе. Поэтому объем программы не обязательно должен увеличиваться на величину объема модуля.

Если программа состоит из нескольких модулей, необходимо учитывать следующее. При выполнении команды Compile происходит компиляция только модуля, открытого для редактирования, и главной программы (если она указана в опции Primary file). При этом изменения, внесенные при редактировании других модулей после их последней компиляции, не будут отражены в коде скомпонованной программы. Для перекомпиляции всех измененных модулей нужно использовать команду Make, а для перекомпиляции всех модулей, входящих в программу, нужно использовать команду Build.

Эта программа находит корни квадратных уравнений, коэффициенты которых вводятся с дисплея, и выводит найденные вещественные корни, либо сообщение о том, что они отсутствуют, на дисплей. После решения очередного уравнения, программа предлагает решить еще одно, или закончить счет. Программа использует процедуру, которая в самой программе не описана. Процедура реализована в подключаемом модуле. Также программа использует переменные a, b, c типа Real и переменную x типа Rdim, не описанные в программе, но описанные в модуле. Тип Rdim также сконструирован в модуле.

Текст программы.

Program SqEqSolve;

Uses Roots; {подключение модуля}

Var W:char;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: