procedure INV(x, y)
begin
tx;
xy;
yt;
end
Для обращения к этой процедуре можно было бы написать оператор вызова процедуры такого вида:INV(A[i], А[j]).
Обмен информацией между процедурами можно осуществлять двумя способами. Во-первых, с помощью глобальных переменных, которые неявно описаны в некоторой универсальной области. В этой области есть подобласть, в которой определены процедуры. Во-вторых, связь между процедурами можно осуществлять с помощью параметров. В упрощенном Алголе используется вызов по ссылке, при котором параметры обрабатываются с помощью указателей на фактические параметры. Если фактический параметр является выражением (возможно, постоянной), то соответствующий формальный параметр трактуется как локальная переменная, которой в качестве начального значения присвоено значение этого выражения. Поэтому вес реализуемого вычисления функции или выполнения вызова процедуры на РАМ равен сумме весов выполненных операторов в определении соответствующей процедуры.
9. Вес read-оператора равен 1, а вес write-оператора на 1 больше вычисленного значения выражения, стоящего за словом write.
10. Вес comment-оператора равен 0.
Поскольку переменные не будут описываться, будем считать, что в качестве области действия переменной берется вся процедура или программа. Всякий раз, когда может возникнуть недоразумение по поводу области действия переменной, будет даваться явное описание.
Do'stlaringiz bilan baham: |