Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
modul2.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
43.08 Кб
Скачать

Передача параметров

Передача параметров может производиться двумя способами-по значению и по ссылке.Параметры, передаваемые по значению,называют параметрами-значениями, передаваемые по ссылке- параметрами-переменными. Последние отличаются тем, что в заголовке процедуры перед ними ставится служебное слово var. При первом способе значения фактических параметров копируются в соответствующие формальные параметры. При изменении этих значений в ходе выполнения процедуры исходные данные измениться не могут.При втором способе все изменения, происходящие в теле процедуры с формальными параметрами, приводят к немедленным аналогичным изменениям соответствующих им фактических параметров. Изменения происходят с переменными вызывающего блока, поэтому по ссылке передаются выходные параметры. При вызове соответствующие им фактические параметры могут быть только переменными. Входные параметры нужно передавать по значению, а выходные - по ссылке. Практически это сводится к расстановке в заголовке процедуры описателя var при всех параметрах, которые обозначают результат работы подпрограммы.Формальные параметры подпрограммы указывают, с какими параметрами следует обращаться к этой подпрограмме.Они задаются в заголовке подпрограммы в виде списка формальных параметров, разбитого на группы, разделенные точками с запятыми. В группу формальных параметров включаются однотипные параметры одной категории.Все формальные параметры можно разбить на четыре категории:параметры-значения;параметры-переменные;параметры-константы;параметры-процедуры и параметры-функции.Для каждого формального параметра следует указать имя и тип, а в случае параметра-переменной или параметра-константы-его категорию.Имена параметров могут быть любыми, в том числе и совпадать с именами объектов программы. При обращении к подпрограмме формальные параметры заменяются на соответствующие фактические вызывающей программы или подпрограммы.

Назначение модулей

Модули инструмент для разработки библиотек прикладных программ и мощное средство модульного программирования.Важная особенность модулей заключается в том, что компилятор размещает их программный код в отдельном сегменте памяти. Длина сегмента не может превышать 64 Кбайт, однако количество одновременно используемых модулей ограничивается лишь доступной памятью, что позволяет создавать большие программы. Структура модулей ПаскаляUnit <имя_модуля>; interface <интерфейсная часть>; implementation < исполняемая часть >; begin <инициирующая часть>; end.UNIT–зарезервированное слово; INTERFACE–зарезервированное слово;начинает интерфейсную часть модуля;IMPLEMENTATION– зарезервированное слово;BEGIN – зарезервированное слово; начинает инициирующую часть модуля; причем конструкция begin <инициирующая часть> необязательна; END – зарезервированное слово – признак конца модуля. Заголовок модуля Паскаля состоит из зарезервированного слова unit и следующего за ним имени модуля. Для правильной работы среды Турбо Паскаля и возможности подключения средств, облегчающих разработку больших программ, имя модуля Паскаля должно совпадать с именем дискового файла, в который помещается исходный текст модуля.Связи с другими модулями и основной программой устанавливается специальным предложением: uses<список модулей> Интерфейсная часть открывается зарезервированным словом INTERFACE . В этой части содержатся объявления всех глобальных объектов модуля, которые должны быть доступны основной программе и другим модулям Паскаля. При объявлении глобальных подпрограмм в интерфейсной части указывается только их заголовок, например: Пример фрагмента программы Unit complexn; Interface Type Complex= record Re, im: real; End; Procedure AddC(x,y: complex, var z: complex);Procedure MulC (x,y: complex, var z: complex); Объявление подпрограмм в интерфейсной части автоматически сопровождается их компиляцией с использованием дальней модели памяти. Максимальная длина сегмента даных 65536 байт. Порядок появления различных разделов объявлений и их количество может быть произвольным. Исполняемая часть модуля Паскаля начинается зарезервированным словом IMPLEMENTATION и содержит описания подпрограмм, объявленных в интерфейсной части. В ней могут объявляться локальные для модуля объекты – вспомогательные типы, константы, переменные и блоки, а также метки.Локальная переменная - переменная, объявленная внутри какой-либо функции. Областью видимости локальных переменных является тело функции, в которой эта переменная объявлена. Локальная переменная может быть проинициализирована константой или выражением, соответствующими ее типу.Глобальная переменная - переменная, объявленная за пределами всех функций. Областью видимости глобальных переменных является вся программа. Глобальная переменная не локализована ни на каком уровне. Глобальная переменная может быть проинициализирована только соответствующей ее типу константой. Инициализация глобальных переменных производится однократно перед началом исполнения специальных функций.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]