Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы.DOC
Скачиваний:
34
Добавлен:
15.06.2014
Размер:
154.11 Кб
Скачать

4. Вложенные подпрограммы

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

5. Вызов подпрограмм (формальные и фактические параметры).

Вызов подпрограмм производится указанием имени или имени со списком фактических параметров. Фактические параметры не указываются если в подпрограмме используются только глобальные переменные и в заголовке программы отсутствует список формальных параметров. Если заголовок подпрограммы содержит формальные параметры, то при обращении к подпрограмме должен обязательно присутствовать список фактических параметров, которые записываются через запятую. Количество, тип и порядок перечисления фактических параметров должен обязательно соответствовать количеству, типу и порядку перечисления формальных параметров в описании программы.

6.Процедуры без параметров и с параметрами.

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

Заголовок процедуры описывается строкой:

PROCEDURE <имя>(<список формальных параметров>);

Список формальных параметров записывается в скобках и содержит пере­чень параметров с указанием их типов. Перед параметрами, которые воз­вращают результат в основную программу, указывается ключевое слово VAR. Например,

PROCEDURE SUMMA(A1,A2:REAL; B1.B2:INTEGER; VAR SI,S2:REAL); Допускаются процедуры без параметров:

PROCEDURE <кмя>;

Они предполагают использование в подпрограмме только глобальных пере­менных, определенных а разделе описаний основной программы. За заголовком процедуры следует раздел описаний подпрограммы (ме­ток, констант, типов, переменных, а также описаний вложенных процедур и функций) и блок операторов.

7.Передача в подпрограмму параметров- массивов и параметров-строк

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

Пример: TYPE

ATYPE=ARRAY[1..10] OF REAL;

PROCEDURE R(A:ATYPE);

Такое описание необходимо в связи с тем, что в списке формальных параметров могут использоваться только стандартные или ранее описанные типы. Поэтому нельзя, например, объявить следующую процедуру: PROCEDURE R(A:ARRAY[1..10] OF REAL);

Поскольку строка является фактически массивом символов, ее передача в подпрограмму осуществляется аналогичным образом.Пример описания и передачи строковых переменных:

ТУРЕ

INTYPE=STR1NG[10];

ONTYPE=STR1NG[30];

FUNCTION R(A:INTYPE):ONTYPE;

Соседние файлы в предмете Программирование