Какое из следующих выражений является логическим выражением для не равно

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

Соответствующий момент играет важную роль не только в жизни, но и в науках. Пример – математика, программирование, психология. Можно использовать разнообразную логику высказываний для подтверждения и опровержения результатов. Обо всем этом будет рассказано далее.

Понятие логики

Логические утверждения – это не просто словосочетание. Логика является целой наукой. Ее изучение помогает правильно и здраво рассуждать. Благодаря этому, человек или устройство смогут делать грамотные выводы, опираясь на рассуждения.

При рассмотрении того или иного вопроса, человек будет на основе заключений логического характера строить гипотезы. В конце 19 века математики смогли перевести процесс осмысления в понятную форму – математическую. Такие логические «высказывания» стали носить название символических.

Все современные устройства базируются на операциях логического характера. За счет них происходит обработка и совершение тех или иных манипуляций.

4 Логические выражения

Понятие логического выражения или выражения типа Boolean во многом базируется на понятии операций отношения. В Object Pascal реализованы следующие операции отношения:

>= — больше или равно;

Эти операции используют в качестве операндов выражения практически всех скалярных и базовых типов: вещественного, целого, логического, символьного и строкового.

При выполнении операций отношения допускается смешение типов Real (всех вещественных), Integer (всех целых). Результат операции для любых операндов всегда логического типа — false, true >.

и false, если А не равно В>

равно В и false, если А равно В>

В и false в противном случае>

нуля и false в противном случае>

В операциях сравнения для символов и строк необходимо вспомнить, что у каждого элемента скалярного, перечислимого типа есть свой код — порядковый номер. Его можно получить, используя функцию Ord. Заведомо известно, что коды всех букв упорядочены согласно таблице ASCII (смотри п.3.2.3), а коды всех цифр упорядочены по их арифметическим значениям. Данное отношение порядка и позволяет сравнивать любые символы и строки.

Кроме операций отношения в логических выражениях используются скобки и логические связки (операции с операндами типа Boolean):

  • унарная (имеющая один операнд): not;
  • бинарные (имеющие два операнда): and,or,xor.
XYX and YX or YХ <> YХ YX =Ynot Х
00000111
01011101
10011000
11110110

При вычислении логических выражений можно воспользоваться установкой компилятора или . Она отвечает за режим оптимизации вычисления логических выражений. Например, в логическом выражении (2<>2) and (a

Преобразование логических выражений / Упрощение выражений (практика) [Алгебра логики] #6

Логические выражения

При создании программ не обойтись без логических выражений. Они отличаются тем, что результат их вычислений может принимать только одно из двух допустимых значений — true (истина, да, включено) и false (ложь, нет, выключено). Чаще всего значение false ассоциируется с нулем, а значение true — с числом 1 или просто ненулевым значением.

При записи логических выражений используются операции сравнения и логические операции. Операции сравнения сличают значения правого и левого операндов. Результатом сравнения является true, если оно удачно, и false в противном случае.

В таблице даны примеры записи операций сравнения для разных языков.

В одном выражении может потребоваться проверка нескольких подобных условий. Например, надо определить, больше ли значение переменной X чем 0 и меньше ли чем 10. Условия могут быть связаны с помощью логических операций, наиболее активно используемые из которых — это И и ИЛИ. В компьютерной графике также часто применяется так называемое исключающее ИЛИ и операция отрицания НЕ. Для нее требуется только один операнд, указывающийся справа от знака операции. Эта операция просто меняет значение своего операнда на противоположное.

1 операнд2 операндИИЛИисключающее ИЛИHE (только первый операнд)
truetruetruetruefalsefalse
truefalsefalsetruetruefalse
falsetruefalsetruetruetrue
falsefalsefalsefalsefalsetrue

В следующей таблице приведен синтаксис записи логических операций.

Логическая операцияБейсикПаскальСи++
ИANDand
ИЛИORorII
НЕNOTnot!

Приоритеты всех логических операций ниже, чем приоритеты операций сравнения, поэтому сравнения всегда выполняются первыми. А логические операции вычисляются в следующем порядке: сначала НЕ, потом И, потом ИЛИ. При необходимости этот порядок может быть изменен с помощью скобок.

Примеры логических выражений:

Логический тип

БейсикПаскальСи++
Базового типа нет. Используется числовой тип INTEGERbooleanbool

Строчные выражения

Строки в языках программирования всегда заключаются в кавычки. В Си++ и Бейсике для этого используются двойные кавычки, в Паскале — одинарные.

«это строка Бейсика или Си++»

‘это строка Паскаля’

Строка может быть пустой — не содержать ни одного символа. Например:

Как правило, строки можно сравнивать друг с другом на эквивалентность (равно и не равно). В некоторых языках программирования допускаются также сравнения типа «больше» или «меньше» — при этом происходит последовательное сравнение значений символов (каждый символ представляется в компьютере конкретным числом).

Кроме того, часто допускается также операция сцепления строк, записываемая с помощью символа «+». Например:

«123» + «4567» -получится «1234567»

«абв » + «abc » + » эюя» —получится «абв abc эюя»

Тип «строка»

БейсикПаскальСи++
STRINGstringБазового типа «строка» нет

Указатели

Некоторые языки программирования допускают в явном виде работу с указателями — адресами физической памяти. При этом в них имеется специальная операция получения адреса конкретной переменной, что позволяет работать с памятью напрямую, примерно так, как это происходит в языках ассемблера. Такая возможность позволяет добиваться высокой эффективности работы программы, но часто приводит к ошибкам, если указатель вдруг получает неверное значение и при его использовании начинает портиться область памяти, предназначенная совсем для других целей.

Сложные данные

Структуры. До сих пор рассматривались базовые типы данных: числа, строки, логические величины — и операции над базовыми данными. Однако для повышения производительности труда программистов и повышения качества их работы необходимо, чтобы язык программирования имел средства, позволяющие описывать данные в виде, максимально приближенном к их реальным аналогам. Например, чтобы организовать обработку данных по студентам, в программе удобно не просто описать десяток различных переменных, а объединить их в структуру (или запись) «студент», состоящую из полей разного типа «имя», «пол», «год рождения», «группа» и т. д.

Современные языки программирования позволяют применять такие сложные типы данных, составляющиеся из базовых и определенных ранее сложных типов. В результате удается организовывать структуры данных произвольной сложности: списки, деревья и т. п. При этом структура объединяет группу разных данных под одним названием.

Получить доступ к отдельным составляющим (полям) этой структуры можно по их именам. В рассматриваемых языках программирования такой доступ осуществляется указанием имени структуры и имени поля через точку. Если подобным способом происходит обращение к полю, которое само является структурой, то выделение нужного поля продолжается приписыванием справа имени вложенного поля через точку.

Дата добавления: 2016-09-26 ; просмотров: 1660 ;

Логические выражения и таблица истинности

Таблица истинности — таблица, показывающая, какие значения принимает составное высказывание при всех сочетаниях (наборах) значений входящих в него простых высказываний.

Логическое выражение — составные высказывания в виде формулы.

Равносильные логические выражения – логические выражения, у которых последние столбцы таблиц истинности совпадают. Для обозначения равносильности используется знак «=».

Алгоритм построения таблицы истинности:

1. подсчитать количество переменных n в логическом выражении;

2. определить число строк в таблице по формуле m=2 n , где n — количество переменных;

3. подсчитать количество логических операций в формуле;

4. установить последовательность выполнения логических операций с учетом скобок и приоритетов;

5. определить количество столбцов: число переменных + число операций;

6. выписать наборы входных переменных;

7. провести заполнение таблицы истинности по столбцам, выполняя логические операции в соответствии с установленной в пункте 4 последовательностью.

Заполнение таблицы:

1. разделить колонку значений первой переменной пополам и заполнить верхнюю часть «0», а нижнюю «1»;

2. разделить колонку значений второй переменной на четыре части и заполнить каждую четверть чередующимися группами «0» и «1», начиная с группы «0»;

3. продолжать деление колонок значений последующих переменных на 8, 16 и т.д. частей и заполнение их группами «0» или «1» до тех пор, пока группы «0» и «1» не будут состоять из одного символа.

Пример 1. Для формулы A/ (B / ¬B /¬C) постройте таблицу истинности.

Количество логических переменных 3, следовательно, количество строк — 2 3 = 8.

Количество логических операций в формуле 5, количество логических переменных 3, следовательно количество столбцов — 3 + 5 = 8.

Логические выражения и таблица истинности

Пример 2. Определите истинность логического выражения F(А, В) = (А/ В)/(¬А/¬В) .

1. В выражении две переменные А и В (n=2).

2. mстрок=2 n , m=2 2 =4 строки.

3. В формуле 5 логических операций.

4. Расставляем порядок действий

1) А/ В; 2) ¬А; 3) ¬В; 4) ¬А/¬В; 5) (А/ В)/(¬А/¬В).

5. Кстолбцов=n+5=2+5=7 столбцов.

А

В

А/ В

¬А

¬В

¬А/¬В

F

0

1

1

0

Вывод: логическое выражение принимает значение истина при наборах F(0,1)=1 и F(1,0)=1.

Пример 3. Построёте таблицу истинности для логического выражения

F = (A/ B) / ¬С

  1. В данной функции три логические переменные – А, В, С
  2. количество строк таблицы = 2 3=8
  3. В формуле 3 логические операции.
  4. Расставляем порядок действий

1) А/ В; 2) ¬С; 3) (AVB) / ¬С .

  1. количество столбцов таблицы = 3 + 3 = 6

А

В

С

A/B

(A/B) / ¬С

0

0

1

0

1

0

1

0

Пример 4. Определите истинность формулы: F = ((С /В) => В) / (А / В) => В.

Построим таблицу истинности этой формулы.

Логические выражения и таблица истинности

Ответ: формула является тождественно истинной.

Пример 5. Символом F обозначено одно из указанных ниже логических выражений от трех аргументов: X, Y, Z.

Дан фрагмент таблицы истинности выражения F:

Какое выражение соответствует F?

Решение (вариант 1, через таблицы истинности):

Чтобы решить данную задачу можно построить часть таблицы истинности для каждой из четырех функций, заданных в ответе для заданных наборов входных переменных, и сравнить полученные таблицы с исходной:

X

Y

Z

F

¬X/¬Y/Z

¬X/¬Y/Z

X/Y/¬Z

X/Y/Z

1

1

0

0

1

1

Очевидно, что значения заданной функции F совпадают со значениями выражения X/Y/¬Z. Следовательно, правильный ответ – 3.

Ответ: 3

Решение (Вариант 2):

Чтобы не строить таблицу истинности для каждого выражения, можно просто перепроверить предложенные ответы по заданной таблице истинности. Т.е. в каждую из четырех предложенных функций последовательно подставлять значения переменных X, Y и Z, из заданной таблицы истинности и вычислять значения логического выражения. Если значения вычисляемого выражения совпадут со значением F во всех трех строчках заданной таблицы, то это и есть искомое выражение.

Рассмотрим данный конкретный пример:

1) первое заданное выражение ¬X/¬Y/Z = 0 при X=0, Y=0, Z=0, что не соответствует первой строке таблицы;

2) второе заданное выражение ¬X/¬Y/Z = 1 при X=0, Y=0, Z=1, что не соответствует второй строке таблицы;

3) третье выражение X/Y/¬Z соответствует F при всех предложенных комбинациях X,Y и Z;

4) четвертое выражение X/Y/Z = 1 при X=0, Y=0, Z=1, что не соответствует второй строке таблицы.

Ответ: 3

Какое из следующих выражений является логическим выражением для не равно

В прошлом задании мы работали с числовыми типами переменных и учили арифметику, теперь познакомимся с логическим типом переменных, который называется Boolean . Переменные этого типа имеют всего два значения — true и false (соответственно, «истина» и «ложь»). Подобно числовым переменным им можно присваивать значения при помощи оператора присваивания. При этом необходимо строго соблюдать правило совместимости типов. То есть, логическим переменным нельзя присваивать числовые значения, а числовым — логические. Так же можно выводить значения логических переменных на экран, а вот вводить их с клавиатуры нельзя!

В языке Pascal определены `6` операций сравнения, результатом которых является логическое значение:

2) «больше или равно» (>=)

4) «меньше или равно» (<=)

Например, операция `5>2` всегда выдаст значение true , а операция `x<>3` выдаст значение true , если переменная `x` имеет любое значение, кроме `3`.

Сравнивать можно не только числа (причём как целые, так и вещественные), но и логические значения. При этом считается, что значение true больше , чем значение false.

При выполнении сравнений также необходимо соблюдать совместимость типов. То есть, можно сравнивать число с числом или логическое значение с логическим значением, но нельзя сравнивать число с логическим значением. Такое сравнение выдаст ошибку.

Помимо операций сравнения ещё существуют и логические операции:

1) and (конъюнкция, логическое умножение, операция «И»)

2) or (дизъюнкция, логическое сложение, операция «ИЛИ»)

3) not (отрицание, инверсия)

4) xor (строгая дизъюнкция, исключающее «ИЛИ», сложение по модулю `2`).

В скобках указаны возможные названия данных операций в алгебре логики.

Операнды этих операций должны быть логического типа. Результат вычислений также будет логический. При этом операции and, or, xor имеют по два операнда, а операция not — всего один, который записывается справа от названия операции. Названия логических операций являются служебными зарезервированными словами языка.

Приведём таблицы результатов логических операций для всех возможных значений операндов (в алгебре логики такие таблицы называются таблицами истинности):

3.3. Построение таблиц истинности для логических выражений

Для логического выражения можно построить таблицу истинности, показывающую, какие значения принимает выражение при всех наборах значений входящих в него переменных. Для построения таблицы истинности следует:

  1. подсчитать n — число переменных в выражении;
  2. подсчитать общее число логических операций в выражении;
  3. установить последовательность выполнения логических операций с учётом скобок и приоритетов;
  4. определить число столбцов в таблице: число переменных + число операций;
  5. заполнить шапку таблицы, включив в неё переменные и операции в соответствии с последовательностью, установленной в п. 3;
  6. определить число строк в таблице (не считая шапки таблицы) m = 2n;
  7. выписать наборы входных переменных с учётом того, что они представляют собой целый ряд n—разрядных двоичных чисел от 0 до 2 n — 1;
  8. провести заполнение таблицы по столбцам, выполняя логические операции в соответствии с установленной последовательностью.

Построим таблицу истинности для логического выражения A ∨ А Б равносильно логическому выражению А.

3.4. Свойства логических операций

Рассмотрим основные свойства (законы) алгебры логики.

  1. Переместительный (коммутативный) закон
    • для логического умножения:
    • для логического сложения:

    Таблица истинности по фото

    С бурным развитием ChatGPT-подобных ботов появились нейросети, способные различать и считывать формулы и математические выражения с фото. Один из примеров таких ботов – Brain Bot. Вы можете попробовать выслать ему фото задачи с просьбой о решении. Но будьте осторожны – для таких сложных логических выражений, задач, где могут использоваться разные обозначения – искусственный интеллект может ошибаться.

    Таблица истинности онлайн по фото

    Разные обозначения логических символов

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

    → может означать то же самое, что и ⇒ (символ может также указывать область определения и область значений функции, см. таблицу математических символов).

    Оцените статью
    TutShema
    Добавить комментарий