Вопрос:

Задача 5 Отец, мать и двое детей – сын и дочь, должны переправиться с левого берега реки на правый. Они встретили рыбака, который одолжил им свою лодку. Однако, в лодке могут поместиться только один взрослый или двое детей. Как семье переправиться через реку и вернуть рыбаку его лодку? В качестве ответа записать алгоритм, состоящий из команд исполнителя Перевозчик.

Ответ:

Решение Задачи 5

Условия:

  • На лодке: 1 взрослый ИЛИ 2 ребенка.
  • Лодка должна вернуться рыбаку.
  • Переправа с левого берега на правый.

Обозначения:

  • Отец (О), Мать (М) – взрослые
  • Сын (С), Дочь (Д) – дети
  • ЛБ - Левый берег, ПБ - Правый берег

Алгоритм:

  1. Дети переправляются на ПБ. (С, Д на ПБ; О, М, лодка на ЛБ)
  2. Один ребенок (например, Сын) возвращается на ЛБ. (С на ЛБ; Д на ПБ; О, М, лодка на ЛБ)
  3. Один взрослый (например, Отец) переправляется на ПБ. (О на ПБ; Д, С, лодка на ПБ; М на ЛБ)
  4. Второй ребенок (Дочь) возвращается на ЛБ. (Д на ЛБ; О, С на ПБ; М, лодка на ЛБ)
  5. Второй взрослый (Мать) переправляется на ПБ. (М на ПБ; О, С, Д, лодка на ПБ)
  6. Один ребенок (например, Сын) возвращается на ЛБ. (С на ЛБ; О, М, Д на ПБ; лодка на ЛБ)
  7. Оба ребенка переправляются на ПБ. (С, Д на ПБ; О, М на ПБ; лодка на ПБ)
  8. Один ребенок (например, Сын) возвращается на ЛБ с лодкой. (С на ЛБ; О, М, Д на ПБ; лодка на ЛБ)
  9. Один ребенок (например, Сын) садится в лодку и переправляется на ПБ. (С на ПБ; О, М, Д на ПБ; лодка на ПБ)

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

Более лаконичный вариант:

  1. Дети (С, Д) на ПБ. Лодка на ЛБ.
  2. Сын (С) возвращается на ЛБ. Лодка на ЛБ.
  3. Отец (О) на ПБ. Лодка на ПБ.
  4. Дочь (Д) возвращается на ЛБ. Лодка на ЛБ.
  5. Мать (М) на ПБ. Лодка на ПБ.
  6. Сын (С) возвращается на ЛБ. Лодка на ЛБ.
  7. Дети (С, Д) на ПБ. Лодка на ПБ.
  8. Рыбак получает лодку.

Анализ: Задача сформулирована так, что лодка должна быть возвращена рыбаку. Предположим, что рыбак ждет на левом берегу.

  1. Дети (С, Д) переправляются на ПБ.
  2. Сын (С) возвращается на ЛБ.
  3. Отец (О) переправляется на ПБ.
  4. Дочь (Д) возвращается на ЛБ.
  5. Мать (М) переправляется на ПБ.
  6. Сын (С) возвращается на ЛБ.
  7. Дети (С, Д) переправляются на ПБ.

Теперь все на ПБ, лодка на ПБ. Рыбак ждет на ЛБ.

Чтобы вернуть лодку рыбаку:

  1. Сын (С) возвращается на ЛБ.

Теперь все (О, М, С, Д) на ПБ, лодка с Сыном на ЛБ. Можно вернуть лодку.

Ответ: 1. Дети переправляются на правый берег. 2. Один ребенок возвращается на левый берег. 3. Один взрослый переправляется на правый берег. 4. Второй ребенок возвращается на левый берег. 5. Второй взрослый переправляется на правый берег. 6. Один ребенок возвращается на левый берег. 7. Оба ребенка переправляются на правый берег. 8. Один ребенок возвращается на левый берег с лодкой.

Похожие