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

Нетипизированные параметры

Нетипизированные параметры применяются, когда тип параметра не имеет существенного значения (например, в процедурах побайтового копирования или перемещения блоков данных). Нетипизированными могут быть только параметры с атрибутом var.

Вопрос 31

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

Ссылка в закладках!!!

Вопрос 32

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

Модули в Паскале. Назначение, структура, организация,  пример использования.

Модуль - это автономно компилируемая коллекция программных ресурсов, предназначенная для использования другими модулями и программами.

Все ресурсы модуля делятся на две группы: внешние – предназначенные для использования другими программными единицами, и внутренние – рабочие ресурсы данного модуля.

Структура модуля выглядит следующим образом:

Unit <имя модуля>; Interface <интерфейсная секция> Implementation <секция реализации> [Begin <секция инициализации>]  End,

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

Uses <имя модуля1>, <имя модуля2>, ...;

В спецификации uses необходимо указывать только те модули, ресурсы которых данная программная единица (программа или модуль) использует непосредственно. Если подключаемый модуль использует другие модули, то их подключение уже описано в нем. Секции инициализации подсоединяемых модулей выполняются в порядке их подключения.

Пример: Разработать модуль, содержащий подпрограмму суммирования элементов массива.

Разбиваем текст программы на две части: подпрограмму размещаем в модуле, а тестирующую программу оставляем в качестве основной программы. Так как все структурные типы параметров должны быть предварительно объявлены, описываем тип массива в модуле.

{Модуль должен размещаться в файле Summa.pas} Unit Summa; Interface {объявление внешних ресурсов} Туре mas=array[1..10] of integer; Function sum(b:mas;n:integer):integer; Implementation . Function sum; {описание функции} Var s,i: integer; begin  s:=0; for i:=1 to n do s:=s+b[i]; sum:=s; end; end.

Программа использует из модуля два ресурса: описание типа mas для объявления массива А и функцию Sum.

Program ex; Uses Summa; {указание используемого модуля} Var a:mas; {используем ресурс mas} i,n: integer; Begin  readln(n); for i:=1 to n do re ad (a [i]); ReadLn; WriteLn('Сумма= sum(a,n)); {используем ресурс sum} end.