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



 

Алгоритм называется разветвляющимся, если последовательность выполнения его шагов изменяется в зависимости от выполнения некоторых условий. Условие – это логическое выражение, которое может принимать одно из двух значений: “ДА” – если условие верно (истинно, TRUE); “НЕТ” – если условие неверно (ложно, FALSE).

 

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

 

Схема алгоритма конструкции условного оператора If представлена на рисунке 3.  Синтаксис условного оператора If  в   однострочной форме следующий:

 

If <лог. выраж.> Then P1 : P2 : ... : PN Else M1 : M2: ... MN,

 

где If, Then, Else, End If – зарезервированные слова;

P1, P2, PN, M1, M2, MN – операторы.

 

M1

 

M2

 

MN

 

P1

 

P2

 

PN

 

 

Логическое выражение
    Да                                   Нет                

 

 

                        

 

                          

 


Рисунок 3 – Схема алгоритма конструкции условного оператора If

 

Возможна и другая синтаксическая форма – блочная (структурная):

                           

If <логическое выражение> Then

P1

.

PN

Else

M1

.

MN

End If

 

Многозначные ветвления If

 

Схема алгоритма конструкции оператора многозначных ветвлений If представлена на рисунке 4. Синтаксис оператора многозначных ветвлений If в блочной (структурной) форме следующий:

 

If <лог. выражение1> Then

P1

ElseIf <лог. выражение2> Then

P2

Else

P3

End If

 

где If, Then, Else, End If – зарезервированные слова;

P1, P2, P3, P4 – операторы.

Лог. выраж. 1


       Да                                 Нет 

Лог. выраж. 2


P1
                                               Да                                   Нет

Лог. выраж. 3  


P2
                                                                                            Да                                 Нет

                                                                                                                                  

P3
P4


Рисунок 4 – Схема алгоритма конструкции оператора многозначных         ветвлений If

 

Алгоритм работы такой конструкции следующий:

– если логическое выражение 1 истинно, то выполняется оператор P1 (или блок операторов), следующий за конструкцией Then, а остальные операторы пропускаются;

– если логическое выражение 1 ложно, то оператор P1 пропускается и анализируется логическое выражение 2, следующее за ElseIf. Если оно истинно, то выполняется оператор P2 (или блок операторов), следующий за Then, а остальные операторы пропускаются;

– оператор P4 (или блок операторов), следующий за последним Else, выполняется лишь в том случае, если ложны все логические выражения.

Ниже представлены примеры использования условного оператора if и многозначного ветвления, позволяющего определить возможность поступления абитуриента в учреждения образования. На первом шаге происходит ввод пользователем балла, полученного на тестировании. На втором шаге, если полученный балл более 60, приложение выдает сообщение: "Вам можно поступать в ВУЗ". На третьем шаге, если полученный балл более 20, приложение выдает сообщение: "Вам можно поступать в СУЗ". На четвертом шаге, если полученный балл более 5, приложение выдает сообщение: "Вам можно поступать в ПТУ".

 

Sub ball()

Dim ball As String

ball = InputBox("Введите полученный Вами балл на тестировании")

If ball >=60 Then

       MsgBox ("Вам можно поступать в ВУЗ")

Else ball >=20 Then

MsgBox ("Вам можно поступать в СУЗ")

Else ball >=5 Then

MsgBox ("Вам можно поступать в ПТУ")

End If

Практическое задание

 

1 Запросите у пользователя ввод целого числа от 0 до 100.

2 С применением оператора многозначных ветвлений If осуществите преобразование введенной оценки по стобалльной системе в пятибалльную по шкале, предварительно созданной на листе Excel.

3 По результатам выведите сообщение с введенной оценкой по стобалльной системе и полученной оценкой по пятибалльной системе либо сообщение об ошибке.

 

Оператор выбора Select Case

 

При наличии большого количества ветвлений конструкция многозначных ветвлений If становится тяжёлой для восприятия. В подобных случаях хорошей альтернативой оператору If служит оператор выбора Select Case, который позволяет выбрать одно из нескольких возможных продолжений программы. Синтаксис и пример использования оператора Select Case представлен в таблице 3.

 

Таблица 3 – Синтаксис и пример использования оператора Select Case

Синтаксис оператора Select Case Пример использования оператора Select Case
Select Case КлючВыбора Case Is выражение     оператор Case диапазон значений     оператор Case диапазон значений     оператор Case диапазон значений     оператор Case Else     оператор End Select Select Case vozrast Case Is <=7     Msgbox ”Ты дошкольник” Case 8 to 16     Msgbox ”Ты учишься в школе” Case 17 to 30     Msgbox ”Тебе пора заняться делом” Case 31 to 60     Msgbox ”Кто не работает, тот не ест” Case Else     Msgbox ”Вы заслужили отдых” End Select

 

Если значение переменной vozrast меньше или равно 7, отображается сообщение ”Ты дошкольник”; если значение находится в диапазоне от 8 до 16 - сообщение ”Ты учишься в школе”; если в диапазоне от 17 до 30-   сообщение ”Тебе пора заняться делом”, если  в диапазоне от 31 до 60- сообщение ”Кто не работает, тот не ест”. Если значение возраста не равно ни одному из предложенных диапазонов значений, выводится сообщение ”Заслуженный отдых”.

Из представленного в таблице 4 примера видно, что код этой процедуры более прост для восприятия, чем многозначные ветвления If.

 

Практическое задание

 

Выполните предыдущее практическое задание с применением оператора выбора Select Case.

 


Дата добавления: 2018-05-12; просмотров: 195; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!