Логические операции и таблицы истинности решение.

Каталог заданий.
Количество программ с обязательным этапом

Сортировка Основная Сначала простые Сначала сложные По популярности Сначала новые Сначала старые
Пройти тестирование по этим заданиям
Вернуться к каталогу заданий
Версия для печати и копирования в MS Word

Исполнитель А16 преобразует число, записанное на экране.

У исполнителя есть три команды, которым присвоены номера:

1. Прибавить 1

2. Прибавить 2

3. Умножить на 2

Первая из них увеличивает число на экране на 1, вторая увеличивает его на 2, третья умножает его на 2.

Программа для исполнителя А16 – это последовательность команд.

Сколько существует таких программ, которые исходное число 3 преобразуют в число 12 и при этом траектория вычислений программы содержит число 10?

Траектория вычислений программы - это последовательность результатов выполнения всех команд программы. Например, для программы 132 при исходном числе 7 траектория будет состоять из чисел 8, 16, 18.

Решение.

Искомое количество программ равно произведению количества программ, получающих из числа 3 число 10, на количество программ, получающих из числа 10 число 12.

Пусть R(n) - количество программ, которые число 3 преобразуют в число n, а P(n) - количество программ, которые число 10 преобразуют в число n.

Для всех n > 5 верны следующие соотношения:

1. Если n не делится на 2, то тогда R(n) = R(n - 1) + R(n - 2), так как существует два способа получения n - прибавлением единицы или прибавлением двойки. Аналогично P(n) = P(n - 1) + P(n - 2)

2. Если n делится на 2, тогда R(n) = R(n - 1) + R(n - 2) + R(n / 2). Аналогично P(n) = P(n - 1) + P(n - 2) + P(n / 2)

Последовательно вычислим значения R(n):

R(5) = R(4) + R(3) = 1 + 1 = 2

R(6) = R(5) + R(4) + R(3) = 2 + 1 + 1 = 4

R(7) = R(6) + R(5) = 4 + 2 = 6

R(8) = R(7) + R(6) + R(4) = 6 + 4 + 1 = 11

R(9) = R(8) + R(7) = 11 + 6 = 17

R(10) = R(9) + R(8) + R(5) = 17 + 11 + 2 = 30

Теперь вычислим значения P(n):

P(11) = P(10) = 1

P(12) = P(11) + P(10) = 2

Таким образом, количество программ, удовлетворяющих условию задачи, равно 30 · 2 = 60.

Ответ: 60.

Ответ: 60

Источник: Де­мон­стра­ци­он­ная вер­сия ЕГЭ-2017 по информатике.

1. Прибавить 1

2. Прибавить 3

Сколько существует программ, для которых при исходном числе 1 результатом является число 17 и при этом траектория вычислений содержит число 9? Траектория вычислений программы - это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 11, 12.

Решение.

Используем метод динамического программирования. заведем массив dp, где dp[i] - количество способов получить число i с помощью таких команд.

База динамики:

Формула перехода:

dp[i]=dp + dp

При этом не учитываются значения для чисел больше 9, которые можно получить из чисел меньше 9 (перескочив тем самым траекторию 9):

Ответ: 169.

Ответ: 169

Источник: Тренировочная работа по ИНФОРМАТИКЕ 11 класс 29 ноября 2016 года Вариант ИН10203

Исполнитель Май17 преобразует число на экране.

У исполнителя есть две команды, которым присвоены номера:

1. Прибавить 1

2. Прибавить 3

Первая команда увеличивает число на экране на 1, вторая увеличивает его на 3. Программа для исполнителя Май17 - это последовательность команд.

Сколько существует программ, для которых при исходном числе 1 результатом является число 15 и при этом траектория вычислений содержит число 8? Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 11, 12.

Решение.

Используем метод динамического программирования. Заведем массив dp, где dp[i] - количество способов получить число i с помощью таких команд.

База динамики:

Формула перехода:

dp[i]=dp + dp

Но при этом не учитываются такие числа, которые больше 8, но в них мы можем добраться из значения меньше 8. Далее будет приведены значения в ячейках dp от 1 до 15: 1 1 1 2 3 4 6 9 9 9 18 27 36 54 81.

Таблица истинности - это таблица, которая описывает логическую функцию. Логическая функция здесь - это функция, у которой значения переменных и значение самой функции выражают истинность. Например, они принимают значения «истина» либо «ложь» (true либо false, 1 либо 0).

Таблицы истинности применяются для определения значения какого-либо высказывания для всех возможных случаев значений истинности высказываний, которые его составляют. Количество всех существующих комбинаций в таблице находится по формуле N=2*n; где N - общее количество возможных комбинаций, n - число входных переменных. Таблицы истинности нередко используются в цифровой технике и булевой алгебре, чтобы описать работу логических схем.

Таблицы истинности для основных функций

Примеры : конъюнкция - 1&0=0, импликация - 1→0=0.

Порядок выполнения логических операций

Инверсия; Конъюнкция; Дизъюнкция; Импликация; Эквиваленция; Штрих Шеффера; Стрелка Пирса.

Последовательность построения (составления) таблицы истинности:

  1. Определить количество N используемых переменных в логическом выражении.
  2. Вычислить количество всевозможных наборов значений переменных M = 2 N , равное количеству строк в таблице.
  3. Подсчитать количество логических операций в логическом выражении и определить количество столбцов в таблице, которое равно количеству переменных плюс количество логических операций.
  4. Озаглавить столбцы таблицы названиями переменных и названиями логических операций.
  5. Заполнить столбцы логических переменных наборами значений, например, от 0000 до 1111 с шагом 0001 в случае для четырех переменных.
  6. Заполнить таблицу истинности по столбцам со значениями промежуточных операций слева направо.
  7. Заполнить окончательный столбец значений для функции F.

Таким образом, можно составить (построить) таблицу истинности самостоятельно.

Составить таблицу истинности онлайн

Заполните поле ввода и нажмите OK. T - истина, F - ложь. Рекомендуем добавить страницу в закладки или сохранить в социальной сети.

Обозначения

  1. Множества или выражения большими буквами латинского алфавита: A, B, C, D...
  2. A" - штрих - дополнения множеств
  3. && - конъюнкция ("и")
  4. || - дизъюнкция ("или")
  5. ! - отрицание (например, !A)
  6. \cap - пересечение множеств \cap
  7. \cup - объединение множеств (сложение) \cup
  8. A&!B - разность множеств A∖B=A-B
  9. A=>B - импликация "Если..., то"
  10. AB - эквивалентность

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

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

Алгебраические преобразования логических выражений

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

Отрицание

Отрицание и инверсия - самое простое логическое преобразование. Ему соответствует частица "не." Это преобразование просто меняет утверждение на противоположное. Соответственно, значение утверждения тоже меняется на противоположное. Если утверждение А истинно, то "не А" - ложно. Например, утверждение "прямой угол - это угол, равный девяносто градусов" - истина. Тогда его отрицание "прямой угол не равен девяноста градусам" - ложь.

Таблица истинности для отрицания будет такова:

Дизъюнкция

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

Обычная дизъюнкция или логическое сложение соответствует союзу "или". Она будет истинной если хотя бы одно из утверждений, входящих в неё - истина. Например, выражение "Земля круглая или стоит на трёх китах" будет истинным, так как первое утверждение - истинно, хоть второе и ложно.В таблице это будет выглядеть так:

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

Таблица значений исключающего или

Импликация и эквивалентность

Импликация представляет собой следствие и грамматически может быть выражена как "из А следует Б". Здесь утверждение А будет называться предпосылкой, а Б - следствием. Импликация может быть ложной, только в одном случае: если предпосылка истинна, а следствие ложно. То есть, ложь не может следовать из истины. Во всех остальных случаях импликация истинна. Варианты, когда оба утверждения имеют одинаковую истинность, вопросов не вызывают. Но почему верное следствие из неверной предпосылки - истина? Дело в том, что из ложной предпосылки может следовать что угодно. Это и отличает импликацию от эквивалентности.

В математике (и других доказательных дисциплинах) импликация используется для указания необходимого условия. Например, утверждение А - "точка О - экстремум непрерывной функции", утверждение Б - "производная непрерывной функции в точке О обращается в ноль". Если О, действительно, точка экстремума непрерывной функции, то производная в этой точке будет, и вправду, равна нулю. Если же О не является точкой экстремума, то производная в этой точке может быть нулевой, а может не быть. То есть Б необходимо для А, но не достаточно.

Таблица истинности для импликации выглядит следующим образом:

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

В математике эквивалентность используется для определения необходимого и достаточного условия. Например, утверждение А - "Точка О является точкой экстремума непрерывной функции", утверждение Б - "В точке О производная функции обращается в ноль и меняет знак". Эти два утверждения эквивалентны. Б содержит необходимое и достаточное условие для А. Обратите внимание, что в данном примере утверждений Б на самом деле является конъюнкцией двух других: "производная в точке О обращается в ноль" и "производная в точке О меняет знак".

Прочие логические функции

Выше были рассмотрены основные логические операции, которые часто используются. Есть и другие функции, которые используются:

  • Штрих Шеффера или несовместимость представляет собой отрицание конъюнкции А и Б
  • Стрелка Пирса представляет сбой отрицание дизъюнкции.

Построение таблиц истинности

Чтобы построить таблицу истинности для какого-либо логического выражения, надо действовать в соответствии с алгоритмом:

  1. Разбить выражение на простые утверждения и обозначить каждое из них как переменную.
  2. Определить логические преобразования.
  3. Выявить порядок действий этих преобразований.
  4. Сосчитать строки в будущей таблице. Их количество равно два в степени N, где N - число переменных, плюс одна строка для шапки таблицы.
  5. Определить число столбцов. Оно равно сумме количества переменных и количества действий. Можно представлять результат каждого действия в виде новой переменной, если так будет понятней.
  6. Шапка заполняется последовательно, сначала все переменные, потом результаты действий в порядке их выполнения.
  7. Заполнение таблицы надо начать с первой переменной. Для неё количество строк делится пополам. Одна половина заполняется нулями, вторая - единицами.
  8. Для каждой следующей переменной нули и единицы чередуются вдвое чаще.
  9. Таким образом заполняются все столбцы с переменными и для последней переменной значение меняется в каждой строке.
  10. Потом последовательно заполняются результаты всех действий.

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

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

  1. выражения в скобках;
  2. отрицание или инверсия;
  3. конъюнкция;
  4. строгая и обычная дизъюнкция;
  5. импликация;
  6. эквивалентность.

Примеры

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

  • Штрих Шеффера.
  • Стрелка Пирса.
  • Определение эквивалентности.

Штрих Шеффера

Штрих Шеффера - это логическое выражение, которое можно записать в виде "не (А и Б)". Здесь две переменные, и два действия. Конъюнкция в скобках, значит, она выполняется первой. В таблице будет шапка и четыре строки со значениями переменных, а также четыре столбца. Заполним таблицу:

А Б А и Б не (А и Б)
Л Л Л И
Л И Л И
И Л Л И
И И И Л

Отрицание конъюнкции выглядит как дизъюнкция отрицаний. Это можно проверить, если составить таблицу истинности для выражения "не А или не Б". Проделайте это самостоятельно и обратите внимание, что здесь будет уже три операции.

Стрелка Пирса

Рассматривая Стрелку Пирса, которая представляет собой отрицание дизъюнкции "не (А или Б)", сравним её с конъюнкцией отрицаний "не А и не Б". Заполним две таблицы:

А Б не А не Б не А и не Б
Л Л И И И
Л И И Л Л
И Л Л И И
И И Л Л Л

Значения выражений совпали. Изучив два эти примера, можно прийти к выводу, как раскрывать скобки после отрицания: отрицание применяется ко всем переменным в скобках, конъюнкция меняется на дизъюнкцию, а дизъюнкция - на конъюнкцию.

Определение эквивалентности

Про утверждения А и Б можно сказать, что они эквивалентны, тогда и только тогда, когда из А следует Б и из Б следует А. Запишем это как логическое выражение и построим для него таблицу истинности. "(А эквивалентно Б) эквивалентно (из А следует Б) и (из Б следует А)".

Здесь две переменных и пять действий. Строим таблицу:

В последнем столбце все значения истинные. Это значит, что приведенное определение эквивалентности верно при любых значениях А и Б. Значит, оно всегда истинно. Именно так с помощью таблицы истинности можно проверить корректность любых определений и логических построений.

Определение 1

Логическая функция – функция, переменные которой принимают одно из двух значений: $1$ или $0$.

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

Определение 2

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

Определение 3

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

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

Рисунок 1.

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

Алгоритм построения таблицы истинности логической функции

    Определяют количество строк: кол-во строк = $2^n + 1$ (для строки заголовка) , $n$ – количество простых выражений. Например, для функций двух переменных существует $2^2 = 4$ комбинации наборов значений переменных, для функций трех переменных – $2^3 = 8$ и т.д.

    Определяют количество столбцов: кол-во столбцов = кол-во переменных + кол-во логических операций. При определении количества логических операций учитывают также порядок их выполнения.

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

Рисунок 2.

Пример 1

Составить таблицу истинности логического выражения $D=\bar{A} \vee (B \vee C)$.

Решение:

    Определим количество строк:

    кол-во строк = $2^3 + 1=9$.

    Количество переменных – $3$.

    1. инверсия ($\bar{A}$);
    2. дизъюнкция, т.к. она находится в скобках ($B \vee C$);
    3. дизъюнкция ($\overline{A}\vee \left(B\vee C\right)$) – искомое логическое выражение.

      Кол-во столбцов = $3 + 3=6$.

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

Рисунок 3.

Пример 2

По данному логическому выражению построить таблицу истинности:

Решение:

    Определим количество строк:

    Количество простых выражений – $n=3$, значит

    кол-во строк = $2^3 + 1=9$.

    Определим количество столбцов:

    Количество переменных – $3$.

    Количество логических операций и их последовательность:

    1. отрицание ($\bar{C}$);
    2. дизъюнкция, т.к. она находится в скобках ($A \vee B$);
    3. конъюнкция ($(A\vee B)\bigwedge \overline{C}$);
    4. отрицание, которое обозначим $F_1$ ($\overline{(A\vee B)\bigwedge \overline{C}}$);
    5. дизъюнкция ($A \vee C$);
    6. конъюнкция ($(A\vee C)\bigwedge B$);
    7. отрицание, которое обозначим $F_2$ ($\overline{(A\vee C)\bigwedge B}$);
    8. дизъюнкция – искомая логическая функция ($\overline{(A\vee B)\bigwedge \overline{C}}\vee \overline{(A\vee C)\bigwedge B}$).

Сегодня мы поговорим о предмете под названием информатика. Таблица истинности, разновидности функций, порядок их выполнения - это наши основные вопросы, на которые мы постараемся найти ответы в статье.

Обычно данный курс преподается еще в средней школе, но большое количество учеников является причиной недопонимания некоторых особенностей. А если вы собрались посвятить этому свою жизнь, то просто не обойтись без сдачи единого государственного экзамена по информатике. Таблица истинности, преобразование сложных выражений, решение логических задач - это все может встретиться в билете. Сейчас мы рассмотрим более подробно данную тему и поможем вам набрать больше балов на ЕГЭ.

Предмет логики

Что же это за предмет - информатика? Таблица истинности - как ее строить? Зачем нужна наука логика? На все эти вопросы мы сейчас с вами ответим.

Информатика - это довольно увлекательный предмет. Он не может вызывать затруднения у современного общества, ведь все, что нас окружает, так или иначе, относится к компьютеру.

Основы науки логики даются преподавателями средней школы на уроках информатики. Таблицы истинности, функции, упрощение выражений - все это должны объяснять учителя информатики. Эта наука просто необходима в нашей жизни. Приглядитесь, все подчиняется каким-либо законам. Вы подбросили мяч, он подлетел вверх, но после этого упал опять на землю, это произошло из-за наличия законов физики и силы земного притяжения. Мама варит суп и добавляет соль. Почему когда мы его едим, нам не попадаются крупинки? Все просто, соль растворилась в воде, подчиняясь законам химии.

Теперь обратите внимание на то, как вы разговариваете.

  • «Если я отвезу своего кота в ветеринарную клинику, то ему сделают прививку».
  • «Сегодня был очень тяжелый день, потому что приходила проверка».
  • «Я не хочу идти в университет, потому что сегодня будет коллоквиум» и так далее.

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

Функции

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

Все выражения принимают следующие значения:

  • Истина или ложь.
  • И или Л.
  • 1 или 0.
  • Плюс или минус.

Здесь отдавайте предпочтение тому способу, который для вас является более удобным. Для того чтобы составить таблицу истинности, нам нужно перечислить все комбинации переменных. Их количество вычисляется по формуле: 2 в степени n. Результат вычисления - это количество возможных комбинаций, переменной n в данной формуле обозначается количество переменных в условии. Если выражение имеет много переменных, то можно воспользоваться калькулятором или сделать для себя небольшую таблицу с возведением двойки в степень.

Всего в логике выделяют семь функций или связей, соединяющих выражения:

  • Умножение (конъюнкция).
  • Сложение (дизъюнкция).
  • Следствие (импликация).
  • Эквиваленция.
  • Инверсия.
  • Штрих Шеффера.
  • Стрелка Пирса.

Первая операция, представленная в списке, имеет название «логическое умножение». Ее графически можно отметить в виде перевернутой галочки, знаками & или *. Вторая в нашем списке операция - логическое сложение, графически обозначается в виде галочки, +. Импликацию называют логическим следствием, обозначается в виде стрелки, указывающей от условия на следствие. Эквиваленция обозначается двухсторонней стрелкой, функция имеет истинное значение только в тех случаях, кода оба значения принимают либо значение «1», либо «0». Инверсию называют логическим отрицанием. Штрих Шеффера называют функцией, которая отрицает конъюнкцию, а стрелку Пирса - функцией, отрицающей дизъюнкцию.

Основные двоичные функции

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

Конъюнкция (умножение). Если два то в результате мы получаем истину, во всех остальных случаях мы получаем ложь.

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

Логическое следствие имеет ложный результат только тогда, когда условие является истиной, а следствие - ложью. Здесь можно привести пример из жизни: «Я хотел купить сахар, но магазин был закрыт», следовательно, сахар так и не куплен.

Эквиваленция является истиной только в случаях одинаковых значений входных данных. То есть при парах: «0;0» или «1;1».

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

Штрих Шиффера будет на выходе иметь ложный результат только при наличии двух истинных выражений.

В случае стрелки Пирса, функция будет истинной только в том случае, если на входе мы имеем только ложные выражения.

В каком порядке выполнять логические операции

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

  • логическое отрицание;
  • умножение;
  • сложение;
  • следствие;
  • эквиваленция;
  • отрицание умножения (штрих Шеффера);
  • отрицание сложения (стрелка Пирса).

Пример №1

Сейчас мы предлагаем рассмотреть пример построения таблицы истинности для 4 переменных. Необходимо узнать в каких случаях F=0 у уравнения: неА+В+С*D

Ответом на это задание будет являться перечисление следующих комбинаций: «1;0;0;0», «1;0;0;1» и «1;0;1;0». Как видите, составлять таблицу истинности довольно просто. Еще раз хочется обратить ваше внимание на порядок выполнения действий. В конкретном случае он был следующий:

  1. Инверсия первого простого выражения.
  2. Конъюнкция третьего и четвертого выражения.
  3. Дизъюнкция второго выражения с результатами предыдущих вычислений.

Пример №2

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

  • Если Ваня не крал или Петя крал, то Сережа принял участие в краже.
  • Если Ваня не виновен, то и Сережа мяч не крал.

Введем обозначения: И - Ваня украл мяч; П - Петя украл; С - Сережа украл.

По данному условию мы можем составить уравнение: F=((неИ+П) импликация С)*(неИ импликация неС). Нам нужны те варианты, где функция принимает истинное значение. Далее необходимо составить таблицу, так как данная функция имеет целых 7 действий, то мы их опустим. Будем вносить только входные данные и результат.

Обратите внимание на то, что в данной задаче мы вместо знаков «0» и «1» использовали плюс и минус. Это также приемлемо. Нас интересуют комбинации, где F=+. Проанализировав их, мы можем сделать следующий вывод: Ваня участвовал в краже мяча, так как во всех случаях, где F принимает значение +, И имеет положительное значение.

Пример №3

Сейчас предлагаем вам найти количество комбинаций, когда F=1. Уравнение имеет следующий вид: F=неА+В*А+неВ. Составляем таблицу истинности:

Ответ: 4 комбинации.