Цикл Do…Loop
Этот цикл является логически прерываемым циклом. Цикл повторяет набор инструкций, пока выполнено некоторое условие. Такую форму цикла чаще всего применяют в условиях неопределенности, когда нельзя заранее установить, сколько раз потребуется повторять действия, например, если заранее не известно, скольким сотрудникам следует рассчитать зарплату.
Синтаксис оператора:
Do [(While|Until) condition] [statements][Exit Do] [statements]Loop [(While|Until) condition]· condition – тестируемое выражение со значением True или False;
· While|Until – ключевые слова (используется одно из двух), которые определяют, до каких пор будут выполняться команды, составляющие тело цикла: While – повтор операторов, пока условие (condition) истинно; Until – повтор операторов, пока условие ложно (пока условие не станет истинным). Таким образом, циклы с ключевым словом While эквивалентны циклам Until, в которых перед условием стоит отрицание Not: While condition = Until Not condition;
· Exit Do – оператор немедленного выхода из цикла;
· statements – последовательность операторов, выполняемых в цикле.
По сути, оператор имеет пять вариантов синтаксиса: запись условия While|Untilперед входом в цикл (предусловие), запись условия While|Until1 в конце цикла (постусловие) и запись оператора без задания условия. В последнем случае в теле цикла должна осуществляться проверка условия выхода из цикла или продолжения цикла и должен присутствовать оператор немедленного выхода из цикла Exit Do (рис.16.11).
Если условие выполнения цикла нарушено при входе в цикл, то в случае предусловия тело цикла не выполнится ни разу, а в случае постусловия операторы тела цикла выполнятся один раз.
Возможно использование вложенных циклов, в том числе разных конструкций. Оператор Exit Do всегда завершает внутренний цикл.
Рис. 16.11.Выход из цикла Do … Loop при помощи оператора Exit Do
На рис.16.11 представлена процедура и результат расчета суммы социальных выплат. Предполагается, что данные о зарплате размещены в ячейках колонки A. Цикл выполняется, пока очередная ячейка не окажется пустой или нулевой.
Выход из цикла производится оператором Exit Do. Процедура на рис.16.12 выполняет те же действия, но в операторе цикла задано предусловие с ключевым словом While.
Дата добавления: 2015-02-25; просмотров: 672;