Выбрать главу

— А все-таки я прав, — сказал Петя. — А вы, Казимир, должны научиться признавать свои ошибки. И вообще — пора перестраиваться.

— Знаешь что, пацан? — спросил Казимир. — Вот возьму сейчас и уеду…

— Не уедете.

— Это почему?

— А я вам командировку не подпишу.

— Маленький шантажист… — пробормотал Казимир. — Ну, делать нечего. Остаюсь. На чем мы остановились?

— Для чего нужны проверки.

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

— Она бы его снова зажгла.

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

Так вот, использование проверок позволяет программисту так составить программу, что Исполнитель знает, I как ему поступать в том или ином случае. Тебе это понятно?

— Нет, — сказал Петя. — Не очень. Я не понимаю, как можно в программе использовать проверки.

— Сейчас поймешь, — сказал Казимир, — Приступим к обеду.

Повернувшись к гребцам, он скомандовал:

— Орудие на берег!

Те живо выволокли пушку на берег.

— Объявляю меню, — сказал Казимир. — На первое — жареная курица. На второе — жареная курица. На третье — жареная курица.

— А на сладкое? — спросил кто-то.

— А на сладкое, братцы, тоже — жареная курица, — торжественно объявил Казимир.

— Ура! Ура! Ура! Ура! — восторженно прокричали матросы. По одному «ура» — на каждое блюдо. (Не знаю почему, но моряки любят жареных куриц).

— Обед готов. Кок-артиллерист — Кристина. Петя, составляй программу.

— А какой у нее набор стандартных команд? — спросил Петя.

— Исполнитель может выполнять три команды: «подойти к орудию», «зарядить орудие», «выстрелить». И добавляю: орудие у нас многозарядное.

В последней фразе Казимира слышалось какое-то тайное значение, но Петя не обратил на него внимание и начал диктовать:

— Значит, так, Кристина. Ты должна подойти к орудию, зарядить его и выстрелить, — он подумал и добавил: — и смотри у меня. Чтобы курица была как курица, а не черт знает что.

Через миг была отпечатана такая программа:

ПОДОЙТИ К ОРУДИЮ

ЗАРЯДИТЬ ОРУДИЕ

ВЫСТРЕЛИТЬ

КОНЕЦ

— Вводи программу, — приказал Казимир.

Петя сунул листок под поварский колпак Кристины и прихлопнул его сверху.

Кристина-Исполнитель понеслась к орудию, остановилась возле него и вдруг монотонно заговорила:

— Авария. Авария. Авария. Авария.

— В чем дело? — растерянно спросил Петя.

— Я же предупреждал, — сказал Казимир. — Кулинарно-артиллерийская установка у меня — многозарядная.

— Ну и что?

— Это я у тебя должен спросить: ну и что? Догадайся, о какой аварии говорит Исполнитель?

— Наверное, орудие уже заряжено?

— Совершенно верно. Сам же видел, как оно только что стреляло.

— Значит, Кристина сделала проверку и увидела, что в орудии остались заряды?

— Правильно.

— А какие проверки она умеет делать?

— Наконец-то! — воскликнул Казимир. — Наконец-то ты об этом спросил! Кристина-Исполнитель может проверять заряжено орудие или нет. Я отвечаю на твой вопрос!

— Вот оно что, — сказал Петя, — Значит, когда Кристина стала выполнять программу, то перед командой «зарядить орудие» она сделала проверку и обнаружила, что оно уже заряжено, и…

— И что?

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

— Логично, — сказал Казимир. — Следовательно, в этом и есть причина аварии.

— Выходит, я неправильно составил программу?

— Выходит, так. Ты не использовал умения Кристины-Исполнителя делать проверку. Кристина, ко мне!

Кристина послушно приблизилась к Казимиру.

— Слушайте, Казимир, — сказал Петя, — а почему она вам подчиняется без всякой программы?

. — Пусть только попробует не подчиниться. Я ведь, братец ты мой, — Великий Магистр. У меня жена — профессор… Впрочем, я об этом уже говорил. — Ну что, попробуешь еще раз составить программу?

— А как? — спросил Петя. — Я ведь не знаю, как составлять программы с проверками.

— Ты ей скажи по-человечески, чего ты хочешь, а на машинный язык твой приказ она переведет сама. Кстати, изложение программы «по-человечески» у программистов называется «спецификация».