Представлены задачи для контрольных работ по программированию на языке КуМир для исполнителя Робот и исполнителя Чертежник, математические задачи, а также примеры с разобранными решениями и заданиями для самостоятельного решения для исполнителя Робот.
Данная книга написана с использованием языка программирования КуМир версии 1.7.3 (rev. 2369). Эту версию вы можете скачать здесь.
Система КуМир разработана в НИИСИ РАН по заказу Российской Академии Наук и распространяется свободно. Дополнительную информацию можно посмотреть на сайте НИИСИ РАН. Там же вы можете скачать свежую версию системы КуМир и установить ее на своем компьютере.
- Задачи для контрольных работ
- Задачи для исполнителя Робот
- КР 1.1. Линейные алгоритмы
- КР 1.2. Циклические алгоритмы. Цикл N раз
- КР 1.3. Использование циклов при создании орнаментов
- КР 1.4. Вложенные циклы (цикл в цикле)
- КР 1.5. Вспомогательный алгоритм
- КР 1.6. Использование переменных. Алгоритмы с аргументами
- КР 1.7. Цикл с параметром (цикл ДЛЯ)
- КР 1.8. Цикл с предусловием (цикл ПОКА)
- КР 1.9. Алгоритм с результатами
- КР 1.10. Команды ветвления (если, выбор)
- КР 2.1. Линейные алгоритмы. Рисование простых фигур
- КР 2.2. Циклы, вспомогательные алгоритмы и переменные
- КР 2.3. Алгоритмы с аргументами. Вспомогательный алгоритм с аргументами в цикле
- КР 2.4. Рисование узоров
- КР 2.5. Построение графика функции. Вспомогательный алгоритм-функция
- КР 3.1. Файловый ввод/вывод
- КР 3.2. Работа со строками
- П 1.1. Измерение радиации
- П 1.2. Измерение температуры
Отдел сбыта: +7 (8453) 76-35-48
КуМир. Робот. Знакомство
+7(960) 349-81-76
как проехать
Поделиться страницей:
Источник: licey.net
Программирование в среде КУМИР
| Это пример алгоритма для исполнителя Кузнечик
использовать Кузнечик
алг Пример алгоритма · дано | Кузнечик на квадрате 0 · надо | Кузнечик на квадрате 1
нач
· вперед 3 · назад 2 · перекрасить кон
Первая строка начинается с прямой черты — так в Кумире обозначаются комментарии. При выполнении программы комментарии полностью игнорируются, они предназначены для людей — для автора программы и других людей, которые будут читать эту программу.
Строка «использовать Кузнечик» позволяет написать программу для исполнителя Кузнечик. Аналогично вызываются и другие исполнители. Эта строка идет до слова алг и может вообще отсутствовать, например, в вычислительных программах.
Слово алг обозначает начало алгоритма. После него идет название алгоритма. Оно подбирается так, чтобы было понятно, для чего нужен алгоритм, но может и отсутствовать.
КуМир. Установка. Знакомство.
В строке дано описывается начальное состояние, из которого запускается алгоритм, а в строке надо — конечное состояние (результат выполнения алгоритма). Эти слова могут отсутствовать. В нашем примере после дано и надо записаны комментарии, поясняющие смысл алгоритма.
Между словами нач и кон записываются команды, из которых состоит алгоритм (тело алгоритма). Слова алг, нач и кон должны располагаться строго друг под другом. Для их добавления в текст программы используйте сокращение Esc, А.
Каждая команда в программе пишется на новой строчке. Если нужно записать несколько команд в одной строке, их разделяют точкой с запятой:
Источник: pskumir.blogspot.com
Как делать задания в кумире. Исполнитель Робот. Циклы
- Представьте себе клетчатое поле (как лист из тетради в клеточку) на котором находится некий объект, который мы назовем Робот. Используя специальные команды, мы можем этим Роботом управлять — перемещать его по клеткам, закрашивать клетки. И в большинстве случаев наша задача будет заключаться в том, чтобы написать такую программу для Робота, выполняя которую он будет закрашивать определенные клетки.
Настройка среды Кумир для исполнителя Робот
- Запущенная программа Кумир выглядит так.
Стартовая обстановка Робота
- Перед началом выполнения программы необходимо задать исполнителю Робот стартовую обстановку. Это значит установить Робота в нужную позицию, расставить стены, закрасить нужные клетки и т. п. Этот шаг очень важен. Если его проигнорировать, то программа может работать неправильно или вообще завершится аварийно.
Нажмите на Редактировать обстановку
Исполнитель Робот. Простые команды.
Результат выполнения этих команд понятен из их названия:
- вверх — переместить Робота на одну клетку вверх
- вниз — переместить Робота на одну клетку вниз
- влево — переместить Робота на одну клетку влево
- вправо — переместить Робота на одну клетку вправо
- закрасить — закрасить текущую клетку (клетку в которой находится Робот).
Пример алгоритма
- Сначала необходимо написать фразу:
- использоватьРобот
Если известно сколько клеток нужно закрасить, то алгоритм решения будет следующим!
- Напишите программу для решения следующей задачи, если известно сколько клеток нужно закрасить
- 1. Цикл со счетчиком применяется когда заранее известно сколько повторений необходимо сделать.
нц раз
Здесь мы должны указать количество повторений (число) и команды, которые будут повторяться. Команды, которые повторяются в цикле называют телом цикла.
- Напишите программу для решения следующей задачи, используя цикл со счетчиком
- 2. Цикл с условием- пока условие истинно-цикл выполняется, если ложно-то не выполняется
- У исполнителя Робот есть несколько условий
сверху свободно
снизу свободно
слева свободно
справа свободно
сверху стена
снизу стена
слева стена
справа стена
- Можно использовать частицы: НЕ, И, ИЛИ
Структура цикла с условием
нц пока справа свободно
- Напишите программу для решения следующей задачи, используя цикл с условием:
- Напишите программу для решения следующей задачи, используя циклы с условием:
- 2. Робота надо перевести из стартового положения в конечное, закрашивая стенки
- На бесконечном поле имеется горизонтальная стена. Длина стены неизвестна. Робот находится сверху от стены в левом ее конце. На рисунке приведено расположение робота относительно стены (робот обозначен буквой «Р»):
Ответ на задание №5
- нц пока не (снизу свободно)
Начало цикла (нц) и условие (пока не(снизу свободно)) — пишутся на одной строчке.
Конструкция если
- сверху свободно снизу свободно слева свободно справа свободно
- Эти команды можно использовать вместе с условием «если» , имеющим следующий вид:
- еслиусловието
- последовательность команд
- Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм:
- если справа свободно то
- вправо
- закрасить
Длины стен неизвестны.
Ответ на задание №7
пока не сверху свободно
пока сверху свободно
пока справа свободно
пока не справа свободно
пока справа свободно
пока не справа свободно
Длины стен неизвестны.
В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны.
Ответ на задание №8
пока сверху свободно
пока не сверху свободно
пока сверху свободно
пока не сверху свободно
пока не снизу свободно
пока снизу свободно
пока не снизу свободно
Длины стен неизвестны.
В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны.
Ответ на задание №9
пока снизу свободно
пока не снизу свободно
пока снизу свободно
пока не снизу свободно
пока не сверху свободно
пока сверху свободно
пока не сверху свободно
Длины стен неизвестны.
В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны.
Ответ на задание №10
пока слева свободно
пока не слева свободно
пока слева свободно
пока не слева свободно
пока не справа свободно
пока справа свободно
пока не справа свободно
Длины стен неизвестны.
В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны.
Ответ на задание №11
пока не сверху свободно
пока не сверху свободно
пока снизу свободно
пока не сверху свободно
На бесконечном поле имеется лестница. Сначала лестница спускается вниз справа налево, затем спускается вниз слева направо. Высота каждой ступени — одна клетка, ширина — две клетки. Робот находится справа от верхней ступени лестницы. Количество ступенек, ведущих влево, и количество ступенек, ведущих вправо, неизвестно.
На рисунке указан один из возможных способов расположения лестницы и Робота (Робот обозначен буквой «Р»).
Ответ на задание №12
Двигаемся вниз под лестницей справа налево, пока не дойдем до стыка лестниц:
нц пока снизу свободно
Двигаемся вниз до конца спускающейся лестницы, закрашивая нужные клетки на пути:
нц пока не слева свободно
Ответ на задание №13
нц пока слева свободно
нц пока не слева свободно
На бесконечном поле имеется прямоугольник, ограниченный стенами. Длины сторон прямоугольника неизвестны. Робот находится внутри прямоугольника. На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).
Ответ на задание №14
пока справа свободно
пока сверху свободно
нц пока слева свободно
Ответ на задание №15
пока справа свободно
пока снизу свободно
пока не (снизу свободно)
пока не (справа свободно)
пока не (сверху свободно)
Ответ на задание №16
пока не справа свободно
пока не сверху свободно
пока сверху свободно
пока справа свободно
пока не справа свободно
Ее для дальнейшей работы и научились задавать . Теперь перейдем непосредственно к составлению алгоритмов для Робота с использованием простых команд.
Если вам больше нравится информация в формате видеоуроков, то на сайте есть видеоурок
У любого исполнителя должна быть система команд (СКИ — система команд исполнителя ). Система команд исполнителя — совокупность всех команд, которые может выполнить исполнитель. В качестве примера рассмотрим дрессированную собаку. Она умеет выполнять некоторые команды — «Сидеть», «Лежать», «Рядом» и т. п. Это и есть ее система команд.
Простые команды Робота
У нашего Робота тоже есть система команд. Сегодня мы рассмотрим простые команды Робота . Всего их 5:
Результат выполнения этих команд понятен из их названия:
- вверх — переместить Робота на одну клетку вверх
- вниз — переместить Робота на одну клетку вниз
- влево — переместить Робота на одну клетку влево
- вправо — переместить Робота на одну клетку вправо
- закрасить — закрасить текущую клетку (клетку в которой находится Робот).
Эти команды можно писать с клавиатуры, а можно использовать горячие клавиши (нажав их команды будут вставляться автоматически):
- вверх — Escape, Up (стрелка вверх)
- вниз — Escape, Down (стрелка вниз)
- влево — Escape, Left (стрелка влево)
- вправо — Escape, Right (стрелка вправо)
- закрасить — Escape, Space (пробел)
Обратите внимание, что набирать нужную комбинацию горячих клавиш нужно не привычным нам способом! Мы привыкли нажимать клавиши одновременно, а здесь их нужно нажимать последовательно . К примеру, чтобы ввести команду вверх, нужно нажать Escape, отпустить ее и после этого нажать стрелку вверх. Это нужно помнить.
Теперь мы готовы написать первый алгоритм для Робота. Предлагаю начать с простого — нарисуем квадрат со стороной 3 клетки. Поехали!
Запускаем Кумир, его. Можно начинать писать программу? Конечно нет! Мы же не ! Делаем это. Предлагаю использовать вот такую:
Вот теперь все готово. Начинаем писать программу. Пока она выглядит так
Удаляем символ «|» и называем наш алгоритм «Квадрат»
Предлагаю рисовать квадрат, двигаясь по часовой стрелке. Для начала закрасим текущую клетку, дав команду закрасить . Потом делаем шаг вправо и опять закрашиваем клетку. И еще раз шаг вправо и закрасить.
Попробуем запустить программу и посмотреть что же получилось. Для запуска нажимаем F9 или же кнопку на панели инструментов
В результате мы должны увидеть вот такую картину
Если такое окно Робота у вас не появилось, то на панели инструментов щелкните «Показать окно Робота » или в меню Робот выберите пункт «Показать окно Робота «. Продолжаем дальше.
Теперь мы будем двигаться вниз и закрашивать правую сторону квадрата:
Потом пойдем влево, закрашивая нижнюю границу квадрата
У нас осталась одна незакрашенная клетка. Закрасим ее
Все готово! В итоге наша программа выглядит так:
использовать Робот
алг Квадрат
Исполнитель Робот Система команд исполнителя Робот Команды перемещения: вверх, вниз, влево, вправо Робот перемещается на одну клетку вверх, вниз, влево, вправо. Команда закрасить – закрашивает клетку, в которой стоит Робот. Проверка истинности условия: сверху свободно, снизу свободно, слева свободно, справа свободно Робот проверяет истинность условия отсутствия стены у той клетки, где находится Робот. Можно использовать запись составных условий, образованных логическими операциями И, ИЛИ, НЕ.
Исполнитель Робот Непосредственное редактирование обстановки Все команды редактирования обстановки выполняются с помощью мыши: поставить/убрать стену – щелкнуть по границе между клетками, закрасить/очистить клетку – щелкнуть по клетке, переместить Робота – перетащить мышью в нужную клетку.
Исполнитель Робот Команды меню Робот Показать поле Робота Делает видимым окно наблюдения за Роботом. Напечатать обстановку Создает файл в формате PDF, изображающий текущую обстановку в цветном или в черно-белом варианте. Сохранить обстановку в файл Создает текстовый файл с описанием обстановки во внутреннем формате *.fil.
Этот файл в дальнейшем может быть загружен в качестве стартовой обстановки (команда Сменить стартовую обстановку) или при редактировании стартовой обстановки (команда Открыть окна редактирования стартовой обстановки). Сменить как стартовую обстановку Устанавливает новое имя файла стартовой обстановки (с помощью стандартного диалога) и загружает новую стартовую обстановку. Вернуться в стартовую обстановку Делает стартовую обстановку текущей.
Исполнитель Робот Изображение текущей обстановки в окне наблюдения Изображение текущей обстановки всегда полностью помещается в рабочем поле окна наблюдения за Роботом. Фон рабочего поля – зеленый. Закрашенные клетки – серые. Между клетками – тонкие черные линии. Стены Изображаются толстыми желтыми линиями.
В клетке рабочего поля окна наблюдения Робот изображается ромбиком.
Исполнитель Робот Пример 1. Составим алгоритм с именем «Ход конем», что бы Роботу попасть из точки А в точку Б (Рис.3). Алгоритм имеет вид (Рис. 4.). После его исполнения Робот переместиться в нужную точку (Рис.5). Алгоритм, записанный на языке исполнителя называется программой. Рис.3Рис.4 Рис.5
Источник: sotikteam.ru