Для решения этой задачи мы можем использовать формализацию утверждений и таблицу истинности. Пусть:
- ( P ) будет обозначать, что память неисправна.
- ( C ) будет обозначать, что процессор сгорел.
- ( H ) будет обозначать, что винчестер исправен.
Согласно утверждениям участников:
- Хозяин утверждает, что память не могла выйти из строя, то есть ( \neg P ).
- Сын предполагает, что процессор сгорел и винчестер исправен, то есть ( C \land H ).
- Специалист утверждает, что с процессором все в порядке и память неисправна, то есть ( \neg C \land P ).
Надо определить, кто сказал неправду, исходя из того, что двое сказали правду и один неправду. Создадим таблицу истинности для всех возможных состояний ( P, C, H ) и проверим утверждения:
( P ) | ( C ) | ( H ) | ( \neg P ) | ( C \land H ) | ( \neg C \land P ) |
0 | 0 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 | 0 | 0 |
0 | 1 | 0 | 1 | 0 | 0 |
0 | 1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 0 | 1 |
1 | 0 | 1 | 0 | 0 | 1 |
1 | 1 | 0 | 0 | 0 | 0 |
1 | 1 | 1 | 0 | 1 | 0 |
Ищем строку, где два утверждения верны, а одно — нет. В строке ( P = 1, C = 0, H = 1 ) у нас ( \neg P ) - неверно, ( C \land H ) - неверно, ( \neg C \land P ) - верно. Значит, неверно утверждение хозяина (( \neg P )) и сына (( C \land H )), верно утверждение специалиста (( \neg C \land P )).
Итак, память действительно неисправна, процессор в порядке, винчестер исправен.