Введение в информатику процессов первичной переработки нефти. Новиков А.А - 84 стр.

UptoLike

Составители: 

83
Xmc(i) = Cells(i + 2, 9).Value
Xml(i) = Cells(i + 2, 10).Value
i=i+1
Wend
После служебного слова While можно использовать любое допустимое логиче-
ское условие, принимающее значение True (истина) или False (ложь). Цикл While-
Wend будет выполняться до тех пор, пока это условие имеет значение True. Таким
образом, если написать в заголовке цикла While 2*2=4, то цикл получится бесконеч-
ным, потому что указанное там условие всегдаистина. А если написать в заголов-
ке цикла While 2*2=5, то цикл не выполнится ни разу, поскольку указанное условие
всегдаложь, а управление будет передано инструкции, следующей за служебным
словом Wend.
Описанный выше пример приведен исключительно только для понимания рабо-
ты цикла While-Wend. На практике, когда количество проходов цикла известно, ко-
нечно, применяют циклы For-Next. Необходимость в использовании структуры
While-Wend возникает как раз тогда, когда количество проходов цикла заранее не
известно и циклические расчеты требуется повторять до тех пор, пока некоторое
(заданное) условие является истиной. Например, это требуется в итерационных вы-
числениях методом последовательных приближений, широко используемых в неф-
тегазовых инженерных расчетах.
2.9.5. Управляющая инструкция Do-Loop
Она похожа на инструкцию While-Wend, однако дополнительно обладает двумя
важными особенностями. Во-первых, условие завершения цикла Do-Loop можно
задавать либо в его начале, либо в конце. Условие в конце цикла гарантирует, что
он будет выполнен хотя бы один раз. Во-вторых, условие можно сделать критерием
как выполнения цикла Do-Loop, так и его завершения. Последняя возможность в
цикле While-Wend также доступна, чтобы цикл выполнялся, пока не соблюдено
некоторое условие, его надо указать в инструкции While с логическим оператором
Not.
Рассмотрим несколько простых примеров.
Sub Pro29()
Dim L As Boolean
L = True
j=0
Do While L
dY=Dihotom(y)
L=dY>0.001
j=j+1
Loop
MsgBox "Решение с точностью 0.001 найдено за " & j & "итераций"
End Sub
Function Dihotom( y)
эта функция итерационного решения будет определена позднее