>>> Перейти на полный размер сайта >>> Учебник для 10 класса ИНФОРМАТИКА§ 18. Логические величины, операции, выраженияС элементами математической логики вы уже встречались в курсе информатики основной школы, изучая способы записи запросов к базе данных и условной функции ЕСЛИ в электронных таблицах, основы алгоритмизации и программирования. Повторим основные понятия логики с целью дальнейшего углубления ваших знаний в использовании ее для программирования. К числу основных понятий логики относятся: высказывание, логическая величина, логические операции, логические выражения и формулы.
Высказывание (суждение) — это повествовательное предложение, в котором что-либо утверждается или отрицается. По поводу любого высказывания можно сказать, истинно оно или ложно. Например, высказывание «На улице идет дождь» будет истинным или ложным в зависимости от состояния погоды в данный момент. Истинность высказывания «Значение А больше, чем Б», записанного в форме неравенства: А > В, будет зависеть от значений переменных А и В. Логические величины — понятия, выражаемые словами: ИСТИНА, ЛОЖЬ (true, false). Следовательно, истинность высказываний выражается через логические величины. Логическая константа: ИСТИНА или ЛОЖЬ. Логическая переменная: символически обозначенная логическая величина. Следовательно, если известно, что А, В, X, Y и др. — переменные логические величины, то, значит, они могут принимать значения только ИСТИНА или ЛОЖЬ. Логическое выражение — простое или сложное высказывание. Сложное высказывание строится из простых с помощью логических операций (связок). Логические операцииКонъюнкция (логическое умножение). В русском языке она выражается союзом И. В математической логике используются знаки & или ∧. Конъюнкция — двухместная операция; записывается в виде: А & В. Значением такого выражения будет ЛОЖЬ, если значение хотя бы одного из операндов ложно. Дизъюнкция (логическое сложение). В русском языке этой связке соответствует союз ИЛИ. В математической логике она обозначается знаком ∨. Дизъюнкция — двухместная операция; записывается в виде: A ∨ В. Значением такого выражения будет ИСТИНА, если значение хотя бы одного из операндов истинно. Отрицание. В русском языке этой связке соответствует частица НЕ (в некоторых высказываниях применяется оборот «неверно, что ...»). Отрицание — унарная (одноместная) операция; записывается в виде: ¬А или Правила выполнения рассмотренных логических операций отражены в следующей таблице, которая называется таблицей истинности логических операций (здесь И означает «истина», Л — «ложь»):
Логическая формула — формула, содержащая лишь логические величины и знаки логических операций. Результатом вычисления логической формулы является ИСТИНА или ЛОЖЬ. Последовательность выполнения операций в логических формулах определяется старшинством операций. В порядке убывания старшинства логические операции расположены так: отрицание, конъюнкция, дизъюнкция. Кроме того, на порядок выполнения операций влияют скобки, которые можно использовать в логических формулах. Например: Пример. Вычислить значение логической формулы:
если логические переменные имеют следующие значения: X = ЛОЖЬ, У = ИСТИНА, Z = ИСТИНА. Решение. Отметим цифрами сверху порядок выполнения операций в формуле:
Используя таблицу истинности, вычислим формулу по шагам:
Ответ: ИСТИНА. Логические функции на области числовых значенийАлгебра чисел пересекается с алгеброй логики в тех случаях, когда приходится проверять принадлежность значений алгебраических выражений некоторому множеству. Например, принадлежность значения числовой переменной X множеству положительных чисел выражается через высказывание: «X больше нуля». Символически это записывается так: Х > 0. В алгебре такое выражение называют неравенством. В логике — отношением. Отношение X > О может быть истинным или ложным. Если X — положительная величина, то оно истинно, если отрицательная, то ложно. В общем виде отношение имеет следующую структуру: <выражение 1> <знак отношения> <выражение 2> Здесь выражения 1 и 2 — некоторые математические выражения, принимающие числовые значения. В частном случае выражение может представлять собой одну константу или одну переменную величину. Знаки отношений могут быть следующими: = — равно; ≠ — не равно; > — больше или равно; ≤ — меньше или равно; > — больше; < — меньше. Например:
Итак, отношение — это простое высказывание, а значит, логическая величина. Оно может быть как постоянной: 5 > 0 — всегда ИСТИНА, 3 ≠ 6 : 2 — всегда ЛОЖЬ; так и переменной: а < Ь, х + 1 = с - d. Если в отношение входят переменные числовые величины, то и значение отношения будет логической переменной. Отношение можно рассматривать как логическую функцию от числовых аргументов. Например: F(x) = (х > 0) или Р(х, у) = (х < у). Аргументы определены на бесконечном множестве действительных чисел, а значения функции — на множестве, состоящем из двух логических величин: ИСТИНА, ЛОЖЬ. Логические функции от числовых аргументов еще называют термином предикат. В алгоритмах предикаты играют роль условий, по которым строятся ветвления и циклы. Предикаты могут быть как простыми логическими функциями, не содержащими логических операций, так и сложными, содержащими логические операции. Пример 1. Записать предикат (логическую функцию) от двух вещественных аргументов X и У, который будет принимать значение ИСТИНА, если точка на координатной плоскости с координатами X и У лежит внутри единичной окружности с центром в начале координат (рис. 3.12).
Рис. 3.12 Из геометрических соображений понятно, что для всех точек, лежащих внутри единичной окружности, будет истинным значение следующей логической функции:
Для значений координат точек, лежащих на окружности и вне ее, значение функции F будет ложным. Пример 2. Записать предикат, который будет принимать значение ИСТИНА, если точка на координатной плоскости с координатами X и У лежит внутри кольца с центром в начале координат, и радиусами R1 и R2. Поскольку значения R1 и R2 — переменные величины, искомая логическая функция будет иметь четыре аргумента: X, У, R1, R2. Возможны две ситуации:
Объединив дизъюнкцией оба этих утверждения и записав их по правилам алгебры логики, получим следующую логическую функцию:
Пример 3. Записать предикат, который будет принимать значение ИСТИНА, если точка на координатной плоскости с координатами X и У лежит внутри фигуры, ограниченной жирными линиями на рис. 3.13.
Рис. 3.13 Фигура ограничена тремя границами, описываемыми уравнениями: У = -X — левая граница, линейная функция; У = 1 — верхняя граница, константа; У = X2 — правая граница, парабола. Рассматриваемая область есть пересечение трех полуплоскостей, описываемых неравенствами:
Во внутренних точках все эти три отношения являются одновременно истинными. Поэтому искомый предикат имеет вид:
Логические выражения на ПаскалеУже говорилось о том, что в Паскале имеется логический тип данных. Логические константы: true (истина), false (ложь). Логические переменные: описываются с типом Boolean. Операции отношения: осуществляют сравнение двух операндов и определяют, истинно или ложно соответствующее отношение между ними. Знаки операций отношения: = (равно), <> (не равно), > (больше), < (меньше), >= (больше или равно), <= (меньше или равно). Логические операции: not — отрицание, and — логическое умножение (конъюнкция), or — логическое сложение (дизъюнкция), хог — исключающее ИЛИ. Таблица истинности для этих операций (Т — true; F — false):
Логическое выражение может состоять из логических констант и переменных, отношений, логических операций. Логическое выражение принимает значение true или false. Например, логическая формула ¬Х & Y ∨ X & Z на Паскале запишется в виде следующего логического выражения:
где X, Y, Z — переменные типа boolean. Логические операции располагаются в следующем порядке по убыванию старшинства (приоритета): 1) not, 2) and, 3) or, хог. Операции отношения имеют самый низкий приоритет. Поэтому если операндами логической операции являются отношения, то их следует заключать в круглые скобки. Например, математическому неравенству 1 < X < 50 соответствует следующее логическое выражение:
Логическая функция odd(x) принимает значение true, если значение целочисленного аргумента х является нечетным, иначе — false. Для правильной записи сложного логического выражения (предиката) нужно учитывать относительные приоритеты арифметических, логических операций и операций отношений, поскольку все они могут присутствовать в логическом выражении. По убыванию приоритета операции располагаются в следующем порядке.
Еще раз обратите внимание, что в логическом выражении, соответствующем предикату из примера 3:
операции отношения заключены в скобки, поскольку они младше логических операций, а выполняться должны раньше. Система основных понятий
Вопросы и задания
|