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

Краткие теоретические сведения. Для записи разветвляющихся алгоритмов используется оператор If, он имеет две формы записи:



Для записи разветвляющихся алгоритмов используется оператор If, он имеет две формы записи:

однострочную:

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

многострочную:

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

[ElseIf условие-2 Then
[оператор2]...

[Else
[оператор3] ]

End If

В условии записывается логическое выражение, в котором используются операции сравнения. Для создания сложных условий применяются логические операции and (и) и or (или).

Пример. Вычислить значение функции при любых значениях a и b. На первый взгляд решение этой задачи можно описать алгоритмом линейной структуры, однако при условии ab = 0 задача не может быть решена, так как деление на ноль невозможно. Для корректного решения задачи необходимо предусмотреть вывод сообщения, если вычисление y невозможно. В этом случае вычислительный процесс можно описать следующим образом: вычислить y, если ab ≠ 0, или вывести сообщение, если ab = 0.

В ГСА решения этой задачи (рис. 3.1) используется блок проверки условия, имеющий один вход и два выхода по выполнению проверяемого условия – «Да» и «Нет» (в данном примере – это блок 2, в котором проверяется условие ab = 0). В зависимости от результата проверки условия возможны два пути продолжения решения задачи. Каждый из путей называется ветвью, а алгоритм – разветвляющимся.

Как и во всех разветвляющихся алгоритмах в данном примере нарушается ес-тественный порядок следования блоков. Так, за блоком 2 может выполняться блок 3, образуя ветвь 1, или блок 5, образуя ветвь 2; за блоком 4 всегда выполняется блок 6.

Любое изменение естественной (линейной) последовательности выполнения блоков называется переходом. Переходы бывают двух типов: условные и безусловные. Условный переход реализуются с помощью оператора условия (условного оператора).

Для рассматриваемого примера оператор условия для блочной структуры можно записать в виде:

Программный код

Sub V ()

Dim a As Single, b As Single, y As Single

a=Val(InputBox("a ="))

b=Val(InputBox("b ="))

If a*b=0 Then

MsgBox ("ab=0")

Else y=1/ (a*b)

MsgBox ("y="& y)

End If

End Sub

Если условие выполняется, т. е. ab= 0, то в окне вывода на экран монитора оператором MsgBox выводится сообщение "ab=0", в противном случае, когда ab≠ 0, вычисляется значение y по формуле y=1/(a*b),котороевыводится в стандартном окне вывода.

Вариант программы с линейной формой записи оператора:

Программный код

Option Explicit

Sub V ()

Dim a As Single, b As Single, y As Single

a=Val(InputBox("a="))

b=Val(InputBox("b="))

IF a*b=0 Then MsgBox("ab=0") Else y=1/(a*b): MsgBox ("y="& y)

End Sub





Дата публикования: 2015-04-06; Прочитано: 340 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



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