Демонстрационные примеры

Лабораторная работа № 2. Оператор условного перехода

Теоретические сведения

Ранее были рассмотрены команды присваивания, ввода и вывода. С помощью этих команд можно записывать простейшие алгоритмы, содержащие действия, выполняемые одно за другим (линейные алгоритмы). В практических задачах часто бывает необходимо обеспечить выбор одного из альтернативных путей работы алгоритма в зависимости от результатов проверки условия. В этом случае говорят о базовой алгоритмической конструкции – ветвлении. Оператор ветвления позволяет проверить некое условие и в зависимости от результатов проверки выполнить то или иное действие, т.е. он является средством ветвления вычислительного процесса.

Синтаксис оператора:

If Then

[Else

End If]

ЗдесьIf, Then, Else, End If – зарезервированные слова VBA (если, то, иначе, конец ветвления);

– произвольное выражение логического типа;

, – любые операторы языка VBA.

Условный оператор работает по следующему алгоритму. Вначале вычисляется значение условного выражения . Если результат есть True (истина), то выполняются , а пропускаются. Если результат есть False (ложь), наоборот, пропускаются, а выполняются .

Часть условного оператора, начинающаяся со слова Else, может быть опущена, в этом случае имеет место неполная форма условного оператора. При этом, если условное выражение имеет значение True, выполняются инструкции, стоящие за Then; в противном случае весь оператор пропускается.

Представим условный оператор в виде блок-схемы. Напомним, что в языке блок-схем приняты следующие обозначения:

Начало или конец алгоритма Простая команда Ввод и вывод данных Демонстрационные примеры Проверка условия

Оператор условного перехода в виде блок схемы:

Полная форма Неполная форма
Демонстрационные примеры Демонстрационные примеры

Допустимо так же использование вложенных ветвлений. В этом случае синтаксис таков:

If Then

ElseIf Then

…………………………………

[Else

End If]

Демонстрационные примеры

1. Даны значения двух величин. Выбрать большее из них.

Обозначим данные величины через А и В, результат – С.

Приведем блок-схему алгоритма решения этой задачи. Рассмотрим два способа: (a) с использованием полного ветвления; (б) с использованием неполного ветвления.

Демонстрационные примеры (а) (б)

Демонстрационные примеры

Условием, по которому разветвляется алгоритм, является отношение неравенства – логическое выражение. Логические выражения описывают некоторые условия, которые могут выполняться или не выполняться. Логическое выражение может принимать только два значения True (истина) или False (ложь).

Если логическое условие справедливо, то результатом будет логическая величина True и выполнение алгоритма продолжится по стрелке “истина”; в противном случае логическое выражение примет значение False и выполнение алгоритма пойдет по ветви “ложь”.

Соответствующие программы на VBA имеют следующий вид.

(а)

Sub Большее_из_двух ()

Демонстрационные примеры

End Sub

Правильность алгоритма можно проверить путем заполнения трассировочной таблицы. Вот так будет выглядеть трассировка алгоритма для исходных значений A=5, B=8.

Шаг Команда A B C Проверка условия
A= Val (InputBox (“Введите число”, ”Ввод числа”))
B= Val (InputBox (“Введите число”, ”Ввод числа”))
A=B 5=8, False (ложь)
C=B
MsgBox “Наибольшее число ” C , ”Вывод результата”

(б) аналогично.

2. Найти наибольшее значение среди трех величин A, B и C.

Возникает следующая идея алгоритма решения этой задачи: сначала нужно найти большее значение среди A и B и присвоить его какой-то переменной, например, D. Затем наитии большее среди D и C. Это значение можно присвоить той же переменной D.

Решение задачи сводится к двукратному применению уже знакомого алгоритма нахождения большего из двух.

В структуре алгоритма содержится два последовательных ветвления: первое – полное, второе – неполное. Очевидно, что эту задачу можно решить с использованием алгоритма, содержащего только неполные ветвления. В последнем случае возможны так же несколько вариантов решения в зависимости от характера условия: с простыми условиями и со сложными условиями. Заметим, что сложными условиями называют условные выражения, содержащие логические операции And (и), Or (или). Xor (исключающее или), Not (отрицание).

Приведем фрагмент программы, реализующей этот алгоритм, с последовательными неполными ветвлениями и сложными логическими выражениями:

Демонстрационные примеры

Эту же задачу можно решить с помощью алгоритма совсем другой структуры, которая представляет собой вложенные ветвления. Написать программный код для решения этой задачи попытайтесь самостоятельно.

RFEM Урок 0. Демонстрационный пример


Похожие статьи.

Понравилась статья? Поделиться с друзьями: