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

ОПИСАНИЕ НЕСТАНДАРТНЫХ КОМАНД

ОПИСАНИЕ НЕСТАНДАРТНЫХ КОМАНД

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

— Прекрасный вопрос! — воскликнул Великий Магистр. — В самом деле, что — тогда?

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

— И…

— …и корабль пойдет в обратную сторону!

— Следовательно, рулевой выполнит команду «развернуться», верно?

— Верно.

— А ведь эта команда не входит в набор стандартных команд, так?

— Так. Просто рулевой два раза выполнит стандартную команду «право руля».

— Выходит, для того, чтобы повернуть корабль влево, рулевой должен…

— …Три раза выполнить команду «право руля»! — радостно ответил Петя.

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

Он щелкнул пальцами, и машинка сама напечатала текст:

  ПРАВО РУЛЯ  ПРАВО РУЛЯ  ПРАВО РУЛЯКОНЕЦ

— Что здесь написано? — спросил Казимир.

— Команда «лево руля», — ответил Петя.

— Хорошо. Тогда составь программу выхода в открытое море вдоль западного побережья бухты.

Петя напечатал текст:

ПОЛНЫЙ ВПЕРЕДЕСЛИПО КУРСУ МИНАТО  ПРАВО РУЛЯ  ПРАВО РУЛЯ  ПРАВО РУЛЯИНАЧЕ  КУРС — НОРДКОНЕЦ УСЛОВИЯКОНЕЦ

Казимир прочитал программу и сказал:

— Мы с тобой знаем, что программы могут состоять из трех программных конструкций. Скажи — каких?

— Из последовательных выполнений команд, из разветвлений и из циклов.

— Правильно. Так вот, кроме конструкций, в тексты программ могут входить и ОПИСАНИЯ нестандартных команд. Вот как, например, описывается команда «лево руля».

Машинка затрещала, и из нее вылетел текст:

ЛЕВО РУЛЯГДЕКОМАНДА ЛЕВО РУЛЯОЗНАЧАЕТ  ПРАВО РУЛЯ  ПРАВО РУЛЯ  ПРАВО РУЛЯКОНЕЦ ОПИСАНИЯ

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

 ПОЛНЫЙ ВПЕРЕД ЕСЛИ  ПО КУРСУ МИНА ТО  ЛЕВО РУЛЯ ГДЕ КОМАНДА ЛЕВО РУЛЯ ОЗНАЧАЕТ    ПРАВО РУЛЯ    ПРАВО РУЛЯ    ПРАВО РУЛЯ КОНЕЦ ОПИСАНИЯ ИНАЧЕ  КУРС — НОРД КОНЕЦ УСЛОВИЯКОНЕЦ

— Ар-лята! Учатся летать! — воодушевленно пропел Казимир. — А теперь — по коням!

Шлюпка, словно птица, понесла их навстречу паруснику, и вот Петя с Казимиром взлетают по трапу на борт «Котангенса», вот — они на капитанском мостике, вот программа введена в Кристину, и вот — клипер летит по морской глади, ловко уклоняясь от бочек с квашеной капустой, расставленных проклятыми кракелюрами!


И был бой. И был залп. Из всех орудий. Солеными огурцами! И что вы думаете? Кракелюры перековались в один миг! И под звон мандолин, с песней «Лаванда! Горная лаванда!» они все, как один, отправились на субботник по благоустройству территории. Высаживать хризантемы. А может, васильки или какие-нибудь лютики. Впрочем, к программированию данное обстоятельство никакого отношения не имеет, а потому на этом месте мы и простимся с нашими героями — Петей и Казимиром.


Оглавление книги


Генерация: 1.230. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз