— Ангина прошла? — спросил он.
— Прошла.
— Тогда это тебе.
Потом он снова полез к Пете за шиворот и извлек оттуда вазу с букетом благоухающих роз.
— Это — твоей маме, — сказал Казимир и поставил вазу на телевизор. Затем он вытащил у Пети из-за шиворота огромную книгу под названием «Краткий философский словарь».
— Ну, это — моей жене, — сказал Казимир и пояснил: — Она у меня профессор.
Он в четвертый раз полез к Пете за шиворот, приговаривая: «Где же она? Где?»
— Что вы там ищете, Казимир, — возмутился Петя. — У меня там ничего нет!
— Ну да — ничего! А это что? — И Казимир вытянул из-под Петиной рубашки офицерский планшет с вложенной в него картой. Он развернул карту и расстелил ее на столе.
— Смотри сюда, — сказал Казимир.
ПЕТЯ СОСТАВЛЯЕТ ПРОГРАММУ ПРОХОДА КЛИПЕРА ПО МИННОМУ ПОЛЮ
Карта была такая:
— Вот — бухта, где стоит наш клипер, — пояснил Казимир. — Выход из нее заминирован кракелюрами. Здесь, к востоку, мины стоят гуще, видишь? Ты должен вывести корабль в открытое море.
— Сам?
— Зачем же? У руля будет стоять Кристина. То есть бывшая Кристина, а в настоящий момент Исполнитель-рулевой. Ты должен составить для нее программу выхода в открытое море.
— А потом?
— Потом — видно будет. Сначала проход через минные поля. Подчеркиваю: нужно провести корабль через минные поля так, чтобы ни разу не столкнуться с миной.
— Какие команды можно использовать в программе?
— Стандартных команд три: «курс — норд» (то есть на север) «право руля» и «полный вперед».
— А проверки?
— Только одна: «прямо по курсу мина».
— Все ясно, — сказал Петя. — Я выдам программу одной левой!
— Сначала спецификацию, — предупредил Казимир.
— Чтобы выйти в открытое море, нужно идти на север, — начал Петя. — Значит, первые две команды в программе должны быть: «курс — норд» и «полный вперед». Так?
— Продолжай, — сказал Казимир.
— Предположим, что впереди по курсу появится мина. Если Исполнитель ее увидит, то должен выполнить команду «право руля». Так?
— Продолжай, — сказал Казимир. — Но учти, что после этой команды мы повернем с норда на ост. С севера на восток. А открытое море у нас — на норде.
— Ясное дело, — сказал Петя. — Мы повернем на восток, чтобы не столкнуться с миной. После поворота, когда мы проедем мину, Кристина выполнит новую команду: «курс — норд». И мы снова повернем к открытому морю. Проедем мину — и повернем.
— Пиши программу, — сказал Казимир и, открыв Краткий философский словарь, погрузился в изучение слова «плюрализм».
А Петя напечатал такую программу:
ПОВТОРЯТЬ 1000000 РАЗ
ЕСЛИ
ПО КУРСУ МИНА
ТО
ПРАВО РУЛЯ
ПОЛНЫЙ ВПЕРЕД
ИНАЧЕ
КУРС НОРД
ПОЛНЫЙ ВПЕРЕД
КОНЕЦ УСЛОВИЯ
КОНЕЦ ЦИКЛА
КОНЕЦ
— Готово, — сказал Петя.
Казимир дернул головой и перекинул монокль из правого глаза в левый.
— Так, — сказал он. — Ты использовал конструкцию разветвления и цикла…
— Да.
— А почему ты написал: «повторять миллион раз»? Почему не полмиллиона? Или не десять миллионов?
— Для ровного счета, — ответил Петя. — Откуда я знаю, сколько мин нам встретится, пока мы не выйдем в открытое море? Но уж не больше миллиона…
— А если миллиард?
— Тогда мы взорвемся, — хладнокровно ответил Петя. — Миллион мин объедем, а на миллион первой — взорвемся.
— А мы с твоей программой еще раньше взорвемся, — заметил Казимир. — Или сядем на мель.
— Это почему?
— Гляди, — и Казимир начертил на карте курс корабля:
— При каждой встрече с миной, — начал объяснять Казимир, — Исполнитель будет выполнять команду «право руля». Поскольку в восточной части бухты минное поле очень густое, то «Котангенс» будет стремительно отклоняться к востоку. А так как береговая дуга бухты в этом месте круто уходит на север, то мы сядем на мель раньше, чем пересечем минное поле. Но это — в лучшем случае. А в худшем — мы столкнемся с миной сразу после команды «право руля». Ведь у Исполнителя отсутствует проверка «справа по борту мин нет», и поворачивать корабль Кристина будет вслепую. А вдруг как раз в том месте, куда она повернет, — стоит мина? Разве можно вслепую разъезжать по минным полям? Нет, адмирал, ваша программа никуда не годится.
— А что же делать? — спросил Петя.
— Как что? — удивился Казимир. — Нужно делать то, что говорит нам карта. А она говорит: в западной части бухты мин гораздо меньше, чем в восточной. Значит, идти по западной части безопаснее. А тебя почему-то несет в восточную.
Читать дальше