Cтраница 3
Аргументы tan и In нужно исключить из списка формальных параметров, a real procedure tan, In - - из совокупности спецификаций заголовка процедуры. [31]
Как мы увидим ниже, в заголовок процедуры обязательно должен входить только идентификатор процедуры, а совокупность формальных параметров, список значений и совокупность спецификаций при определенных условиях могут быть опущены. [32]
Если некоторые или все формальные параметры вызываются по значению, то в описании процедуры появляются необходимые указания, а именно так называемые список значений и совокупность спецификаций. [33]
![]() |
Синтаксическая структура оператора процедуры. [34] |
Здесь идентификатор th выбран в качестве идентификатора процедуры вычисления thx; th ( к, у); - заголовок процедуры ( без списка значений и совокупности спецификаций); х, у - формальные параметры: х - выходной, у - параметр-результат. [35]
Заголовок процедуры представляет собой следующую последовательность: идентификатор процедуры, заключенный в круглые скобки список формальных параметров, основной символ; ( точка с запятой), список значений, совокупность спецификаций. [36]
При написании каждая спецификация со своим списком идентификаторов отделяется от другой спецификации точкой с запятой. В конце всей совокупности спецификаций также ставится точка с запятой. [37]
До сих пор мы не информировали о том, что представляют собой формальные параметры и, следовательно, какого типа величины могут быть поставлены в соответствие им в списке фактических параметров оператора процедуры. Эта информация дается с помощью совокупности спецификаций, которая записывается в заголовке описания процедуры вслед за списком значений. [38]
Лля того чтобы можно было воспользоваться процедурой, необходимо знать дополнительную информацию о том, что представляет собой каждый из формальных параметров. Эту информацию задают с помощью списка значений и совокупности спецификаций. [39]
При записи спецификаций параметров используются основные символы языка АЛГОЛ: массив, метка, переключатель, процедура, строка, которые записываются перед списком параметров соответствующего класса. Если формальные параметры относятся к классу выражение, то в совокупности спецификаций их класс не описывается. [40]
Составляется новый блок, в котором локализуются переменные и и у, причем для построения описаний этого блока используется совокупность спецификаций процедуры. Начальные значения переменных и и i; получаются как результат вычисления значений соответствующих фактических параметров. [41]
Описание процедуры состоит из заголовка и тела процедуры. Заголовок процедуры включает в себя идентификатор процедуры, список формальных параметров, заключенный в круглые скобки, список значений и совокупность спецификаций. Тело процедуры представляет собой оператор ( составной или блок), описывающий алгоритм стандартной части вычислений с использованием формальных параметров. [42]
Однако для ускорения процесса трансляции желательно специфицировать все формальные параметры. Если же в процедуре какому-либо формальному параметру по содержанию могут соответствовать фактические параметры разных классов, то такие формальные параметры не должны включаться в совокупность спецификаций. Необходимо иметь в виду, что в совокупности спецификаций каждый формальный параметр может встречаться не более одного раза. [43]
Любой переключатель, использованный в теле процедуры, может быть упомянут в совокупности спецификаций. Отметим, что процедура может использовать некоторую функцию: в совокупности формальных параметров эта функция указывается только своим идентификатором процедуры, или наименованием переменной; в совокупности спецификаций, однако, перечисляются тип и указатель функции. [44]
Спецификации, включаемые в заголовок процедуры, отчасти способствуют формулировке этих ограничений на фактические параметры. В спецификациях указывается класс величин), представленных формальными параметрами в теле процедуры, и тип их значений, если эти величины могут обладать значениями. Совокупность спецификаций состоит из одной или нескольких спецификаций, выписанных подряд. Каждая спецификация состоит из спецификатора, списка идентификаторов из числа формальных параметров данной процедуры и точки с запятой. [45]