Ада-95. Компилятор GNAT

       

Процедуры


Процедуры Ады подобны процедурам Паскаля и используются для реализации самых разнообразных алгоритмов.

Общий вид описания процедуры выглядит следующим образом:

procedure имя_процедуры [ (формальные_параметры) ] ;    спецификация процедуры, определяющая имя процедуры и профиль ее формальных параметров (если они есть)

Общий вид тела процедуры:

procedure имя_процедуры [ (формальные_параметры) ] is    спецификация процедуры, определяющая имя процедуры и профиль ее формальных параметров (если они есть)
      
. . .   описательная (или декларативная) часть, которая может содержать локальные описания типов, переменных, констант, подпрограмм...
      
begin     
. . .    исполняемая часть процедуры, которая описывает алгоритм работы процедуры;

обязана содержать хотя бы одну инструкцию

      
end [ имя_процедуры ];    здесь, указание имени процедуры опционально

Таким образом, описание содержит только спецификацию процедуры и определяет правила ее вызова (иначе - интерфейс), а тело содержит спецификацию и последовательность инструкций, которые выполняются при вызове процедуры.

Примечательно требование Ады, чтобы исполняемая часть процедуры содержала хотя бы одну инструкцию. Поэтому, как правило на этапе проектирования, при написании процедур-заглушек используется пустая инструкция, например:

procedure Demo(X: Integer; Y: Float) is

begin

null; -- пустая инструкция end Demo;

Вызов процедуры производится также как и в языке Паскаль, например:

Demo(4, 5.0);

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



Содержание раздела