Домой / Отопление / Кумир написать программу в которой робот. Практическая работа по информатике

Кумир написать программу в которой робот. Практическая работа по информатике

КуМир (К омплект У чебных МИР ов) — это свободно распространяемая кроссплатформенная русскоязычная система программирования, предназначенная для начального обучения основам алгоритмизации. Скачать КуМир 1.9 можно на сайте разработчиков или на официальном сайте проекта .

Достоинства :

  • свободно распространяемая среда (лицензия GPL 2.0);
  • кроссплатформенность (Windows, Linux );
  • поддержка со стороны российских разработчиков (НИИСИ РАН);
  • русскоязычные команды языка программирования;
  • развитые возможности отладки программ;
  • автоматическое выравнивание, показывающее структуру программы;
  • возможность строить заготовки задач с автоматической проверкой;
  • возможность управления исполнителями из программы;
  • возможность подключения новых исполнителей.

Недостатки: :

  • сложно мотивировать учащихся на изучение языка, который нигде не применяется;
  • очень медленная работа интерпретатора (обещают существенно ускорить в версии 2.0, которая сейчас разрабатывается);
  • нельзя менять значения аргументов внутри вспомогательных алгоритмов (например, в реализации алгоритма Евклида как функции приходится заводить две лишние переменные);
  • нельзя вызывать функцию как процедуру, игнорируя ее результат (например, когда результат функции — код возврата и в данном случае он меня не интересует);
  • неудобная и неполная справочная система;
  • нет форматного вывода на консоль и в файл, как в Паскале (типа вывод x:4); это нужно, например, чтобы вывести на экран матрицу ровными столбиками.

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

На этой странице представлены методические разработки автора по использованию среды КуМир в 6-8 классах общеобразовательной школы.

Новости теперь и в Telegram-канале

2 апреля 2019 г.
Размещена работа Е.В. Дрожжиной «Алгоритмика на Кумире. Сборник заданий по программированию» (Белгород, 2016).

19 декабря 2017 г.
Добавлен практикум для подготовки к ОГЭ по информатике (задача 20.1 с Роботом).

1 марта 2013 г.
Добавлены материалы к докладу «Практикумы с автоматической проверкой решений в среде КуМир» на V Международном педагогическом марафоне учебных предметов (28 февраля — 1 марта 2013 года, г. Великие Луки).

27 января 2013 г.
Добавлен практикум «Задачи C2» для подготовки к ЕГЭ по информатике.

12 октября 2012 г.
Добавлен доклад «Программирование по-русски» на Седьмой межрегиональной научно-практической конференции «Развитие региональной образовательной информационной среды» .

11 апреля 2012 г.
Добавлена контрольная работа по исполнителю Робот (в форме курса).

Лицензионное соглашение

  1. 1) публикация материалов в любой форме, в том числе размещение материалов на других Web-сайтах;
  2. 2) распространение неполных или измененных материалов;
  3. 3) включение материалов в сборники на любых носителях информации;
  4. 4) получение коммерческой выгоды от продажи или другого использования материалов.

Скачивание материалов означает, что вы приняли условия этого лицензионного соглашения.

ОГЭ по информатике

Практикум для подготовки к ОГЭ по информатике содержит 7 разделов, представляющих разные типы задач:

  1. Закрытый коридор.
  2. Одна стенка.
  3. Один ряд, много стенок.
  4. Два ряда.
  5. Стенки с проходами.
  6. Лестницы.
  7. Разные сложные задачи.

Материалы курса:

Массивы

Практикум по обработке массивов состоит из двух частей. Первая часть («Массивы-1») содержит 6 разделов:

  1. Заполнение массива.
  2. Обработка всех элементов массива.
  3. Минимум и максимум.
  4. Подсчёт элементов массива.
  5. Суммы и произведения элементов.
  6. Поиск в массиве.

Вторая часть («Массивы-2») содержит 6 разделов:

  1. Реверс массива.
  2. Циклический сдвиг элементов.
  3. Отбор элементов массива по условию.
  4. Сортировка методом пузырька.
  5. Сортировка методом выбора.
  6. Двоичный поиск.

Материалы курса:

  • Практикум «Массивы-1»
  • Контрольная работа по первой части курса (тоже в формате курса:-).
  • Учителя могут получить решения электронной почте .

Символьные строки

Практикум по обработке символьных строк содержит 5 разделов:

  1. Работа с отдельными символами.
  2. Замена символов.
  3. Подсчёт символов.
  4. Разбор символьных строк.
  5. Вычисление арифметических выражений.

Материалы курса:

  • Практикум «Строки» для использования в среде КуМир (версия не ниже 1.8).
  • Учителя могут получить решения всех задач практикума. Для этого нужно связаться с автором по электронной почте .

Функции

Практикум по составлению алгоритмов-функций содержит 6 разделов:

  1. Функции с одним параметром.
  2. Функции с несколькими параметрами.
  3. Обработка символьных строк.
  4. Логические функции.
  5. Обработка массивов.
  6. Рекурсивные функции.

Материалы курса:

  • Практикум «Функции» для использования в среде КуМир (версия не ниже 1.8).
  • Учителя могут получить решения всех задач практикума. Для этого нужно связаться с автором по электронной почте .

Подготовка к ЕГЭ по информатике

Практикум по решению задач C2 (см. также материалы для подготовки к ЕГЭ) содержит 5 разделов:

  1. Максимумы и минимумы.
  2. Подсчёт и поиск элементов.
  3. Суммы, средние и произведения.
  4. Последовательности.
  5. Матрицы.

Материалы курса:

  • Практикум «Задачи C2» для использования в среде КуМир (версия не ниже 1.8).
  • Учителя могут получить решения всех задач практикума. Для этого нужно связаться с автором по электронной почте .

Водолей

Курс по исполнителю Водолей состоит из 6 уроков:

  • Урок 0. Знакомство с исполнителем Водолей. Управление с помощью пульта.
  • Урок 1. Составление программы для управления Водолеем.
  • Урок 2. Циклы «N раз».
  • Урок 3.
  • Урок 4. Переменные.
  • Урок 5. Ветвления.

Материалы курса:

Робот

Курс по исполнителю Робот состоит из 12 уроков:

  • Урок 1. Знакомство с исполнителем Робот. Линейные алгоритмы.
  • Урок 2. Циклы «N раз».
  • Урок 3. Циклы «N раз» (решение задач).
  • Урок 4. Вложенные циклы.
  • Урок 5. Циклы с условием (циклы «пока»).
  • Урок 6. Ветвления.
  • Урок 7. Сложные условия.
  • Урок 8. Вспомогательные алгоритмы.
  • Урок 9. Переменные.
  • Урок 10. Алгоритмы с результатом (алгоритмы-функции).
  • Урок 11. Циклы с переменной.
  • Урок 12. Алгоритмы с параметрами.

Материалы курса:

  • Презентация

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

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


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

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

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

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

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

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

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



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

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

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

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

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

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

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


Задание №1

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

Циклы

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

нц раз

кц

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



Задание №2

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

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

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

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

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

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

сверху стена

снизу стена

слева стена

справа стена

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

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

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

вправо

закрасить

кц



Задание №3

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

Задание №4

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



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

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


Задание №5

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

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

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

закрасить

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



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

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

Задание №7

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


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

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

за­кра­сить

впра­во

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

впра­во

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

за­кра­сить

впра­во

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

за­кра­сить

вниз

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

вниз

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

за­кра­сить

вниз


Задание №8

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

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


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

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

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

за­кра­сить

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

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

за­кра­сить

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

за­кра­сить

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

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

за­кра­сить


Задание №9

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

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


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

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

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

за­кра­сить

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

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

за­кра­сить

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

за­кра­сить

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

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

за­кра­сить


Задание №10

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

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


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

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

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

за­кра­сить

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

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

за­кра­сить

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

за­кра­сить

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

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

за­кра­сить


Задание №11

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

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


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

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

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

за­кра­сить

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

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

за­кра­сить


Задание №12

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


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

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

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

вниз

влево

влево

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

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

за­кра­сить

впра­во

за­кра­сить

впра­во

вниз



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

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

за­кра­сить

влево

вверх

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

за­кра­сить

вверх


Задание №14

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


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

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

впра­во

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

вверх

за­кра­сить

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

влево

за­кра­сить



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

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

за­кра­сить

впра­во

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

за­кра­сить

вниз

за­кра­сить

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

влево

вниз

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

за­кра­сить

вниз

за­кра­сить

впра­во

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

за­кра­сить

впра­во



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

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

за­кра­сить

вниз

за­кра­сить

впра­во

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

за­кра­сить

впра­во

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

вверх

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

за­кра­сить

впра­во

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

за­кра­сить

вниз



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

Среда программирования КуМир

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

ЗАДАЧА

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

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

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

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

РЕШЕНИЕ

Данную задачу будем решать в среде программирования КуМир. Откроем программу и перейдем в меню Робот — > Редактировать обстановку

Строим лестницу. тЛевой кнопкой мыши щелкаем по стенкам клетки. Ромб (робот) перемещаем в нужное место, зажав левую кнопку мыши

Выходим из режима редактирования меню Робот — > Редактировать обстановку. Далее напишем на первой строчке команду «использовать Робот».

Сначала вспомним некоторые команды для исполнителя Робот.

В задании сказано, что

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

Это означает, что Робот должен передвигаться с помощью цикла «Пока». Рассуждаем так: снизу под роботом стена, значит снизу не свободно. На 4 строчке редактора пишем команду

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

Внутри цикла необходимо последовательно выполнить команды:

Вправо вниз закрасить вправо закрасить влево вниз закрасить вправо закрасить

Полностью готовая программа выглядит так:

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

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


Итак, алгоритм закрашивает клетки при любом количестве ступеней лестницы.

Для умение писать программы для исполнителя Робот очень важно. Эти задания относятся к задачам с высоким уровнем сложности и позволяют заработать дополнительные 2 балла (при условии правильного решения). Изучением Робота мы и займемся.

Выпускник 9 класса должен иметь представление об алгоритмике, уметь написать . Для записи алгоритмов можно использовать языки программирования или формальные языки. Исполнитель Робот может выполнять алгоритмы, при этом делает это очень наглядно. Робот — это так называемый ГРафический Учебный Исполнитель (ГРИС) потому, что результаты его работы представлены в графическом виде.

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

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

Исполнитель Робот входит в пакет КуМир (Комплект Учебных МИРов), который был разработан Научно-исследовательским институтом системных исследований Российской академии наук (НИИСИ РАН) как раз для обучения программированию в школе. Кроме Робота в системе КуМир есть и другие исполнители, но нас они пока не интересуют.

Скачать исполнитель Робот

Итак, для начала нам необходимо . Пусть вас не смущает то, что в названии указано 32-bit, программа отлично работает и в 64-разрядной Windows. Если же вы используете Linux, то можете версию для этой ОС.

Далее необходимо установить скачанную программу. Здесь, я надеюсь, у вас не возникнет сложностей, процесс стандартный и интуитивно понятный. Если вдруг что-то не получится — пишите в комментариях, обязательно помогу. Единственное — рекомендую при установке отказаться от ненужных пунктов (все, кроме Среда Кумир)

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

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

Исполнитель Робот — окно программы

Задания для тренировки

1) Исполнитель КУЗНЕЧИК живёт на числовой оси. Начальное положение КУЗНЕЧИКА – точка 0. Система команд Кузнечика:

Вперед 4 – Кузнечик прыгает вперед на 4 единицы, Назад 3 – Кузнечик прыгает назад на 3 единицы.

Какое наименьшее количество раз должна встретиться в программе команда «Назад 3», чтобы Кузнечик оказался в точке 27?

2) Исполнитель КУЗНЕЧИК живёт на числовой оси. Начальное положение КУЗНЕЧИКА – точка 0. Система команд Кузнечика:

Вперед 6 – Кузнечик прыгает вперёд на 6 единиц,

Назад 4

Какое наименьшее количество раз должна встретиться в программе команда «Назад 4», чтобы Кузнечик оказался в точке 28?

3) Исполнитель КУЗНЕЧИК живёт на числовой оси. Начальное положение КУЗНЕЧИКА – точка 0. Система команд Кузнечика:

Вперед 5 – Кузнечик прыгает вперёд на 5 единиц,

Назад 3 – Кузнечик прыгает назад на 3 единицы.

Какое наименьшее количество раз должна встретиться в программе команда «Назад 3», чтобы Кузнечик оказался в точке 21?

4) Исполнитель КУЗНЕЧИК живёт на числовой оси. Начальное положение КУЗНЕЧИКА – точка 0. Система команд Кузнечика:

Вперед 7

Назад 5

Какое наименьшее количество раз должна встретиться в программе команда «Назад 5», чтобы Кузнечик оказался в точке 19?

5) Исполнитель КУЗНЕЧИК живёт на числовой оси. Начальное положение КУЗНЕЧИКА – точка 10. Система команд Кузнечика:

Вперед 7 – Кузнечик прыгает вперёд на 7 единиц,

Назад 4 – Кузнечик прыгает назад на 4 единицы.

Какое наименьшее количество раз должна встретиться в программе команда «Назад 4», чтобы Кузнечик оказался в точке 43?

6) Исполнитель КУЗНЕЧИК живёт на числовой оси. Начальное положение КУЗНЕЧИКА – точка 15. Система команд Кузнечика:

Вперед 17 – Кузнечик прыгает вперёд на 17 единиц,

Назад 6 – Кузнечик прыгает назад на 6 единиц.

Какое наименьшее количество раз должна встретиться в программе команда «Назад 6», чтобы Кузнечик оказался в точке 36?

7) Исполнитель КУЗНЕЧИК живёт на числовой оси. Начальное положение КУЗНЕЧИКА – точка 20. Система команд Кузнечика:

Вперед 3 – Кузнечик прыгает вперёд на 3 единицы,

Назад 5 – Кузнечик прыгает назад на 5 единиц.

За какое наименьшее количество команд можно перевести Кузнечика в точку (-4)?

«Вперед 4» (Кузнечик прыгает вперед на 4 единицы),

Какое наименьшее количество раз должна встретиться в программе команда «Назад 3», чтобы Кузнечик оказался в точке 31?

9) Исполнитель Кузнечик живет на числовой оси. Начальное положение - точка 0. Система команд кузнечика:

Какое наименьшее количество раз должна встретиться в программе команда «Назад 4», чтобы Кузнечик оказался в точке 31?

10)

«Вперед 3» (Кузнечик прыгает вперед на 3 единицы),

«Назад 4» (Кузнечик прыгает назад на 4 единицы).

Какое наименьшее количество раз должна встретиться в программе команда «Назад 4», чтобы Кузнечик оказался в точке 32?

11) Исполнитель Кузнечик живет на числовой оси. Начальное положение - точка 0. Система команд кузнечика:

«Вперед 5» (Кузнечик прыгает вперед на 5 единиц),

«Назад 3» (Кузнечик прыгает назад на 3 единицы).

Какое наименьшее количество раз должна встретиться в программе команда «Назад 3», чтобы Кузнечик оказался в точке 33?

12) Исполнитель Кузнечик живет на числовой оси. Начальное положение - точка 0. Система команд кузнечика:

«Вперед 6» (Кузнечик прыгает вперед на 6 единиц),

«Назад 5» (Кузнечик прыгает назад на 5 единиц).

Какое наименьшее количество раз должна встретиться в программе команда «Назад 5», чтобы Кузнечик оказался в точке 33?