Как сделать степень в кумире

Обновлено: 07.07.2024

Переменные.

Переменная - это величина, имеющая тип, имя и значение. Значение переменной может изменяться во время работы программы.

  • латинские буквы
  • русские буквы
  • цифры
  • знак подчеркивания ( _ )
  • скобки
  • знаки +, -, *, ? и т.д.

Объявление переменных:

Как записать значение в переменную?

Для подобных целей в языке КуМир существует оператор присваивания:

Оператор - это команда языка программирования (инструкция).

Оператор присваивания - это команда для записи нового значения в переменную.

Программа калькулятор. Пример работы оператора выбора

Кумир. Программа калькулятор. Пример работы оператора выбора

На данном уроке рассмотрим оператор выбора в среде программирования КуМир

Общий вид команды выбор:

Упростить логические выражения

Установка Python в связке с PyCharm Edu

Установка Python в связке с PyCharm Edu Все большую популярность среди профессиональных программистов и

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

кумир

Видео на тему: КуМир. Робот. Знакомство

Настройка среды Кумир для исполнителя Робот.

Запущенная программа Кумир выглядит так.

кумир

Первым делом мы должны раскоментировать первую строку нашей программы, убрав символ |

кумир

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

использовать Робот

алг

нач

кон

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

Стартовая обстановка Робота

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

Что такое стартовая обстановка?

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

Отличаются они только тем, что в стартовой обстановке 2 справа от Робота находится стена.

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

Как задать стартовую обстановку в Кумир?

Запустив среду Кумир в меню Инструменты выбираем пункт Редактировать стартовую обстановку Робота.

кумир

Откроется окно с синим фоном. Это и есть стартовая обстановка Робота. И мы ее можем изменить.

По-умолчанию, размер окна 10 на 15 клеток. Если нам необходимо изменить количество строк и столбцов, то щелкаем Обстановка -> Новая обстановка и задаем необходимые значения

кумир

  • чтобы переместить Робота в новую позицию, щелкаем по нему левой кнопкой мыши и не отпуская ее тащим Робота в нужное место.
  • чтобы добавить/удалить стену, щелкаем левой кнопкой мыши по границе клетки.
  • чтобы закрасить/очистить клетку, щелкаем по ней левой кнопкой мыши
  • чтобы добавить или убрать точку в клетку щелкаем по клетке, удерживая клавишу Ctrl

После того, как мы задали нужную стартовую обстановку, ее необходимо сохранить (Обстановка -> Сохранить или Обстановка -> Сохранить как). После этого закрываем окно Обстановка и в основном окне программы выбираем Робот -> Сменить стартовую обстановку

Как работать в программе Кумир

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

Как работать в программе Кумир

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

Исполнитель Робот. Простые команды.

У нашего Робота тоже есть система команд. Сегодня мы рассмотрим простые команды Робота. Всего их 5:

вверх

влево

вправо

закрасить

Результат выполнения этих команд понятен из их названия:

вверх — переместить Робота на одну клетку вверх

вниз — переместить Робота на одну клетку вниз

влево — переместить Робота на одну клетку влево

вправо — переместить Робота на одну клетку вправо

закрасить — закрасить текущую клетку (клетку в которой находится Робот).

Эти команды можно писать с клавиатуры, а можно использовать горячие клавиши (нажав их команды будут вставляться автоматически):

вверх — Escape, Up (стрелка вверх)

вниз — Escape, Down (стрелка вниз)

влево — Escape, Left (стрелка влево)

вправо — Escape, Right (стрелка вправо)

закрасить — Escape, Space (пробел)

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

Теперь мы готовы написать первый алгоритм для Робота. Предлагаю начать с простого — нарисуем квадрат со стороной 3 клетки. Поехали!

Запускаем Кумир, настраиваем его. Можно начинать писать программу? Конечно нет! Мы же не задали стартовую обстановку! Делаем это. Предлагаю использовать вот такую:

кумир

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

Как работать в программе Кумир

Как работать в программе Кумир

Предлагаю рисовать квадрат, двигаясь по часовой стрелке. Для начала закрасим текущую клетку, дав команду закрасить. Потом делаем шаг вправо и опять закрашиваем клетку. И еще раз шаг вправо и закрасить.

Как работать в программе Кумир

Попробуем запустить программу и посмотреть что же получилось. Для запуска нажимаем F9 или же кнопку на панели инструментов

Как работать в программе Кумир

В результате мы должны увидеть вот такую картину

Как работать в программе Кумир

Теперь мы будем двигаться вниз и закрашивать правую сторону квадрата:

Потом пойдем влево, закрашивая нижнюю границу квадрата

У нас осталась одна не закрашенная клетка. Закрасим ее

Все готово! В итоге наша программа выглядит так:

использовать Робот

алг Квадрат

нач

закрасить

вправо

закрасить

вправо

закрасить

вниз

закрасить

вниз

закрасить

влево

закрасить

влево

закрасить

вверх

закрасить

кон

А результат ее работы вот так

Как работать в программе Кумир

Итак, сегодня мы с вами написали программу, используя простые команды Робота. Рекомендую попрактиковаться самостоятельно — придумать себе задание и написать программу. Это могут быть самые различные фигуры, узоры, буквы. К примеру, попробуйте написать программу, рисующую букву П, Р, Ш, Щ, М. А если получится и захотите поделиться — комментируйте и прикрепляйте результат к комментарию.

Исполнитель Робот. Циклы.

Итак, что такое цикл? Представьте, что мы находимся на уроке физической культуры и перед нами стоит задача сделать 7 приседаний. Это задание можно оформить в виде линейного алгоритма и тогда оно будет выглядеть примерно так:

То есть мы повторили команду сделай приседание 7 раз. А есть ли смысл писать 7 одинаковых команд? Может проще дать команду сделай 7 приседаний? Конечно проще и правильнее. Это и есть цикл. Вы можете сами вспомнить примеры циклов из жизни — их довольно много.

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

Вот так, на придуманном нами языке мы оформили цикл. У исполнителя Робот тоже есть возможность записывать циклы. Причем, циклы бывают разные. Тот вариант, который мы только что рассмотрели называется цикл со счетчиком или цикл с параметром.

Виды циклов.

Цикл со счетчиком.

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

Для того, чтобы написать цикл со счетчиком для исполнителя необходимо знать его синтаксис. А он такой:

Здесь мы должны указать количество повторений (число) и команды, которые будут повторяться. Команды, которые повторяются в цикле называют телом цикла.

Давайте рассмотрим это на примере.

Закрасим 7 клеток, как на рисунке. Рекомендую почитать про стартовую обстановку Робота и про его простые команды.

Как работать в программе Кумир

Изначально Робот находился в левой верхней клетке.

Давайте для начала решим задачу линейно. В этом случае мы будет закрашивать текущую клетку и перемещаться на 1 клетку вправо и программа будет выглядеть так:
использовать Робот
алг
нач

Как видим, команды закрасить и вправо повторяются 7 раз. Давайте теперь перепишем программу с использованием цикла. Кстати, чтобы вставить цикл в свою программу можно в меню Вставка выбрать пункт нц-раз-кц или нажать одну из комбинаций клавиш Esc, Р (русская буква Р) или Esc, H (латинская буква H). Причем клавиши надо нажимать последовательно — сначала Esc, отпустить ее и только потом Р или H.

Так вот, наша программа с циклом будет выглядеть так:

использовать Робот

Если мы ее запустим, то увидим, что в результате получится тоже самое — 7 закрашенных клеток. Однако программа стала короче и значительно грамотней с алгоритмической точки зрения!

В качестве разминки и закрепления предлагаю самостоятельно написать программу для Робота, которая нарисует квадрат со стороной 7 клеток. Естественно, используя цикл. Жду решения в комментариях.

Цикл с условием

Вернемся к физкультуре и изменим задачу. Ведь кто-то может и не сделать 7 приседаний, а другой способен сделать 27. Можно ли учесть это при создании цикла? Конечно. Только теперь мы будем использовать не счетчик (количество повторений), а условие. К примеру, пока не устал, делай приседания. В этом случае человек будет делать не конкретное число приседаний, а приседать до тех пор, пока не устанет. И наш цикл на абстрактном языке примет такой вид:

пока не устал

Слова не устал в нашем случае — это условие. Когда оно истинно, цикл выполняется. Если же оно ложно (устал) тело цикла не будет выполнено. У исполнителя Робот есть несколько условий

сверху свободно

снизу свободно

слева свободно

справа свободно

сверху стена

снизу стена

слева стена

справа стена

Теперь давайте решим следующую задачу для Робота — нарисовать вертикальную линию от левой до правой границы поля использую цикл с условием. Изначально Робот находится в левом верхнем углу.

Давайте сначала сформулируем словесный алгоритм — т. е. опишем словами что нужно делать Роботу. Этот алгоритм будет звучать примерно так:

В результате Робот пробежит по всем клеткам вправо и будет их закрашивать до тех пор, пока справа не окажется стена.

Исходный код нашей программы для Робота будет примерно такой:

использовать Робот

нц пока справа свободно

В результате выполнения этой программы мы увидим вот такую картину:

Как работать в программе Кумир

Как видим, не хватает только закрашенной первой клетки. Для этого перед циклом необходимо выполнить команду закрасить.

Как работать в программе Кумир

Для закрепления прошу написать программу, которая будет делать рамку вокруг рабочего поля Робота независимо от его размера. Конечно же с использованием циклов с условием. В итоге должно получиться так:



Имя алгоритма может быть любым набором символов:

Имя бывает у величин, таблиц, алгоритмов и исполнителей. Имя – это последовательность

слов, разделенных пробелами. Первое слово имени не должно начинаться с цифры. Ни

одно из слов не должно быть ключевым словом.

Примеры имен: m, погода на завтра, Ноябрь 7, Седьмое ноября, дом_57б.

Примеры неправильных имен:

Альфа-бета (”-” — недопустимый символ)

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

Величина каждого из типов может принимать свой набор значений. В языке КуМир предусмотрены следующие типы величин:

цел — принимает целые значения от -2147483647 до 2147483647

вещ — принимает вещественные значения между и

лог — принимает значения да или нет (внутреннее представление – да=1, нет=0)

сим — значением может быть любой литеральный символ (практически любой символ)

лит — значением может быть строка литеральных символов

Типы цел и вещ называются числовыми; типы сим и лит — текстовыми.

Язык КуМир содержит встроенные функции преобразования числовых типов в тексто-

вые и наоборот. При необходимости значения целого типа автоматически переводятся в вещественные, а символьные — в текстовые. Для преобразования вещественных

значений в целые используется встроенная функция int

На первых уроках будем рассматривать только первые два.

Описание величин: величины описываются рядом с ключевым словом нач

Нач цел j, k, n, вещ s

Название операции или функции

возведение в степень

степень числа e

минимум из чисел x и y

максимум из чисел x и y

остаток от деления x на y

частное от деления x на y

целая часть числа x

случайное число в диапазоне от 0 до x

(-1, 0 или 1) sign(x)

(e . 2 . 718181 ) exp(x)

(x, y — целые ) mod(x,y)

(x, y — целые) div(x,y)

  1. Составить простейший алгоритм на вычисление среднего арифметического 3 чисел. Данные вводятся с клавиатуры.

нач цел а,б,с, вещ д

ввод а;ввод б;ввод с

вывод "д с синус s 100%" loading=lazy>

  1. перевести дюймы в мм, если 1 дюйм = 2,54 мм
  2. перевести км/ч в м/с (умножить на 1000, разделить на 3600)
  3. перевести часы в секунды.
  4. Рассчитать скорость тела ( v = S / t )
  5. вычислить площадь и периметр прямоугольника со сторонами а, б
  6. вычислить объем прямоугольной призмы.
  7. вычислить площадь круга
  8. вычислить площадь треугольника по 3 сторонам (формула Герона)
  9. вычислить гипотенузу прямоугольного треугольника

Запуск МПК

Архив заданий для исполнителя Робот

Задания на исполнителя Робот (0-16 ) выполняются с использованием МПК. Необходимо скачать архив с заданиями , открыть из МПК файл vodoley.kurs.xml или robot.kurs.xml . Этот xml-файл содержит описания заданий, условия задач, ссылки на шаблоны алгоритмов, примеры стартовых обстановок для проверки, проверяющие алгоритмы.

Учащийся должен сохранить курс у себя в рабочем каталоге в файле с именем, например, ivanov.work.xml . В этом файле хранятся тексты решений, созданных школьником, результаты проверки его задач. Впоследствии учащийся должен открывать именно свой рабочий файл *.work.xml .

На примерах стартовых обстановок буквой “A” обозначена клетка, где робот находится до исполнения алгоритма, буквой “B” обозначена клетка, в которую необходимо переместить робота, звездочками в правом нижнем углу обозначены клетки, которые робот должен закрасить.

Инструкция по выполнению заданий

Для выполнения заданий дома учащимися и переноса выполненных заданий в школу имеется



Исполнитель Робот Система команд исполнителя Робот Команды перемещения: вверх, вниз, влево, вправо Робот перемещается на одну клетку вверх, вниз, влево, вправо. Команда закрасить – закрашивает клетку, в которой стоит Робот. Проверка истинности условия: сверху свободно, снизу свободно, слева свободно, справа свободно Робот проверяет истинность условия отсутствия стены у той клетки, где находится Робот. Можно использовать запись составных условий, образованных логическими операциями И, ИЛИ, НЕ.



Исполнитель Робот Непосредственное редактирование обстановки Все команды редактирования обстановки выполняются с помощью мыши: поставить/убрать стену – щелкнуть по границе между клетками, закрасить/очистить клетку – щелкнуть по клетке, переместить Робота – перетащить мышью в нужную клетку.


Исполнитель Робот Команды меню Робот Показать поле Робота Делает видимым окно наблюдения за Роботом. Напечатать обстановку Создает файл в формате PDF, изображающий текущую обстановку в цветном или в черно-белом варианте. Сохранить обстановку в файл Создает текстовый файл с описанием обстановки во внутреннем формате *.fil. Этот файл в дальнейшем может быть загружен в качестве стартовой обстановки (команда Сменить стартовую обстановку) или при редактировании стартовой обстановки (команда Открыть окна редактирования стартовой обстановки). Сменить как стартовую обстановку Устанавливает новое имя файла стартовой обстановки (с помощью стандартного диалога) и загружает новую стартовую обстановку. Вернуться в стартовую обстановку Делает стартовую обстановку текущей.


Исполнитель Робот Изображение текущей обстановки в окне наблюдения Изображение текущей обстановки всегда полностью помещается в рабочем поле окна наблюдения за Роботом. Фон рабочего поля – зеленый. Закрашенные клетки – серые. Между клетками – тонкие черные линии. Стены Изображаются толстыми желтыми линиями. В клетке рабочего поля окна наблюдения Робот изображается ромбиком.






Управление исполнителем Робот в системе КУМИР

Робот существует в определенной обстановке (прямоугольном клетчатом поле). Между некоторыми клетками поля могут быть расположены стены. Некоторые клетки могут быть закрашены (рис. 3.11).

Робот занимает ровно одну клетку поля.

По команде закрасить Робот закрашивает клетку, в которой стоит. Если клетка уже была закрашена, то она закрасится повторно, хотя никаких видимых изменений не произойдет.

Робот может исполнять только правильно записанные команды. Если вместо команды вниз написать внис, то Робот эту запись не поймет и сразу же сообщит об ошибке.


О
шибки: 1 синтаксические; 2. логические

Описания обстановок хранятся в текстовых файлах специального формата (формат.fil).

Текущая - обстановка, в которой находится Робот в данный момент (включая информацию о положении Робота).

Стартовая - обстановка, в которую принудительно помещается Робот в начале выполнения программы, использующей Робот.


  1. Задать стартовую обстановку по условию задачи:

2. Указать Исполнителя:

Меню Вставка →Использовать Робот

3. Написать алгоритм решения задачи.

4. Выполнить алгоритм (Меню Выполнение →Выполнить непрерывно /F9)

Система команд исполнителя Робот в системе КУМИР


Команда

Действие

вверх

Робот перемещается на 1 клетку вверх

вниз

Робот перемещается на 1 клетку вниз

влево

Робот перемещается на 1 клетку влево

вправо

Робот перемещается на 1 клетку вправо

закрасить

Робот закрашивает клетку, в которой находится

справа свободно

Робот проверяет выполнение соответствующего простого условия

слева свободно



сверху свободно



снизу свободно



клетка закрашена



клетка чистая



Циклические алгоритмы

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

Тело цикла – набор повторяемых действий.

Условие – логическое выражение (простое или сложное (составное))
Типы циклов:

Пример: нц пока справа свободно

Общий вид цикла «Повторять n раз:

ПОВТОРИТЬ n РАЗ

КОНЕЦ
Составные условия образуются из одного или нескольких простых условий и служебных слов И, ИЛИ, НЕ.

Составное условие А И В (где А, В - простые условия), выполнено, когда выполнено каждое из двух входящих в него простых условий.

Пусть А - сверху свободно, В - справа свободно, тогда составное условие А И В - сверху свободно И справа свободно.

Составное условие А ИЛИ В выполнено, когда выполнено хотя бы одно из двух входящих в него простых условий: сверху свободно ИЛИ справа свободно
Составное условие НЕ А - выполнено, когда не выполнено условие А.

Пример: Пусть А – клетка закрашена (простое условие).


Проверка составного условия НЕ А:

а) А - выполнено, НЕ А (НЕ закрашено) - не выполнено.

б) А - не выполнено, НЕ А (НЕ закрашено) - выполнено.

Команда ветвления

Ветвление - форма организации действий, при которой в зависимости от выполнения или невыполнения некоторого условия совершается либо одна, либо другая последовательность действий.

Общий вид команды ЕСЛИ:

ЕСЛИ ТО ИНАЧЕ

КОНЕЦ

Полное ветвление: Неполное ветвление:
если то если то


Вспомогательный алгоритм - алгоритм, решающий некоторую подзадачу основной задачи.

В системе КУМИР вспомогательные алгоритмы пишутся в конце основной программы (после служебного слова кон ), вызываются на выполнение в основой программе по имени.


Вопросы и задания

1. Приведите все алгоритмы из трех команд, которые переместят Робота из исходного положения в клетку Б.

Существует ли для этой задачи алгоритм, при выполнении которого Робот делает:

а) два шага; б) четыре шага; в) пять шагов; г) семь шагов?


  1. Петя составил алгоритм, переводящий Робота из клетки А в клетку Б с закрашиванием каких-то клеток. Что должен сделать Коля с этим алгоритмом, чтобы получить алгоритм, переводящий Робота из Б в А и закрашивающий те же клетки?




7. Известны два вспомогательных алгоритма Робота

Нарисуйте, что получится при выполнении Роботом следующих основных алгоритмов:

вправо; вправо; вправо

8. Составьте алгоритмы, под управлением которых Робот закрасит указанные клетки:



9. Известно, что где-то правее Робота есть стена. Составьте алгоритм, под управлением которого Робот закрасит ряд клеток до стены и вернется в исходное положение.

10. Известно, что где-то правее Робота есть закрашенная клетка.



Составьте алгоритм, под управлением которого Робот закрасит ряд клеток до закрашенной клетки и вернется в исходное положение.

11. Известно, что Робот находится рядом с левым входом в горизонтальный коридор.


12. Известно, что Робот находится где-то в горизонтальном коридоре. Ни одна из клеток коридора не закрашена.

Составьте алгоритм, под управлением которого Робот закрасит все клетки этого коридора и вернется в исходное положение.

13. В ряду из десяти клеток правее Робота некоторые клетки закрашены.


Составьте алгоритм, который закрашивает клетки:

а) ниже каждой закрашенной клетки;

б) выше и ниже каждой закрашенной клетки.

14. Что можно сказать о правильности следующего фрагмента алгоритма?

нц пока клетка закрашена

ЕСЛИ справа свободно ТО


к
ц

15. Напишите программу, с помощью которой Робот сможет попасть в клетку Б во всех трех лабиринтах.


16. Напишите программу, следуя которой Робот сможет пройти по коридору от левого нижнего угла поля к правому верхнему. Коридор имеет ширину одна клетка и тянется в направлении слева-снизу вправо-вверх. Пример возможного коридора изображен на рисунке.

З

адачи ГИА


  1. Коридор1. Робот находится где-то в вертикальном коридоре. Ни одна из клеток коридора не закрашена. Составить алгоритм, под управлением которого Робот закрасит все клетки этого коридора и вернется в исходное положение.

Дано
оридор2. Робот находится в верхней клетке узкого вертикального коридора. Ширина коридора – одна клетка, длина коридора может быть произвольной.

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


  1. На бесконечном поле имеется длинная горизонтальная стена. Длина стены неизвестна. Робот находится в одной из клеток непосредственно сверху от стены. Начальное положение Робота также неизвестно. Одно из возможных положений:

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

Конечное положение Робота может быть произвольным. При выполнении алгоритма Робот не должен разрушаться.





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

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

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


B
1102_ГИА2011

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

Конечное расположение робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.


В
1103_ГИА_2011

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

Читайте также: