Костёр 1989-04, страница 44

Костёр 1989-04, страница 44

ПРИКЛЮЧЕНИЕ ЧЕТВЕРТОЕ. ОПАСНОЕ ПРИКЛЮЧЕНИЕ

Посещение

Монаха

дачи

произвело большое впечатление на Петра Кука. Он спросил Кукарачу:

— А ты заметил, что все задачи, которые показали нам Перевозчик, Монах и Конюх, немножко похожи?

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

Алгоритм!— повторил Петя новое для него звучное слово.

Это слово произошло от имени знаменитого средневекового узбекского математика Аль-Хорезми. Он придумал, например, правила умножения многозначных чисел. В наши дни алгоритмом называют не только правила выполнения арифметических действий, но и любые правила обработки информации.

А можно ли сказать, что решая задачу Конюха, я составил алгоритм перестановки коней?

— Конечно. Алгоритм перестановки шести коней — это правила, которые описывают все необходимые для этого действия. Выполняя их, можно по исходной информации (начальная позиция: белые кони внизу) прийти к новой информации — результату (резуль-татирующая позиция: белые кони вверху).

Петя согласно кивнул:

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

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

ками», умеющими исполняв алгоритмы, являются все жители Роботландии.

— Значит, Перевозчик — это исполнитель?

Безусловно. Он знает все команды в алгоритме перевоза и умеет их выполнять. Но если Перевозчика попросить: «сделай ход с поля а 1 на поле с2», он ответит: НЕ ПОНЯЛ. Его не научили выполнять такую команду. И Монах, и Конюх — тоже исполнители.

А бывает ли так, что исполнитель не выполняет понятную ему команду?

— Если человек, составивший алгоритм, плохо знает возможности исполнителя, это может произойти. Так, если Конюху дать команду 1) а1-Ь2, то он ответит: НЕ МОГУ, потому что кони так не ходят.

— А ты тоже исполнитель?— спросил Петя в надежде, что, может быть, именно сейчас раскроется тайна буквы Т.

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

Что, в Роботландии даже железная дорога есть?

А как же! Правда, узкоколейная. Маленькая, но настоящая железная дорога.

Кукарача взглянул на часы:

— Мой Друг Машинист очень точен. Через 6 минут мы должны быть на полустанке вон за тем лесочком. Поторопимся!

— Машинист — это еще один исполнитель? — на бегу продолжал спрашивать неутомимый Кук.

Да, он отлично знает алгоритм управления поездом. Вот и он. Смотри!

Из-за поворота появился маленький, словно игрушечный, паровозик с двумя вагонами. Машинист — робот с

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

После посадки Кукарачи и Кука поезд стал снова набирать скорость. Но тут произошло непредвиденное: навстречу на своем вороном коне скакал Конюх.

— Стой!— осадил коня около локомотива запыхавшийся Конюх.— Вперед нельзя! Там мост обв'алился!

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

Придется назад в объезд. Вот беда! Это сколько же времени мы будем тащиться задним ходом?

Но Машинист, успокаивая друзей, возразил:

— А зачем задни,м? Здесь рядом, в двухстах метрах, есть тупик. Там мы развернемся. Я ведь знаю алгоритм разворота. И мы поедем обратно, но поедем быстро — передним ходом.

Пассажиры расселись по местам и успокоились. Но вот подъехали к тупику, и волнения начались снова.

— Как же он сможет тут развернуться? Ведь в тупике есть место либо только для локомотива, либо для одного вагона. А ведь в нашем составе целых два вагона да паровоз.

Но Петя уже знал, как поступить:

— Давайте составим алгоритм разворота. Как вы думаете, какие команды можно использовать в этом алгоритме?

Посыпались предложения: Вперед (по этой команде локомотив движется вперед либо до ближайшей разведенной стрелки, либо до свободного участка пути — впереди нет стрелок, либо до тех пор, пока не помешает тупик);

назад (движение задним ходом по таким же правилам);