Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Логические операции. Результат сравнения может принимать только два значения: истина, когда высказы- вание справедливо




Условия

 

Результат сравнения может принимать только два значения: "истина", когда высказы- вание справедливо, или "ложь" — в противном случае. Говорят также, что истинность таких выражений либо "true" (t)(-1), либо "false" (f)(0).

Конструкция логических выражений в QBASIC довольно проста. В качестве сравниваемых значений (сравниваемых операндов) могут участвовать строки, числа, константы, переменные, арифметические и строковые выражения. Используют следующие операции сравнения:

Операция Значение
> больше
< меньше
>= больше или равно
<= меньше или равно
= равно
<> Не равно

 

Схематически условие можно представить следующим образом:
Выражение_1 Операция_сравнения Выражение_2

 

Для того чтобы сравнить строки (т.е. применить операторы ">" или "<" к строковым данным), необходимо учитывать порядок расположения символов в таблице кодов ASCII: "О" < "1" <,...< "9 "< "А ",...< "Z" < "а" <... "z".
Итак, Строка_1 больше (меньше) Строки_2, если при посимвольном сравнении строк код первого несовпадающего символа из Строки_1 больше (меньше) кода соответствующего символа из Строки_2.
Числовые переменные(константы) сравниваются обычным образом.
Также в QВasic можно использовать переменные типа Boolean, т.е. переменные которым можно присвоить какое-то логическое выражение, и значение этой переменной будет зависеть от истинности или ложности определяющего выражения. Если значение выражения ложно, то переменной будет присвоено значение 0, а если истинно, то -1.

Пример:
'Использование логических выражений
А=2>5
B=6<=6
C=8<>9
PRINT A
PRINT B
PRINT C
END
'Конец программы

 

В результате на экране вы увидите:
0
-1
-1

 

Также в логических выражениях можно использовать логические операции AND(и), OR(или), NOT(не), XOR(исключающее или, либо). Приведём таблицу истинности и приоритет операций.

Выражение А Выражение В A AND B A OR B NOT A A XOR B
           
           
           
           

 

 

В программах часто возникает необходимость описывать более сложные логические выражения.

 

Рассмотрим пример:
'Пример, подводящий читателя к применению более сложных логических условий
DIM zahl1%, zahl2%
CLS
INPUT "Ввести число 1, zahl1%
INPUT "Ввести число 2", zahl2%
'Конец программы

 

Предположим входные данные должны вводится только тогда, когда zahll % больше нуля, и одновременно zahl1% меньше нуля. Как проверить одно из условий, Вы уже знаете. Рассмотрим способ, позволяющий объединить оба условия.

Логическое И (AND)

AND (И) коньюктивно объединяет логические условия:
Условие_1 AND Условие_2 [AND Условие_3] …

Результат такого объединения лишь тогда истинен, когда истинно каждое отдельное условие.

 

Пример:
DIM zahl1%, zahl2%
CLS
DO
INPUT "Введите число 1> 0", zahl1%
INPUT "Введите число 2 < 0 ", zahl2%
LOOP UNTIL zahll %>0 AND zahl2% < 0
PRINT "Спасибо за корректный ввод"
'Конец программы

 

Только тогда, когда zahl1% > 0 и zahl2%< 0, значение всего логического выражения станет истинно, а значит, выполнение цикла закончится.

 

Логическое ИЛИ (OR)
OR (ИЛИ) дизъюнктивно объединяет логические условия:
Условие_1 OR Условие_2 [OR Условие_3...]

Результат такого объединения только тогда ложен, когда ложны все составляющие.

 

Пример:
DIM zahl1%, zahl2%
CLS
DO
PRINT "Число 1 или число 2 должно быть больше нуля"
INPUT "Введите число 1", zahl1%
INPUT "Введите число 2", zahl2%
LOOP UNTIL zahl1% >0 OR zahl2% >0
PRINT "Спасибо за корректный ввод"
'Конец программы

 

В этом примере выход из LOOP-цикла не произойдет только в том случае, если значение каждого из вводимых чисел будет меньше или равно нулю.

Логическое отрицание (NOT)
NOT инвертирует (меняет на противоположное) значение логического выражения, т.е. то, что было "ложь", становится "истиной" и наоборот.

 

Пример:
DIM zahl%
CLS
INPUT "Введите число " zahl%
IF NOTzahl% > 0 THEN
PRINT "Число не больше нуля"
ELSE
PRINT "Число больше нуля"
END IF
'Конец программы

 




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


Дата добавления: 2014-01-06; Просмотров: 434; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.122 сек.