Система программирования КуМир (Комплект Учебных Миров)

Графические исполнители системы КУМИР

Все исполнители системы КУМИР допускают как программируемое поведение, так и работу в интерактивном режиме при помощи пульта.

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

Описание исполнителей

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

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

Также есть 8 команд обратной связи (по две на каждое направление) — либо свободно, либо стена. Например, справа свободно или справа стена.

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

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

Команды управления Чертежником — поднять перо, опустить перо, сместиться в точку (арг вещ х,у), сместиться на вектор (арг вещ х,у).

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

При перемещении опущенного пера за ним остается след — отрезок от старого положения пера до нового, а при перемещении с поднятым пером следа не остается.

Исполнитель Черепаха

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

Размер стороны арены — 500 пикселей. Единица перемещения черепахи соответствует одному пикселю. При запуске исполнителя арена пуста. Черепаха находится в центре, хвост опущен. Тело черепахи можно скрыть, кликнув по полю.

Черепаха понимает следующие команды: поднять хвост, опустить хвост, влево (вещ), вправо (вещ), вперед (вещ), назад (вещ).

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

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

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

Рисователь понимает следующие команды: перо (цел толщина, лит цвет), кисть (лит цвет), в точку (цел х, у), линия в точку (цел х, у), пиксель (цел х, у, лит цвет), линия (цел х1, у1, х2, у2), прямоугольник (цел х1, у1, х2, у2), эллипс (цел х1, у1, х2, у2), окружность (цел хс, ус, r), надпись (цел х, у, лит текст), залить (цел х, у).

Исполнитель Кузнечик

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

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

Задание состоит в закрашивании клеток, помеченных флажком.

Исполнитель Водолей

Даны три стакана, объем каждого стакана - целое число (Стакан С может иметь размер 0. В этом случае он не показывается).

У игрока есть следующие возможности:

1. долить нужный стакан доверху ("из крана");

2. вылить всю воду из указанного стакана (при этом стакан становится пустым);

3. перелить воду из одного стакана в другой (если удается перелить всю воду, то первый стакан становится пустым; в противном случае второй стакан становится полным, а остаток остается в первом стакане.

Пример. Стакан A имеет объем 10 литров, стакан B имеет объем 6 литров; в стакане А находится 7 литров воды, а в стакане B — 2 литра. Если перелить воду из стакана B в стакан А, то в стакане А станет 8 литров, а в стакане B - ничего. Если перелить воду из стакана А в стакан B, то в стакане А станет 3 литра, а в стакане B - 6 литров (стакан будет наполнен доверху).

Цель игры — получить в каком-либо из стаканов указанное количество воды (начальное количество воды в каждом стакане также задано). Таким образом, задание игры Водолей состоит из семи целых чисел:

1. объемы каждого из стаканов (три числа);

2. начальное количество воды в каждом из стаканов (три числа);

3. требуемое количество воды (одно число).

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

При программировании Водолея доступны следующие команды: наполни А, наполни B, наполни C, вылей А, вылей B, вылей C, перелей из A в B, перелей из A в C, перелей из B в A, перелей из B в C, перелей из C в A, перелей из C в B.