Реферат: Модули, файлы и записи

В среде Turbo PASCAL имеются средства, управляющие способом компиляции модулей и облегчающие разработку крупных программных проектов. В частности, определены три режима компиляции: COMPILE, MAKE и BUILD. Режимы отличаются только способами связи компилируемого модуля и основной программы с другими модулями, объявленными в приложении USES. При компиляции модуля или основной программы в режиме COMPILE компилируется только файл, находящийся в активном окне. По умолчанию предполагается, что используемые модули уже откомпилированы и результаты помещены в одноименные файлы с расширением .TPU; файл с расширением .TPU (от английского Turbo Pаscal Unit) создается в результате компиляции модуля. В режиме МАКЕ компилятор проверяет наличие TPU-файлов для каждого объявленного модуля. Если какой-либо из файлов не обнаружен, то система пытается отыскать одноименный файл с расширением .PAS, т.е. файл с исходным текстом модуля. Если PAS-файл найден, то происходит его компиляция. Кроме того, в этом режиме система следит за возможными изменениями исходного текста любого используемого модуля. Если в PAS-файл (исходный текст модуля) внесены какие-либо изменения, то независимо от того, есть ли уже в каталоге соответствующий TPU-файл или нет, система осуществляет его компиляцию перед компиляцией основной программы. Если изменения внесены в интерфейсную часть модуля, то будут перекомпилированы также и все другие модули, обращающиеся к нему. Режим МАКЕ существенно облегчает процесс разработки крупных программ с множеством модулей. В режиме BUILD существующие TPU-файлы игнорируются, и система пытается отыскать и компилировать соответствующий PAS-файл для каждого объявленного в предложении USES модуля. После компиляции в режиме BUILD программист может быть уверен в том, что учтены все сделанные им изменения в любом из модулей.

Подключение модуля к основной программе и их возможная компиляция осуществляется в порядке их объявления в предложении USES. При переходе к очередному модулю система предварительно отыскивает все модули, на которые он ссылается. Ссылки модулей друг на друга могут образовывать древовидную структуру любой сложности, однако запрещается явное или косвенное обращение модуля к самому себе. Дело в том, что Turbo PASCAL разрешает ссылки на частично откомпилированные модули, что приблизительно соответствует опережающему описанию подпрограммы. Если интерфейсные части любых двух модулей независимы, Turbo PASCAL сможет идентифицировать все глобальные идентификаторы в каждом из модулей, после чего откомпилирует тела модулей обычным способом.

Запись

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

Структура обьявления типа записи такова:

<имя типа> = RECORD <пс. полей> END

Здесь <имя типа> - правельный индификатор;

RECORD, END – зарезервированные слова (запись, конец);

<сп. полей> - список полей; представляют собой последовательность

разделов записи, между которыми ставится точка с запитой.

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

type

birthday = record

day, month : byte;

year : word:

end;

var

a,b : Birthday;

. . . . . . . .

В этом примере тип Birthday есть запись с полями DAY, MONTH, и YEAR; переменные А и В содержат записи типа Birthday.

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

a : = b;

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

a.day := 27;b.year := 1991;

Чтобы упростить доступ к полям записи, используется оператор присоединения WITH:

WITH <переменная> DO <оператор>

Здесь WITH, DO– ключевые слова (с, делать);

<переменная> - имя переменной типа запись, за которым,

возможно, следует список вложенных полей;

<переменная> - любой оператор Турбо Паскаля.

К-во Просмотров: 178
Бесплатно скачать Реферат: Модули, файлы и записи