Теория:

Характеристика задания
 
1. Тип ответа: запись правильной последовательности букв.
 
2. Структура содержания задания: дано логическое выражение и таблица истинности.
 
3. Уровень сложности задания: базовый.
 
4. Примерное время выполнения: \(3\) минуты.
 
5. Количество баллов: \(1\).
 
6. Требуется специальное программное обеспечение: не обязательно.
 
7. Задание проверяет умение работать с логическими переменными, выполнять логические операции, строить таблицы истинности.
 
Пример задания
 
Николай заполнял таблицу истинности логической функции \(F\)
 
¬(y(xw))(zx),
 
но успел заполнить только фрагмент из трёх различных её строк, не указав, какому столбцу таблицы принадлежит каждая из переменных \(w\), \(x\), \(y\), \(z\).
 
 
 
 
 
\(F\)
 
\(1\)
\(1\)
 
\(1\)
\(0\)
 
 
\(0\)
\(1\)
 
\(0\)
\(1\)
\(0\)
\(1\)
 
Определи, какому столбцу таблицы принадлежит каждая из переменных \(w\), \(x\), \(y\), \(z\).
 
В ответе напиши буквы \(w\), \(x\), \(y\), \(z\) в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т. д.). Буквы в ответе пиши подряд, никаких разделителей между буквами ставить не нужно.
 
Как решать задание?
 
Данное задание можно решать несколькими способами: путём логических рассуждений; использовать электронные таблицы \(+\) логические рассуждения; с помощью программирования.
 
Мы рассмотрим вариант решения с помощью языка программирования Python.
 
Вспомнить основные логические операции можно тут.
 
Правила построения таблиц истинности можно вспомнить тут.
 
Законы алгебры логики можно вспомнить тут.
 
Вспомним управляющие конструкции в Python:
 
цикл с параметром
for  переменная  in  диапазон:
       тело цикла
for \(y\) in \(0\), \(1\):
      тело цикла
условие
if  условие  then:
       действия, если условие истинно
else:
       действия, если условие ложно
if \(C>D\):
      print ('истина')
else:
      print ('ложь')
 
Запись логических операций на Python
 
Название операции
Запись на Python
конъюнкция
\(and\)
дизъюнкция
\(or\)
отрицание
\(not\)
импликация
\(<=\)
тождество
\(==\)
 
Напишем программу
 
Скриншот 04-07-2022 225630.jpgВыведем на экран искомые значения для того, чтобы при выводе значений знать, где какая переменная
Скриншот 04-07-2022 225648.jpg
Для каждой переменной сформируем вложенный  цикл, где будем перебирать все возможные значения (\(0\) и \(1\)) для каждой переменной;
 
in range (\(2\)): перебор значений \(0\) и \(1\), можно записать по другому: in range (\(0\),\(2\))
Скриншот 04-07-2022 225704.jpgВложенный цикл для переменной \(y\)
Скриншот 04-07-2022 225728.jpgВложенный цикл для переменной \(z\)
Скриншот 04-07-2022 225759.jpgВложенный цикл для переменной \(w\)
Скриншот 04-07-2022 225816.jpgДля всех циклов пропишем условие — нашу формулу, преобразовав её для Python
Скриншот 04-07-2022 225828.jpgПрописанное условие будет срабатывать только в том случае, если выражение будет истинно. Выведем значения на экран
 
Запуск программы
 
Скриншот 04-07-2022 225605.jpgПолученный результат необходимо сравнить с таблицей из условия
 
Сопоставим полученную таблицу истинности с таблицей из условия. Нам необходимо сравнивать условие с результатами, как по строкам, так и по столбцам, отыскивая некоторые закономерности и невозможности. Заметим, что столбец \(y\) содержит в себе три единицы, что может быть только в третьем столбце таблицы из условия. Четвёртый столбик таблицы из условия также можем дополнить единицей, и к этому столбику подходят как \(z\), так и \(w\).
Теперь проанализируем строки. В первой строке получилось три единицы, что соответствует четвёртой строке результата программирования, дополняем нулём первую строку. В третьей строке у нас два нуля, поэтому добавляем единицу. Проверяем, чтобы сошлось по строке. Заполним второй столбец, допишем единицу. Этот столбец как раз и будет являться \(x\). Остаётся проанализировать столбцы \(1\) и \(4\).
Рассмотрим первую строку: \(x = 0\), \(y = 1\), \(z = 0\), следовательно, \(z\) — это четвёртый столбик, а \(w\) — первый.
 
Скриншот 19-06-2022 013313.jpg
Рис. \(1\). Ход решения
 
Ответ: \(wxyz\).
Источники:
Рис. 1. © ЯКласс.
Изображения. © ЯКласс.