Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatika2013-Of2010.doc
Скачиваний:
25
Добавлен:
26.03.2015
Размер:
5.06 Mб
Скачать

Разветвляющиеся программы

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

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

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

Например, условие x >= 1 And x =< 10 Or x = 15 верно, если х находится внутри интервала [1:10] либо если х = 15.

Условный строчный оператор имеет общий вид IfThenElse (если…тогда…иначе…) и представляет в общем случае конструкцию If <условие> Then <оператор1> Else <оператор2>, которая имеет следующий логический смысл: если условие выполняется, то нужно выполнить оператор1, иначе следует выполнить оператор2. В операторе может отсутствовать Else.

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

If <условие> Then

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

Else

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

End If

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

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

;;

Вычисление значений функции yдля вводимых с клавиатуры некоторых значений n и x:

Sub CommandButton1_Click()

Dim x As Single, y As Single, w As Single, n As Single

x = Val(InputBox(“Введите x”))

n = Val(InputBox(“Введите n”))

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)

End Sub

Sub CommandButton1_Click()

Dim x As Single, n As Single, y As Single

'Ввод исходных данных

x = Val(InputBox("Введите x "))

n = Val(InputBox("Введите n"))

'Проверка условий и расчет значений

If x >= 0 And n >= 0 Then y = Sqr(x)

If x < 0 And n < 0 Then y = n * x + 2

MsgBox (y) 'Вывод результата

End Sub

В зависимости от вводимых значений результаты вычисляются по различным формулам.

Вычисление значений y для x = – 2(2)8:

Вычисление значений y и w в соответствии с условием:

если х < 5, то y = sin2x, w = ctgx;

если х 5, то y = 1 – sinx, w = arctgx.

Значения х = {9; 0,1; – 4; 5; 12}

Sub CommandButton1_Click()

Dim x As Single, y As Single

For x = – 2 To 8 Step 2

If x < 0 Then y = x + 2

If x > 5 Then y = x ^2

If x >= 0 And x <= 5 Then y = Sqr(5 * x)

MsgBox (y) 'Вывод результата

Next

End Sub

Sub CommandButton1_Click()

Dim x As Single, y As Single, w As Single, i As Integer

For i = 1 To 5

x = Val(InputBox("Введите значение х"))

If x > 5 Then

y = Sin(x) ^ 2

w = cos(x) / sin(x)

Else

y = 1 Sin(x)

w = Atn(x)

End If

MsgBox (“x=” & x &“ y=” & y & “ w=” & w)

Next

End Sub

Назад