Разработка и решение нестандартных задач для исполнителя Робот в системе программирования «КуМир»

Автор: Валова Надежда Владимировна

Организация: МБОУ ООШ № 9

Населенный пункт: Красноярский край, г. Канск

Введение

«Прежде, чем что-нибудь сделать, надо составить план», - говорила Алиса из сказки Льюиса Кэрролла. И в жизни мы все время составляем планы наших действий. В информатике планом (последовательностью) действий называют алгоритмом. Алгоритм состоит из отдельных шагов – команд, а программа – это алгоритм, записанный на каком-либо языке программирования.

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

На уроках информатики школьники знакомятся со школьным алгоритмическим языком и основными алгоритмическими структурами, а задачи с исполнителем Робот и лабиринтом входят в основной государственный экзамен (ОГЭ). Но часто бывает так, что стандартные задания из учебника очень простые и их выполнение не вызывает особого интереса. Поэтому было решено разработать свои нестандартные практические задания на школьном алгоритмическом языке для исполнителя Робот в среде программирования «Кумир».

Цель проекта: создание и решение нестандартных задач для исполнителя Робот в системе программирования «КуМир».

Задачи:

  1. ознакомиться с основными сведениями о системе «КуМир»;
  2. рассмотреть систему команд исполнителя Робот;
  3.  описать базовые алгоритмические структуры;
  4. разработать нестандартные задания для каждой алгоритмической структуры;
  5. оформить сборник заданий.

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

 

 

    1. Теоретические основы разработки программ в системе программирования «КуМир»

«КуМир» – это русскоязычная система программирования, созданная в ФГУ ФНЦ НИИСИ РАН по заказу Российской Академии Наук. Программы в среде «Кумир» создаются с помощью универсального языка программирования, прототипом которого послужил «школьный язык программирования», разработанный А.П. Ершовым в первой половине 80-х годов ХХ века [1].

Язык «КуМир» - это язык, с которого хорошо начать, чтобы освоить основы алгоритмического подхода к программированию. Для записи алгоритмов на школьном алгоритмическом языке используется некоторое ограниченное число слов, смысл и способ употребления которых заданы раз и навсегда. Это так называемые служебные слова: алг (алгоритм), дано, надо, нач (начало), кон (конец), арг (аргумент), рез (результат) и др. Особенностью работы в «КуМир» является возможность пошагового выполнения команд и визуального отслеживания результатов. Каждое действие исполнителя отображается на экране в режиме реального времени, что позволяет легко находить ошибки в алгоритме и понимать, как работает программа. Система также предоставляет подробные сообщения об ошибках, если исполнитель не может выполнить команду из-за ограничений или неправильных параметров [2].

Расшифровывается слово «КуМир» как Комплект Учебных Миров. Это система, в которой представлены несколько исполнителей. Исполнители в системе «КуМир» представляют собой специальные программные модули, разработанные для наглядной демонстрации работы алгоритмов. Каждый исполнитель обладает своим набором команд и особенностей, что позволяет решать различные типы задач. Основными исполнителями в системе являются Робот, Чертёжник, Черепаха, Водолей, каждый из которых специализируется на определенном виде деятельности, например, Водолей - наполняет и выливает воду из стаканов, Черепаха - рисует линии и фигуры, Чертежник - строит графики и диаграммы.

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

Робот – это исполнитель алгоритмов. И как у каждого исполнителя, у него есть своя система команд. Все команды Робота можно условно разделить на несколько видов. Основные команды и их описание представлены в таблице 1.

Таблица 1

Команда

Описание

Команды-приказы

вверх

Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.

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

вниз

влево

вправо

закрасить

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

выход

Команда используется для выхода из цикла или окончания работы текущего алгоритма

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

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

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

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

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

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

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

Проверка истинности условия: клетка закрашена – «истина», иначе – «ложь».

 

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

    1. Основные алгоритмические структуры

В 1969 году нидерландский ученый Эдсгер Дейкстра доказал важную теорему. Суть ее в том, что для решения любой логической задачи можно составить алгоритм, используя лишь три алгоритмических структуры: следование, ветвление и повторение [3].

Алгоритмическая структура «следование».

Программирование в среде «КуМир» начинается с создания простых линейных алгоритмов, которые представляют собой последовательность команд, выполняемых одна за другой. При создании линейных алгоритмов особое внимание нужно уделить правильной последовательности действий. Например, для решения задачи перемещения Робота из одной точки в другую необходимо составить последовательность команд движения, учитывая расположение препятствий и особенности маршрута [4].

Алгоритмическая структура «ветвление».

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

На алгоритмическом языке эта структура записывается следующим образом:

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

если <условие>

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

все

Полное ветвление
если <условие>
   то <действия 1>
   иначе <действия 2>
все

 

 

 

 

 

 

 

Алгоритмическая структура «повторение».

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

Цикл с предусловием (цикл «пока») используется тогда, когда число повторений цикла заранее неизвестно, но ограничено каким-то условием. Если условие перестает быть верным (истинным), выполнение цикла заканчивается, и исполнитель переходит к следующей команде. Условие проверяется в начале цикла, то есть если перед выполнением цикла условие ложно, то цикл не выполнится ни разу[3].

На алгоритмическом языке эта структура записывается следующим образом:

нц пока <условие>
     <тело цикла (последовательность действий)>
кц
Цикл в постусловием (цикл «до») – это цикл с заданным условием окончания работы. Этот цикл работает до тех пор, пока его условие не выполнится, а так как его условие проверяется после исполнения тела цикла, то такой цикл в любом случае выполняется в программе хотя бы один раз. Наглядно работа этого цикла представлена на рисунке 3.
В среде «Кумир» эта конструкция записывается так:
нц 
     <тело цикла (последовательность действий)>
кц при <условие>

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

1.3 Разработка заданий для исполнителя Робот и создание сборника задач

Работу по непосредственному созданию сборника заданий мы разделили на несколько этапов:

  1. Создание исходных (стартовых) обстановок для исполнителя.
  2. Построение алгоритма по решению задачи.
  3. Написание программы на языке Кумир.
  4. Оформление сборника и его печать.

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

Для начинающих мы предлагаем разработать программу по созданию рисунка «Улыбка Робота» с использованием только линейной алгоритмической структуры «следование».

Исходная обстановка: поле размером 7х7. Задание: создать рисунок «Улыбка Робота» по образцу. Исходное и конечное положение исполнителя представлены на рисунках:

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

Один из возможных маршрутов перемещения Робота можно представить так:

Подробный текст программы приведен в сборнике заданий.

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

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


Возможное исходное положение и результат выполнения программы представлены на ниже:

 

Так как по условию задачи, исходное положение Робота неизвестно (он может находиться либо в крайней левой, либо в крайней правой клетке, то необходимо задать условие для исполнителя. В данном случае будет использована алгоритмическая структура «полное ветвление». Предположим, что исходное положение Робота – крайняя левая клетка, следовательно, слева от него находится стена. Соответственно, можно задать условие: если не (слева свободно), то необходимо закрасить клетку, в которой стоит Робот, пройти две клетки вправо и закрасить последнюю, затем проследовать два раза влево на исходное положение. Если Робот стоит в левой крайней клетке, то заданное условие будет для Робота истинным и он выполнит предложенную последовательность действий. Но если Робот изначально стоит в крайней правой клетке, то заданное условие для него будет ложным, и тогда ему нужно выполнить действия по «ветке» иначе.

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

           

Составили алгоритм решения этого задания и написали текст программы: 

Также были разработаны и другие интересные задания и обстановки для исполнителя Робот. Формат печатного сборника - А5. Содержит титульный лист и аннотацию. На первых страницах приводятся краткие сведения и команды для записи алгоритмов на языке «Кумир». Сам сборник включает в себя 11 различных заданий и их решение.

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

 

Заключение

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

 

Список использованной литературы и источников

1.  Кушниренко А.Г. Информатика. 7-9 кл.: Учебн.для общеобразоват. учеб.заведений / А.Г. Кушниренко, Г.В. Лебдев, Я.Н. Зайдельман. – 3-е изд.стереотип. – М.: Дрофа, 2002. – 336с.

2. Шауцукова Л.З. Информатика. Теория: [Электронный ресурс] URL: https://book.kbsu.ru/theory/index.html (Дата обращения: 27.01.2025)

3. Алгоритмические структуры (типы алгоритмов). [Электронный ресурс] URL:  https://inf1.info/algorithmtype (Дата обращения: 27.01.2025)

4. Универсальный язык программирования Кумир [Электронный ресурс] URL: https://informaschka.ucoz.ru/publ/kompteririja/kompteririja/universalnyj_jazyk_programmirovanija_kumir/13-1-0-13 (Дата обращения: 27.01.2025)

 

 

Полный текст статьи см. в приложении.


Приложения:
Для доступа к приложениям, Войдите в систему или зарегистрируйтесь

Опубликовано: 10.02.2026
Мы сохраняем «куки» по правилам, чтобы персонализировать сайт. Вы можете запретить это в настройках браузера