Цикл может быть завершен с помощью инструкций ``exit'' или ``exit when'' (похожих на инструкцию break языка С). Инструкция `exit' приводит к немедленному выходу из "самого внутреннего" цикла. Инструкция `exit when' приводит к выходу из "самого внутреннего" цикла только в случае истинности соответствующего условия.
Инструкция `exit when' особенно полезна в случае, если нужно выполнить некоторые действия для того, чтобы выяснить необходимость прекращения цикла. Такие конструкции, называемые ``loop-and-a-half'', начинаются словом "loop", производят вычисления, определяющие необходимость остановки цикла, затем используют `exit when' для выхода из цикла при выполнении условия остановки и далее обрабатывают результат.
Ниже приведен пример такой конструкции: программа считывает список чисел , печатает их квадраты и останавливается (без вывода на экран) когда встречает число `0':
Каим будет конечное значение A?
A := 1; loop A := A + 1; exit when A > 3; end loop;
Перейти к предыдущему разделу | Перейти к следующему разделу | Вернуться к содержанию Урока 5 |
---|
David A. Wheeler (dwheeler@ida.org)
Исходная копия этого документа находится по адресу
"http://www.adahome.com/Tutorials/Lovelace/s5s3.htm".
Исходная копия перевода размещена на сайте http://www.ada-ru.org
Перевод: Юрий Королев
Общая редакция перевода: Г.Ю. Сисюк