Костёр 1989-12, страница 47

Костёр 1989-12, страница 47

шле

Теперь нужно составить программу, выполняя которую, Таракан поднялся бы по лесенке на самый верх (рис. 1),

1 2345G783 40

8

10

Теперь нужно составить программу, выполняя которую, Таракан поднялся бы по лесенке на самый верх (рис. 1),

1 2345G783 40

8

10

I

—•

-

А

К

Н

Е

С

Е

*

л

объявил Кукарача Пете условие новой задачи.

— Ему придется преодолеть семь ступеней, — заметил Кук, взглянув на поле. Я бы так записал решение:

ЭТО ЛЕСЕНКА ПОВТОРИ 7 СТУПЕНЬ КОНЕЦ

Но боюсь, что оно неверное.

Почему ты так думаешь? Ведь в СКИ Таракана нет команды СТУПЕНЬ.

Но в СКИ Таракана нет и команды ЛЕСЕНКА!

— ЛЕСЕНКА — это не команда Таракану. Это имя программы, которую запомнил компьютер.

— Но ведь точно так же можно запомнить и программу

СТУПЕНЬ!

Итересная мысль! Значит, ввожу в компьютер:

ЭТО СТУПЕНЬ ВВЕРХ ВПРАВО КОНЕЦ

Теперь давай разберемся, что произойдет, если набрать на клавишах слово ЛЕСЕНКА. Кому сейчас отдается команда?

— Команда отдается компьютеру. По этой команде он должен передать роботу ко

манды, записанные в его памяти под именем ЛЕСЕНКА. Компьютер находит в памяти запись: повтори 7 СТУПЕНЬ. А что происходит дальше?

запись — указание передать Таракану семь раз команды, записанные в памяти под именем СТУПЕНЬ. Иными словами, компьютер будет передавать семь раз последовательность команд ВВЕРХ ВПРАВО. Давай попробуем? Введи с клавиатуры слово ЛЕСЕНКА!

Петя набрал имя программы, и друзья увидели, как робот побежал по доске именно так, как они и рассчитывали (рис. 2).

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

СТУПЕНЬ?

Компьютер выдаст на экран сообщение об ошибке. Он напишет: «Не понимаю, что такое СТУПЕНЬ».

— Еще вопрос. Можно ли программу ЛЕСЕНКА записать так:

ЭТО ЛЕСЕНКА

ПОВТОРИ 7 ВВЕРХ ВПРАВО

КОНЕЦ

По такой программе Таракан переместился бы сначала на 7 клеток вверх, а потом на одну клетку вправо. Компьютер полагает, что повторяться должна одна команда. Если необходимо повторить большее число команд, их записывают отдельно, а вслед за словом ПОВТОРИ вписывают имя, под которым сделана эта запись...

Если вопросов нет, я устанавливаю кубики и исполнителя для новой задачи (рис. 3). Таракану необходимо прогнать с поля незваных гостей.

* 23456 78Э ю

i

8

10

i

8

10

I

-

*

|

1

\

s

1

1

Ж"

•у-

к

-

Т

L

* я' .

2

тг

л-

я

т \

ф

Jf

1

I

3

а

Lc-

А-

_

т

объяснить

Общий принцип: сначала решение планируется в целом, потом описываются детали.

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

ЭТО ГОСТИ

ПОДВОД

РАБОТА

КОНЕЦ

Теперь надо компьютеру состав и порядок действии ПОДВОД и РАБОТА. В какую клетку удобнее всего подводить Таракана, еще непонятно, поэтому сначала займусь описанием программы

РАБОТА.

Так как необходимо выбросить с поля трех насекомых, записываю:

ЭТО РАБОТА

ПОВТОРИ 3 ВЫБРОС

КОНЕЦ

Теперь выделяю на траектории движения Таракана три одинаковых участка (1, 2, 3 на рис. 3).

Движение по каждой из них