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

UptoLike

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

84
пока просто зададим невязку решения сами, чтобы проверить работу цикла
Dihotom=0.0005
End Function
В этом примере переменная j выполняет роль счетчика количества итераций,
значение которого заранее не известно, но мы его подсчитываем, и после окончания
цикла будем знать. Цикл же будет выполняться пока условие, заданное в логиче-
ской переменной L, является истиной: невязка итерационного решения dY>0.001.
Последнее числоэто желаемая погрешность решения, которую мы задаем сами, а
невязку решения будет давать функция Dihotom. Ее структуру рассмотрим позднее в
главе, посвященной методам решения. Результат выполнения Pro29 представлен на
рис. 2.12.
Рис. 2.12. Пример работы программы Pro29
Цикл Do-Loop позволяет использовать вместо служебного слова While служеб-
ное слово Until. Это означает, что цикл же будет выполняться теперь пока условие,
заданное после служебного слова Until является ложью (False). Цикл Do-Loop по-
зволяет внести еще несколько изменений. Например, в следующей программе Рro30
ключевое слово Do оставлено в начале цикла, а условие завершения и ключевое
слово Until переместились в его конец, за ключевое слово Loop. В таком варианте
цикл обязательно выполняется хотя бы один раз, поскольку условие завершения не
проверяется, пока не будут выполнены все инструкции из тела цикла. Поэтому мы
можем удалить инструкцию для инициализации переменной L. А знак > в логиче-
ском условии необходимо заменить на противоположный <=. Результат выполне-
ния Рro30 будет таким же, как и Рro29.
Sub Pro30()
Dim L As Boolean
j=0
Do
dY=Dihotom(y)
L=dY<=0.001
j=j+1
Loop Until L
MsgBox "Решение с точностью 0.001 найдено за " & j & "итераций"
End Sub
А теперь заменим ключевое слово Until в конце цикла словом While. Тогда мы
сможем вернуть в условие тот же знак >: