Для подготовки к ГИА и ОГЭ умение писать программы для исполнителя Робот очень важно. Эти задания относятся к задачам с высоким уровнем сложности и позволяют заработать дополнительные 2 балла (при условии правильного решения). Изучением Робота мы и займемся.
Выпускник 9 класса должен иметь представление об алгоритмике, уметь написать простые алгоритмы. Для записи алгоритмов можно использовать языки программирования или формальные языки. Исполнитель Робот может выполнять алгоритмы, при этом делает это очень наглядно. Робот — это так называемый ГРафический Учебный Исполнитель (ГРИС) потому, что результаты его работы представлены в графическом виде.
Кто такой исполнитель Робот?
Представьте себе клетчатое поле (как лист из тетради в клеточку) на котором находится некий объект, который мы назовем Робот. Используя специальные команды, мы можем этим Роботом управлять — перемещать его по клеткам, закрашивать клетки. И в большинстве случаев наша задача будет заключаться в том, чтобы написать такую программу для Робота, выполняя которую он будет закрашивать определенные клетки.
Исполнитель Робот входит в пакет КуМир (Комплект Учебных МИРов), который был разработан Научно-исследовательским институтом системных исследований Российской академии наук (НИИСИ РАН) как раз для обучения программированию в школе. Кроме Робота в системе КуМир есть и другие исполнители, но нас они пока не интересуют.
Скачать исполнитель Робот
Итак, для начала нам необходимо скачать исполнитель Робот. Пусть вас не смущает то, что в названии указано 32-bit, программа отлично работает и в 64-разрядной Windows. Если же вы используете Linux, то можете скачать версию для этой ОС.
Далее необходимо установить скачанную программу. Здесь, я надеюсь, у вас не возникнет сложностей, процесс стандартный и интуитивно понятный. Если вдруг что-то не получится — пишите в комментариях, обязательно помогу. Единственное — рекомендую при установке отказаться от ненужных пунктов (все, кроме Среда Кумир)
Установка исполнителя Робот
После успешной установки, на вашем рабочем столе появится ярлык для запуска программы
Ярлык Кумир
А после запуска программы мы должны увидеть окно программы
Исполнитель Робот — окно программы
Предварительный этап завершен, далее мы рассмотрим как же управлять Роботом и в конечном итоге подготовимся к успешной сдаче ГИА 🙂
Продолжение в следующем уроке. До встречи!
Автор:
Загрузка…
Кто такой исполнитель Робот?
Представьте себе клетчатое поле (как лист из тетради в клеточку) на котором находится некий объект, который мы назовем Робот. Используя специальные команды Кумир, мы можем этим Роботом управлять — перемещать его по клеткам, закрашивать клетки. И в большинстве случаев наша задача будет заключаться в том, чтобы написать такую программу для Робота, выполняя которую он будет закрашивать определенные клетки.
Видео на тему: КуМир. Робот. Знакомство
Настройка среды Кумир для исполнителя Робот.
Запущенная программа Кумир выглядит так.
Первым делом мы должны раскоментировать первую строку нашей программы, убрав символ |
Таким образом, программа станет выглядеть так:
использовать Робот
алг
нач
кон
Удалив символ |, мы тем самым указали Кумиру на то, что будем работать с исполнителем Робот. Если этого не сделать, то при написании программы мы столкнемся с ошибкой «Нет такого алгоритма». Поэтому очень важно при создании новой программы раскоментировать первую строку. Теперь все готово для дальнейшей работы.
Но перед началом, нам необходимо задать стартовую обстановку Робота и познакомиться с простыми командами исполнителя Робот.
Стартовая обстановка Робота
Перед началом выполнения программы необходимо задать исполнителю Робот стартовую обстановку. Это значит установить Робота в нужную позицию, расставить стены, закрасить нужные клетки и т. п. Этот шаг очень важен. Если его проигнорировать, то программа может работать неправильно или вообще завершится аварийно.
Что такое стартовая обстановка?
Наш Робот находится в некой среде — это клетчатое поле, размер которого известен. Так же на этом поле могут находится стены и закрашенные клетки, а сам Робот может находится в любой клетке. Так вот — стартовая обстановка задает положение Робота на поле и расположение всех остальных элементов — стен, закрашенных клеток. И перед тем, как писать алгоритм для Робота необходимо задать стартовую обстановку. Насколько это важно давайте рассмотрим на примере. Пусть есть две стартовые обстановки:
Отличаются они только тем, что в стартовой обстановке 2 справа от Робота находится стена.
Если наша программа начнется с команды, которая переместит Робота на одну клетку вправо (о простых командах Робота), то в первом случае (стартовая обстановка 1) Робот выполнит эту команду, а во втором программа завершится аварийно, так как Робот не может ходить сквозь стены. Получается, что одна и та же программа в первом случае работает, а во втором приводит к ошибке. Именно поэтому так важно задавать стартовую обстановку для Робота.
Как задать стартовую обстановку в Кумир?
Запустив среду Кумир в меню Инструменты выбираем пункт Редактировать стартовую обстановку Робота.
Откроется окно с синим фоном. Это и есть стартовая обстановка Робота. И мы ее можем изменить.
По-умолчанию, размер окна 10 на 15 клеток. Если нам необходимо изменить количество строк и столбцов, то щелкаем Обстановка -> Новая обстановка и задаем необходимые значения
Далее,
- чтобы переместить Робота в новую позицию, щелкаем по нему левой кнопкой мыши и не отпуская ее тащим Робота в нужное место.
- чтобы добавить/удалить стену, щелкаем левой кнопкой мыши по границе клетки.
- чтобы закрасить/очистить клетку, щелкаем по ней левой кнопкой мыши
- чтобы добавить или убрать точку в клетку щелкаем по клетке, удерживая клавишу Ctrl
После того, как мы задали нужную стартовую обстановку, ее необходимо сохранить (Обстановка -> Сохранить или Обстановка -> Сохранить как). После этого закрываем окно Обстановка и в основном окне программы выбираем Робот -> Сменить стартовую обстановку
Находим сохраненную ранее обстановку и загружаем ее. После этого убедимся, что загрузили правильную стартовую обстановку, щелкнув по кнопке Показать окно Робота
Если в окне с зеленым фоном (текущая обстановка Робота) вы увидите вашу обстановку, то можно переходить к написанию алгоритма, используя простые команды Робота.
Исполнитель Робот. Простые команды.
У нашего Робота тоже есть система команд. Сегодня мы рассмотрим простые команды Робота. Всего их 5:
вверх
вниз
влево
вправо
закрасить
Результат выполнения этих команд понятен из их названия:
вверх — переместить Робота на одну клетку вверх
вниз — переместить Робота на одну клетку вниз
влево — переместить Робота на одну клетку влево
вправо — переместить Робота на одну клетку вправо
закрасить — закрасить текущую клетку (клетку в которой находится Робот).
Эти команды можно писать с клавиатуры, а можно использовать горячие клавиши (нажав их команды будут вставляться автоматически):
вверх — Escape, Up (стрелка вверх)
вниз — Escape, Down (стрелка вниз)
влево — Escape, Left (стрелка влево)
вправо — Escape, Right (стрелка вправо)
закрасить — Escape, Space (пробел)
Обратите внимание, что набирать нужную комбинацию горячих клавиш нужно не привычным нам способом! Мы привыкли нажимать клавиши одновременно, а здесь их нужно нажимать последовательно.
Теперь мы готовы написать первый алгоритм для Робота. Предлагаю начать с простого — нарисуем квадрат со стороной 3 клетки. Поехали!
Запускаем Кумир, настраиваем его. Можно начинать писать программу? Конечно нет! Мы же не задали стартовую обстановку! Делаем это. Предлагаю использовать вот такую:
Вот теперь все готово. Начинаем писать программу. Пока она выглядит так
Удаляем символ «|» и называем наш алгоритм «Квадрат»
Предлагаю рисовать квадрат, двигаясь по часовой стрелке. Для начала закрасим текущую клетку, дав команду закрасить. Потом делаем шаг вправо и опять закрашиваем клетку. И еще раз шаг вправо и закрасить.
Попробуем запустить программу и посмотреть что же получилось. Для запуска нажимаем F9 или же кнопку на панели инструментов
В результате мы должны увидеть вот такую картину
Если такое окно Робота у вас не появилось, то на панели инструментов щелкните «Показать окно Робота» или в меню Робот выберите пункт “Показать окно Робота”. Продолжаем дальше.
Теперь мы будем двигаться вниз и закрашивать правую сторону квадрата:
вниз
закрасить
вниз
закрасить
Потом пойдем влево, закрашивая нижнюю границу квадрата
влево
закрасить
влево
закрасить
У нас осталась одна не закрашенная клетка. Закрасим ее
вверх
закрасить
Все готово! В итоге наша программа выглядит так:
использовать Робот
алг Квадрат
нач
закрасить
вправо
закрасить
вправо
закрасить
вниз
закрасить
вниз
закрасить
влево
закрасить
влево
закрасить
вверх
закрасить
кон
А результат ее работы вот так
Итак, сегодня мы с вами написали программу, используя простые команды Робота. Рекомендую попрактиковаться самостоятельно — придумать себе задание и написать программу. Это могут быть самые различные фигуры, узоры, буквы. К примеру, попробуйте написать программу, рисующую букву П, Р, Ш, Щ, М. А если получится и захотите поделиться — комментируйте и прикрепляйте результат к комментарию.
Исполнитель Робот. Циклы.
Итак, что такое цикл? Представьте, что мы находимся на уроке физической культуры и перед нами стоит задача сделать 7 приседаний. Это задание можно оформить в виде линейного алгоритма и тогда оно будет выглядеть примерно так:
сделай приседание
сделай приседание
сделай приседание
сделай приседание
сделай приседание
сделай приседание
сделай приседание
То есть мы повторили команду сделай приседание 7 раз. А есть ли смысл писать 7 одинаковых команд? Может проще дать команду сделай 7 приседаний? Конечно проще и правильнее. Это и есть цикл. Вы можете сами вспомнить примеры циклов из жизни — их довольно много.
Таким образом линейный алгоритм, где повторяются одни и те же команды мы можем оформить в виде циклического алгоритма — примерно так:
повторяй 7 раз
сделай приседание
конец цикла
Вот так, на придуманном нами языке мы оформили цикл. У исполнителя Робот тоже есть возможность записывать циклы. Причем, циклы бывают разные. Тот вариант, который мы только что рассмотрели называется цикл со счетчиком или цикл с параметром.
Виды циклов.
Цикл со счетчиком.
Цикл со счетчиком применяется когда заранее известно сколько повторений необходимо сделать. В примере выше с приседаниями именно такой случай.
Для того, чтобы написать цикл со счетчиком для исполнителя необходимо знать его синтаксис. А он такой:
нц <количество повторений> раз
<команда 1>
<команда 2>
…
<команда n>
кц
Здесь мы должны указать количество повторений (число) и команды, которые будут повторяться. Команды, которые повторяются в цикле называют телом цикла.
Давайте рассмотрим это на примере.
Закрасим 7 клеток, как на рисунке. Рекомендую почитать про стартовую обстановку Робота и про его простые команды.
Изначально Робот находился в левой верхней клетке.
Давайте для начала решим задачу линейно. В этом случае мы будет закрашивать текущую клетку и перемещаться на 1 клетку вправо и программа будет выглядеть так:
использовать Робот
алг
нач
закрасить
вправо
закрасить
вправо
закрасить
вправо
закрасить
вправо
закрасить
вправо
закрасить
вправо
закрасить
вправо
кон
Как видим, команды закрасить и вправо повторяются 7 раз. Давайте теперь перепишем программу с использованием цикла. Кстати, чтобы вставить цикл в свою программу можно в меню Вставка выбрать пункт нц-раз-кц или нажать одну из комбинаций клавиш Esc, Р (русская буква Р) или Esc, H (латинская буква H). Причем клавиши надо нажимать последовательно — сначала Esc, отпустить ее и только потом Р или H.
Так вот, наша программа с циклом будет выглядеть так:
использовать Робот
алг
нач
нц 7 раз
закрасить
вправо
кц
кон
Если мы ее запустим, то увидим, что в результате получится тоже самое — 7 закрашенных клеток. Однако программа стала короче и значительно грамотней с алгоритмической точки зрения!
В качестве разминки и закрепления предлагаю самостоятельно написать программу для Робота, которая нарисует квадрат со стороной 7 клеток. Естественно, используя цикл. Жду решения в комментариях.
Цикл с условием
Вернемся к физкультуре и изменим задачу. Ведь кто-то может и не сделать 7 приседаний, а другой способен сделать 27. Можно ли учесть это при создании цикла? Конечно. Только теперь мы будем использовать не счетчик (количество повторений), а условие. К примеру, пока не устал, делай приседания. В этом случае человек будет делать не конкретное число приседаний, а приседать до тех пор, пока не устанет. И наш цикл на абстрактном языке примет такой вид:
пока не устал
сделай приседание
конец цикла
Слова не устал в нашем случае — это условие. Когда оно истинно, цикл выполняется. Если же оно ложно (устал) тело цикла не будет выполнено. У исполнителя Робот есть несколько условий
сверху свободно
снизу свободно
слева свободно
справа свободно
сверху стена
снизу стена
слева стена
справа стена
Теперь давайте решим следующую задачу для Робота — нарисовать вертикальную линию от левой до правой границы поля использую цикл с условием. Изначально Робот находится в левом верхнем углу.
Давайте сначала сформулируем словесный алгоритм — т. е. опишем словами что нужно делать Роботу. Этот алгоритм будет звучать примерно так:
«Пока справа свободно делай шаг вправо и закрашивай клетку»
В результате Робот пробежит по всем клеткам вправо и будет их закрашивать до тех пор, пока справа не окажется стена.
Исходный код нашей программы для Робота будет примерно такой:
использовать Робот
алг
нач
нц пока справа свободно
вправо
закрасить
кц
кон
В результате выполнения этой программы мы увидим вот такую картину:
Как видим, не хватает только закрашенной первой клетки. Для этого перед циклом необходимо выполнить команду закрасить.
Для закрепления прошу написать программу, которая будет делать рамку вокруг рабочего поля Робота независимо от его размера. Конечно же с использованием циклов с условием. В итоге должно получиться так:
Дорогой читатель! Добавьте этот сайт в закладки своего браузера и поделитесь с друзьями ссылкой на этот сайт! Мы стараемся показывать здесь всякие хитрости и секреты. Пригодится точно.
Это тоже интересно:
Язык программирования Pascal для новичков: Основные понятия.
Как установить Java и работать в языке программирования Java.
Как работать в Delphi: конкретные уроки.
GO программирование: самое начало работы.
Попробуем разобраться с заданием ОГЭ №15 по информатике. Данное задание делится на два. То есть, тут есть выбор. Оба задания связаны с темой “Алгоритмизация и программирование”. В данной статье рассмотрим задание в среде программирования — Кумир.
Для начала надо понять как можно там работать и какие команды существуют. Прежде всего в программе Кумир существуют разные исполнители. У каждого из них свои команды, предназначение. В нашем случае нужно будет работать с таким исполнителем, как Робот.
У него не так много своих команд:
- вверх – движение вверх на одну клетку;
- вниз – движение вниз на одну клетку;
- вправо – движение вправо на одну клетку;
- влево – движение влево на одну клетку;
- закрасить – закрасить текущее местоположение (клетку).
Существуют общие команды среды программирования, среди них создание цикла и алгоритмов. Рассмотрим создание циклов:
Сам цикл начинается с команды “нц” – начать цикл, а заканчивается “кц” – конец цикла.
Цикл можно повторять определённое количество раз.
Цикл по природе своей повторяет, написанное внутри него, определённое количество раз.
В нашем случае нужен будет именно цикл с предусловием. Рассмотрим условия цикла поближе:
- пока сверху свободно – до тех пор, пока свободно сверху совершаются действия;
- пока сверху не свободно – до тех пор, пока сверху стена совершаются действия;
- пока снизу свободно – до тех пор, пока свободно снизу совершаются действия;
- пока снизу не свободно – до тех пор, пока снизу стена совершаются действия;
- пока справа свободно – до тех пор. пока свободно справа совершаются действия;
- пока справа не свободно – до тех пор, пока справа стена совершаются действия;
- пока слева свободно – до тех пор, пока свободно слева совершаются действия;
- пока слева не свободно – до тех пор, пока слева стена совершаются действия.
Конструкцию “не свободно” можно заметить на “стена”.
Эти условия можно сочетать за счёт оператора “И”. Например, “пока сверху свободно и слева стена”.
Попробуем рассмотреть задание и решить его.
Пример
На бесконечном поле есть горизонтальная и вертикальная стены. Левый конец горизонтальной стены соединён с верхним концом вертикальной стены. Длины стен неизвестны. В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной непосредственно под горизонтальной стеной у её правого конца. На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»). Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно ниже горизонтальной стены и правее вертикальной стены. Проходы должны остаться не закрашенными. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого рисунка Робот должен закрасить следующие клетки (см. рис.). При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера проходов внутри стен. Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе. Сохраните алгоритм в текстовом файле.
Решение
Откроем среду программирования – Кумир. Нас встретит следующий интерфейс программы. Нам необходимо создать такую же обстановку робота и написать программу, чтобы он успешно прошёл путь и закрасил нужные клетки.
Для начала нам необходимо создать стартовую обстановку (поле для нашего робота), как на примере из задания. Зайдём во вкладку “Робот” → “Новая обстановка”.
Далее укажем необходимое количество строк и столбцов, предварительно посчитав сколько их в образце. После того, как записали нужное количество, нажимаем “ОК”.
После этого необходимо расставить “стены” как на примере (точно так же). Для построения стены просто нажимаем на линию, где хотим построить стену. На кнопки “плюс” и “минус” также можно управлять размерами обстановки.
Также установим начальное положение робота как на образце, для этого перетащим его. После создания стен нажимаем “Робот” → “Редактировать обстановку” (чтобы перестать её редактировать, т.к. уже находимся в режиме редактирования).
Теперь можем уже создавать алгоритм. Выберем исполнителя Робот. Зайдём во вкладку “Вставка” и нажмём на “использовать Робот”. После этого Кумир начнёт воспринимать его команды. Команду можно написать и самостоятельно.
Все наши команды должны быть оформлены через циклы. Без них задание считается проваленным (0 баллов). Поэтому будем использовать циклы. Пройдём первую часть, воспользуясь циклом:
Пройдём пробел за счёт цикла:
Далее воспользуемся ещё одним циклом:
Продолжим следующим циклом:
Теперь снова нужно пройти пробел:
Осталось закончить алгоритм, закрасив оставшуюся часть:
Посмотрим на проделанную работу.
В задании может быть условие, чтобы вернуть робота в начальное положение, а может быть сказано, что не требует возвращения. Тогда он остаётся там, где остановился после алгоритма. Если нужно вернуть, тогда также придётся возвращать его с помощью циклов.
Сохранение
Чтобы сохранить программу, нужно зайти во вкладку “Программа” → “Сохранить как..”.
Для сохранения рабочей обстановки зайдём во вкладку “Робот” → “Сохранить обстановку..”.
Рекомендации по работе
- Обязательно использовать циклы;
- Можно лишь раз использовать команду без цикла (но лучше не надо);
- Проверка работы сначала осуществляется на вашей обстановке, а потом уже на другой с такой же структурой, но с другими размерами. Поэтому очень важно использовать циклы.
- Для запуска программы нажимаем на стрелочку “Play“. Кумир работает как интерпретатор, то есть выполняет команды построчно.
Понравилась статья? Хочешь разбираться в информатике, программировании и уметь работать в разных программах? Тогда ставь лайк, подпишись на канал и поделись статьей с друзьями!
Читайте также:
#информатика #огэ #разбор #задания #решение #экзамен
Муниципальное Бюджетное образовательное учреждение
средняя образовательная школа №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
за минимальное число шагов любым из возможных способов.
2. Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.
Вариант 2
1.
Составьте программу закрашивания прямоугольника 4×2, считая, что
Робот находится где-то в центре поля.
2.
Необходимо перевести Робота из начального положения (◊) в точку A
за минимальное число шагов любым из возможных способов.
3. Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.
Вариант 3
1. Составьте программу закрашивания
периметра квадрата 3×3, считая, что Робот находится где-то в центре поля.
2. Необходимо перевести Робота из
начального положения (◊) в точку A за минимальное число шагов любым из
возможных способов.
3. Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.
Вариант 4
1. Составьте программу закрашивания
квадрата 3×3, считая, что Робот находится где-то в центре поля.
2. Необходимо перевести Робота из
начального положения (◊) в точку A за минимальное число шагов любым из
возможных способов.
3. Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.
Вариант 5
1. Составьте программу закрашивания
буквы “Г”, состоящей из трех вертикальных и двух горизонтальных
клеток. Начальное положение Робота – где-то в центре поля.
2. Необходимо перевести Робота из
начального положения (◊) в точку A за минимальное число шагов любым из
возможных способов.
3. Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.
Вариант 6
1. Составьте программу закрашивания
буквы “П”, размерами три клетки по вертикали и две по горизонтали.
Начальное положение Робота – где-то в центре поля.
2. Необходимо перевести Робота из
начального положения (◊) в точку A за минимальное число шагов любым из
возможных способов.
3. Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.
Вариант 7
1. Составьте программу закрашивания
буквы “Т”, размерами четыре клетки по вертикали и три по горизонтали.
Начальное положение Робота – где-то в центре поля.
2. Необходимо перевести Робота из начального
положения (◊) в точку A за минимальное число шагов любым из возможных способов.
3. Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.
Вариант 8
1. Составьте программу
закрашивания клеток, отмеченных звездочкой. Начальное положение Робота – где-то
в центре поля.
2. Необходимо
перевести Робота из начального положения (◊) в точку A за минимальное число
шагов любым из возможных способов.
3. Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.
Вариант 9
1. Составьте программу
закрашивания клеток, отмеченных звездочкой. Начальное положение Робота – где-то
в центре поля.
2. Необходимо
перевести Робота из начального положения (◊) в точку A за минимальное число
шагов любым из возможных способов.
3. Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.
Вариант 10
1. Составьте программу
закрашивания клеток, отмеченных звездочкой. Начальное положение Робота – где-то
в центре поля.
2. Необходимо
перевести Робота из начального положения (◊) в точку A за минимальное число
шагов любым из возможных способов.
3. Необходимо
перевести Робота по лабиринту из начального положения (◊) в точку A.
1.
Циклические алгоритмы. Цикл N раз.
Задания расчитаны на
группу в 10 человек. Каждая карточка содержит 3 задания разной степени
сложности.
Вариант 1
1. Составьте программу закрашивания 6-ти клеток
вправо от Робота, считая, что изначально Робот находится у левого края поля.
2. Необходимо провести Робота по лабиринту из
начального положения (◊) в точку A.
3. Составьте
программу закрашивания клеток поля, отмеченных звездочкой. Начальное положение
Робота где-то в центре поля.
Вариант 2
1. Составьте
программу закрашивания 5-ти клеток влево от Робота, считая, что изначально
Робот находится у правого края поля.
2. Необходимо
провести Робота по лабиринту из начального положения (◊) в точку A.
3. Составьте
программу закрашивания клеток поля, отмеченных звездочкой. Начальное положение
Робота где-то в центре поля.
Вариант 3
1. Составьте
программу закрашивания 5-ти клеток по диагонали вправо вниз от Робота, считая,
что изначально Робот находится в левом верхнем углу поля.
2. Необходимо
провести Робота по лабиринту из начального положения (◊) в точку A.
3. Составьте
программу закрашивания клеток поля, отмеченных звездочкой. Начальное положение
Робота где-то в центре поля.
Вариант 4
1. Составьте
программу закрашивания 7-ти клеток по диагонали вправо вверх от Робота, считая,
что изначально Робот находится в левом нижнем углу поля.
2. Необходимо
провести Робота по лабиринту из начального положения (◊) в точку A.
3. Составьте
программу закрашивания клеток поля, отмеченных звездочкой. Начальное положение
Робота где-то в центре поля.
Вариант 5
1. Составьте
программу закрашивания 4-х клеток по диагонали влево вверх от Робота, считая,
что изначально Робот находится в правом нижнем углу поля.
2. Необходимо
провести Робота по лабиринту из начального положения (◊) в точку A.
3. Считая,
что Робот находится в левом нижнем углу поля, составьте программу закрашивания
клеток поля в виде буквы “Т” высотой в 6 клеток.
Вариант 6
1. Составьте программу закрашивания клеток поля,
отмеченных *. Начальное положение Робота обозначено значком ◊.
2. Необходимо
провести Робота по лабиринту из начального положения (◊) в точку A.
3. Считая,
что Робот находится в левом нижнем углу поля, составьте программу закрашивания
клеток поля в виде буквы “О” высотой в 6 клеток.
Вариант 7
1. Составьте программу закрашивания клеток поля,
отмеченных *. Начальное положение Робота обозначено значком ◊.
2. Необходимо
провести Робота вверх по лестнице из начального положения (◊) в точку A.
3. Считая,
что Робот находится в левом нижнем углу поля, составьте программу закрашивания
клеток поля в виде буквы “Г” высотой в 6 клеток.
Вариант 8
1. Составьте программу закрашивания всех клеток
поля вдоль нижней горизонтальной стены. Изначально Робот находится в правом
нижнем углу поля.
2. Необходимо провести Робота вверх по лестнице
из начального положения (◊) в точку A.
3. Считая,
что Робот находится в левом нижнем углу поля, составьте программу закрашивания
клеток поля в виде буквы “Е” высотой в 5 клеток.
Вариант 9
1. Составьте программу закрашивания всех клеток
поля вдоль правой вертикальной стены. Изначально Робот находится в правом
верхнем углу поля.
2. Необходимо провести Робота вниз по лестнице
из начального положения (◊) в точку A.
3. Считая,
что Робот находится в левом нижнем углу поля, составьте программу закрашивания
клеток поля в виде буквы “Р” высотой в 6 клеток.
Вариант 10
1. Составьте программу закрашивания 3-х клеток
по диагонали вправо вверх от Робота, считая, что изначально Робот находится
где-то в центре поля.
2. Необходимо провести Робота вдоль коридора из
начального положения (◊) до точки A, заглядывая в каждый боковой коридор.
2.
Считая, что Робот находится в
левом нижнем углу поля, составьте программу закрашивания клеток поля в виде
буквы “Ш” высотой в 4 клетки.
3.Цикл с предусловием (цикл ПОКА)
Задания расcчитаны на
группу в 10 человек. Каждая карточка содержит по два задания.
Вариант 1
1. Необходимо перевести Робота из начального
положения (◊) в точку A, закрашивая при этом указанные клетки поля. Размеры
стен и расстояние между ними могут быть произвольны.
2. Где-то
в поле Робота находится вертикальная стена, размеры которой неизвестны. Робот
из верхнего левого угла поля должен дойти до стены и закрасить все клетки
вокруг нее. Пример результата работы программы показан на рисунке.
Вариант 2
1. Необходимо перевести Робота из начального
положения (◊) в точку A, закрашивая при этом указанные клетки поля. Размеры
стен и расстояние между ними могут быть произвольны.
2. Где-то
в поле Робота находится прямоугольник, размеры которой неизвестны. Робот из
верхнего левого угла поля должен дойти до прямоугольника и закрасить все клетки
по периметру вокруг него. Пример результата работы программы показан на
рисунке.
Вариант 3
1. Необходимо перевести Робота из начального
положения (◊) в точку A, закрашивая при этом указанные клетки поля. Размеры
стен и расстояние между ними могут быть произвольны.
2. Где-то
в поле Робота находится горизонтальная стена с отверстием в одну клетку,
размеры которой неизвестны. Робот из произвольной клетки над стеной, но
обязательно напротив нее, должен дойти до стены и закрасить все клетки под ней,
как показано на рисунке.
Вариант 4
1. Необходимо перевести Робота из начального
положения (◊) в точку A, закрашивая при этом указанные клетки поля. Размеры
стен и расстояние между ними могут быть произвольны.
2. Где-то
в поле Робота находится вертикальная стена с отверстием в одну клетку, размеры
которой неизвестны. Робот из произвольной клетки справа от стены, но
обязательно напротив нее, должен дойти до стены и закрасить клетки за стеной,
как показано на рисунке.
Вариант 5
1. Необходимо перевести Робота из начального
положения (◊) в точку A, закрашивая при этом указанные клетки поля. Размеры
стен и расстояние между ними могут быть произвольны.
2. Где-то
в поле Робота находятся две горизонтальные стены смещенные друг относительно
друга, размеры которых неизвестны. Робот из произвольной клетки над верхней
стеной, но обязательно напротив нее, должен дойти до стены и закрасить все
клетки между стенами, как показано на рисунке.
Вариант 6
1. Необходимо перевести Робота из начального
положения (◊) в точку A, закрашивая при этом указанные клетки поля. Размеры
стен и расстояние между ними могут быть произвольны.
2. Где-то
в поле Робота находятся две вертикальный стены равной, но неизвестной длины,
расположенные одна за другой. Робот из произвольной клетки справа от правой
стены, но обязательно напротив нее, должен дойти до стены и закрасить клетки
между стенами, как показано на рисунке.
Вариант 7
1. Необходимо перевести Робота из начального положения
(◊) в точку A, закрашивая при этом указанные клетки поля. Размеры стен и
расстояние между ними могут быть произвольны.
2. Где-то
в поле Робота находится стена в виде уголка, размеры которой неизвестны. Робот
из произвольной клетки слева от стены, но обязательно напротив нее, должен
дойти до стены и закрасить все клетки вдоль стены за ней, как показано на
рисунке.
Вариант 8
1. Необходимо перевести Робота из начального
положения (◊) в точку A, закрашивая при этом указанные клетки поля. Размеры
стен и расстояние между ними могут быть произвольны.
2. Где-то
в поле Робота находится горизонтальный коридор шириной в одну клетку
неизвестной длины. Робот из верхнего левого угла поля должен дойти до коридора
и закрасить клетки внутри него, как показано на рисунке. По полю Робота в
произвольном порядке располагаются стены, но расстояние между ними больше одной
клетки.
Вариант 9
1. Необходимо перевести Робота из начального
положения (◊) в точку A, закрашивая при этом указанные клетки поля. Размеры
стен и расстояние между ними могут быть произвольны.
2. Где-то
в поле Робота находятся две стены равной, но неизвестной длины. В правой стене
имеется отверстие шириной в одну клетку. Робот из произвольной клетки справа от
правой стены, но обязательно напротив нее, должен дойти до стены и закрасить
все клетки между двумя стенами, как показано на рисунке.
Вариант 10
1. Необходимо перевести Робота из начального
положения (◊) в точку A, закрашивая при этом указанные клетки поля. Размеры
стен и расстояние между ними могут быть произвольны.
2. Где-то
в поле Робота находится прямоугольник неизвестного размера, в верхней стенке
которого имеется отверстие шириной в одну клетку. Робот из верхнего левого угла
поля должен дойти до прямоугольника и закрасить клетки внутри него по
периметру, как показано на рисунке.
4.Команды
ветвления (если, выбор)
Задания рассчитаны на
группу в 10 человек. Каждая карточка содержит по два задания.
Вариант 1
1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет два горизонтальных и диагональный участки в форме . Пример коридора
показан на рисунке.
2. Робот
движется вдоль стены, профиль которой показан на рисунке, от начального
положения (◊) до конца стены. Необходимо закрасить все внутренние углы стены,
как показано на примере. Размеры стены могут быть произвольны.
Вариант 2
1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет два горизонтальных и диагональный участки в форме . Пример коридора
показан на рисунке.
2. Робот
движется вдоль стены, профиль которой показан на рисунке, от начального
положения (◊) до конца стены. Необходимо закрасить все внутренние углы стены,
как показано на примере. Размеры стены могут быть произвольны.
Вариант 3
1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет два горизонтальных и диагональный участки в форме . Пример коридора
показан на рисунке.
2. Робот
движется вдоль стены от начального положения (◊) до конца стены. Стена
располагается по диагонали от правого верхнего к левому нижнему углу поля.
Необходимо закрасить все внутренние углы стены, как показано на примере.
Размеры стены могут быть произвольны.
Вариант 4
1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет два горизонтальных и диагональный участки в форме . Пример коридора
показан на рисунке.
2. Робот
движется вдоль стены от начального положения (◊) до конца стены. Стена
располагается по диагонали от правого нижнего к левому верхнему углу поля.
Необходимо закрасить все внутренние углы стены, как показано на примере.
Размеры стены могут быть произвольны.
Вариант 5
1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет два вертикальных и диагональный участки в форме . Пример коридора
показан на рисунке.
2. Робот
движется вдоль стены от начального положения (◊) до конца стены. Стена
располагается по диагонали от правого верхнего к левому нижнему углу поля.
Необходимо закрасить все внутренние углы стены, как показано на примере.
Размеры стены могут быть произвольны.
Вариант 6
1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет горизонтальный, вертикальный и диагональный участки в
форме . Пример коридора
показан на рисунке.
2. Робот
движется вдоль стены от начального положения (◊) до конца стены. Стена
располагается по диагонали от правого нижнего к левому верхнему углу поля.
Необходимо закрасить все внутренние углы стены, как показано на примере.
Размеры стены могут быть произвольны.
Вариант 7
1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет горизонтальный, вертикальный и диагональный участки в
форме . Пример коридора
показан на рисунке.
2. Робот
движется вдоль стены, профиль которой показан на рисунке, от начального
положения (◊) до конца стены. Необходимо закрасить все внутренние углы стены,
как показано на примере. Размеры стены могут быть произвольны.
Вариант 8
1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет горизонтальный, вертикальный и диагональный участки в
форме . Пример коридора
показан на рисунке.
2. Робот
движется вдоль стены, профиль которой показан на рисунке, от начального
положения (◊) до конца стены. Необходимо закрасить все внутренние углы стены,
как показано на примере. Размеры стены могут быть произвольны.
Вариант 9
1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет горизонтальный, вертикальный и диагональный участки в
форме . Пример коридора
показан на рисунке.
2. Робот
движется вдоль стены, профиль которой показан на рисунке, от начального
положения (◊) до конца стены. Необходимо закрасить все клетки стены, которые
огорожены с трех сторон, как показано на примере. Размеры стены могут быть
произвольны.
Вариант 10
1. Необходимо провести Робота по коридору
шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая
при этом все клетки коридора, которые имеют выход. Выходы размером в одну
клетку располагаются произвольно по всей длине коридора. Коридор заканчивается
тупиком. Коридор имеет два вертикальных и диагональный участки в форме . Пример коридора показан
на рисунке.
2. Робот
движется вдоль стены, профиль которой показан на рисунке, от начального
положения (◊) до конца стены. Необходимо закрасить все углы стены, которые
огорожены только с двух сторон, как показано на примере. Размеры стены могут быть
произвольны.
Список литературы
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.
Дмитрий Михайлович Беляев
Эксперт по предмету «Информатика»
Задать вопрос автору статьи
Определение 1
Исполнитель “робот” в КуМире — это программа, написанная в программной среде КуМир.
В 1970 году академик Ершов А.П. разработал специальный язык для реализации различных алгоритмов, который был назван КуМир. На сегодняшний день КуМир является программой, которая может свободно распространяться и имеет различные модификации для разных операционных систем, включая Linuх и Windоws.
Исполнитель Робот
Запустив программу КуМир, мы попадаем в окно, предназначенное для набора программы робота.
Рисунок 1. Окно программы «Робот». Автор24 — интернет-биржа студенческих работ
Сдай на права пока
учишься в ВУЗе
Вся теория в удобном приложении. Выбери инструктора и начни заниматься!
Получить скидку 3 000 ₽
Для отслеживания перемещений исполнителя при работе программы, необходимо запустить окно исполнителя Робот (обстановка старта). Она первоначально не заполнена, то есть не имеет стен или иных объектов.
Рисунок 2. Обстановка старта. Автор24 — интернет-биржа студенческих работ
Исполнитель Робот работает в определённом пространстве, представляющем из себя прямоугольник, состоящий из набора квадратных клеток. В межклеточном пространстве возможно расположение стен. Обстановка, с внутренним расположением Робота, определяется как текущая обстановка Робота. Есть также понятие стартовой обстановки, которая используется при программных действиях Робота. Робот способен перемещаться по полю и окрашивать различные клетки. Робот не имеет возможности пройти через стену, но способен проверить наличие вблизи него такой стены. Роботу не разрешается выходить за границы определённого прямоугольника, задающего поле.
«Исполнитель Робот в КуМире» 👇
Вид обстановки в текущий момент времени всегда целиком виден в рабочем поле наблюдательного окна Робота. Ниже приведён пример возможного вида текущей обстановки в наблюдательном окне.
Рисунок 3. Пример вида текущей обстановки. Автор24 — интернет-биржа студенческих работ
Рабочее поле имеет зелёный фон, серым цветом Робот окрашивает клетки. Стены показаны жёлтыми, утолщёнными линиями. Расположение Робота в текущей клетке поля окна наблюдения показано маленьким ромбом.
Стартовая обстановка
Назначить стартовую обстановку возможно следующими вариантами:
- Путём загрузки стартовой обстановки из заранее сформированного файла с расширением .fill.
- Путём редактирования уже имеющейся стартовой обстановки при помощи программы редактирования стартовой обстановки. Далее необходимо выполнить сохранение обстановки в файл или прямо её использовать в программе.
- Сформировать свою стартовую обстановку.
Начать редактирование стартовой обстановки возможно путём использования команды «Редактировать стартовую обстановку», которая есть в меню Робота. Эта команда открывает окно редактирования стартовой обстановки, имеющее синий фон. Набор команд редактирования обстановки можно выполнить при помощи мышки. Например, чтобы поставитьубрать стенку, надо выполнить щелчок мышью по граничной межклеточной полосе, выполнитьубрать закраску клетки, надо выполнить щелчок по этой клетке. Для перемещения Робота, нужно перетащить его мышкой в требуемую клетку. Окно редактора имеет сверху полосу с основными функциями (свернуть, развернуть, закрыть) и главное меню. Чтобы выйти из режима редактора стартовой обстановки, необходимо просто использовать нужную кнопку окна редактора или использовать команду «Выход» меню. Нельзя выполнять редактирование сразу двух стартовых обстановок.
Рисунок 4. Редакция обстановки. Автор24 — интернет-биржа студенческих работ
Чтобы начать формирование новой стартовой обстановки, следует сначала определить размеры формы (число строк от одного до десяти и число столбцов от одного до шестнадцати). После этого откроется новая стандартная форма. Сформированную новую стартовую обстановку необходимо сохранить в файл формата.fill, который в дальнейшем можно применять как стартовую обстановку.
Рисунок 5. Сохранение. Автор24 — интернет-биржа студенческих работ
Чтобы исключить ошибки и упростить работу, желательно при вводе текста применять команду «Вставка». Эта команда позволяет вставлять уже подготовленные командные наборы.
Порядок действий при формировании программы Робот в КуМире
Чтобы создать программу исполнителя Робот на алгоритмическом языке КуМир, надо выполнить следующие действия:
- Выполнить активацию исполнителя Робот с помощью вкладки Вставка и там выбрать «использовать Робот».
- Осуществить создание стартовой обстановки (возможно путём редактирования имеющейся стартовой обстановки). Выбрать в списке меню Робот пункт «Новая обстановка», затем необходимо выбрать нужные размеры рабочего поля. После этого надо отредактировать обстановку, расставить требуемые стенки, определить начальную позицию робота. В завершение данного пункта требуется выполнить сохранение стартовой обстановки в файл.
- Выполнить загрузку стартовой обстановки.
- Сформировать программу в поле для алгоритма.
- Выполнить старт программы (при помощи кнопки F9 или через соответствующий пункт меню).
- Осуществить сохранение файла.
Тестирование программы на ошибки
Редактор оснащён сервисом подсветки ключевых слов, и, кроме того, нижнее окно представляет собой консоль ввода/вывода. Правая часть его предназначена для вывода итоговых результатов действий каждого оператора. Когда при работе программы происходит грубая ошибка, например, разбился исполнитель, системой формируется информация об ошибке, и она окрашивает в определённый цвет первую команду, вызвавшую сбой. Кроме того, окрашивается в аварийный цвет и робот. Когда выполнение программы завершается, системой так же формируется сообщение об этом. В случае, если при проверке работы алгоритма обнаруживается неверное функционирование Робота, имеется возможность возврата к стартовой обстановке, используя команду «Вернуться к стартовой обстановке» из меню Робота. Выполнить операцию сохранения программы, сформированной в операционной системе КуМир, возможно при помощи командной опции «Сохранить программу» из меню Программа. Этот файл оснащается расширением kum.
Пример написания программы
На поле бесконечного размера стоит расположенная горизонтально стена. Размеры стены не определены. Начальное положение Робота — выше стены в левом её окончании. Требуется написать алгоритм для робота, который закрашивает все клетки, расположенные над стеной на расстоянии одной пустой клетки от стены, вне зависимости от длины стены. Написание такой программы может быть представлено следующим образом.
Рисунок 6. Пример написания программы. Автор24 — интернет-биржа студенческих работ
Находи статьи и создавай свой список литературы по ГОСТу
Поиск по теме