Команди які може виконувати робот. Управління виконавцем Робот - Гіпермаркет знань

Виконавець Робот. Рішення задач ДПА

1. Робот знаходиться в лівому верхньому кутку обгородженого простору, що має форму прямокутника. Розміри прямокутника невідомі. Десь посередині прямокутника є вертикальна стіна, що розділяє прямокутник на дві частини. У цій стіні є прохід, при цьому прохід не є самої верхньої або найнижчій кліткою стіни. Точне розташування проходу теж невідомо. Одне з можливих розташувань стіни і проходу в ній наведено на малюнку

Напишіть для Робота алгоритм, що переміщає Робота в правий нижній кут прямокутника (див. Малюнок)

Спочатку потрібно довести Робота до стіни, використовуючи цикл з умовою. Потім провести Робота уздовж стіни до проходу також за допомогою циклу з умовою. Потім провести Робота в правий нижній кут за допомогою двох циклів з умовами.

2. На нескінченному полі є довга горизонтальна стіна. Довжина стіни невідома. Робот знаходиться в одній з клітин безпосередньо зверху стіни. Початкове положення Робота також невідомо. Одне з можливих положень Робота наведено на малюнку

Напишіть алгоритм для Робота, зафарбовувати все клітини, розташовані вище стіни і прилеглі до неї, незалежно від розміру стіни і початкового положення Робота. Наприклад, для наведеного вище рисунка Робот повинен зафарбувати наступні клітини:

Завдання для самостійного виконання:

1. Робот знаходиться в лівому верхньому кутку обгородженого простору, що має форму прямокутника. Розміри прямокутника невідомі. Один з можливих розмірів прямокутника і розташування Робота наведено на малюнку:

Напишіть для Робота алгоритм, зафарбовувати чотири кутові клітини прямокутника. Робот повинен зафарбувати тільки кутові клітини. Наприклад, для наведеного вище рисунка Робот повинен зафарбувати наступні клітини (див. Малюнок):

2. На нескінченному полі є вертикальна стіна. Довжина стіни невідома. Від верхнього краю стіни вправо відходить горизонтальна стіна також невідомої довжини. Від правого краю верхньої стіни відходить вертикальна стіна також невідомої довжини. На малюнку вказано один з можливих способів розташування стін і Робота:

Напишіть алгоритм для Робота, зафарбовувати все клітини, розташовані праворуч від першої вертикальної стіни і одну кутову клітку між горизонтальної стіною і правої вертикальної стіною. Наприклад, для наведеного вище рисунка Робот повинен зафарбувати наступні клітини:

ВАРІАНТ 1

На нескінченному полі є горизонтальна і вертикальна стіни. Лівий кінець горизонтальної стіни з'єднаний з нижнім кінцем вертикальної стіни. довжини стінневідомі. У вертикальній стіні є рівно один прохід,точне місце проходу і його ширина невідомі. Робот знаходиться в клітці, розташованої безпосереднійале над горизонтальною стіною у її правого кінця. На малюнку вказано один з візмужніх способів розташування стін і Робота (Робот позначений буквою «Р»).

Напишіть для Робота алгоритм, зафарбовувати все клітини, розташовані безпосередньо правіше частини вертикальної стіни над проходом і лівіше частини вертикальної стіни під проходом. Прохід повинен залишитися незакрашенним. Робот повинен зафарбувати тільки клітини, що задовольняють даній умові. Наприклад, для приведённого вище малюнка Робот повинен зафарбувати наступні клітини (див. малюнок):

зруйнуватися.

додаткова інформація

виконавець Робот

зверху вільно

знизу вільно

зліва вільно

праворуч вільно

якщо < умова\u003e то послідовність команд усе

тутумова

змінюючи логічні зв'язкиі, або, не , Наприклад:

то вправо

усе

використовувати робот алг нач
.

.
нц бувай зліва вільно
. .
вліво
.
кЦ
.
| Рухаємося вгору до проходу
.
нц бувай нЕ   зліва вільно
. .
вгору
.
кЦ
.

.
вліво
.
вниз
.
нц бувай нЕ   праворуч вільно
. .
вниз
.
кЦ
.

.
вгору
.
нц бувай нЕ   праворуч вільно
. .
зафарбувати
. .
вгору
.
кЦ
.

.
вправо
.
нц бувай зліва вільно
. .
вгору
.
кЦ
.

.
нц бувай нЕ   зліва вільно
. .
зафарбувати
. .
вгору
.
кЦ кін


Практичне завдання до уроку «Цикл ПОКИ для виконавця Робот»

ВАРІАНТ 2

1.Создать стартову обстановку і написати алгоритм, використовуючи цикл ПОКИ.

довжини стін невідомі. В горизонтальної стіні  є рівно один прохід,точне місце проходу і його ширина невідомі. ного праворуч від вертикальної стіни у її верхнього кінця.

позначений буквою «Р»).

Напишіть для Робота алгоритм, зафарбовувати все клітини, розташовані непосредственно вище і нижче горизонтальної стіни. Прохід повинен залишитися незакрашенним. Робот повинен зафарбувати тільки клітини, що задовольняють даному условию. Наприклад, для наведеного вище рисунка Робот повинен зафарбувати дотримуюсящие клітини (див. малюнок).

додаткова інформація

виконавець Робот  може виконувати ще чотири команди - це команди перевірки умов. Ці команди перевіряють,вільний шлях для Робота в кожному з чотирьох можливих напрямків:

зверху вільно

знизу вільно

зліва вільно

праворуч вільно

Ці команди можна використовувати разом з умовою «якщо», що має такий вигляд:

якщо < умова\u003e то послідовність команд усе

тутумова - одна з команд перевірки умови.

«Послідовність команд» - це одна або декілька довільних команд-наказів.

В однієї умови можна використовувати кілька команд перевірки умов, призмінюючи логічні зв'язкиі, або, не , Наприклад:

якщо (праворуч вільно) і (не знизу вільно)

то вправо

усе

використовувати робот алг нач
.
| Рухаємося вліво, поки не дійдемо до вертикальної стіни
.
нц бувай зліва вільно
. .
вліво
.
кЦ
.
| Рухаємося вгору до проходу
.
нц бувай нЕ   зліва вільно
. .
вгору
.
кЦ
.
| Проходимо крізь прохід вліво і спускаємося вниз, зупиняючись на 1 клітину нижче кінця стіни
.
вліво
.
вниз
.
нц бувай нЕ   праворуч вільно
. .
вниз
.
кЦ
.
| Рухаємося вгору до проходу, зафарбовуючи клітини
.
вгору
.
нц бувай нЕ   праворуч вільно
. .
зафарбувати
. .
вгору
.
кЦ
.
| Проходимо крізь прохід вправо і піднімаємося до кінця проходу
.
вправо
.
нц бувай зліва вільно
. .
вгору
.
кЦ
.
| Рухаємося вгору до кінця стіни, зафарбовуючи клітини
.
нц бувай нЕ   зліва вільно
. .
зафарбувати
. .
вгору
.
кЦ кін

Практичне завдання до уроку «Цикл ПОКИ для виконавця Робот»

ВАРІАНТ 3

1.Создать стартову обстановку і написати алгоритм, використовуючи цикл ПОКИ.

На нескінченному полі є горизонтальна і вертикальна стіни. Лівий кінець го-різонтального стіни з'єднаний з нижнім кінцем вертикальної стіни.довжини стін невідомі. У горизонтальній стіні є рівно один прохід,точне місце проходу і йогоширина невідомі. Робот знаходиться в клітці, розташованої безпосереднімного зліва від вертикальної стіни у її верхнього кінця.

На малюнку вказано один з можливих способів розташування стін і Робота (Роботпозначений буквою «Р»).

Напишіть для Робота алгоритм, зафарбовувати все клітини, розташовані безпосередньо над ділянкою горизонтальної стіни правіше проходу. прохід повинензалишитися незакрашенним. Робот повинен зафарбувати тільки клітини, задовольняющие даній умові. Наприклад, для наведеного вище рисунка Робот повинензафарбувати наступні клітини (див. малюнок).

При виконанні алгоритму Робот не повинен руйнуватися, виконання алгоритмумає завершитися. Кінцеве розташування Робота може бути довільним.

Алгоритм повинен вирішувати задачу для будь-якого допустимого розташування стін і любого розташування і розміру проходу всередині стіни.

додаткова інформація

виконавець Робот  може виконувати ще чотири команди - це команди перевірки умов. Ці команди перевіряють,вільний шлях для Робота в кожному з чотирьох можливих напрямків:

зверху вільно

знизу вільно

зліва вільно

праворуч вільно

Ці команди можна використовувати разом з умовою «якщо», що має такий вигляд:

якщо < умова\u003e то послідовність команд усе

тутумова - одна з команд перевірки умови.

«Послідовність команд» - це одна або декілька довільних команд-наказів.

В однієї умови можна використовувати кілька команд перевірки умов, призмінюючи логічні зв'язкиі, або, не , Наприклад:

якщо (праворуч вільно) і (не знизу вільно)

то вправо

усе

використовувати робот алг нач
.
| Рухаємося вліво, поки не дійдемо до вертикальної стіни
.
нц бувай зліва вільно
. .
вліво
.
кЦ
.
| Рухаємося вгору до проходу
.
нц бувай нЕ   зліва вільно
. .
вгору
.
кЦ
.
| Проходимо крізь прохід вліво і спускаємося вниз, зупиняючись на 1 клітину нижче кінця стіни
.
вліво
.
вниз
.
нц бувай нЕ   праворуч вільно
. .
вниз
.
кЦ
.
| Рухаємося вгору до проходу, зафарбовуючи клітини
.
вгору
.
нц бувай нЕ   праворуч вільно
. .
зафарбувати
. .
вгору
.
кЦ
.
| Проходимо крізь прохід вправо і піднімаємося до кінця проходу
.
вправо
.
нц бувай зліва вільно
. .
вгору
.
кЦ
.
| Рухаємося вгору до кінця стіни, зафарбовуючи клітини
.
нц бувай нЕ   зліва вільно
. .
зафарбувати
. .
вгору
.
кЦ
кін

Практичне завдання до уроку «Цикл ПОКИ для виконавця Робот»

ВАРІАНТ 4

1.Создать стартову обстановку і написати алгоритм, використовуючи цикл ПОКИ.

2.Результ зберегти особисту папку.

На нескінченному полі є прямокутник, обмежений стінами.довжини сто рон прямокутника невідомі. Робот знаходиться всередині прямокутника. на ририсунку вказано один з можливих способів розташування стін і Робота (Робот прозначен буквою «Р»).

Напишіть для Робота алгоритм, зафарбовувати нижні кутові клітини. роботповинен зафарбувати тільки клітини, що задовольняють даній умові. наприклад,для наведеного вище рисунка Робот повинен зафарбувати наступні клітини (див.малюнок).

Кінцеве розташування Робота може бути довільним. Алгоритм повинен решать завдання для довільного розміру поля і будь-якого допустимого розташуваннястін всередині прямокутного поля. При виконанні алгоритму Робот не повинензруйнуватися.

додаткова інформація

виконавець Робот  може виконувати ще чотири команди - це команди перевірки умов. Ці команди перевіряють,вільний шлях для Робота в кожному з чотирьох можливих напрямків:

зверху вільно

знизу вільно

зліва вільно

праворуч вільно

Ці команди можна використовувати разом з умовою «якщо», що має такий вигляд:

якщо < умова\u003e то послідовність команд усе

тутумова - одна з команд перевірки умови.

«Послідовність команд» - це одна або декілька довільних команд-наказів.

В однієї умови можна використовувати кілька команд перевірки умов, призмінюючи логічні зв'язкиі, або, не , Наприклад:

якщо (праворуч вільно) і (не знизу вільно)

то вправо

усе

використовувати робот
алг
нач
.
| Рухаємося вліво, поки не дійдемо до вертикальної стіни
.
нц бувай зліва вільно
. .
вліво
.
кЦ
.
| Рухаємося вгору до проходу
.
нц бувай нЕ   зліва вільно
. .
вгору
.
кЦ
.
| Проходимо крізь прохід вліво і спускаємося вниз, зупиняючись на 1 клітину нижче кінця стіни
.
вліво
.
вниз
.
нц бувай нЕ   праворуч вільно
. .
вниз
.
кЦ
.
| Рухаємося вгору до проходу, зафарбовуючи клітини
.
вгору
.
нц бувай нЕ   праворуч вільно
. .
зафарбувати
. .
вгору
.
кЦ
.
| Проходимо крізь прохід вправо і піднімаємося до кінця проходу
.
вправо
.
нц бувай зліва вільно
. .
вгору
.
кЦ
.
| Рухаємося вгору до кінця стіни, зафарбовуючи клітини
.
нц


Виконавець Робот вміє переміщатися по лабіринту, накресленому на площині, розбитою на клітини.

Нижче наведено опис Робота



При виконанні будь-якої з цих команд Робот переміщається на одну клітку відповідно: угору, вниз, вліво, вправо. Між сусідніми (по сторонам) клітинами може стояти стіна, через яку Робот пройти не може. Якщо Робот отримає команду пересування через стіну, то він зруйнується.

Чотири команди перевіряють істинність умови відсутності стіни у кожної сторони тієї клітини, де знаходиться Робот:

зверху вільно

знизу вільно

зліва вільно

праворуч вільно

Ці команди можна використовувати разом з умовою «якщо», що має такий вигляд:

якщо то

послідовність команд

усе

«Послідовність команд» - це одна або декілька довільних команд, виконуваних Роботом. Наприклад, для пересування на одну клітку вправо, якщо справа немає стінки, можна використовувати такий алгоритм:

якщо справа вільно то

вправо
усе


В однієї умови можна використовувати кілька команд, застосовуючи логічні зв'язки і, або, не, наприклад:

якщо (праворуч вільно) і (не знизу вільно) то

вправо

усе

Для повторення послідовності команд можна використовувати цикл «поки», що має такий вигляд:

нц поки

послідовність команд
кЦ


Наприклад, для руху вправо, поки це можливо, можна використовувати наступний алгоритм:

нц поки справа вільно

вправо
кЦ


Також у Робота є команда   зафарбувати, Зафарбовувати клітку, в якій Робот знаходиться в даний момент.

Виконайте завдання.




На нескінченному полі є горизонтальна стіна. Довжина стіни невідома. Від правого кінця стіни вгору відходить вертикальна стіна також невідомої довжини. Робот знаходиться в клeткe, розташованої під горизонтальною стіною.

На малюнку вказано один з можливих способів розташування стін і Робота (Робот позначений буквою «Р»).

Напишіть для Робота алгоритм, зафарбовувати все клітини, розташовані лівіше вертикальної стіни Робот повинен зафарбувати тільки клітини, що задовольняють даній умові. Наприклад, для наведеного вище рисунка Робот повинен зафарбувати наступні клітини (див. PІCУHOK)

Кінцеве розташування Робота може бути довільним. Алгоритм повинен вирішувати задачу ДЛЯ довільного розміру поля і будь-якого допустимого розташування стін BHУТPІ прямокутного поля. При виконанні алгоритму Робот не повинен руйнуватися. Алгоритм напишіть в текстовому редакторі і збережіть е текстовому файлі.

Назва файлу та каталог для збереження Вам повідомлять організатори іспиту.


Напишіть для Робота алгоритм, зафарбовувати все клітини, розташовані лівіше вертикальної стіни Робот повинен зафарбувати тільки клітини, що задовольняють даній умові. Наприклад для наведеного вище рисунка Робот повинен зафарбувати наступні клітини (див. PІCУHOK РЕЗУЛЬТАТ)
РІШЕННЯ
НЦ ПОКИ СВЕРХУ СВОБОДНО

ВГОРУ

НЦ ПОКИ (НЕ СВЕРХУ ВІЛЬНО)

ВЛЕВО

ВГОРУ

НЦ ПОКИ СПРАВА СВОБОДНО

ВПРАВО

НЦ ПОКИ (НЕ СПРАВА ВІЛЬНО)

зафарбувати ВГОРУ

Колеги, ну ось ми і дісталися до самого головного!

Постараємося використовувати отримані знання для вирішення завдань ДПА. А знаємо ми вже немало! І я навіть не сумніваюся в тому, що у нас все вийде!

Розглянемо задачу з демоверсії-2012. Наведу тут повне формулювання завдання.

20.1.   Виконавець Робот вміє переміщатися по лабіринту, накресленому на площині, розбитою на клітини. Нижче наведено опис Робота.
   У Робота є чотири команди переміщення:

вгору
   вниз
   вліво
   вправо

При виконанні будь-якої з цих команд Робот переміщається на одну клітку
   відповідно: угору, вниз ↓, вліво ←, вправо →.
   Між сусідніми (по сторонам) клітинами може стояти стіна, через яку Робот пройти не може. Якщо Робот отримає команду пересування через стіну, то він зруйнується.
   Чотири команди перевіряють істинність умови відсутності стіни у кожної
   боку тієї клітини, де знаходиться Робот:

зверху вільно
   знизу вільно
   зліва вільно
   праворуч вільно

Ці команди можна використовувати разом з умовою «eсли», що має
   такий вигляд:

якщо<условие>  то
   послідовність команд
   Усе

   «Послідовність команд» - це одна або декілька довільних команд, виконуваних Роботом. Наприклад, для пересування на одну клітку вправо,
   якщо справа немає стінки, можна використовувати такий алгоритм:

якщо справа вільно то
   вправо
   Усе

В однієї умови можна використовувати кілька команд, застосовуючи
   логічні зв'язки і, або, не, наприклад:

якщо (праворуч вільно) і (не знизу вільно) то
   вправо
   Усе

Для повторення послідовності команд можна використовувати цикл
   «Поки», що має такий вигляд:

нц поки< условие >
   послідовність команд
   кЦ

Наприклад, для руху вправо, поки це можливо, можна використовувати
   наступний алгоритм:

нц поки справа вільно
   вправо
   кЦ

Також у Робота є команда зафарбувати, зафарбовувати клітку, в якій
   Робот знаходиться в даний момент.

Виконайте завдання.

На нескінченному полі є вертикальна стіна. Довжина стіни невідома. Від верхнього кінця стіни вправо відходить горизонтальна стіна також невідомої довжини. Робот знаходиться в клітці, розташованої зліва від нижнього краю вертикальної стіни.
   На малюнку вказано один з можливих способів розташування стін і Робота
   (Робот позначений буквою «Р»).

Напишіть для Робота алгоритм, зафарбовувати все клітини, розташовані
   лівіше вертикальної стіни і вище горизонтальної стіни і прилеглі
до них. Робот повинен зафарбувати тільки клітини, що задовольняють даному
   умові. Наприклад, для наведеного вище рисунка Робот повинен
   зафарбувати наступні клітини (див. малюнок).

Кінцеве розташування Робота може бути довільним. алгоритм
   повинен вирішувати задачу для довільного розміру поля і будь-якого
   допустимого розташування стін всередині прямокутного поля. при
   виконанні алгоритму Робот не повинен руйнуватися.
   Алгоритм напишіть в текстовому редакторі і збережіть в текстовому файлі.
   Назва файлу та каталог для збереження Вам повідомлять організатори
   іспиту.

Рішення: Колеги, так ми всі це вміємо, вірно ?!


От і все! Ну що, пробуємо самостійно?

Я не буду приводити повне умову задачі, воно повторюється. Обмежуся коротким, думаю, що все буде зрозуміло.

Завдання 4.

Завдання 4.1. На нескінченному полі є вказане розташування стін (дивись малюнок). Довжина стін невідома. Робот знаходиться в клітці, розташованої між горизонтальними стінами, лівіше вертикальної стіни.
   На малюнку вказано один з можливих способів розташування стін і Робота (Робот позначений буквою «Р»).

Напишіть для Робота алгоритм, зафарбовувати верхню і нижню клітини, розташовані правіше вертикальної стіни. Робот повинен зафарбувати тільки клітини, позначені на малюнку.

Кінцеве розташування Робота може бути довільним. Алгоритм повинен вирішувати задачу для довільного розміру поля і будь-якого допустимого розташування стін всередині прямокутного поля. При виконанні алгоритму Робот не повинен руйнуватися.

Завдання 4.2. На нескінченному полі є вказане розташування стін (дивись
   малюнок). Довжина стін невідома. Робот знаходиться в клітці, розташованої зліва від вертикальної стіни. На малюнку вказано один з можливих способів розташування стін і Робота (Робот позначений буквою «Р»).

Напишіть для Робота алгоритм, зафарбовувати клітини, розташовані в кутах в місцях з'єднання стін. Робот повинен зафарбувати тільки клітини, що задовольняють даній умові.
   Наприклад, для наведеного вище рисунка Робот повинен
   зафарбувати наступні клітини (див. малюнок).

Кінцеве розташування Робота може бути довільним.
   Алгоритм повинен вирішувати задачу для довільного розміру поля і будь-якого допустимого розташування стін всередині прямокутного поля. При виконанні алгоритму Робот не повинен руйнуватися.

Завдання 4.3.   На нескінченному полі є довга вертикальна стіна. Довжина стіни невідома. Робот знаходиться в одній з клітин, розташованої
безпосередньо зліва від стіни. Початкове положення робота також
   невідомо. Одне з можливих положень робота приведено на малюнку
   (Робот позначений буквою «Р»):

Напишіть для робота алгоритм, зафарбовувати все клітини, розташовані лівіше стіни і прилеглі до неї. Робот повинен зафарбувати тільки клітини, що задовольняють даній умові. Наприклад, для наведеного вище рисунка робот повинен зафарбувати наступні клітини (див. Рис.)

Кінцеве розташування робота може бути довільним. Алгоритм повинен вирішувати задачу для довільного розміру стіни і будь-якого допустимого початкового розташування робота.

завдання 4.4 . На нескінченному полі є довга горизонтальна стіна (довжина стіни дорівнює парним числом клітин). Довжина стіни невідома. Робот знаходиться в одній з клітин, розташованої зверху від стіни (див. Рис)


Напишіть для робота алгоритм, зафарбовувати все клітини, розташовані вище і нижче стіни і прилеглі до неї, причому через одну, починаючи з першої нижньої правої.

Наприклад, для наведеного вище рисунка робот повинен зафарбувати наступні клітини:


Кінцеве розташування робота може бути довільним. алгоритми повинен вирішувати задачу для довільного розміру стіни і будь-якого допустимого початкового розташування робота

Все папки упакуйте в архів з ім'ям Familia I.О._zadanie4і перешліть на поштову скриньку [email protected]

Не забудьте поставити відмітку про виполнеія роботи в таблиці самозапису

   Це виконавець, який дозволить нам побачити, Як буде виконуватися створений нами алгоритм.

Меню вставка  з основними командами РОБОТА

В меню Виправлення  (Рисунок праворуч) виділені основні команди, за допомогою яких ми будемо управляти РОБОТОМ.А нижче показано вікно написання коду алгоритму. Зверніть увагу на те, що необхідно прибрати коментар  у вікні написання коду!


Вікно написання коду алгоритму

У цьому вікні ми і будемо писати наш алгоритм. Але спочатку звернемося до формулювання завдання: На нескінченному полі є горизонтальна стіна, нескінченно триває вліво і закінчується сходами, яка піднімається зліва направо. Висота кожного ступеня - дві клітини, ширина - чотири клітини. Робот знаходиться на горизонтальній стіні, лівіше сходів.

Напишіть для РОБОТА алгоритм, зафарбовувати все клітини, розташовані безпосередньо над сходами. Потрібно зафарбувати тільки клітини, що задовольняють даній умові. Кінцеве розташування РОБОТА може бути довільним.

Алгоритм повинен вирішувати задачу для довільного розміру поля і будь-якої кількості ступенів. При виконанні алгоритму РОБОТ не повинен руйнуватися.

У тексті завдання обов'язково наводиться малюнки початкового стану РОБОТА та стану РОБОТА після виконання коду алгоритму. Дивись нижче.

Положення РОБОТА позначено на всіх малюнках ромбом.

Розберемо етапи побудови алгоритму пересування РОБОТА (і необхідні дії РОБОТА):

1. Переміщення РОБОТА має два фрагмента:

А) переміщення по сходинці з забарвленням ступені; б) підйом на наступний щабель.

2. Переміщення РОБОТА носить циклічний характер : Повторюється стільки раз, скільки щаблів має сходи. Але (!), За умовою задачі нам невідомо, скільки ступенів має сходи . Отже, ми не може вказувати в алгоритмі кількість ітерацій (повторень), які повинен виконувати РОБОТ.

3. У нас відомі розміри сходинки: висота - 2 клітини; ширина - 4 клітини (на малюнку ширина сходинки - 3 клітини :), але це не повинно нам перешкодити при вибудовуванні послідовності дій РОБОТА).

4. Виділимо два фрагмента в дії РОБОТА: послідовність кроків

4.1. на відрізку 1    РОБОТ переміщається   вправо: Робить крок; і фарбує сходинку. визначимо умови виконання   цих двох дій: В умові задачі є для цього наступні дані: У РОБОТА є чотири  команди переміщення: вгору, вниз, вліво, вправо. Ці ж команди вказані і для нашого виконавця РОБОТ в кумири (дивись команди меню Вставка - вони підкреслені червоним). При виконанні будь-якої з цих команд РОБОТ переміщається на одну клітку  в зазначеному напрямку. Між сусідніми (по сторонам) клітини може стояти стіна, через яку РОБОТ пройти   не може. Якщо РОБОТ отримує команду пересування через стіну, то він руйнується. Тому чотири команди перевіряють істинність   умови відсутності   стіни у кожної сторони тієї клітини, де знаходиться РОБОТ: 1) зверху вільно; 2) знизу вільно; 3) зліва вільно; 4) справа вільно.

Для повторення послідовності команд можна використовувати цикл БУВАЙ.

Також у РОБОТА є команда   зафарбувати, Яка зафарбовує клітку, в якій знаходиться РОБОТ зараз.

Отже, на відрізку 1    у нас виходять такі команди:

1. зафарбувати  (Так як початкове положення РОБОТА - на горизонтальній стіні - сходинці);

2. (крок)   вправо

І виконувати ці команди треба за умови: знизу стіна і справа не мають муру навколо .

4.2. Коли ж при переміщенні РОБОТА він потрапляє в положення, коли праворуч стіна, То йому треба виконати команди для підйому на наступну сходинку:

1. зафарбувати (Так як він стоїть на клітці щабель і ця клітина поки не зафарбована);

2. (крок) вгору  (Одна клітина висоти ступені);

3. (крок) вгору  (Друга клітина висоти ступені);

4. (крок) вправо.

5. Об'єднуємо команди РОБОТА ділянок 1 і 2:

НЦ ПОКИ (знизу стіна) і (не справа стіна) зафарбувати вправо кц | РОБОТ зупинився перед стіною якщо справа стіна то зафарбувати вгору вгору вправо все | РОБОТ перемістився на початок наступному ступені (дивись - початкове положення РОБОТА)

Перевіримо, як виконує РОБОТ написаний нами фрагмент алгоритму. Але спочатку розберемося з середовищем КУМІР.

Меню РОБОТ


Стартова обстановка РОБОТА

1. Відкриємо меню РОБОТ  і виберемо команду Змінити стартову обстановку. відкриється вікно редагування стартовою обстановки   РОБОТА, де ми повинні відтворити малюнок сходи. Для створення стін клацаємо мишкою на розділову лінію між клітинами. РОБОТА (білий ромб) мишкою переміщаємо в початкову позицію. Розмір поля обмежений, тому відтворити повністю сходи, як на папері, ми не зможемо.

2. Після закінчення редагування виконуємо команду Обстановка \\ Зберегти як стартову ...  Даємо ім'я файлу-обстановці. Але в кумира стартова обстановка змінилася.

3. Відкриємо вікно РОБОТА, натиснувши на кнопку на панелі інструментів вікна КУМИРА Показати вікно Робота .

Демонстрація коду алгоритму (дивись файл медіа).

Ми отримали фрагмент коду алгоритму, в якому два модуля: зафарбування сходинки і підйом на наступну сходинку - виконані. Тепер необхідно повторити цей алгоритм стільки раз, скільки сходинок в сходах. Але ми (за умовою завдання) заздалегідь не знаємо, скільки разів нам необхідно виконати наведений алгоритм, тому застосовуємо ще один ( зовнішній   цикл) БУВАЙ, всередину якого  і вбудуємо наш код.

І наш код тепер виглядає так:

   використовувати Робот алг поч. нц поки знизу стіна. . нц поки не справа стіна. . . зафарбувати. . . вправо. . кц. . якщо (праворуч стіна) і (знизу стіна). . . то. . . . зафарбувати. . . . вгору. . . . вгору. . . . вправо. . Усе . кц кін

Подивіться, як тепер виконує алгоритм наш виконавець РОБОТ:

Як видно з відеоролика, ми виконали всі умови завдання: РОБОТ фарбує всі сходинки НЕ розбився. І, що найголовніше, алгоритм управління РОБОТ "ом раціональний(Оптимальний).