Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Операция | Наименование | Пример (R имеет тип Boolean) | Результат (R) |
= | Равно | R = (10=5) | False |
> | Больше | R = 10>5 | True |
< | Меньше | R = 10<5 | False |
>= | Больше или равно | R = “a” >= “b” | False |
<= | Меньше или равно | R = “a” <= “b” | True |
<> | Не равно | R = “a” <> “b” | True |
В логических операциях не только результат, но и операнды имеют тип Boolean. Поясним назначение таких операций на простом примере. Пусть переменная типа Boolean с именем R должна принимать значение True, если точка с координатами X,Y попадает в прямоугольную область, ограниченную координатами X1,X2 и Y1,Y2. Если точка за пределами прямоугольника, то R=False. Применив логическую операцию AND (И), вычислим значение R:
R = (X>=X1) AND (X<=X2) AND (Y>=Y1) AND (Y<=Y2)
Смысл этой операции в том, что если и первое выражение (X больше или равно X1) истинно, и второе истинно, и третье истинно, и четвертое истинно, то R=True. Если один из операндов логической операции AND представляет собой ложное выражение (утверждение), то и результатом будет False.
Кроме операции AND, к числу часто используемых логических операций относятся OR и NOT. Первая из них дает результат True, если истинно хотя бы одно выражение, являющееся операндом. Операция NOT изменяет результат на противоположный, подобно смене знака в арифметическом выражении. Вычислим R с помощью этих операций:
R = NOT ((X<X1) OR (X>X2) OR (Y<Y1) OR (Y>Y2))
Выражение, стоящее в скобках после операции NOT, истинно (True), если точка или левее, или правее, или ниже, или выше воображаемого прямоугольника, т.е. если точка в него не попала. В этом случае R будет иметь значение False благодаря логическому отрицанию NOT.
Несколько реже используются логические операции XOR (исключающее ИЛИ), EQV (эквивалентность) и IMP (импликация).
Первая из них дает результат True, если только одно из выражений-операндов имеет результат True.
Результатом операции EQV будет True, если выражения-операнды дают одинаковый результат.
Результатом IMP будет FALSE только в одном случае – при первом операнде, имеющем значение TRUE, второй операнд имеет значение False, например, при правильной посылке получен неверный вывод.
Перейдем теперь ко второй, важнейшей в любом языке программирования, группе инструкций. Это инструкции проверки условий и организации циклов. Все они позволяютуправлять последовательностью исполнения инструкций в программе.
Инструкция IF (ЕСЛИ) используется в двух нотациях: в виде простой и блочной структур. Инструкция простой структуры имеет следующую форму записи:
If <Выражение> Then <Инструкция, исполняемая, если выражение-условие истинно>
Конструкция блочной структуры может включать один блок инструкций (<Блок 1>), исполняемых, если выражение 1 истинно, или же еще дополнительные условия, сопровождаемые блоками инструкций:
If <Выражение1> Then
<Блок 1 – исполняется, если выражение 1 истинно>
ElseIf <Выражение2> Then
<Блок 2 – исполняется, если выражение 2 истинно >
ElseIf <Выражение3> Then
<Блок 3 – исполняется, если выражение 3 истинно >
…………………..
Else
<Блок инструкций, исполняемых, если ложны выражения в инструкциях If и ElseIf>
End If
Приведем пример простой инструкции If:
If R Then MsgBox “Точка попала в прямоугольник”
Теперь пример блочной структуры:
R = False
If X < X1 Then
GoTo 10 ’уже ясно, что точка не попала в прямоугольник
ElseIf X > X2 Then
GoTo 10 ‘управление передается на метку 10
ElseIf Y < Y1 Then
GoTo 10
ElseIf Y > Y2 Then
GoTo 10
Else
R = True
End If
10: MsgBox R ’после метки ставится двоеточие
Блоки ElseIf и (или) Else могут отсутствовать. В любом случае блочная конструкция оканчивается инструкцией End If.
Приведенный пример, кроме блочной конструкции IF, поясняет возможность использования в программе меток и передач управления с помощью инструкции GoTo. Метка не обязательно обозначается числом – можно было написать и N10 или MsgR.
В ситуациях, когда требуется запрограммировать три и более разветвлений в зависимости от значения одной переменной, удобно использовать структуру Select Case:
Select Case <Переменная>
Case <Значение 1> либо Case is <Условие 1>
<Блок 1 – выполняется, если значение переменной равно значению 1
или соответствует условию 1>
Case <Значение 2> либо Case is <Условие 2>
<Блок 2 – выполняется, если значение переменной равно значению 2
или соответствует условию 2>
………………….
Дата публикования: 2014-11-03; Прочитано: 361 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!