Кумир і робот

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

Кумир і робот

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

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

Кумир і робот

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

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

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

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

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

Кумир і робот

Кумир і робот

початкове положення РОБОТА

стан РОБОТА після виконання
алгоритму

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

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

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

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

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

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

Кумир і робот

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

Для повторення послідовності команд можна використовувати цикл ПОКИ.

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

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

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

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

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

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

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

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

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

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

Кумир і робот

Кумир і робот

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

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

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

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

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

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

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

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

The media player is loading.