Логические задачи
Способы решения логической задачи
---------------------------------
Табличный способ нагляден, но используется только для определенного класса задач и требует умения сравнивать и сопоставлять;
Метод рассуждений подходит для решения только простых логических задач;
Алгебраический способ наиболее трудоемкий, т. к. необходимо выразить высказывания в виде логических формул, значения которых надо вычислить. Знание законов алгебры логики позволяют облегчить этот процесс, а если это не удается сделать, то строиться таблица истинности. По значениям из таблицы можно найти решение;
Программный способ решения логических задач, используется если количество простых высказываний велико или условия логической задачи запутанные или противоречивые, то построение и анализ таблицы истинности достаточно трудоемок. В этом случае создается программа, с помощью которой перебираются все допустимые значения простых высказываний и вычисляются значения единого логического выражения . Те простые высказывания, при которых выражение будет истинным и будут решениями логической задачи;
Логический калькулятор, используется, чтобы быстро и наглядно увидеть результат логической задачи. Здесь главное без ошибок ввести логическое выражение. Автоматически на разных вкладках видим круги Эйлера, дерево выражения и таблицу истинности с результатом.
задачи
------
Пример 1.
Написать программу реализующую функцию и заполняющую таблицу истинности:
a & b
Пример 2.
a & b & c
Пример 3.
Три школьника, Юра, Сергей и Даниил были вызваны к директору по поводу разбитого окна в кабинете. На вопрос директора о том, кто это сделал, мальчики ответили:
Юра: “Даниил не бил окно. Это сделал Сергей”.
Сергей: “Нет, это Даниил разбил стекло футбольным мячом , а Юра не мог этого сделать”.
Даниил: “Сергей не разбивал. А я решал домашнюю задачу по алгебре.”
Стало известно, что один из ребят оба раза солгал, а двое в каждом из своих заявлений говорили правду.
Кто разбил окно в классе?
1) Введем обозначения для простых высказываний :
a – Юра разбил окно; b – Сергей разбил окно; c – Даниил разбил окно.
2) Высказывания мальчиков запишем в виде формул:
x1 = c & b
x2 = c & a
x3 = b
3) Составим единое логическое выражение для всех требований задачи:
(Один мальчик солгал оба раза, два других сказали правду.)
X =x1 & x2 & b + x1&(c&a)&x3 + (c&b)&x2&x3
Для исследования данной формулы можно построить таблицу значений при всех комбинациях простых высказываний или упростить формулу, используя аппарат алгебры логики.
Ответ: Выражение X = ИСТИНА, если a = 0, b = 0, c = 1
Т.е. Окно разбил Даниил.
Задание 1:
Вычислите значение функции
f(a,b,c)=a OR b^(a Or c ^ not b)
а) При a = 0, b = 1, c = 1;
б) При a = 1, b = 0, c = 1;
Задание 2:
Докажите, что функции f1 и f2 эквивалентны.
F1(x,y)=x or y
F2(x,y)=x or y or x^y
Подведение итогов урока. Краткое сопоставление способов решение логических задач.
Выставление оценок.
Домашнее задание:
Конспект урока + придумать две логические задачи и записать их используя логические конструкции