Пять уроков Великого Магистра, или повесть о том, как Петя Бочкин изучал программирование - [4]

Шрифт
Интервал

Перед Кристиной-роботом прямо из воздуха возникла пишущая машинка с вложенным листом бумаги[1], на которой Кристина в один миг лихо отстучала:

ОРГАНИЗОВАТЬ ЧАЕПИТИЕ ДЛЯ ДВУХ ПЕРСОН.

Петя вытащил лист бумаги. Машинка тут же растворилась в воздухе.

— Теперь эту программу надо как-то ввести в Исполнителя, — сказал Казимир и пояснил: — При всяком превращении Кристины в робота мы станем называть ее Исполнителем…

— Его, — поправил Петя. — если робот, то его.

— Но ведь ее зовут Кристина, — возразил Казимир, — и значит, надо говорить — «ее». И вообще о филологических вопросах со мной лучше не спорить. Тут я — Великий Магистр. Кого хочешь переспорю.

— Да я вижу… — сказал Петя.

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

Казимир снял с себя бескозырку и нахлобучил ее на голову Кристины.

— Клади программу под бескозырку, — приказал он.

Петя положил программу под бескозырку.

— Эту процедуру мы будем называть «вводом программы», — объяснил Казимир. В действительности программа вводится в машину несколько иначе, но в данный момент это несущественно.

Казимир обошел Кристину вокруг и с чувством удовлетворения пропел:

— Ар-лята! Учатся летать! — он взглянул на Петю и велел:

— А теперь трахни ее по голове кулаком!

— Зачем?

— Затем, что эту процедуру мы будем называть командой «Пуск».

Петя приблизился к Кристине и легонько хлопнул ее по бескозырке.

— Можно было и сильнее… — начал Казимир, но тут Кристина вздрогнула и монотонно заговорила:

— Программа не прошла. Программа не прошла. Программа не прошла.

— Казимир, программа не прошла, — сказал Петя.

— Отлично! — почему-то обрадовался тот. — Программа не прошла! Она и не должна была пройти.

— Почему?

— Да потому, что в колхоз
Приехал бравый матрос,
Приехал бравый матрос —
Вот и ответ на вопрос! —

бодро пропел Казимир. Он прошелся по комнате, разглядывая обстановку, остановился возле репродуктора.

ЧТО ДОЛЖЕН ЗНАТЬ ПРОГРАММИСТ ОБ ИСПОЛНИТЕЛЕ

— Это что? — спросил Казимир.

— Радио.

— Включи.

Петя включил репродуктор.

— Отлично, — сказал Казимир. — А теперь сделай так, чтобы эта штука засветилась.

— Чтобы радио — засветилось? — переспросил Петя.

— Да.

— Но оно не может светиться, оно может только говорить.

— Отлично, — сказал Казимир. — А вот это что? Люстра?

— Да.

— Она может светиться?

— Может.

— Включи.

Петя подошел к стене и притронулся к выключателю. Люстра засветилась.

— А теперь добавь голубого цвета.

— К чему добавить голубого цвета?

— Вот к этому, — Казимир показал на горящую люстру.

— Но она горит только одним цветом, — сказал Петя. — Белым. К ней нельзя добавить другой цвет.

— Прекрасно. А вот, я вижу, у вас телевизор стоит, какой марки?

— «Фотон».

— Цветной?

— Цветной.

— Включи.

Петя включил телевизор.

— Дивная картина, — сказал Казимир. — Только зеленых тонов не хватает.

— Сейчас добавлю, — сказал Петя.

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

— Куда?

— Ну, скажем… в Харьков. Хороший, говорят, город.

— Как же он может поехать без колес?

— Хм… — сказал Казимир. — Нет колес… Логично. И что же из этого следует?

— Что?

— А то. У каждого Исполнителя (а мы договорились называть Исполнителем любую машину) имеется свой набор допустимых команд. То есть таких команд, которые ему понятны. Их еще называют «стандартными командами». Электрическая лампочка, например, понимает только две команды — «включись» и «выключись».

— А как она понимает? Ведь ей никто ничего не говорит…

— Для Исполнителя нет никакой разницы между тем, каким образом ему отдают команды. Ты нажимаешь на выключатель и таким способом приказываешь лампочке: «включись»! В принципе можно сделать устройство, которое реагировало бы на твой голос или на хлопок в ладоши, или на температуру руки. И все это означало бы для Исполнителя команду «включись!» Так вот. Программирование начинается с того, что программист выясняет, каков тот набор стандартных команд, который понятен Исполнителю.

— Понятно, — сказал Петя.

— Тогда вернемся к нашей Кристине.

ПЕРВЫЙ СПОСОБ ПРОГРАММИРОВАНИЯ — ПОСЛЕДОВАТЕЛЬНОЕ ВЫПОЛНЕНИЕ КОМАНД

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

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

— А что входит в этот набор?

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

— Вот оно что, — сказал Петя, — значит, из всех этих стандартных команд надо составить новую команду «организовать чаёк». Правильно?

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

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

— Совершенно верно.


Рекомендуем почитать
Рима отвечает на вопросы

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


Животный алфавит

Весёлые квадратные зверюшки имеют свой собственный порядок: русский алфавит. Кто на букву Ю? – Юрок! А как выглядит квадратный юрок?


Как собрать кубик Рубика 3х3х3. Простой метод для начинающих

В этой книге вы найдете один из способов для начинающих, как можно быстро и очень легко собрать кубик Рубика. По моему опыту, множество людей способны собрать кубик с помощью метода, описанного в этой книге, за врем, менее 2 минут из любого его состояния запутанности. В рамках этой книги я постараюсь научить вас технике сборки кубика Рубика, которую я сам освоил еще в 1988 году, когда был ребенком. Этот метод довольно прост и позволяет научиться собирать кубик Рубика за 1,5 – 2 минуты без лишних тренировок, но с некоторым необходимым усердием.


Логопедические скороговорки и считалки

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


Баллада Мефистофеля

О власти золота над людьми и жажде наживы, которые толкали народы к войне, к завоеванию новых стран и отчасти к распространению и накоплению знаний, как в алхимии…О поисках золотых месторождений, эпидемиях «золотой лихорадки» и насилии, грабежах и рабстве…О скрытой власти «жёлтого дьявола» в капиталистических странах и об изменившемся отношении советских людей к золоту…Обо всём этом и написана книга, стремящаяся показать всё то зло, которое приносит людям жажда золота, жажда наживы — всё, о чём поёт Мефистофель в своей балладе.


Оздоровительный массаж в домашних условиях : пособие для родителей

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