Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Условный оператор задаёт выполнение определённых групп операторов в зависимости от значения условия. Общий вид оператора имеет один из двух следующих видов:
1. В строку
If Логическое выражение then ГруппаОператоров1 [ else ГруппаОператоров2 ]
Здесь оператор записывается в одну строку (хотя можно при помощи знака переноса разбивать его на отдельные строки).
2. В блочном виде
If условие then
ГруппаОператоров1
[ Else
ГруппаОператоров2]
End If
В этом случае для обозначения окончания оператора обязательно используется ключевые слова End If.
Если Логическое выражение принимает значение True (истина), то выполняется ГруппаОператоров1, если False, то выполняется ГруппаОператоров2. Ветвь else является необязательной. Например, введём с клавиатуры переменную k целого типа. Если она меньше 0, выведем окно с сообщением об этом:
Sub JJ()
Dim k As Integer
k = InputBox("Введите К:")
If k > 0 Then MsgBox "K>0",, "Значение К"
End Sub
Например, программа на VBA для функции
может быть в одном из двух следующих видов:
в блочном виде
Function Y1() ‘1
x=InputBox(“Введите x:”)
If x < 0.5 Then
Y = (1 + Abs(0.2 - 1)) / (1 + x + x^2)
Else
Y = x ^ (1/3)
End If
MsgBox “Y=” & Y
End Funсtion
в строку
Function Y2() ‘2
x = InputBox("Введите x:")
If x < 0.5 Then Y = (1 + Abs(0.2 - 1)) / (1 + x + x ^ 2) _
Else Y = x ^ (1 / 3)
MsgBox "Y=" & Y
End Function
В группе выполняемых операторов могут быть любые выполняемые операторы VBA, кроме операторов описания переменных. Например, в следующем примере в качестве выполняемого оператора используется оператор If:
Function Y4()
Dim x As Single, a As Integer
x = InputBox("Введите x:")
a = InputBox("Введите a")
If a >= 5 Then
If x < 0.5 Then
Y = (1 + Abs(0.2 - 1)) / (1 + x + x ^ 2)
Else
Y = x ^ (1 / 3)
End If
Else
Y = 0
End If
MsgBox "Y=" & Y
End Function
В рассмотренном примере если а<0, то Y=0, иначе, если x<0.5, то , а если x>=0.5, то
В случае если количество условий больше одного, то применяется форма условного оператора с дополнительными условиями:
If условие1 Then
ГруппаОператоров1
ElseIf условие2 Then
ГруппаОператоров2
ElseIf условие3 Then
ГруппаОператоров3
¼
Else
ГруппаОператоровN
End If
которая включает в себя несколько дополнительных условий после ключевых слов ElseIf и групп операторов, а также группу операторов после ключевого слова Else, которая выполнится, если не будет истинным ни одно из предыдущих условий. Например, функция с тремя условиями
может быть представлена в программе следующим образом:
Function Z()
Dim x As Single, F As Single
x = InputBox("Введите x:")
y = InputBox("Введите y:")
If x < 0.2 Then
F = y + Log(1 + x)
ElseIf x <= 0.8 Then
F = (1 + x ^ (1 / 2)) / (1 + y)
Else
F = 2 * Exp(-2 * x) / y
End If
MsgBox "F (" & x & ", " & y & ") = " & F
End Function
Например: вычислить А в зависимости от следующих условий:
А = Sin(x)^2+Cos(x)^2, если C>0, K=1, F=3 или F=5
A = Sin(x)^3+Cos(x)^3, если C<=0, K=2, F=2 или F=4
Условный оператор для решения этой задачи будет иметь следующий вид:
If C>0 AND K=1 AND (F=3 OR F=5) Then
А = Sin(x)^2+Cos(x)^2
ElseIf K=2 AND (F=2 OR F=4) Then
A = Sin(x)^3+Cos(x)^3
EndIf
Задание 3.1:
Для рисунка, указанного вам преподавателем, сделайте программу, которая по координатам точки x и y, введённым Вами с клавиатуры, определит, в какую область попала точка.
Задание 3.2:
Переделайте программу так, чтобы значения логических выражений, проверяющих, где находится точка, присваивались логическим переменным, которые нужно вставить в оператор If вместо логических выражений.
Дата публикования: 2015-07-22; Прочитано: 193 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!