Учебник MAXIMUM Education

Интернет-энциклопедия по школьным предметам от Maximum Education. Учебник поможет решить домашнее задание, подготовиться к контрольной и вспомнить прошлые темы.

10 класс
Информатика

Методы решения логических задач

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

Метод рассуждений

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

Пример задачи.

Есть четыре друга: Саша, Ваня, Коля и Петя. Относительно их умений играть в теннис справедливы следующие высказывания:

  1. Ваня не играет в теннис.

  2. Если Саша играет в теннис, то Ваня и Коля не играют в теннис.

  3. Если Саша или Петя не играют в теннис, то Ваня играет в теннис.

Требуется узнать, кто играет в теннис, а кто не играет.

Решение:

В данной задаче есть утверждение, которое уже содержит часть ответа к данной задаче – это первое утверждение. Значит, Ваня точно не играет в теннис.

Раз Ваня не играет в теннис, то тогда третье утверждение не может быть истинным, и получается, что Саша и Петя наоборот играют в теннис.

Мы уже узнали, что Саша играет в теннис, а Ваня не играет, тогда второе утверждение будет истинно и Коля тоже не играет в теннис.

В данной задаче может быть только один вариант ответа: Ваня и Коля не играют в теннис, Саша и Петя играют в теннис.

Метод гипотез

Данный метод решения применяется при решении задач, в которых нет утверждений, дающих часть ответа, то есть, нет прямой информации о каком-то объекте.

Гипотеза – это высказывание об истинности некоторого утверждения, помогающее снять неопределенность самого утверждения.

Пример задачи. В скачках участвуют 4 лошади: Гнедая, Черныш, Гром и Вихрь. Болельщики высказали следующие предположения относительно того, кто и когда приедет к финишу.

  1. Черныш будет последним, Вихрь придет первым.

  2. Вихрь придет третьим, Гнедая победит.

  3. Гром будет третьим, Черныш победит.

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

Решение:

В ходе решения задачи будет выдвигать гипотезы и проверять их истинность.

Первая гипотеза: Вихрь придет первым.

Тогда получаем, что Черныш не последний, значит, он придет вторым или третьим.

Раз мы уже предположили, что Вихрь придет первым, значит, он не может быть третьим. Тогда должно быть истинно утверждение о том, что Гнедая придет первая, но это противоречит нашей гипотезе. Значит, гипотеза неверная.

Вторая гипотеза: Гнедая придет первая.

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

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

Остается Гром, и он должен прийти третьим. Это утверждение есть в третьем высказывании, и все сошлось!

Тогда получаем, что первой была Гнедая, второй – Вихрь, третий – Гром, четвертый – Черныш.

Данная задача также имеет только одно решение.

Метод табличных моделей

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

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

Пример задачи.

На каждом этаже трехэтажного дома живет девочка. Имена девочек: Даша, Соня и Катя. У каждой девочки есть питомец: кошка, попугай и рыбка. Известно, что:

  1. Соня живет не на 3 этаже.

  2. Владелица кошки проживает на втором этаже.

  3. Соня и Даша живут не на соседних этажах.

  4. Владелица попугая проживает ниже владелицы кошки.

Нужно определить, на каком этаже живет каждая девочка и какой у нее питомец.

Решение:

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

Соня Даша Катя
1 этаж
2 этаж
3 этаж

Соня Даша Катя
Кошка
Попугай
Рыбка

Начнем разбирать утверждения. Согласно первому утверждению Соня живет не на 3 этаже. Поставим минус в первой таблице в соответствующей ячейке.

Соня Даша Катя
1 этаж
2 этаж
3 этаж -

Второе утверждение пока нам ничего не дает, вернемся к нему чуть позже.

Третье утверждение говорит о том, что Соня и Даша живут не на соседних этажах. Соседние этажи – это 1 и 2, 2 и 3. Тогда, Соня и Даша проживают на 1 и 3 этажах. Мы уже знаем, что Соня не живет на 3 этаже, значит, она живет на 1, а Даша – на 3. Так как остался только 2 этаж, значит, там живет Катя.

Соня Даша Катя
1 этаж +
2 этаж +
3 этаж - +

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

Соня Даша Катя
1 этаж + - -
2 этаж - - +
3 этаж - + -

Теперь возвращаемся ко второму утверждению. Мы знаем, что на втором этаже живет Катя, значит, у нее кошка. И тогда кошка не может быть ни у Даши, ни у Сони.

Соня Даша Катя
Кошка - - +
Попугай -
Рыбка -

Последнее утверждение говорит о том, что владелица попугая живет ниже владелицы кошки. Кошка живет на втором этаже, ниже будет первый этаж, на нем живет Соня. Значит, у Сони попугай. Тогда остается только рыбка, она будет у Даши.

Соня Даша Катя
Кошка - - +
Попугай + - -
Рыбка - + -

Таким образом, получаем:

  • Соня живет на первом этаже, и у нее попугай.

  • Катя живет на втором этаже, и у нее кошка.

  • Даша живет на третьем этаже, и у нее рыбка

Как видим, использование таблиц значительно упрощает решение задачи.