![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
ПРИМЕЧАНИЕ. Операторы тела повторяются, пока условие равно False
Операторы тела повторяются, пока условие равно False. В теле должен быть оператор, влияющий на значение условия, иначе цикл будет выполняться бесконечно. В теле цикла возможно использование безусловного оператора выхода exit или условного оператора выхода exit when < условие>.
Пример: Count: = 1; loop Ada.Integer_Text_IO.Put (Count); exit when Count = 10; Count: = Count + 1; end loop: При выполнении цикла на экран выводится: Аналогичные вычисления можно задать в следующем виде: Count: = 1 loop Ada.Integer_Text_IO.Put (Count); if Count = 10 then exit; end if; Count: = Count + 1; end loop; Оператор цикла while также позволяет определить цикл с заранее неизвестным количеством повторений, имеет вид while < условие продолжения> loop < последовательность операторов> end loop; Порядок выполнения. 1. Вычисляется значение условия. Если значение равно True, выполняется переход к пункту 2. В противном случае (при значении False) происходит выход из цикла. 2. Выполняются операторы тела цикла. Осуществляется переход к пункту 1. Таким образом, это цикл с предусловием. Перечислим характерные особенности оператора while. 1. Операторы тела могут выполняться нуль и более раз. 2. Операторы тела повторяются, пока условие равно True. 3. В теле должен быть оператор, влияющий на значение условия (для исключения бесконечного повторения). Пример: Count: =1; loop while Count < = 10 loop Put (Count): Count: = Count + 1; end loop; При выполнении цикла на экран выводится: Оператор цикла for обеспечивает организацию циклов с известным количеством повторений. Используются две формы оператора. Первая форма оператора for имеет вид: for < параметр цикла> in < дискретный диапазон> loop < операторы тела цикла> end loop; Параметр цикла — это переменная, которая заранее не описывается (в программе). Данная переменная определена только внутри оператора цикла. Параметру цикла последовательно присваиваются значения из дискретного диапазона. Дискретный диапазон всегда записывается в порядке возрастания в виде min.. max; Операторы тела повторяются для каждого значения параметра цикла (от минимального до максимального). Пример: for Count in 1.. 10 loop Put (Count); end loop; При выполнении цикла на экран выводится: 1 2 3 4 5 б 7 8 9 10 Вторая форма оператора for имеет вид for < параметр цикла> in reverse < дискретный диапазон> loop < операторы тела цикла> end loop; Отличие этой формы состоит в том, что значения параметру присваиваются в порядке убывания (от максимального к минимальному). Диапазон же задается по-прежнему, в порядке возрастания. Пример: for Count in reverse 1.. 10 loop Put (Count); end loop; При выполнении цикла на экран выводится:
|