Лабораторная работа №3.
Реализация алгоритмов ветвления
Цель: Изучить логические операции и базовые операторы, реализующие алгоритм ветвления.
Логические операции
Над условными выражениями можно выполнять действия логической математики (логические операции), а именно:
• AND (И) — возвращает значение True (Истина), если все участвующие в операции выражения имеют значение True. В остальных случаях возвращается значение False (Ложь);
• OR (ИЛИ) — возвращает значение True, если хотя бы одно из участвующих в операции выражений имеет значение True. В случае, когда все выражения имеют значение False, возвращается значение False;
• XOR (Исключающее ИЛИ) — возвращает значение True (Истина), если только одно из участвующих в операции выражений имеет значение True. В остальных случаях возвращается значение False;
• NOT (HE) — операция отрицания. Возвращает обратное для значения выражения значение, то есть если выражение равно True, то возвращается False и наоборот, если значение выражения равно False, то возвращается значение True.
Реализация алгоритма ветвления.
При решении практических задач, в зависимости от каких-либо условий, возможны различные пути дальнейших действий. Выбор того или иного действия определяется либо условиями задачи, либо результатами, полученными в процессе решения. Каждое из возможных действий называется ветвью. Количество ветвей в общем случае может быть больше двух. Алгоритм такой структуры называется разветвляющимся.
Алгоритмы разветвляющих структур программируются в VBA с помощью условного оператора, оператора выбора
Условный оператор
Условный оператор If...Then применяется в том случае, когда необходимо выполнить один или группу операторов при соблюдении определенного условия, то есть когда значение заданного условия равно true. Существует две разновидности данного оператора: однострочный и многострочный.
Однострочный оператор.
Однострочный оператор имеет следующий синтаксис:
If «условие» Then «оператор»
В этом операторе условие и выполняемые при соблюдении условий действия располагаются в одной строке.
Многострочный оператор.
В том случае, если при выполнении условия требуется выполнение блока операторов, используется многострочный оператор, имеющий следующий синтаксис:
If условие Then
«оператор 1»
«оператор 2»
End If
После ключевого слова if должно следовать логическое выражение, содержащее условие. В качестве условия могут выступать следующие логические выражения:
· сравнение переменной с другой переменной, константой или функцией;
· любая переменная, выражение или функция, принимающие значения true или false.
Условный оператор if... Then... Else аналогичен условному оператору if... Then, но позволяет задать действия, исполняемые как при выполнении условий, так и в случае их невыполнения.
Оператор имеет следующий синтаксис:
If условие Then
операторы для обработки истинного условия Else
операторы для обработки ложного условия
End If
Ключевые слова If и End if имеют тот же смысл, что и выше. Если заданное в операторе условие не выполняется (результат проверки равен false), и оператор содержит ключевое слово Else, Visual Basic выполнит последовательность операторов, расположенных следом за Else. После чего управление перейдет к команде, следующей после End If.
2.1.3 Пример на использование условного оператора:
Написать программу, определяющую - принадлежит ли точка с заданными координатами (x,y) выделенной области на графике (включая границы области) (рис.11)
Рис.11. Область выделения.
Данная область ограничивается графиками двух функций (четверть окружности) и y = x - 6. Разобьем данную область на две части: четверть окружности и треугольник. Для того чтобы точка принадлежала четверти окружности, ее координаты должны удовлетворять условиям: , 36. Для того чтобы точка принадлежала треугольнику, должны выполнятся следующие условия: x 0, , . Запишем первое условие принадлежности точки части окружности в виде логического выражения:
f1 = (x > =0) and (y >= 0) and ( <=36).
Знак “ ” – знак логической операции конъюнкции (“и”).
Переменная f1 примет значение “True” (“истина”), если координаты точки будут удовлетворять заданным условиям.
Аналогичным образом зададим логическую переменную f2:
f2 = (x >= 0) and(y<=0) and(y >= x – 6).
Для того чтобы точка принадлежала рассматриваемой области, ее координаты должны удовлетворять либо первому условию, либо второму (т.е. точка должна принадлежать либо четверти окружности, либо треугольнику). Запишем это условие с помощью логической переменной f3:
f3 = f1 or f2.
2.1.4 Задание на использование условного оператора:
Написать подпрограмму, которая выводит в первом случае в окно сообщения, во втором – в ячейку листа 3 сообщение «Точка не принадлежит заданному интервалу», если точка, заданная координатами х,у не принадлежит заштрихованной области, в противном случае вывести сообщение «Точка принадлежит заданному интервалу».
Варианты задания:
Оператор выбора
Оператор выбора позволяет обрабатывать в программе несколько условий. Он состоит из анализируемого выражения и набора операторов case на каждое возможное значение выражения.
Синтаксис оператора выбора следующий:
Select Case «сравниваемое Значение»
Case «Значение 1»
«блок операторов 1»
Case «значение 2»
«блок операторов 2»