Главная страница

Введение 8 Этапы создания Windowsприложения 8


Скачать 6.98 Mb.
НазваниеВведение 8 Этапы создания Windowsприложения 8
АнкорVisual Basic 2005 (word97).doc
Дата22.12.2017
Размер6.98 Mb.
Формат файлаdoc
Имя файлаVisual Basic 2005 (word97).doc
ТипРеферат
#12532
страница16 из 63
1   ...   12   13   14   15   16   17   18   19   ...   63

5.6. Функция IIf


В языке существует еще один способ организации ветвления – функция IIf. Она имеет следующий синтаксис.

IIf(Условное выражение, Значение1, Значение2)

Функция проверяет истинность Условного Выражения. Если Условное Выражение имеет значение Истина (True), то функция IIf возвращает Значение1. Если Условное Выражение имеет значение Ложь (False), то функция IIf возвращает Значение2.

В качестве примера опять рассмотрим задачу вычисления модуля числа. Исходное число обозначим a, а результат вычислений – b.

b = IIf(a >= 0, a , -a)

Значение, записанное в переменную b, будет зависеть от знака числа a. Если исходное число неотрицательное, то значение переменной b будет совпадать со значением переменной a. В противном случае значение переменной b будет противоположно по знаку значению переменной a, хотя и будет совпадать с ним по модулю. Таким образом, приведенный фрагмент программы позволяет найти модуль исходного числа с помощью функции IIf.

5.7. Оператор множественного ветвления ElseIf


При решении сложных задач часто возникает ситуация, когда определенное действие (или набор действий) нужно выполнить после проверки не одного, а нескольких условий. В таких случаях используют конструкцию множественного условного перехода. В Visual Basic 2005 эта конструкция реализуется с помощью оператора множественного ветвления ElseIf, имеющего следующий синтаксис.

If Условное Выражение 1 Then

Операторы 1

ElseIf Условное Выражение 2 Then

Операторы 2

ElseIf Условное Выражение 3 Then

Операторы 3

. . .

ElseIf Условное Выражение N Then

Операторы N

Else

Операторы Else

End If

Рассмотрим логику работы этого оператора. Если Условное Выражение 1 имеет значение Истина (True), то выполняется блок Операторы 1, значения остальных условных выражений не проверяются и соответствующие блоки не выполняются. Если Условное Выражение 1 имеет значение Ложь (False), то проверяется значение Условного Выражения 2. Если оно – Истина (True), то выполняется блок Операторы 2. Иначе проверяется значение Условного Выражения 3 и так далее. Если все условные выражения имеют значение Ложь (False), то выполняются операторы, стоящие в части Else, ели она существует (в Visual Basic 2005 часть Else является необязательной). После завершения работы оператора множественного ветвления выполнение программы продолжается с оператора, стоящего после ключевого словосочетания End If. Обратите внимание, что выполниться может только одна ветвь оператора, даже если истинными являются сразу несколько Условных Выражений. В таких случаях реализуется первая из подходящих ветвей оператора.

В качестве примера рассмотрим программу, вычисляющую значение функции в некоторой точке x, заданной пользователем. Функция имеет следующий вид.



Полный текст программы приведен в приложении 5.

Первым шагом алгоритма является проверка области допустимых значений. Данная функция не имеет значения в точке x = 0. Потому первое условие анализирует значение аргумента функции. Если x попадает в область допустимых значений, то последовательно проверяется, к какой именно части принадлежит значение аргумента функции. В зависимости от этого вычисляется значение функции.

If x = 0 Then

MsgBox("Функция не определена")

ElseIf x < -10 Then

y = 2 * x

MsgBox("y=" + Str(y))

ElseIf x < -1 Then

y = x

MsgBox("y=" + Str(y))

ElseIf x <= 1 Then

y = 1 / x

MsgBox("y=" + Str(y))

Else

y = x ^ 2

MsgBox("y=" + Str(y))

End If
1   ...   12   13   14   15   16   17   18   19   ...   63


написать администратору сайта