"Адское" программирование Ada-95 -Компилятор GNAT

         

Структуры управления



Структуры управления

Все структуры управления последовательностью выполнения (иначе, управляющие структуры) Ады имеют соответствующие закрывающие инструкции, такие как "if ... end if", "loop ... end loop", "case ... end case". Далее, в Аде символ двоеточия ';' используется для завершения инструкции, а не для разделения инструкций, как в Паскале.Это обеспечивает синтаксис, который, по сравнению с синтаксисом Паскаля, легче использовать корректно.Например, инструкция Паскаля:

if X < Y then A := B;

будет написана в Аде следующим образом:

if X < Y then A := B;

end if;

А инструкция Паскаля:

if X < Y then begin A := B; Z := X end else begin A := X; Z := B end;

будет написана в Аде следующим образом:

if X < Y then A := B; Z := X; else A := X; Z := B; end if;

Использование подобного синтаксиса в Аде гарантирует остутствие "висячих" else.

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

Диапазоны, для цикла for, часто назначаются как имена типов или подтипов, подобно следующему:

for Count in Index'Range loop

Ада не имеет структуры цикла repeat.Вместо этого используется "loop ... end loop" с инструкцией выхода из цикла "exit when" в конце тела цикла.

Переменная выбора в инструкции case должна быть дискретного (целочисленного или перечислимого) типа.Различные альтернативы выбора case должны указывать все возможные значения переменной выбора в неперекрывающейся манере.



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








Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий