logo
Информатика и КГ_2014

6.1. Условный оператор If

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

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

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

В операторе может отсутствовать Else.

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

If <условие> Then

<оператор1а>

<оператор1б>

Else

<оператор2а>

<оператор2б>

End If

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

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

; ;

Исходные данные: x = 0.5(0.5)4, n = 7. Текст программы:

Sub CommandButton1_Click()

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

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

For x = 0.5 To 4 Step 0.5

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)

Next

End Sub

Пример 6.2. Вычислить значение y для вводимых с клавиатуры некоторых значений n и x:

Программа:

Sub CommandButton2_Click()

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

'Ввод исходных данных

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

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

'Проверка условий и расчет значений

If x >= 0 And n >= 0 Then y = Sqr(x)

If x < 0 And n < 0 Then y = n * x + 2

MsgBox (y) 'Вывод результата

End Sub

Пример 6.3. Вычислить значение y для вводимого с клавиатуры некоторого значения x:

В программе использован вложенный оператор If:

Sub CommandButton3_Click()

Dim x As Single, y As Single

'Ввод исходных данных

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

'Проверка условия и расчет значений

If x < 0 Then y = x + 2 Else If x <= 5 Then y = Sqr(5 * x) Else y = x ^ 2

MsgBox (y) 'Вывод результата

End Sub

Пример 6.4. С использованием блочного оператора If написать программу вычисления значений y и w для следующего условия: если х < 5, то y = sin2x, w = ctgx; если х  5, то y = 1 – sinx, w = arctgx.

Исходные данные х = {9; 0.1; -4; 5; 12} записаны на рабочем листе в первом столбце. Результаты надо поместить во второй и третий столбцы:

Private Sub CommandButton4_Click()

Dim x As Single, y As Single, z As Single

Dim w As Single, I As Integer

For i = 1 to 5

x = Cells(I, 1)

If x > 5 Then

y = Sin(x) ^ 2

w = cos(x) / sin(x)

Else

y = 1 - Sin(x)

w = Atn(x)

End If

Cells(i, 2) = y

Cells(i, 3) = w

Next

End Sub

Поскольку кнопка находится на том же рабочем листе, что и данные, то можно в программе не указывать название рабочего листа (Worksheets(имя)).