Главная Промышленная автоматика.

разом:

ЛЗ: V: = E;

If then go to Элемент исчерпан; Оператор S\ \ .

go to L3; • • .-f -

где обозначения те же, что и в 4.6.4.2.

4.6.5. 3 н а ч е н и е параметра цикла после выхода

После выхода из оператора S (предполагаемого составным) посредством какого-либо оператора перехода значение параметра цикла будет таким, каким оно было непосредственно перед выполнением оператора перехода.

С другой стороны, если выход вызван исчерпанием списка цикла, то значение параметра цикла после выхода не определено.

4.6.6. Оператор перехода, ведущий в оператор цикла

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

4.7 Операторы процедур 4.7.1. Синтаксис

(фактический параметр) : : = (строка) (выражение) ( (идентификатор массива) (идентификатор переключателя)! (идентификатор процедуры) (строка букв\: : = (буква)! (строка букв) (буква) (ограничитель параметра): :=,) (строка букв):( (список фактических параметров):; = (фактический параметр) (список фактических параметров) (ограничитель параметра) (фактический параметр) - • • .....



(совокупность фактических параметров): : -(пусто) ((список фактических параметров))

(оператор процедуры): := (идентификатор процедуры) (совокупность фактических параметров)

4.7.2. Примеры

След (А) Порядок: (7) Результат: {V) - *

Транспонирование {W, -w+l) Абсмакс (Л Л, М, Гу, /, К)

Скалярное произведение (Л[<, Р, и], В[Р], 10, Р, V)

Эти примеры соответствуют примерам, данным в разд. 5.4.2.

4.7.3. Семантика

Оператор процедуры служит для обеспечения выполнения тела процедуры (см. разд. 5.4. Описания процедур). .В том случае, когда тело процедуры является оператором, записанным на языке АЛГОЛ, результат его выполнения будет эквивалентен результату осуществления следующих действий в программе во время выполнения оператора процедуры.

4.7.3.1. Присваивание значений (вызов значением). Всем формальным параметрам, перечисленным в списке значений заголовка описания процедуры, присваиваются значения (см. разд. 2.8. Значения и типы) соответствующих фактических параметров; эти присваивания следует рассматривать как выполняемые непосредственно перед входом в тело процедуры. Это происходит так, как будто создается объемлющий тело процедуры дополнительный блок, в котором делаются присваивания переменным, локальным в этом фиктивном блоке и имеющим типы, заданные соответствующими спецификациями (см. разд. 5.4.5). В результате переменные, вызываемые значением, следует рассматривать как не локальные в теле процедуры, но локальные в этом фиктивном блоке (см. разд. 5.4.3).

4.7.3.2. Замена наименований (вызов по наименованию). Любой формальный параметр, не перечисленный



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

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

4.7.4. Соответствие между фактическими и формальными параметрами" .

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

4.7.5. Ограничения

Чтобы оператор процедуры был определен, очевидно, необходимо, чтобы действия над телом процедуры, определенные в разд. 4.7.3.1 и 4.7.3.2, приводили бы "к правильному оператору в языке АЛГОЛ.





0 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 20 21 22

0.0034