Краткое описание инструмента и ремесла программирования. Степанов А.Г - 59 стр.

UptoLike

59
ОПЕРАТОРЫ ЦИКЛА.
При написании программ очень часто возникает необходимость
многократного выполнения определенных операторов программы. По своему
назначению операторы цикла предназначены как раз для решения именно этой
задачи - организации автоматического повторения выполнения неких
операторов или группы операторов. Как правило, можно сформулировать
условие, до каких пор собственно должны повторяться действия. Это условие
является неотъемлемым параметром любого оператора цикла и называется
условием продолжения цикла. В языке VBA имеется набор операторов цикла,
предназначенных для автоматизации создания повторяющихся действий в
программе. Так два оператора Do While и Do Until, описание синтаксиса которых
представлено ниже, заставляют выполняться операторы тела цикла до тех пор,
пока сформулированное в заголовке цикла условие продолжения цикла
остается в положении соответственно истина или ложь. В этой конструкции
повторяется выполнение всех операторов, размещенных после заголовка цикла
до ограничителя тела цикла вспомогательного оператора Loop, являющегося
обязательным. При необходимости тело цикла может содержать оператор
принудительного завершения цикла Exit Do, выполнение которого приводит к
передаче управления на следующий после цикла оператор, размещенный
после оператора Loop. Туда же будет передано управление, если условие в
заголовке цикла примет значение соответственно для оператора Do While ложь,
а для оператора Do Until истина. На рис. 2.8 представлена схема и алгоритм
выполнения операторов Do While и Do Until, причем логика действий их
противоположна. Синтаксис операторов имеет вид:
Пример 2.21. Иллюстрация возможности чтения информации из ранее
подготовленного файла с использованием оператора цикла, ее обработки и
записи результатов в объявленную ранее структуру. Обратите внимание на то,
что обращение к элементу структуры ведется с помощью переменной j,
содержимое которой имело начальное значение и увеличивалось на единицу при
каждом выполнении тела цикла. Заметим
также, что в программе использована
встроенная функция EOF(), которая возвращает значение истина при
достижении конца файла, открытого по каналу #1.
Open " Зарплата.hhh" For Input As #1
j = 1 'Задание начального значения счетчика
Do Until EOF(1) ' Проверка факта достижения конца файла
Input #1, Ведомость(j).Фамилия_И_О
Input #1, Ведомость(j).Начислено_Ведомость
Ведомость(j).Налог_Ведомость = Ведомость(j).Начислено_Ведомость * 0.12
Ведомость(j).К_выдаче_Ведомость = Ведомость(j).Начислено_
Ведомость - _
Ведомость(j).Налог_Ведомость
j = j + 1 'Модификация счетчика с целью подготовки к записи в
'следующий элемент структуры
Loop
Close #1
Do [While Условие]
[Операторы]
[Exit Do]
[Операторы]
Loop
или
Do [Until Условие]
[Операторы]
[Exit Do]
[Операторы]
Loop