Разница между операторами For и While

Для сравнения принципа работы рассматриваемого оператора с оператором For приведем пример программы, выполняющей аналогичную задачу вычисления суммы

 

Sub Sum()

Dim i As Integer

n = InputBox("Введите количество слагаемых")

s = 0

i = 0

While i < n + 1

s = s + i ^ 2

i = i + 1

Wend

Приведем пример предыдущей задачи с использованием данного оператора

 

Sub Sum()

Dim i As Integer

n = InputBox("Введите количество слагаемых")

s = 0

i = 0

Do While i < n + 1

s = s + i ^ 2

i = i + 1

Loop

MsgBox s

End Sub

 

или

 

Sub Sum()

Dim i As Integer

n = InputBox("Введите количество слагаемых")

s = 0

i = 0

Do

s = s + i ^ 2

i = i + 1

Loop Until i > n

MsgBox s

End Sub

 

4. Содержание условия оператора If. Для записи разветвляющихся алгоритмов используется оператор If (Если), который имеет две формы записи.

1. Однострочная запись:

If условие Then [оператор]

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

2. Многострочная запись:

If условие Then

[оператор 1]

[оператор 2]

[оператор 3]

End If

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

После имени конструкции If должно следовать логическое выражение, содержащее условие. Для создания сложных условий используются логические операции And (И) и Or (Или). В качестве условия могут выступать следующие логические выражения: сравнение переменной с другой переменной, константой или функцией; любая переменная; выражение; поле базы данных; функция, принимающие значения True (Истина) или False (Ложь).

5. Невыполнение условия в операторе If. Если условие не выполняется, то Visual Basic переходит к выполнению операторов, следующих за указанным оператором.

В качестве примера приведем функцию определения корней квадратного уравнения:

 

Function Корни(a, b, c)

d = b ^ 2 - 4 * a * c

If d >= 0 Then

x1 = (-b + d ^ (1 / 2)) / (2 * a)

x2 = (-b - d ^ (1 / 2)) / (2 * a)

Корни = "x1=" + str(x1) + "; x2=" + str(x2)

Else

Корни = "корней нет"

End If

End Function

 

 

6. Назначение операторов Then, Else и Else If. Конструкция IfThen (Тогда)Else (Также)аналогична конструкции If... Then, но позволяет задать действия, исполняемые как при выполнении условий, так и в случае их невыполнения.

Команда If может проверить только одно условие. Если требуется осуществить переход управления в зависимости от результатов проверки нескольких условий, то дополнительное условие можно задать с помощью оператора Else If (Также Если). Оно будет анализироваться только в том случае, если предыдущее условие ложно.

Ключевое слово End If обозначает конец многострочной конструкции и его наличие в команде в этом случае обязательно. Если указанное условие выполняется, то есть результат проверки равен True (Истина), то выполняются операторы, следующие за ключевым словом Then.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: