Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



Условный оператор задаёт выполнение определённых групп операторов в зависимости от значения условия. Общий вид оператора имеет один из двух следующих видов:

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; Прочитано: 192 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...