Цель урока:
- Дальнейшее формирование и развитие логического мышления учащихся.
- Закрепление полученных навыков на практике .
- Показать наиболее распространённые методы решения логических задач с помощью различных программных сред.
- Закрепление межпредметных связей (развитие математического кругозора учащихся, повышение их готовности к последующему восприятию идей программирования).
- Повышение интереса учащихся к логике, специфике логического знания.
План урока
1. Анализ домашнего задания.
Задача
Вызывается ученик с подготовленным домашним заданием.
Алёша, Боря и Гриша нашли в земле старинный сосуд. Рассматривая удивительную находку, каждый высказал по два предположения. Алёша предположил, что это греческий сосуд V века, Боря, что сосуд финикийский III века, Гриша не греческий IV века. Каждый мальчик прав только в одном случае.
Где и в каком веке изготовлен сосуд?
Решение
В высказывании каждого мальчика два простых логических выражения. Введём обозначения:
lg -сосуд греческий;
lf - сосуд финикийский;
l3 - сосуд изготовлен в 3 веке;
l4 - сосуд изготовлен в 4 веке;
l5 - сосуд изготовлен в 5 веке;
Тогда высказывание Алёши можно записать следующим составным выражением:
lg l5=1
Либо сосуд греческий, либо он изготовлен в V веке (ведь, по условию задачи, истинно только одно предположение).
Высказывание Бориса можно записать следующим образом:
lf l3=1
Высказывание Гриши запишем следующим составным выражением:
lg l4=1
Следующее выражение следует из того, что сосуд либо финикийский, либо греческий:
lf lg=1
Нижеследующее выражение получается из высказываний, что сосуд изготовлен либо в III, либо в IV, либо в V веке.
(l3& l4&O l5)+( l3&l4& l5)+( l3& l4&l5)=1
Составное высказывание получается из всех пяти объединённых с помощью конъюнкции или логического умножения и будет иметь значение “истинно”.
Программа представлена ниже на языке Бейсик в программной среде Qbasic.
При вычислении ld лучше оператор записать в одну строку.
Ответ: финикийский в V веке.
(решение задачи 5 минут)
Дополнительное задание.
Написать формулу склеивания. Объяснить, что такое соседние конъюнкции.
Доказать правильность вывода формулы:
(A&B)v(&B)=B - для логического сложения
(AvB)&(vB)=B - для логического умножения
Решим данное задание с использованием электронной таблицы Excel
Справедливость приведённых законов доказывается табличным способом:
Вычисляется значения выражения на всех наборах входных логических переменных A и В. Можем убедиться, что значения результирующих столбцов совпадут (значения столбцов B и F). Это равносильные выражения. Закон доказан.
2. Задача.
Решить задачу методом логических рассуждений.
Представьте себе, что вы попали в некую сказочную страну и неожиданно были пленены. Вам представлены на выбор три комнаты. Король подводит вас к ним и вы видите таблички с надписями над ними:
1 комната – “В этой комнате сидит тигр”
2 комната – “В этой комнате находится принцесса”
3 комната – “Тигр сидит в комнате 2”
Король, обращаясь к вам, говорит, что одно из этих утверждений является истинным и предлагает вам открыть дверь…(дверь, которая, естественно, ведёт к принцессе, а не к тигру)
В какой из этих комнат находится принцесса?
Решение
Рассуждая, не будем забывать, что одно лишь из этих утверждений истинно, а два других будет ложно.
Представим себе, что первое утверждение истинно (тигр в 1-ой комнате). Тогда два других будет ложно. Тогда, следуя этому, во 2-ой комнате не должна находиться принцесса, она будет в третьей. Но тогда 3-е утверждение автоматически становится истинным (тигров всего два). Но должно быть всего одно истинное утверждение.
Отсюда следует, что первое утверждение неверно. Там нет тигра. Там вас ждёт принцесса.
Взяв за истину любое из этих утверждений, мы приходим к точно такому же выводу.
Ответ: принцесса в первой комнате.
(решение задачи 3 минуты, дополнительное задание 2-3 минуты)
Можно решать её и табличным методом, но она (задача) достаточно прозрачна.
3. Задача.
Какой учебный предмет – информатика, физика, математика, история – должен быть внесён в расписание при выполнении следующих условий:
- если вносится информатика, то и физика;
- если не вносится история, то не вносится и физика;
- неверно, если вносится математика, то и история
Решение
Примем следующие обозначения:
A - информатика;
B - физика;
C - математика
d - история
Решим данную задачу программным путём. Составим программу, используя язык Бейсик в среде интерпретатора либо компилятора:
Запустив данную программу, получим таблицу истинности:
Проанализируем полученную таблицу. Значение f=1 в третьей строке таблицы.
Значения a, b и d ложны и только c=1. Это означает, что математика должна быть внесена.
В языке Паскаль операция импликации не реализована в отличие от Бейсика. Поэтому запись импликации в Паскале будет выглядеть следующим образом:
a imp b =not a or b
Та же задача, реализованная на языке Паскаль:
Ответ: в расписание вносится математика.
(решение 5 минут)
4. Самостоятельная работа.
(закрепление знаний)
- Упростить выражение, используя минимум законов
логических операций:
F=не(Х) или не(Х или У) или не(У и не(Х и У)) - Является ли данная функция стрелкой Пирса:
F=не(А или В) - Является ли данная функция
тождественно-истинной:
F=not(X or Y or not(X and Y)) and not(Y or X) - Соответствует ли данное высказывание
импликации ?
Если Х – сын или дочь У, то У – мать или отец Х. - Проверьте, являются ли данные функции
равносильными:
(не(Х) или У) и не(Х)=не(У) - Являются ли данные конъюнкции соседними:
не(Х) и не(У) и С или не(Х) и не(У) и не(С) - Дополнительный вопрос.
Укажите правильный ответ:
А | В | F |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
а) функция Шеффера
б) стрелка Пирса
в) функция отрицания равнозначности
г) функция эквивалентности
д) функция импликации
(работа на 10 минут).
Самостоятельная работа (смотреть в Приложении)
Проверка работы. (3 минуты)
5. Задача.
На вопрос, кто из трёх учащихся А, В, С изучил логику был получен ответ:
“Если изучил В, то изучил и С, но неверно, что если изучил А, то изучил и
С”. Кто из трёх учащихся знает логику ?
Решение
Для решения задания № 5 применяем программу LogiTable.
Решим данную задачу путём применения аппарата алгебры логики.
Запишем сложные высказывания, о которых говорится в задаче:
Запишем произведение высказываний, о которых говорится в задаче:
с учётом внутреннего синтаксиса программы в поле ввода
Таблица истинности моментально отображается в рабочем поле программы.
Из таблицы можно определить, что функция F принимает значение 1 (F=1) в 5 строке. Там значение А=1, т. е высказывание А – истинное. Переменные же В и С принимают как значение 0 . Теперь, можно сказать точно, что только учащийся А изучал логику .
Ответ: изучал А.
(решение 4 минуты)
6. Задача.
Определите, кто из подозреваемых участвовал в преступлении, если известно:
- если Иванов не участвовал или Петров участвовал, то Сидоров участвовал;
- если Иванов не участвовал, то Сидоров не участвовал.
Решение
Введём следующие высказывания, выражающие известные факты:
И – Иванов участвовал в преступлении;
П – Петров участвовал в преступлении;
С – Сидоров участвовал в преступлении
Запишем сложные высказывания:
Данные высказывания истинны. Найдем конъюнкцию данных сложных высказываний:
Будем решать данную задачу путём построения таблицы истинности.
Специфика данного решения такова. Чтобы решить данную задачу нужно выяснить при каких значениях И, П, С сложное высказывание будет истинно. Найдём строки в которых функция F равна 1. Если во всех строках(где F=1) какая-то переменная будет принимать значение 1, то значит эта переменная истинная и этот человек принимал участие в преступлении. Если же во всех строках переменная равна 0, то она ложная и данный человек в преступлении не участвовал. Если переменная принимает попеременно значение то 0, то 1, то ничего определённого по отношению к данному субъекту сказать нельзя.
Прежде чем строить таблицу истинности приведём наши высказывания к более удобной записи для последующего упрощения.
Строим таблицу истинности:
И | П | С | П | С | И*П | И*П+С | И+С | F |
0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 |
0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 |
1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 |
Из таблицы можно определить, что функция F принимает значение 1 (F=1) в 5, 6 и 8 строках. Везде там значение И=1, т. е высказывание И – истинное. Переменные же П и С принимают как значение 0, так и 1 и в отношении их ничего определённого сказать нельзя. Можно сказать только точно, что только Иванов участвовал в преступлении.
2-й метод.
Путём дальнейших упрощений функции решим эту задачу, используя законы логики.
Проверим данное решение и таблицу истинности с помощью программы Liberty Basic, применяя следующие обозначения:
A – Иванов участвовал в преступлении;
B – Петров участвовал в преступлении;
С – Сидоров участвовал в преступлении;
Наши таблицы истинности, построенные вручную и программным путём совпали, следовательно, можно сказать определённо, что Иванов участвовал в преступлении.
Следовательно, Иванов участвовал в преступлении.
Ответ: Иванов участвовал в преступлении.
(решение задачи 12 минут. )
7. Объяснение домашнего задания.
(2 минуты)
8. Подведение итогов.
Логические задачи можно решать различными способами, как логическими рассуждениями, как с помощью таблиц истинности, так и путём приведения логической формулы к удобной нормальной форме с последующей минимизацией функции.
Следует отметить, что метод, основанный на построении и анализе таблиц истинности, имеет ограниченное применение при увеличении количества переменных, так как усложняется как построение, так и анализ этой таблицы. Применение аппарата алгебры логики, использование самых различных компьютерных программ, знание законов и свойств логики помогают в этом случае найти решение. Поэтому необходимо укреплять полученные навыки по преобразованию логических выражений, их дальнейшему упрощению, широкое использование информационных технологий, которые очень часто являются именно тем ключом, открывающим дверь к решению самых разнообразных и сложных логических задач.