Разветвления в циклических программах

Если некоторые действия в программе, например вычисления по формулам, должны происходить только при выполнении какого-либо условия, то такая программа называется разветвляющейся, а разветвление вычислений обеспечивается условным оператором.

Для записи проверяемого условия используются операции сравнения: > (больше), >= (больше либо равно), < (меньше), <= (меньше либо равно), = (равно), < > (не равно).

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

Например, сложное условие x > y And a >= 5 будет верно только тогда, когда верны одновременно оба условия x > y и a >= 5. Сложное условие x > y Or x = a будет верно тогда, когда выполняются либо условие x > y, либо a >= 5,либо оба этих условия одновременно.

Объединяя условия логическими операциями And и Or, можно составить и более сложное условие, например:

x >= 1 And x =< 10 Or x = 15

Это условие будет верно, если х находится внутри интервала [1:10] либо если х = 15.

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

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

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

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

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

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

If <условие> Then

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

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

Else

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

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

End If

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

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

разветвления в циклических программах - student2.ru ; разветвления в циклических программах - student2.ru ; разветвления в циклических программах - student2.ru

Исходные данные: 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:

разветвления в циклических программах - student2.ru

Программа:

Наши рекомендации