Как найти задачи в кумире

Информатика ОГЭ №15.1 (Кумир)

Попробуем разобраться с заданием ОГЭ №15 по информатике. Данное задание делится на два. То есть, тут есть выбор. Оба задания связаны с темой “Алгоритмизация и программирование”. В данной статье рассмотрим задание в среде программирования — Кумир.

Для начала надо понять как можно там работать и какие команды существуют. Прежде всего в программе Кумир существуют разные исполнители. У каждого из них свои команды, предназначение. В нашем случае нужно будет работать с таким исполнителем, как Робот.

У него не так много своих команд:

  • вверх — движение вверх на одну клетку;
  • вниз — движение вниз на одну клетку;
  • вправо — движение вправо на одну клетку;
  • влево — движение влево на одну клетку;
  • закрасить — закрасить текущее местоположение (клетку).

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

Алгоритм робота с циклом
Алгоритм робота с циклом

Сам цикл начинается с команды “нц” — начать цикл, а заканчивается “кц” — конец цикла.

Цикл можно повторять определённое количество раз.

Цикл с количеством повторений
Цикл с количеством повторений

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

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

  • пока сверху свободно — до тех пор, пока свободно сверху совершаются действия;
  • пока сверху не свободно — до тех пор, пока сверху стена совершаются действия;
  • пока снизу свободно — до тех пор, пока свободно снизу совершаются действия;
  • пока снизу не свободно — до тех пор, пока снизу стена совершаются действия;
  • пока справа свободно — до тех пор. пока свободно справа совершаются действия;
  • пока справа не свободно — до тех пор, пока справа стена совершаются действия;
  • пока слева свободно — до тех пор, пока свободно слева совершаются действия;
  • пока слева не свободно — до тех пор, пока слева стена совершаются действия.

Конструкцию “не свободно” можно заметить на “стена”.

Эти условия можно сочетать за счёт оператора “И”. Например, “пока сверху свободно и слева стена”.

Попробуем рассмотреть задание и решить его.

Пример

На бесконечном поле есть горизонтальная и вертикальная стены. Левый конец горизонтальной стены соединён с верхним концом вертикальной стены. Длины стен неизвестны. В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной непосредственно под горизонтальной стеной у её правого конца. На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»). Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно ниже горизонтальной стены и правее вертикальной стены. Проходы должны остаться не закрашенными. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого рисунка Робот должен закрасить следующие клетки (см. рис.). При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера проходов внутри стен. Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе. Сохраните алгоритм в текстовом файле.

Стартовая обстановка
Стартовая обстановка
Результат после применения алгоритма
Результат после применения алгоритма

Решение

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

Интерфейс программы Кумир
Интерфейс программы Кумир

Для начала нам необходимо создать стартовую обстановку (поле для нашего робота), как на примере из задания. Зайдём во вкладку “Робот” → “Новая обстановка”.

Создание новой обстановки
Создание новой обстановки

Далее укажем необходимое количество строк и столбцов, предварительно посчитав сколько их в образце. После того, как записали нужное количество, нажимаем “ОК”.

Указываем количество строк и столбцов
Указываем количество строк и столбцов

После этого необходимо расставить “стены” как на примере (точно так же). Для построения стены просто нажимаем на линию, где хотим построить стену. На кнопки “плюс” и “минус” также можно управлять размерами обстановки.

Редактируемая обстановка
Редактируемая обстановка

Также установим начальное положение робота как на образце, для этого перетащим его. После создания стен нажимаем “Робот” → “Редактировать обстановку” (чтобы перестать её редактировать, т.к. уже находимся в режиме редактирования).

Полученная обстановка
Полученная обстановка

Теперь можем уже создавать алгоритм. Выберем исполнителя Робот. Зайдём во вкладку “Вставка” и нажмём на “использовать Робот”. После этого Кумир начнёт воспринимать его команды. Команду можно написать и самостоятельно.

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

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

Первый цикл
Первый цикл
Результат первого цикла
Результат первого цикла

Пройдём пробел за счёт цикла:

Второй цикл
Второй цикл
Результат второго цикла
Результат второго цикла

Далее воспользуемся ещё одним циклом:

Третий цикл
Третий цикл
Результат третьего цикла
Результат третьего цикла

Продолжим следующим циклом:

Четвёртый цикл
Четвёртый цикл
Результат четвёртого цикла
Результат четвёртого цикла

Теперь снова нужно пройти пробел:

Пятый цикл
Пятый цикл
Результат пятого цикла
Результат пятого цикла

Осталось закончить алгоритм, закрасив оставшуюся часть:

Шестой цикл
Шестой цикл

Посмотрим на проделанную работу.

Финальный результат после шестого цикла
Финальный результат после шестого цикла

В задании может быть условие, чтобы вернуть робота в начальное положение, а может быть сказано, что не требует возвращения. Тогда он остаётся там, где остановился после алгоритма. Если нужно вернуть, тогда также придётся возвращать его с помощью циклов.

Сохранение

Чтобы сохранить программу, нужно зайти во вкладку “Программа” → “Сохранить как..”.

Сохранение программы
Сохранение программы

Для сохранения рабочей обстановки зайдём во вкладку “Робот” → “Сохранить обстановку..”.

Сохранение обстановки
Сохранение обстановки

Рекомендации по работе

  • Обязательно использовать циклы;
  • Можно лишь раз использовать команду без цикла (но лучше не надо);
  • Проверка работы сначала осуществляется на вашей обстановке, а потом уже на другой с такой же структурой, но с другими размерами. Поэтому очень важно использовать циклы.
  • Для запуска программы нажимаем на стрелочку “Play“. Кумир работает как интерпретатор, то есть выполняет команды построчно.

Понравилась статья? Хочешь разбираться в информатике, программировании и уметь работать в разных программах? Тогда ставь лайк, подпишись на канал и поделись статьей с друзьями!

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

#информатика #огэ #разбор #задания #решение #экзамен

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

Содержание:

  • Что такое программа робота в среде Кумир: как пользоваться

    • Что такое программа Robot
    • Как работает программа «Робот»
    • Что можно делать с помощью программы «Робот»
  • Условия программы робота в среде Кумир и базовые термины

    • Специфика Робота в среде Кумир
    • Условия работы робота
  • Команды программы робота в среде Кумир

    • Перемещение робота
    • Управление положением робота
    • Рисование с помощью робота
  • Как работать с роботом в среде Кумир

    • Рисование с помощью Робота
    • Перемещение робота
    • Использование циклов с роботом
  • Примеры задач в программе робота в среде Кумир

    • Перемещение робота
    • Избегание препятствий
    • Следование по линии
  • Заключение

Что такое программа робота в среде Кумир: как пользоваться

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

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

Что такое программа Robot

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

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

Как работает программа «Робот»

Чтобы использовать программу «Робот», необходимо написать код на языке Кумир. Язык Кумир — это простой язык, который использует ключевые слова «if», «while» и «def» для создания циклов, условий и функций. Для программирования робота необходимо использовать набор встроенных команд, таких как «двигаться», «повернуть_влево» и «взять_в руки». Среди возможностей программы — создание своих собственных команд при помощи использования ключевое слово «def».

Примечание 1

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

Что можно делать с помощью программы «Робот»

Программа «Робот» — это универсальный инструмент, который можно использовать для обучения различным концепциям программирования. Пользователь может использовать ее для обучения базовым концепциям программирования, таким как циклы и условия, или более сложным концепциям, таким как рекурсия и объектно-ориентированное программирование. Его также можно использовать для обучения различным темам по математике и геометрии вроде углов и координат.

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

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

Условия программы робота в среде Кумир и базовые термины

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

Специфика Робота в среде Кумир

Робот — это объект, используемый для выполнения действий в Кумире. Он может двигаться, вращаться, поднимать и опускать предметы и взаимодействовать с окружающей средой. 

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

Доска

Доска — это среда, в которой работает робот. 

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

Программа

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

Программа состоит из команд, функций и циклов. Команды используются для перемещения робота или манипулирования объектами на доске. Функции используются для группировки команд и делают программу более читабельной. Циклы используются для многократного повторения команд или функций.

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

Условия работы робота

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

При этом робот не имеет возможности проходить сквозь стены. Однако у него есть способность проверки стен рядом с собой. 

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

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

Примечание 2

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

Перемещение робота

Первый набор команд, которые изучают учащиеся, — это команды, которые перемещают робота. Робота можно двигать вперед с помощью команды `forward()` и назад с помощью команды `backward()`. Робота также можно повернуть влево с помощью команды `left()` и вправо с помощью команды `right()`. Эти команды используются для управления движением робота в различных направлениях. Кроме того, команда `stop()` может быть использована для остановки движения робота.

Управление положением робота

Еще один набор команд, которые учащиеся должны выучить, — это команды, управляющие положением робота. Команда `goto(x, y)` используется для перемещения робота в определенную позицию на экране. Команды `setx(x)` и `sety(y)` могут быть использованы для установки координат x и y положения робота. Команда `setheading(angle)` используется для установки угла, под которым робот обращен к экрану.

Рисование с помощью робота

Последний набор команд, которые изучают учащиеся, — это команды, позволяющие роботу рисовать на экране. Команда `pendown()` используется для того, чтобы опустить перо, что позволяет роботу рисовать линии. Команда `penup()` используется для поднятия пера вверх, что останавливает робот от рисования линий. Команда `pensize(size)` используется для установки размера пера, которое использует робот.

В рамках системы робота используются следующие команды: 

  • пять команд, которые вызывают активность у робота-исполнителя (движения в левую сторону, в правую сторону, вверх, движение вниз, а также закраска клеток); 
  • десять команд, которые используются для проверки всех условий; 
  • восемь видовых команд — с левой стороны, с правой стороны, снизу, с верхней части, а также есть ли препятствие в виде стены или нет; 
  • две команды, которые показывают состояние клетки — заполнена ли она краской или нет; 
  • две команды, которые нужны для измерения показателей — радиационного фона и температуры. 

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

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

Проверочных команд также достаточно много. Рассмотрим все команды такого типа: 

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

Также существуют команды-измерения, среди которых: 

Тип команды Суть команды
вещ радиация Покажет величину радиации в определенной клетке, в которой располагается робот.
вещ температура Покажет величину температуры в клетке, в которой располагается робот. 

В заключение следует отметить, что команды программы робота в среде Кумир позволяют учащимся управлять виртуальным роботом с помощью команд программирования. Команды позволяют роботу двигаться, контролировать свое положение и рисовать на экране. Эти команды предназначены для того, чтобы познакомить учащихся с основами программирования и помочь им развить свои навыки. Учащиеся могут использовать эти команды для создания собственных программ и изучения различных концепций программирования.

Как работать с роботом в среде Кумир

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

Рисование с помощью Робота

Робота в Кумире можно использовать для рисования различных форм и фигур. Чтобы рисовать с помощью Робота, нам нужно использовать метод `penDown()`. Этот метод дает команду Роботу начать рисовать. Затем мы можем использовать метод `move()`, чтобы переместить Робота в определенное место. Метод `turn()` может быть использован для изменения направления движения Робота. Когда мы закончим рисовать, мы можем использовать метод `penUp()`, чтобы остановить рисование. Вот пример кода, который рисует квадрат с помощью Робота:

from kumir import *

penDown()

move(50)

turn(90)

move(50)

turn(90)

move(50)

turn(90)

move(50)

penUp()

Перемещение робота

Робота в Кумире можно перемещать с помощью методов `move()` и `turn()`. Метод `move()` указывает Роботу двигаться вперед на определенное количество шагов. Метод `turn()` указывает Роботу изменить направление движения. Мы можем использовать эти методы, чтобы заставить Робота двигаться в разных направлениях. Вот пример кода, который перемещает Робота по квадрату:

Пример 1

from kumir import *

move(50)

turn(90)

move(50)

turn(90)

move(50)

turn(90)

move(50)

Использование циклов с роботом

Циклы можно использовать с Роботом в Кумире, чтобы облегчить выполнение повторяющихся задач. Мы можем использовать цикл `for`, чтобы заставить Робота рисовать фигуры с определенным количеством сторон. Вот пример кода, который рисует шестиугольник с помощью цикла `for`:

Пример 2

from kumir import *

penDown()

for i in range(6):     

  • move(50)     
  • turn(60)

penUp()

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

Примеры задач в программе робота в среде Кумир

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

Перемещение робота

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

move(1)

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

turn(-90)

Число внутри скобки обозначает угол поворота в градусах.

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

робот

Источник: klyaksa.net

А так после задания действий: 

робот2

Источник: klyaksa.net

Избегание препятствий

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

Пример 3

if look() == 0:     

move(1)

else:     

turn(90)

Если нет препятствия, робот движется вперед, а если есть препятствие, робот поворачивает на 90 градусов вправо. Этот процесс можно повторять до тех пор, пока робот не достигнет места назначения.

Так это выглядит в программе: 

робот3

Источник: klyaksa.net

Следование по линии

Программу робота Кумира можно также использовать для того, чтобы заставить робота следовать по линии. Для этого используется команда `color`, которая определяет цвет поверхности под роботом. Например, если робот находится на белой поверхности, то для того, чтобы заставить его двигаться вперед, можно использовать следующий код:

Пример 4

if color() == “white”:     

move(1)

else:     

turn(90)

Если робот находится на поверхности, которая не является белой, он поворачивается на 90 градусов вправо. Этот процесс можно повторять до тех пор, пока робот не достигнет конца линии.

Заключение

Программа робота Кумира является отличным инструментом для ознакомления младших школьников с основами программирования. Задачи, рассмотренные в этой статье, являются лишь несколькими примерами того, что можно сделать с помощью программы «Кумир». Выполняя такие задания, учащиеся могут изучить основы программирования, что поможет им развить навыки решения проблем, которые необходимы в современном мире.

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

Просмотр содержимого документа

«Исполнитель Робот. Решение задач.»

Задача 1.

Задача 2.

Задача 3.

Исходное поле Робота:

Сначала идет горизонтальная стена, ее длина неизвестна. Далее идет лесенка вниз, высота ступеньки – 1 клетка, длина ступеньки – 2 клетки. Количество ступенек неизвестно. Далее идет лесенка вверх, высота ступеньки – 1 клетка, длина ступеньки – 2 клетки. Количество ступенек неизвестно. Необходимо закрасить клетки над ступеньками обоих лесенок. Как показано на 2 рисунке.

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

алг

нач

. | Двигаемся вдоль нижней стены до начала лесенки

. нц
пока
снизу стена

. . вправо

. кц

. вниз

. |Спускаемся вниз по первой лестнице до нижней площадки и красим клетки

. нц
пока
слева стена

. . закрасить

. . вправо

. . закрасить

. . если
справа свободно

. . . то
вправо

. . все

. . если
снизу свободно

. . . то
вниз

. . все

. кц

. | Поднимаемся по второй лесенке и красим клетки

. нц
пока
справа стена

. . вверх

. . вправо

. . закрасить

. . вправо

. . закрасить

. кц

кон

ПРАКТИЧЕСКАЯ РАБОТА
№ 3
в ПРОГРАММЕ «КУМИР»

СРЕДА «РОБОТ»

Цель:
Научится писать программы с циклом пока
и ветвлением если-то-иначе
для робота.

Справка

1. Цикл пока

создается структурами, например:

нц
пока слева свободно

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

нц
пока снизу свободно

нц
пока сверху свободно

2. Ветвление создается структурой если
<условие>

то
<действие>

иначе
<действие>

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

Задание № 1
МИННОЕ ПОЛЕ.

1. Создать предлагаемую обстановку. По правой кнопке мыши установить клетку с радиацией равной или большей 50, помечая клетку буквой латинского алфавита . Сохранить как MinPol

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

Справка
: цикл пока

создается структурами

Задание № 2:
ПИТСТОП.

1. Создать предлагаемую обстановку.

3. Написать часть программы.

3. Дописать программу так, чтобы закрасить клетки, как показано в образце


Задание № 3:
ОПАСНОСТЬ.

1. Создать предлагаемую обстановку (робот в левом верхнем углу, клетка с радиацией – метка «буква», клетка с температурой – метка «цифра»)

3.
Написать часть программы.

3. Дописать программу так, чтобы робот реагировал (смещался) на клетки с радиацией (клетка с буквой) и закрашивал клетки с температурой (клетка с цифрой): а – 1 – b – 2 – с–3

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

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

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

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

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

    закрасить

Задание 1.

Нарисовать квадрат со стороной 3 клетки.

Запускаем Кумир

Удаляем символ «|» и называем наш алгоритм «Квадрат» (рядом со служебным словом алг
пишем Квадрат
)

закрасить

закрасить

закрасить

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

Если такое окно Робота у вас не появилось, то на панели инструментов щелкните «Показать окно Робота
» или в меню Робот выберите пункт «Показать окно Робота
«. Продолжаем дальше:

вниз

закрасить

вниз

закрасить

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

влево

закрасить

влево

закрасить

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

вверх

закрасить

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

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

алг Квадрат

закрасить

закрасить

закрасить

закрасить

закрасить

закрасить

закрасить

закрасить

Задание 2

.Используя простые команды Робота,
написать программу, рисующую букву П, Р, Ш, Щ, Т,Н.

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

У исполнителя Робот есть несколько условий: сверху свободно снизу свободно слева свободно справа свободно сверху стена снизу стена

слева стена справа стена

Задание 3
.

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

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

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

алг

нач

закрасить

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

вправо

закрасить

кц

кон

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

Задание 4

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

Программа Кумир

Исполнитель Робот

Кто такой исполнитель Робот?

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

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

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

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

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

Нажмите на Редактировать обстановку


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

  • вверх

  • вниз

  • влево

  • вправо

  • закрасить

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

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

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

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

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

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

Пример алгоритма

  • Сначала необходимо написать фразу:
  • использовать
    Робот

Если известно сколько клеток нужно закрасить, то алгоритм решения будет следующим!

Задание №1

  • Напишите программу для решения следующей задачи, если известно сколько клеток нужно закрасить

Циклы

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


    применяется когда заранее известно сколько повторений необходимо сделать.

нц раз



кц

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


Задание №2

  • Напишите программу для решения следующей задачи, используя цикл со счетчиком

  • 2. Цикл с условием-


    пока условие истинно-цикл выполняется, если ложно-то не выполняется
  • У исполнителя Робот есть несколько условий

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

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

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

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

сверху стена

снизу стена

слева стена

справа стена

  • Можно использовать частицы: НЕ, И, ИЛИ

Структура цикла с условием

нц пока

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

вправо

закрасить

кц


Задание №3

  • Напишите программу для решения следующей задачи, используя цикл с условием:

Задание №4

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



Решение задач:

  • 2. Робота надо перевести из стартового положения в конечное, закрашивая стенки


Задание №5

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

Ответ на задание №5

  • нц
    пока не (снизу свободно)

закрасить

Начало цикла (нц) и условие (пока не(снизу свободно)) – пишутся на одной строчке.


Конструкция
если


  • сверху свободно снизу свободно слева свободно справа свободно
  • Эти команды можно использовать вместе с условием «если»
    , имеющим следующий вид:
  • если
    условие
    то
  • последовательность команд
  • Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм:
  • если справа свободно то
  • вправо
  • закрасить

Задание №7

Длины стен неизвестны.

Ответ на задание №7

пока не свер­ху сво­бод­но

за­кра­сить

впра­во

пока свер­ху сво­бод­но

впра­во

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

за­кра­сить

впра­во

пока не спра­ва сво­бод­но

за­кра­сить

вниз

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

вниз

пока не спра­ва сво­бод­но

за­кра­сить

вниз

Задание №8

Длины стен неизвестны.

В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны.

Ответ на задание №8

пока свер­ху сво­бод­но

пока не свер­ху сво­бод­но

за­кра­сить

пока свер­ху сво­бод­но

пока не свер­ху сво­бод­но

за­кра­сить

пока не снизу сво­бод­но

за­кра­сить

пока снизу сво­бод­но

пока не снизу сво­бод­но

за­кра­сить

Задание №9

Длины стен неизвестны.

В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны.

Ответ на задание №9

пока снизу сво­бод­но

пока не снизу сво­бод­но

за­кра­сить

пока снизу сво­бод­но

пока не снизу сво­бод­но

за­кра­сить

пока не свер­ху сво­бод­но

за­кра­сить

пока свер­ху сво­бод­но

пока не свер­ху сво­бод­но

за­кра­сить

Задание №10

Длины стен неизвестны.

В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны.

Ответ на задание №10

пока с­ле­ва сво­бод­но

пока не слева сво­бод­но

за­кра­сить

пока слева сво­бод­но

пока не с­ле­ва сво­бод­но

за­кра­сить

пока не спра­ва сво­бод­но

за­кра­сить

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

пока не спра­ва сво­бод­но

за­кра­сить

Задание №11

Длины стен неизвестны.

В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны.

Ответ на задание №11

пока не свер­ху сво­бод­но

пока не свер­ху сво­бод­но

за­кра­сить

пока снизу сво­бод­но

пока не свер­ху сво­бод­но

за­кра­сить

Задание №12

На бес­ко­неч­ном поле име­ет­ся лест­ни­ца. Сна­ча­ла лест­ни­ца спус­ка­ет­ся вниз спра­ва на­ле­во, затем спус­ка­ет­ся вниз слева на­пра­во. Вы­со­та каж­дой сту­пе­ни – одна клет­ка, ши­ри­на – две клет­ки. Робот на­хо­дит­ся спра­ва от верх­ней сту­пе­ни лест­ни­цы. Ко­ли­че­ство сту­пе­нек, ве­ду­щих влево, и ко­ли­че­ство сту­пе­нек, ве­ду­щих впра­во, не­из­вест­но. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния лест­ни­цы и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

Ответ на задание №12

Дви­га­ем­ся вниз под лест­ни­цей спра­ва на­ле­во, пока не дой­дем до стыка лест­ниц:

нц пока снизу сво­бод­но

вниз

влево

влево

Дви­га­ем­ся вниз до конца спус­ка­ю­щей­ся лест­ни­цы, за­кра­ши­вая нуж­ные клет­ки на пути:

нц пока не слева сво­бод­но

за­кра­сить

впра­во

за­кра­сить

впра­во

вниз


Ответ на задание №13

нц пока слева сво­бод­но

за­кра­сить

влево

вверх

нц пока не слева сво­бод­но

за­кра­сить

вверх

Задание №14

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

Ответ на задание №14

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

впра­во

пока свер­ху сво­бод­но

вверх

за­кра­сить

нц пока слева сво­бод­но

влево

за­кра­сить


Ответ на задание №15

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

за­кра­сить

впра­во

пока снизу сво­бод­но

за­кра­сить

вниз

за­кра­сить

пока не (снизу сво­бод­но)

влево

вниз

пока не (спра­ва сво­бод­но)

за­кра­сить

вниз

за­кра­сить

впра­во

пока не (свер­ху сво­бод­но)

за­кра­сить

впра­во


Ответ на задание №16

пока не спра­ва сво­бод­но

за­кра­сить

вниз

за­кра­сить

впра­во

пока не свер­ху сво­бод­но

за­кра­сить

впра­во

пока свер­ху сво­бод­но

вверх

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

за­кра­сить

впра­во

пока не спра­ва сво­бод­но

за­кра­сить

вниз



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

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

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

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

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

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

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

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

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

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

Порядок работы:

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

Меню Инструменты → Сменить стартовую обстановку Робота (нарисовать обстаковку по условию задачи, дать имя, сохранить в Личной папке)

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

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

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

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

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



Команда

Действие

вверх

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

вниз

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

влево

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

вправо

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

закрасить

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

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

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

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



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



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



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



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


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

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

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

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

Типы циклов:

1.Цикл «Повторять n раз» 2. Цикл «Пока»



нц n раз
нц пока


. . Тело цикла. . Тело цикла

кц
кц

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


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

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

КОНЕЦ

кц

Общий вид цикла «пока»:

ПОКА ДЕЛАТЬ

КОНЕЦ

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

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

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

Составное условие
А ИЛИ В

выполнено, когда выполнено хотя бы одно из двух входящих в него простых условий: сверху свободно ИЛИ справа свободно


Составное условие НЕ А
– выполнено, когда не выполнено условие А.

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

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

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

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

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

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

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

ЕСЛИ

ТО

ИНАЧЕ

КОНЕЦ

В языке КУМИР:

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



если
то

если
то

иначе


все все

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

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

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

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

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

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

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


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

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


а)

нц 5 раз

узор_1

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


б)

нц 7 раз

узор_2

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


в)

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

вверх; вверх

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

вниз; вниз


г)

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

вправо; закрась

к
ц

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

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

З

адачи ГИА

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

    Надо

    Дано

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

Возможный вариант начального расположения Робота приведён на рисунке (Робот обозначен буквой «Р»)

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

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

Н


Надо

Дано

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

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


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


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


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

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


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

Напишите для работа алгоритм, закрашивающий все прилегающие к стене клетки:

  • слева все;
  • справа, начиная с верхней незакрашенной и через одну.

Робот должен закрасить только клетки, удовлетворяющие данному условию.

B
1102_ГИА2011

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

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

В
1103_ГИА_2011

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

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

Загрузка…

Кто такой исполнитель Робот?

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

кумир

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

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

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

кумир

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

кумир

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

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

алг

нач

кон

Удалив символ |, мы тем самым указали Кумиру на то, что будем работать с исполнителем Робот. Если этого не сделать, то при написании программы мы столкнемся с ошибкой «Нет такого алгоритма». Поэтому очень важно при создании новой программы раскоментировать первую строку. Теперь все готово для дальнейшей работы.

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

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

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

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

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

кумир

кумир

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

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

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

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

кумир

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

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

кумир

Далее,

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

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

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

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

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

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

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

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

вверх

вниз

влево

вправо

закрасить

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

кумир

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

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

Удаляем символ «|» и называем наш алгоритм «Квадрат»

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

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

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

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

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

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

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

Если такое окно Робота у вас не появилось, то на панели инструментов щелкните «Показать окно Робота» или в меню Робот выберите пункт “Показать окно Робота”. Продолжаем дальше.

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

вниз

закрасить

вниз

закрасить

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

влево

закрасить

влево

закрасить

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

вверх

закрасить

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

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

алг Квадрат

нач

закрасить

вправо

закрасить

вправо

закрасить

вниз

закрасить

вниз

закрасить

влево

закрасить

влево

закрасить

вверх

закрасить

кон

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

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

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

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

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

сделай приседание

сделай приседание

сделай приседание

сделай приседание

сделай приседание

сделай приседание

сделай приседание

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

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

повторяй 7 раз

сделай приседание

конец цикла

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

Виды циклов.

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

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

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

нц <количество повторений> раз

<команда 1>

<команда 2>

<команда n>

кц

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

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

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

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

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

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

закрасить

вправо

закрасить

вправо

закрасить

вправо

закрасить

вправо

закрасить

вправо

закрасить

вправо

закрасить

вправо

кон

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

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

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

алг

нач

нц 7 раз

закрасить

вправо

кц

кон

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

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

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

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

пока не устал

сделай приседание

конец цикла

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

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

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

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

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

сверху стена

снизу стена

слева стена

справа стена

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

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

«Пока справа свободно делай шаг вправо и закрашивай клетку»

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

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

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

алг

нач

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

вправо

закрасить

кц

кон

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

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

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

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

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

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

Дорогой читатель! Добавьте этот сайт в закладки своего браузера и поделитесь с друзьями ссылкой на этот сайт! Мы стараемся показывать здесь всякие хитрости и секреты. Пригодится точно.

Это тоже интересно:

Язык программирования Pascal для новичков: Основные понятия.

Как установить Java и работать в языке программирования Java.

Как работать в Delphi: конкретные уроки.

GO программирование: самое начало работы.

Задача 1.

использовать Робот
алг
нач
. нц пока снизу стена и справа свободно
. . вправо
. кц
. нц пока справа стена
. . вверх
. . нц 3 раз
. . . вправо
. . . закрасить
. . кц
. кц
кон

Задача 2.

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

Задача 3.

Исходное поле Робота:

Сначала идет горизонтальная стена, ее длина неизвестна. Далее идет лесенка вниз, высота ступеньки – 1 клетка, длина ступеньки – 2 клетки. Количество ступенек неизвестно. Далее идет лесенка вверх, высота ступеньки – 1 клетка, длина ступеньки – 2 клетки. Количество ступенек неизвестно. Необходимо закрасить клетки над ступеньками обоих лесенок. Как показано на 2 рисунке.

использовать Робот
алг
нач
. | Двигаемся вдоль нижней стены до начала лесенки
. нц пока снизу стена
. . вправо
. кц
. вниз
. |Спускаемся вниз по первой лестнице до нижней площадки и красим клетки
. нц пока слева стена
. . закрасить
. . вправо
. . закрасить
. . если справа свободно
. . . то вправо
. . все
. . если снизу свободно
. . . то вниз
. . все
. кц
. | Поднимаемся по второй лесенке и красим клетки
. нц пока справа стена
. . вверх
. . вправо
. . закрасить
. . вправо
. . закрасить
. кц
кон

Добавить комментарий