- •Лабораторная работа № 22
- •Visual basic: программирование ветвлений
- •Теоретическое обоснование
- •If выражение then оператор1 else оператор2
- •If выражение then оператор1
- •Логические операции. К логическим операциям относятся:
- •If выражение 1 then
- •Методика и порядок выполнения работы
- •Контрольные вопросы и защита работы
Лабораторная работа № 22
Visual basic: программирование ветвлений
Цель и содержание: освоение навыков составления и отладки программ для решения задач с разветвлениями с использованием условного оператора IF и оператора выбора вариантов.
Теоретическое обоснование
Различают два типа операторов принятия решений: условные операторы и операторы выбора.
Условные операторы используются, когда необходимо, чтобы группа операторов выполнялась при соблюдении определенных условий. Условные операторы бывают двух видов:
полная форма:
If выражение then оператор1 else оператор2
сокращенная форма:
If выражение then оператор1
Где выражение – логическое условие, принимающее значение истина или ложь;
оператор1, оператор2 – один или несколько операторов, разделенных двоеточием.
Выражение состоит из констант, переменных, операций отношения и логических операций.
Операции отношения. Операции отношения производят сравнение двух величин. Результат сравнения может быть истиной (TRUE, обозначается 1) или ложью (FALSE обозначается 0). Например:
Знак операции |
Проверяемое отношение |
Пример выражения |
= |
равно |
а = b |
< > |
не равно |
а <> b |
< |
меньше |
а < b |
> |
больше |
а > b |
<= |
меньше или равно |
а <= b |
>= |
больше или равно |
а >= b |
Логические операции. К логическим операциям относятся:
логическое умножение AND ;
логическое сложение OR;
логическое отрицание NOT .
Например:
Математическое выражение Запись на Qbasic
a ≤ x < b x > = a AND x < b
a < x ≤ b или c ≤ x ≤ d x >a AND x <= b OR x >= c AND x<= d
Работа операторов: совокупность операторов THEN выполняется, если выражение истинно. Если выражение ложно, выполняется совокупность операторов ELSE. Если слово ЕLSE отсутствует, то управление передается следующему оператору программы.
Такая запись условных операторов называется однострочной.
Можно использовать многострочную форму (блочную) записи оператора IF.
Общий вид:
If выражение 1 then
операторы 1
ELSEIF выражение 2 THEN
операторы 2
ELSE
операторы 3
End IF
При выполнении условного блокового оператора проверяется первое выражение и при его истинности выполняется первый блок операторов. Иначе проверяются все логические условия, следующие за словом ELSEIF до тех пор, пока не будет найдено условие, принимающие значение "истина". В этом случае выполняется блок операторов за словом THEN, иначе выполняется блок операторов за словом ELSE. Блоки ELSEIF и ELSE необязательны.
Пример 1. Даны два числа А и В. Определить максимальное среди них.
Можно применять любой из двух вариантов использования IF:
Краткий
max=a
If b>max Then max=b
Полный
If a>b Then max=a Else max=b
Пример
2. Вычислить
значения функции y
=
.
If x<0 Then MsgBox “Решения нет “,, “ Ф-ция у ”Else MsgBox Sqr (x),,“y= “
Пример 3. Даны два числа А и В. Найти сумму и количество положительных среди них чисел.
Sum=0 : Kol=0
If A>0 Then Sum=Sum+A : Kol=Kol+1
If B>0 Then Sum=Sum+B: Kol=Kol+1
Пример 4. Даны два числа А и В. Есть ли среди них положительные?
If А>0 and B>0 Then MsgBox “Оба положительные “, , “ Числа А и В ”
If А>0 or B>0 Then MsgBox “Одно положительное”, , “Среди чисел А и В “
Else MsgBox “Нет положительных”, , “Среди чисел А и В “
Пример 5. Дано число X. Определить, является ли оно положительным, отрицательным или нулем.
strZ=”Значение Х-“
If X > 0 Then
MsgBox ” положительное”, , strZ
Else If X < 0 Then
MsgBox “ отрицательное”, , strZ
Else
MsgBox “ это 0", , strZ
End If
Оператор выбора вариантов позволяет на основании анализа значения заданного выражения для проверки выполнять те или иные действия. Общий вид:
SELECT CASE выражение для проверки
CASE список 1
блок 1
………
CASE ELSE
блок n
ЕND SELECT
Где выражение для проверки – любое числовое или символьное выражение, в зависимости от значения которого производится выполнение одного из блоков операторов: блок 1, блок 2 ,... ,блок n;
блок 1, блок 2 ... – любое количество операторов;
список 1, список 2 ... – списки выражений, записанных в следующих формах:
перечень значений, например, CASE 1,3,5;
выражение TO выражение, например, CASE 5 TO 13– отрезок [5;13];
IS операция отношения, например, CASE IS < 20 это все числа до 20.
Работа оператора: Если выражение выбора отвечает условиям списка выражений данного блока CASE, то выполняются операторы из этого блока. Если значение выражения не совпадает ни с одним из списка, то выполняется блок операторов, которые написаны после CASE ELSE. После этого управление передается оператору, следующему за END SELECT.
Пример. Вводится целое значение переменной Х. Определить, является оно четным целым из промежутка от 1 до 9 или нечетным целым из этого промежутка, либо вообще не попадает в него.
Dim strZ As String, X As Single
X = Val (InputBox(“Введите значение X”) )
StrZ=”Значение Х-“
SELECT CASE X
CASE 1, 3, 5, 7, 9
MsgBox " - целое нечетное ", , StrZ
CASE 2, 4, 6, 8
MsgBox " - целое четное "", , StrZ
CASE ELSE
MsgBox " не в промежутке", , StrZ
END SELECT
В этом примере введенное значение Х сравнивается со списками значений, перечисленных после CASE. Если значения совпадают, то выполняется соответствующий оператор MsgBox. Если значение Х не совпадает ни с одним, то выполняется оператор, написанный после CASE ELSE.
