Dim x As Single, y As Single, w As Single, n As Single


End If

End If

Else

Строчный и блочный условные операторы

End Sub

Loop

Для проверки результатов вычислений с помощью формул Excel в ячейку D15 можно поместить формулу:

=КОРЕНЬ(B15^2+8*$J$7)*LN(B15+0,5)

Ее надо скопировать в ячейки D16:D19 и в ячейки I15:I23. Результат расчета с помощью VBA и Excel должен совпасть.

ПРОГРАММЫ С РАЗВЕТВЛЕНИЕМ. УСЛОВНЫЕ ОПЕРАТОРЫ (Задание 2)

Если некоторые действия в программе, например вычисления по формулам, должны происходить только при выполнении какого-либо условия, то такая программа имеет разветвление, которое обеспечивается условным оператором. Для записи проверяемого условия используются операции сравнения: > (больше), >= (больше либо равно), < (меньше), <= (меньше либо равно), = (равно), < > (не равно).

Каждое условие всегда имеет два значения – либо оно верно (True – правда), либо неверно (False – ложь).

Проверяемое условие может быть и сложным, состоящим из нескольких простых условий. Для записи сложного условия используются логические операции объединения: And – сложное условие верно, когда оба простых условия верны, иначе сложное условие будет ложным; Or – сложное условие верно, когда хотя бы одно из простых условий верно.

Объединяя условия логическими операциями And и Orв различных вариантах, можно составить сложное условие, например:

x >= 1 And x =< 10 Or x = 15

Это условие будет верно, если х находится внутри интервала [1:10] либо если х = 15.

Условный оператор имеет общий вид If…Then…Else… (если…тогда…иначе…) и в строчной форме записи представляет конструкцию:

If<условие>Then<оператор1>Else<оператор2>,

которая имеет следующий логический смысл: если условие выполняется, то нужно выполнить оператор 1, иначе нужно выполнить оператор 2.

Например:

If Temper<10 Then MsgBox”Надеть куртку” Else MsgBox”Надеть ветровку”

Если в результате проверки условия должны выполняться несколько операторов, то условный оператор записывается в блочной форме в виде:

If <условие> Then

<операторы>

<операторы>

Блочный условный оператор заканчивается строкой с ключевыми словами End If.

В строчном и в блочном операторе может отсутствовать Else:

If <условие> Then

<операторы>

Если необходимо проверить более одного условия, то можно использовать вложение операторов If друг в друга.

Пример 1 программы вычислений по формулам с использованием строчного условного оператора If:

; ;

x = Val(InputBox(«Введите x»))

n = Val(InputBox(«Введите n»))

y = Exp(-2 * x) + 1

z = Log(x) / (x + 1)

If x < z ^ 2 Then w = Sqr(x * y) Else w = n * x + 2

Msgbox (“w=” & w)

В этой программе можно вывести результат в ячейку на рабочем листе Excel. Для этого вместо MsgBox следует записать

Worksheets(“Лист1”).Range(“a1”)=w

Значение w будет выведено в ячейку А1 на рабочем листе с именем Лист1.

Пример 5. Вычислить значение функции n:

, x = 1,7 s = 5,2 значение j задать самостоятельно.

 

Оформим Лист2 согласно образцу (рис. 6.1). Переименуем «Лист2» в «Условный оператор», вставим расчетные формулы и введем исходные данные.

 

Рис. 6.1. Образец оформления программы с разветвлением на листе Excel

Для кнопки «Расчет If» напишем следующую процедуру:

Private Sub CommandButton1_Click()

Worksheets("Условный оператор").Range("c2") = "Вычисления с разветвлением" ‘вносит текст в ячейку «С2» листа «Условный оператор»