Кумир как найти стену

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

Содержание:

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

    • Что такое программа 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 градусов вправо. Этот процесс можно повторять до тех пор, пока робот не достигнет конца линии.

Заключение

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

Муниципальное Бюджетное образовательное учреждение

средняя образовательная школа №15 г.Нерюнгри

учебное-методическое пособие

Основы работы в программе «кумир»

Харьковская
Ольга Константиновна

учитель
информатики и ИКТ

Нерюнгри,
2018

Содержание

Введение……………………………………………………………………….3

1.                
Лекция 1. Основы
алгоритмизации……………………………………….4

2.                
Лекция 2. Способы записи
алгоритмов…………………………………..5

3.                
Лекция 3. Разработка
алгоритма с помощью «Исполнителя Робот»……7

4.                
Практические работы…………………………………………………….15

4.1.         
Линейный алгоритм………………………………………………..15

4.2.         
Циклический алгоритм. Цикл N
раз………………………………18

4.3.         
Циклический алгоритм с предусловием «ПОКА»……………….22

4.4.         
Команды ветвления (если, выбор)…………………………………28

СПИСОК
ЛИТЕРАТУРЫ……………………………………………………….35

ВВЕДЕНИЕ

Учебно-методическое
пособие “Основы работы в программе Кумир” предназначено для учителей
и обучающихся 8-9 классов общеобразовательных школ, изучающих раздел
информатики: «Основы алгоритмизации».

         Эти материалы могут быть
полезны при подготовке к основному и единому государственному экзамену по
информатике.

         В пособие включен
цикл лабораторных работ, основными целями для

проведения которых являются:

·       
Углубление, обобщение и
систематизация знаний по блок-схемам;

·       
Развитие алгоритмического
мышления через составление блок-схем;

·       
Закрепление навыков
составления всевозможных алгоритмов фиксированной длины на алгоритмическом
языке для формального исполнителя с заданной системой команд;

·       
Закрепление навыков работы на
персональном компьютере в среде программирования КУМИР;

·       
Развитие информационно-коммуникационной компетентности обучающихся

Лекция 1. Основы алгоритмизации

Известно
множество областей применения компьютера: обработка текстов и графики, передача
и получение информации, создание справочников, произведение расчетов. Еще одно
из важнейших направлений применения компьютеров – управление.

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

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

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

Алгоритм применительно к вычислительной
технике должен обладать свойствами, которые обеспечивали бы его автоматическое
выполнение:

1) Процесс решения задачи
должен быть разбит на последовательность отдельно выполняемых шагов
–дискретность (прерывность).

2) Алгоритм для данного исполнителя
содержит только те команды, которые входят в систему его команд –понятность.

3) Каждое правило алгоритма
должно быть четким и однозначным –определенность (точность).

4) Исполнение алгоритма должно
завершиться за определенное количество шагов конечность (результативность).

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

Лекция 2. Способы записи
алгоритмов

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

·       
Словесные

·       
Графические

·       
На алгоритмических языках.

1.    
Словесные способы записи
алгоритма. Самой простой является запись алгоритма в виде набора высказываний
на обычном разговорном языке. Но алгоритм в словесной форме может оказаться
очень объемным и трудным для восприятия.

2.    
Блок-схема представляет собой
графический документ, дающий представление о порядке работы алгоритма.

Название блока

Название блока

Название блока

Начало, остановка

начало

Начало и конец блок

данные

А, В

Ввод-вывод данных

процесс

Вычислительное действие

Решение

А>В

Проверка условия

подготовка

Начало цикла

дисплей

         В

Вывод результата на экран

документ

В

Вывод результата на печать

3.    
Алгоритмические языки –
школьный алгоритмический язык,

Алгоритм применительно к вычислительной
технике должен обладать свойствами, которые обеспечивали бы его автоматическое
выполнение:

1) Процесс решения задачи
должен быть разбит на последовательность отдельно выполняемых шагов
–дискретность (прерывность).

2) Алгоритм для данного исполнителя
содержит только те команды, которые входят в систему его команд

–понятность.

3) Каждое правило алгоритма
должно быть четким и однозначным –определенность (точность).

4) Исполнение алгоритма должно
завершиться за определенное количество шагов конечность (результативность).

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

Лекция 3. Разработка
алгоритма с помощью «Исполнителя Робот»

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

Программа – алгоритм,
записанный на языке программирования.

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

 Среда Кумир версия 2.1.0 – Среда исполнителя Робот прямоугольное
клетчатое поле, между клетками которого могут быть препятствия (стены) рисунок
1.

Система команд исполнителя
Робот:

Простые команды: вверх, вниз, влево, вправо, закрасить.

Команды логические: (проверки условия)

сверху свободно, снизу
свободно, слева свободно, справа свободно.

Логические связки: И, НЕ, ИЛИ (сложные условия)

Пример: (не слева
свободно) или (не справа свободно)

команда ветвления:                                          команда цикла:

если условие то                              
                    нц пока условие

серия
команд                                                       серия команд

всё                                                   
                     кц

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

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

Первое – открываем меню Робот, выбираем команду Редактировать
обстановку
(рис.1),

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

Далее, справа диалоговое окно обстановка
Робот, становиться синего цвета, и появляются кнопки управления (рис.2),
которыми можно добавить или убрать

Рисунок 2 –
Редактирование поля

клетки поля (при первом
запуске поле имеет размер 7 х 7 клеток).

Затем, щелкая левой кнопкой
мыши (рис.3) выставляем препятствия для Робота.

Рисунок 3 – Окончание редактирования

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

После того, как сохранили обстановку, заходи меню Робот,
выбираем команду Загрузить обстановку, поле для Робота становиться
зеленого цвета (рис.4) и нет кнопок управления.

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

1.     меню Вставка команда Использовать Робот, слово робот закрашивается
зеленым цветом;

2.     составляем нужный алгоритм по условию задачи;

3.     проверяем работает ли составленный алгоритм, для этого на панели
инструментов нажимаем кнопку Обычное или клавишу
F9.

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

         Рассмотрим примеры с
исполнителем Робот, для каждого алгоритма по отдельности.

1.     Линейные программы для исполнителя

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

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

алг лабиринт

нач

влево; закрасить

влево; закрасить

влево; закрасить

влево; закрасить

влево; закрасить

кон

Рисунок 5 –
Выполнение алгоритма «Лабиринт»

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

2.     Циклические алгоритмы для исполнителя

Цикл «пока»

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

Очевидно, что
пока будет выполняться условие справа свободно, нужно выполнять команды:
закрасить; вправо (рис.6)

Рисунок 6 –
Использование цикла «Пока»

Для оформления таких
последовательностей действий используется специальная конструкция
алгоритмического языка — цикл «пока».

Цикл «раз»

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

НЦ количество РАЗ

КЦ

Рисунок 7 –
«Буква»

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

Программа для Робота:

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

алг буква

нач

нц 5
раз

закрасить;
вверх

кц

закрасить

нц 3
раз

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

кц

нц 5
раз

вниз;
закрасить

кц

кон

3.    
Алгоритм ветвление для
исполнителя Робот

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

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

Для организации ветвлений исполнителя
Робота предусмотрена специальная

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

ЕСЛИ <условие> ТО
<серия действий 1>

ИНАЧЕ <серия действий 2>

КОНЕЦ

Задача: Робот
находится в горизонтальном коридоре, нижняя граница

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

Рисунок 8 –
«Коридор»

Единственным
признаком коридора является наличие границы сверху, значит, условие НЕ сверху свободно
должно выполняться. Если при этом выполняется условие снизу свободно, то клетку
нужно закрасить, иначе — закрашивать не надо. Известно, что слева и справа от горизонтального
коридора есть клетки.

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

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

1.    
Линейные алгоритмы

Задания рассчитаны на группу в 10 человек. Каждая карточка
содержит 3 задания разной степени сложности.

Вариант 1

1. Составьте программу закрашивания прямоугольника 3×4, считая, что
Робот находится где-то в центре поля.

2. Необходимо перевести Робота из начального положения (◊) в точку A
за минимальное число шагов любым из возможных способов.

КуМир - Исполнитель Робот - Перевести Робота - 1-1

2.      Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.

КуМир - Исполнитель Робот - Перевести Робота - 1-2

Вариант 2

1.     
Составьте программу закрашивания прямоугольника 4×2, считая, что
Робот находится где-то в центре поля.

2.     
Необходимо перевести Робота из начального положения (◊) в точку A
за минимальное число шагов любым из возможных способов.

КуМир - Исполнитель Робот - Перевести Робота - 2-1

3.      Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.

КуМир - Исполнитель Робот - Перевести Робота - 2-2

Вариант 3

1. Составьте программу закрашивания
периметра квадрата 3×3, считая, что Робот находится где-то в центре поля.

2. Необходимо перевести Робота из
начального положения (◊) в точку A за минимальное число шагов любым из
возможных способов.

КуМир - Исполнитель Робот - Перевести Робота - 3-1

3. Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.

КуМир - Исполнитель Робот - Перевести Робота - 3-2

Вариант 4

1. Составьте программу закрашивания
квадрата 3×3, считая, что Робот находится где-то в центре поля.

2. Необходимо перевести Робота из
начального положения (◊) в точку A за минимальное число шагов любым из
возможных способов.

КуМир - Исполнитель Робот - Перевести Робота - 4-1

3. Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.

КуМир - Исполнитель Робот - Перевести Робота - 4-2

Вариант 5

1. Составьте программу закрашивания
буквы “Г”, состоящей из трех вертикальных и двух горизонтальных
клеток. Начальное положение Робота – где-то в центре поля.

2. Необходимо перевести Робота из
начального положения (◊) в точку A за минимальное число шагов любым из
возможных способов.

КуМир - Исполнитель Робот - Перевести Робота - 5-1

3. Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.

КуМир - Исполнитель Робот - Перевести Робота - 5-2

Вариант 6

1. Составьте программу закрашивания
буквы “П”, размерами три клетки по вертикали и две по горизонтали.
Начальное положение Робота – где-то в центре поля.

2. Необходимо перевести Робота из
начального положения (◊) в точку A за минимальное число шагов любым из
возможных способов.

КуМир - Исполнитель Робот - Перевести Робота - 6-1

3. Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.

КуМир - Исполнитель Робот - Перевести Робота - 6-2

Вариант 7

1. Составьте программу закрашивания
буквы “Т”, размерами четыре клетки по вертикали и три по горизонтали.
Начальное положение Робота – где-то в центре поля.

2. Необходимо перевести Робота из начального
положения (◊) в точку A за минимальное число шагов любым из возможных способов.

КуМир - Исполнитель Робот - Перевести Робота - 7-1

3. Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.

КуМир - Исполнитель Робот - Перевести Робота - 7-2

Вариант 8

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

http://www.licey.net/kumir/img/robot/task8_1.png

2. Необходимо
перевести Робота из начального положения (◊) в точку A за минимальное число
шагов любым из возможных способов.

КуМир - Исполнитель Робот - Перевести Робота - 8-1

3. Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.

КуМир - Исполнитель Робот - Перевести Робота - 8-2

Вариант 9

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

http://www.licey.net/kumir/img/robot/task9_1.png

2. Необходимо
перевести Робота из начального положения (◊) в точку A за минимальное число
шагов любым из возможных способов.

КуМир - Исполнитель Робот - Перевести Робота - 9-1

3. Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.

КуМир - Исполнитель Робот - Перевести Робота - 9-2

Вариант 10

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

http://www.licey.net/kumir/img/robot/task10_1.png

2. Необходимо
перевести Робота из начального положения (◊) в точку A за минимальное число
шагов любым из возможных способов.

КуМир - Исполнитель Робот - Перевести Робота - 10-1

3. Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.

КуМир - Исполнитель Робот - Перевести Робота - 10-2

1.    
Циклические алгоритмы. Цикл N раз.

Задания расчитаны на
группу в 10 человек. Каждая карточка содержит 3 задания разной степени
сложности.

Вариант 1

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

2. Необходимо провести Робота по лабиринту из
начального положения (◊) в точку A.

КуМир - Исполнитель Робот - провести Робота по лабиринту - 1

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

КуМир - Исполнитель Робот - закрасить клетки - 1

Вариант 2

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

2. Необходимо
провести Робота по лабиринту из начального положения (◊) в точку A.

КуМир - Исполнитель Робот - провести Робота по лабиринту - 2

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

КуМир - Исполнитель Робот - закрасить клетки - 2

Вариант 3

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

2. Необходимо
провести Робота по лабиринту из начального положения (◊) в точку A.

КуМир - Исполнитель Робот - провести Робота по лабиринту - 3

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

КуМир - Исполнитель Робот - закрасить клетки - 3

Вариант 4

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

2. Необходимо
провести Робота по лабиринту из начального положения (◊) в точку A.

КуМир - Исполнитель Робот - провести Робота по лабиринту - 4

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

КуМир - Исполнитель Робот - закрасить клетки - 4

Вариант 5

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

2. Необходимо
провести Робота по лабиринту из начального положения (◊) в точку A.

КуМир - Исполнитель Робот - провести Робота по лабиринту - 5

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

Вариант 6

1. Составьте программу закрашивания клеток поля,
отмеченных *. Начальное положение Робота обозначено значком ◊.

КуМир - Исполнитель Робот - закрасить клетки - 6

2. Необходимо
провести Робота по лабиринту из начального положения (◊) в точку A.

КуМир - Исполнитель Робот - провести Робота по лабиринту - 6

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

Вариант 7

1. Составьте программу закрашивания клеток поля,
отмеченных *. Начальное положение Робота обозначено значком ◊.

КуМир - Исполнитель Робот - закрасить клетки - 7

2. Необходимо
провести Робота вверх по лестнице из начального положения (◊) в точку A.

КуМир - Исполнитель Робот - провести Робота - 7

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

Вариант 8

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

2. Необходимо провести Робота вверх по лестнице
из начального положения (◊) в точку A.

КуМир - Исполнитель Робот - провести Робота - 8

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

Вариант 9

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

2. Необходимо провести Робота вниз по лестнице
из начального положения (◊) в точку A.

КуМир - Исполнитель Робот - провести Робота вниз - 9

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

Вариант 10

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

2. Необходимо провести Робота вдоль коридора из
начального положения (◊) до точки A, заглядывая в каждый боковой коридор.

КуМир - Исполнитель Робот - провести Робота - 10

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

3.Цикл с предусловием (цикл ПОКА)

Задания расcчитаны на
группу в 10 человек. Каждая карточка содержит по два задания.

Вариант 1

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

http://www.licey.net/kumir/img/robot/taskCycleWhile1_1.png

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

http://www.licey.net/kumir/img/robot/taskCycleWhile1_2.png

Вариант 2

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

http://www.licey.net/kumir/img/robot/taskCycleWhile2_1.png

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

http://www.licey.net/kumir/img/robot/taskCycleWhile2_2.png

Вариант 3

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

http://www.licey.net/kumir/img/robot/taskCycleWhile3_1.png

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

http://www.licey.net/kumir/img/robot/taskCycleWhile3_2.png

Вариант 4

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

http://www.licey.net/kumir/img/robot/taskCycleWhile4_1.png

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

http://www.licey.net/kumir/img/robot/taskCycleWhile4_2.png

Вариант 5

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

http://www.licey.net/kumir/img/robot/taskCycleWhile5_1.png

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

http://www.licey.net/kumir/img/robot/taskCycleWhile5_2.png

Вариант 6

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

http://www.licey.net/kumir/img/robot/taskCycleWhile6_1.png

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

http://www.licey.net/kumir/img/robot/taskCycleWhile6_2.png

Вариант 7

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

http://www.licey.net/kumir/img/robot/taskCycleWhile7_1.png

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

http://www.licey.net/kumir/img/robot/taskCycleWhile7_2.png

Вариант 8

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

http://www.licey.net/kumir/img/robot/taskCycleWhile8_1.png

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

http://www.licey.net/kumir/img/robot/taskCycleWhile8_2.png

Вариант 9

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

http://www.licey.net/kumir/img/robot/taskCycleWhile9_1.png

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

http://www.licey.net/kumir/img/robot/taskCycleWhile9_2.png

Вариант 10

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

http://www.licey.net/kumir/img/robot/taskCycleWhile10_1.png

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

http://www.licey.net/kumir/img/robot/taskCycleWhile10_2.png

4.Команды
ветвления (если, выбор)

Задания рассчитаны на
группу в 10 человек. Каждая карточка содержит по два задания.

Вариант 1

1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет два горизонтальных и диагональный участки в форме http://www.licey.net/kumir/img/robot/taskIf1.gif. Пример коридора
показан на рисунке.

http://www.licey.net/kumir/img/robot/taskIf1_1.png

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

http://www.licey.net/kumir/img/robot/taskIf1_2.png

Вариант 2

1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет два горизонтальных и диагональный участки в форме http://www.licey.net/kumir/img/robot/taskIf2.gif. Пример коридора
показан на рисунке.

http://www.licey.net/kumir/img/robot/taskIf2_1.png

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

http://www.licey.net/kumir/img/robot/taskIf2_2.png

Вариант 3

1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет два горизонтальных и диагональный участки в форме http://www.licey.net/kumir/img/robot/taskIf3.gif. Пример коридора
показан на рисунке.

http://www.licey.net/kumir/img/robot/taskIf3_1.png

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

http://www.licey.net/kumir/img/robot/taskIf3_2.png

Вариант 4

1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет два горизонтальных и диагональный участки в форме http://www.licey.net/kumir/img/robot/taskIf4.gif. Пример коридора
показан на рисунке.

http://www.licey.net/kumir/img/robot/taskIf4_1.png

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

http://www.licey.net/kumir/img/robot/taskIf4_2.png

Вариант 5

1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет два вертикальных и диагональный участки в форме http://www.licey.net/kumir/img/robot/taskIf5.gif. Пример коридора
показан на рисунке.

http://www.licey.net/kumir/img/robot/taskIf5_1.png

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

http://www.licey.net/kumir/img/robot/taskIf5_2.png

Вариант 6

1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет горизонтальный, вертикальный и диагональный участки в
форме http://www.licey.net/kumir/img/robot/taskIf6.gif. Пример коридора
показан на рисунке.

http://www.licey.net/kumir/img/robot/taskIf6_1.png

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

http://www.licey.net/kumir/img/robot/taskIf6_2.png

Вариант 7

1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет горизонтальный, вертикальный и диагональный участки в
форме http://www.licey.net/kumir/img/robot/taskIf7.gif. Пример коридора
показан на рисунке.

http://www.licey.net/kumir/img/robot/taskIf7_1.png

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

http://www.licey.net/kumir/img/robot/taskIf7_2.png

Вариант 8

1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет горизонтальный, вертикальный и диагональный участки в
форме http://www.licey.net/kumir/img/robot/taskIf8.gif. Пример коридора
показан на рисунке.

http://www.licey.net/kumir/img/robot/taskIf8_1.png

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

http://www.licey.net/kumir/img/robot/taskIf8_2.png

Вариант 9

1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет горизонтальный, вертикальный и диагональный участки в
форме http://www.licey.net/kumir/img/robot/taskIf9.gif. Пример коридора
показан на рисунке.

http://www.licey.net/kumir/img/robot/taskIf9_1.png

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

http://www.licey.net/kumir/img/robot/taskIf9_2.png

Вариант 10

1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет два вертикальных и диагональный участки в форме http://www.licey.net/kumir/img/robot/taskIf10.gif. Пример коридора показан
на рисунке.

http://www.licey.net/kumir/img/robot/taskIf10_1.png

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

http://www.licey.net/kumir/img/robot/taskIf10_2.png

Список литературы

1.     Босова Л.Л. Информатика: уч. для 9 кл. –2-е изд., испр. – М.:
БИНОМ. Лаборатория знаний, 2014

2.     Камалова Н.А.http://festival.1september.ru/articles/594645/

3.     Нурмухамедов Г.М. Информатика. Теоретические основы: учеб. Пос.
для подготовки к ЕГЭ. – СПб.: БХВ-Петербург, 2012

4.     Поляков К.Ю., Еремин Е.А. Информатика. Углубленный уровень: уч.

5.     для 10кл.: в 2 ч. Ч.1. – М.: БИНОМ. Лаборатория знаний, 2013

6.     Семакин И.Г., Залогова Л.А., Русаков С.В. Информатика и ИКТ: уч.
для 9 кл. – М.: БИНОМ. Лаборатория знаний, 2012

7.     Сухих Н.А.Поурочные разработки по информатике: 9 класс. –М.: ВАКО,
2012.

Исполнитель Робот СКИ, обстановка

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

СКИ, обстановка

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

Обстановка Робота

Исполнитель Робот существует в некоторой обстановке — прямоугольном поле, разбитом

на клетки, между которыми могут стоять стены.

Робот может передвигаться по полю, закрашивать клетки.

Сменить стартовую обстановку Файл со стандартной обстановкой входит в поставку Кумира (10×16.fil). Стандартной обстановкой является пустая обстановка максимально допустимого размера 10*16 с Роботом в левом верхнем углу. ” width=”640″

Робот- Сменить стартовую обстановку

  • Файл со стандартной обстановкой входит в поставку Кумира (10×16.fil). Стандартной обстановкой является пустая обстановка максимально допустимого размера 10*16 с Роботом в левом верхнем углу.

Редактировать стартовую обстановку Поставить/убрать стену — щелкнуть по границе между клетками. Закрасить/сделать чистой клетку — щелкнуть по клетке. Переместить Робота — тащить мышью. Изменить размеры обстановки — команда «Новая обстановка» меню «Обстановка» ” width=”640″

Инструменты- Редактировать стартовую обстановку

Поставить/убрать стену — щелкнуть по границе между клетками.

  • Закрасить/сделать чистой клетку — щелкнуть по клетке.
  • Переместить Робота — тащить мышью.
  • Изменить размеры обстановки — команда «Новая обстановка» меню «Обстановка»

Описание алгоритма Алгоритм на языке КуМир записывается так: алг тип_алгоритма имя_алгоритма (описание_параметров) · дано условие_применимости_алгоритма · надо цель_выполнения_алгоритма нач · последовательность команд кон Описание алгоритма состоит из: • заголовка (часть до служебного слова нач) • тела алгоритма (часть между словами нач и кон)

Описание алгоритма

Алгоритм на языке КуМир записывается так:

алг тип_алгоритма имя_алгоритма (описание_параметров)

· дано условие_применимости_алгоритма

· надо цель_выполнения_алгоритма

нач

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

кон

Описание алгоритма состоит из:

заголовка (часть до служебного слова нач)

тела алгоритма (часть между словами нач и кон)

Система команд исполнителя «Робот» включает: Кумир-программа, управляющая Роботом, должна начинаться со строки использовать Робот 5 команд, вызывающих действия Робота (влево, вправо, вверх, вниз, закрасить) • 10 команд проверки условий: – 8 команд вида [слева/справа/снизу/сверху] [стена/свободно] – 2 команды вида клетка [закрашена/чистая]

Система команд исполнителя «Робот» включает:

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

Робот

  • 5 команд, вызывающих действия Робота (влево, вправо, вверх, вниз, закрасить)

• 10 команд проверки условий:

– 8 команд вида [слева/справа/снизу/сверху] [стена/свободно]

– 2 команды вида клетка [закрашена/чистая]

Пример: использовать Робот алг нач · вправо · вниз · влево · вверх · закрасить кон

Пример:

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

алг

нач

· вправо

· вниз

· влево

· вверх

· закрасить

кон

Команды циклических алгоритмов нц число повторений раз · тело цикла (последовательность команд) кц нц пока условие · тело цикла (последовательность команд) кц нц для i от i1 до i2 · тело цикла (последовательность команд) кц

Команды циклических алгоритмов

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

· тело цикла (последовательность команд)

кц

нц пока условие

· тело цикла (последовательность команд)

кц

нц для i от i1 до i2

· тело цикла (последовательность команд)

кц

Задача 1  На поле Робота нет стен и закрашенных клеток. Сколько клеток будет закрашено после выполнения следующих команд: закрасить вправо вверх закрасить вправо закрасить вверх закрасить закрасить вправо закрасить вправо закрасить закрасить вправо вправо закрасить закрасить закрасить вправо

Задача 1 На поле Робота нет стен и закрашенных клеток. Сколько клеток будет закрашено после выполнения следующих команд:

  • закрасить
  • вправо
  • вверх
  • закрасить
  • вправо
  • закрасить
  • вверх
  • закрасить
  • закрасить
  • вправо
  • закрасить
  • вправо
  • закрасить
  • закрасить
  • вправо
  • вправо
  • закрасить
  • закрасить
  • закрасить
  • вправо

Задача 4 Петя составил алгоритм, а Коля стер в нем одну команду:  алг прогулка  д ано   на поле Робота стен нет  надо   Робот погулял и вернулся в исходное положение нач | вверх | вправо | ???  | вниз | влево | влево кон Какую команду стер Коля?

Задача 4

  • Петя составил алгоритм, а Коля стер в нем одну команду:

алг прогулка

д ано на поле Робота стен нет

надо Робот погулял и вернулся в исходное положение

нач

| вверх

| вправо

| ???

| вниз

| влево

| влево

кон

Какую команду стер Коля?

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

Задача 5 – 6

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

Цикл N раз Используется, когда некоторую последовательность команд нужно выполнить несколько раз подряд  нц  число повторений  раз    тело цикла  кц Число повторений – целое число

Цикл N раз

Используется, когда некоторую последовательность команд нужно выполнить несколько раз подряд

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

тело цикла

кц

Число повторений – целое число

 Пример использования цикла алг диагональ   дано   на поле Робота стен нет   надо   Робот закрасил 4 клетки по диагонали нач | нц 3 раз |  |  закрасить; вправо; вниз;  | кц  | закрасить кон  А Б

Пример использования цикла

алг диагональ

дано на поле Робота стен нет

надо Робот закрасил 4 клетки по диагонали

нач

| нц 3 раз

| | закрасить; вправо; вниз;

| кц

| закрасить

кон

А

Б

Пример алг лабиринт   дано   Робот в клетке А   надо   Робот в клетке Б нач | нц 5 раз |  |   вверх; вверх; вверх  | |   вправо | | вниз; вниз; вниз | | вправо | кц  кон А Б

Пример

алг лабиринт

дано Робот в клетке А

надо Робот в клетке Б

нач

| нц 5 раз

| | вверх; вверх; вверх

| | вправо

| | вниз; вниз; вниз

| | вправо

| кц

кон

А

Б

Нарисуем треугольник алг треугольник нач | нц 4 раз |  |   вправо | кц  | нц 4 раз |  |   закрасить; вправо; вниз | кц  | нц 8 раз |  |   закрасить; влево | кц | нц 4 раз |  |   закрасить; вправо; вверх | кц кон А

Нарисуем треугольник

алг треугольник

нач

| нц 4 раз

| | вправо

| кц

| нц 4 раз

| | закрасить; вправо; вниз

| кц

| нц 8 раз

| | закрасить; влево

| кц

| нц 4 раз

| | закрасить; вправо; вверх

| кц

кон

А

Еще один пример А Б алг рисунок нач | нц 3 раз  |  |  вправо; закрасить |  | вниз; закрасить; |  | вниз; закрасить |  | влево; вверх; закрасить |  | вправо; вправо; закрасить |  |  вправо ; вправо ; вверх |  кц  кон рисуем плюс переходим к следующему

Еще один пример

А

Б

алг рисунок

нач

| нц 3 раз

| | вправо; закрасить

| | вниз; закрасить;

| | вниз; закрасить

| | влево; вверх; закрасить

| | вправо; вправо; закрасить

| | вправо ; вправо ; вверх

| кц

кон

рисуем плюс

переходим к следующему

Домашнее задание  Придумать 2 фигуры и запрограммировать их рисование Роботом с использованием цикла N раз (проверить в программе и перенести в тетрадь

Домашнее задание

Придумать 2 фигуры и запрограммировать их рисование Роботом с использованием цикла N раз (проверить в программе и перенести в тетрадь

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

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

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

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

Составить алгоритм перемещения робота по лабиринту из положения А в положение Б. А Б

Составить алгоритм перемещения робота по лабиринту из положения А в положение Б.

А

Б

Цикл пока нц пока условие · тело цикла (последовательность команд) кц

Цикл пока

нц пока условие

· тело цикла (последовательность команд)

кц

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

10 команд проверки условий

  • сверху стена
  • сверху свободно
  • снизу стена
  • снизу свободно
  • справа стена
  • справа свободно
  • слева стена
  • слева свободно
  • клетка закрашена
  • клетка чистая

Закрашивание ряда до стены алг закрасить ряд вправо до стены и вернуться нач  нц пока справа свободно     закрасить; вправо  кц  закрасить  нц пока клетка закрашена     влево  кц  вправо кон

Закрашивание ряда до стены

алг закрасить ряд вправо до стены и вернуться

нач

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

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

кц

закрасить

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

влево

кц

вправо

кон

Закрашивание горизонтального коридора произвольной длины, робот где-то в коридоре алг закрасить коридор нач   нц пока снизу стена     влево   кц  вправо   нц пока снизу стена     закрасить; вправо   кц кон

Закрашивание горизонтального коридора произвольной длины, робот где-то в коридоре

алг закрасить коридор

нач

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

влево

кц

вправо

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

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

кц

кон

Задания   Закрасить клетки у стен прямоугольника, робот где-то внутри прямоугольника Левее робота есть закрашенная клетка, закрасить все клетки между роботом и этой клеткой и вернуться назад Закрасить вертикальный коридор неизвестной длины, робот где-то в коридоре Робот в клетке над горизонтальной стеной неизвестной длины, закрасить все клетки вокруг стены

Задания

  • Закрасить клетки у стен прямоугольника, робот где-то внутри прямоугольника
  • Левее робота есть закрашенная клетка, закрасить все клетки между роботом и этой клеткой и вернуться назад
  • Закрасить вертикальный коридор неизвестной длины, робот где-то в коридоре
  • Робот в клетке над горизонтальной стеной неизвестной длины, закрасить все клетки вокруг стены

Цикл n раз нц число повторений раз · тело цикла (последовательность команд) кц

Цикл n раз

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

· тело цикла (последовательность команд)

кц

использовать Робот алг нач нц 5 раз · закрасить;вправо;вверх кц нц 5 раз · закрасить;вправо;вниз кц закрасить кон

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

алг

нач

нц 5 раз

· закрасить;вправо;вверх

кц

нц 5 раз

· закрасить;вправо;вниз

кц

закрасить

кон

Вложенные циклы нц число повторений раз  нц число повторений раз  тело цикла·  кц · кц

Вложенные циклы

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

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

тело цикла·

кц

· кц

использовать Робот алг УЗОР нач нц  2  раз нц 4 раз нц 4 раз закрасить; вниз вниз; закрасить; вправо вверх; закрасить; вверх; вправо вправо закрасить; вниз вниз; закрасить; вправо вверх; закрасить; вверх; вправо вправо кц· кц· закрасить; вниз вниз; закрасить; вправо вверх; закрасить; закрасить; вниз вниз; закрасить; вправо вверх; закрасить; вниз; вниз; вниз; вниз; нц 1 3 раз нц 1 3 раз влево влево кц кц кц нц 4 раз нц 4 раз закрасить; вниз вниз; закрасить; вправо вверх; закрасить; вверх; вправо; вправо закрасить; вниз вниз; закрасить; вправо вверх; закрасить; вверх; вправо; вправо кц · кц · закрасить; вниз вниз; закрасить; вправо вверх; закрасить; закрасить; вниз вниз; закрасить; вправо вверх; закрасить; кон

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

алг УЗОР

нач

нц 2 раз

нц 4 раз

  • нц 4 раз

закрасить; вниз

вниз; закрасить; вправо

вверх; закрасить; вверх; вправо

вправо

  • закрасить; вниз вниз; закрасить; вправо вверх; закрасить; вверх; вправо вправо

кц·

  • кц·

закрасить; вниз

вниз; закрасить; вправо

вверх; закрасить;

  • закрасить; вниз вниз; закрасить; вправо вверх; закрасить;

вниз; вниз;

  • вниз; вниз;

нц 1 3 раз

  • нц 1 3 раз

влево

  • влево

кц

  • кц

кц

нц 4 раз

  • нц 4 раз

закрасить; вниз

вниз; закрасить; вправо

вверх; закрасить; вверх; вправо; вправо

  • закрасить; вниз вниз; закрасить; вправо вверх; закрасить; вверх; вправо; вправо

кц ·

  • кц ·

закрасить; вниз

вниз; закрасить; вправо

вверх; закрасить;

  • закрасить; вниз вниз; закрасить; вправо вверх; закрасить;

кон

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

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

алг

нач

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

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

вниз;

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

закрасить; вверх;

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

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

кц

вниз; вниз; вниз

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

влево

кц

кц

кон

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

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

алг

нач

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

вниз; закрасить; вниз

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

вверх; закрасить; вверх; влево;

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

вправо;

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

вправо; вниз; закрасить;

вниз; вправо; закрасить; вправо

вверх; закрасить; вверх; влево;

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

вправо;

кц

вниз; вниз; вниз;

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

влево

кц

кц

кон

Команды условных алгоритмов если условие · то серия 1 · иначе серия 2 все  если условие · то серия 1 все

Команды условных алгоритмов

если условие

· то серия 1

· иначе серия 2

все

если условие

· то серия 1

все

Закрасить все клетки коридора, из которых есть выход вверх нц пока снизу стена если сверху свободно то закрасить; вправо иначе вправо все если сверху свободно то закрасить; вправо иначе вправо все если сверху свободно то закрасить; вправо иначе вправо все кц

Закрасить все клетки коридора, из которых есть выход вверх

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

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

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

иначе вправо

все

  • если сверху свободно то закрасить; вправо иначе вправо все
  • если сверху свободно то закрасить; вправо иначе вправо все
  • кц

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

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

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

то

  • то

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

вправо

кц

  • нц пока снизу стена вправо кц
  • нц пока снизу стена вправо кц

иначе

  • иначе

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

вверх

кц

  • нц пока справа стена вверх кц
  • нц пока справа стена вверх кц

все

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

Задачи.

  • В горизонтальном коридоре есть тупики снизу размером в 1 клетку, робот в левой клетке коридора. Вывести робот из коридора вправо и закрасить тупики.
  • На поле нет стен. В ряду из 10 клеток правее робота некоторые клетки закрашены. Закрасить клетки ниже каждой закрашенной.
  • Робот находится внутри прямоугольника. Некоторые клетки в левой вертикали прямоугольника закрашены. Закрасить соответствующие им клетки в правой вертикали.

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

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

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

алг

нач

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

вверх

кц

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

вправо

кц

влево

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

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

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

вниз

кц

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

закрасить; вверх

кц

все

закрасить;влево

кц

кон

Команды условных алгоритмов выбор условие · при условие 1: серия 1 · при условие 2: серия 2 · . . . · при условие n: серия n · иначе серия n+1 все

Команды условных алгоритмов

выбор условие

· при условие 1: серия 1

· при условие 2: серия 2

· . . .

· при условие n: серия n

· иначе серия n+1

все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример

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

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

Решение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сохранение

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

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

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

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

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

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

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

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

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

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