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

31. Достоинства и недостатки использования глобальных переменных и параметров при обмене информацией между программами. Рекомендации по применению.

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

При написании программ, имеющих вложенные модули, необходимо придерживаться следующих правил:

Описывать идентификаторы в том блоке, где они используются, если это возможно.

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

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

Локализация переменных дает программисту большую свободу в выборе идентификаторов. Так, если две процедуры a и b полностью отделены друг от друга (т.е. не вложены одна в другую), то идентификаторы в них могут быть выбраны совершенно произвольно, в частности, могут повторяться. В этом случае совпадающим идентификаторам соответствуют разные области памяти, совершенно друг с другом не связанные.

32. Модуль в Паскале (Unit), его назначение, структура модуля, назначение и описание частей модуля.

Модуль (UNIT -модуль, единица) – автономно (отдельно) компилируемая программная единица, которая  содержит компоненты раздела описаний (меток, констант, типов, переменных, процедур, функций), а также может содержать операторы инициализирующей части. Сам модуль не является выполняемой программой, а предназначен для использования другими программами и  модулями.   

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

Модуль имеет следующую структуру: 

UNIT  <имя модуля>

INTERFACE         <раздел интерфейсный>

IMPLEMENTATION          <раздел реализации>

BEGIN            <раздел инициализации>

END.

 Заголовок модуля состоит из зарезервированного слова  Unit(модуль) и имени модуля.

Имя модуля выбирается по общим правилам и должно совпадать с именем дискового файла содержащего исходный текст модуля.

Расширение в имени модуля (.pas ) не указывается  оно задается по умолчанию.

Имя модуля используется для его связи с основной программой с помощью предложения  Uses. Предложение  Usesм.б. помещено после заголовка модуля или за словами

Interfaceи Implementation.

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

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

     Раздел инициализации – заключается в словесные скобки   BEGIN   END. и содержит операторы, которые будут выполнены до передачи управления основной программе. Это м.б. операторы инициализации данных (переменных) Например операторы присваивания, ввода а также процедуры связывания и открытия файлов. Раздел операторов м.б. пустымBEGIN   END или отсутствовать простоEND.

    В конце модуля ставится точка.

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