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

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

— А что же делать? — спросил Петя.

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

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

— Почему?

— А разве вы не понимаете? У меня не хватает для этого команд.

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

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

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

— Как это? — спросил Петя.

— Сдаешься? — спросил Казимир.

— Нет, — сказал Петя, — подумаю.

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

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

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

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

— И…

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

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

— Верно.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

Вот и закончился наш рассказ о языке программирования.

Для чего люди изобрели этот язык?

Для общения с умными машинами — компьютерами.

Давайте поговорим немного о том, где применяют компьютеры.

ПРОГРАММИРОВАНИЕ В МЕДИЦИНЕ

Рак… Как только не называют эту болезнь! «Бунт взбесившихся клеток»… «Чума XX века»… «Убийца с тысячью лиц».

В течение всей жизни в организме человека происходит деление клеток. Клетки делятся по программе заложенных в наследственных тайниках — генах. Так формируются и многочисленные органы.

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


Рекомендуем почитать
Животный алфавит

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


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

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


Дудочка и барабан

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


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

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


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

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


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

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