Тема урока: "Управление исполнителем "Робот". Работа в среде "Кумир"". Программирование с использованием языка кумир Проверка усвоения изученного материала
Размер: px
Начинать показ со страницы:
Транскрипт
1 Работа с системой программирования КуМир (Комплект Учебных Миров) 1. Установка КуМир 2. Знакомство с исполнителем Робот 3. Основные команды исполнителя Робот 4. Циклы, условия, примеры решения задач. 5. Задачи для самостоятельной работы 1. Установка КуМир Чтобы установить систему программирования КуМир, необходимо сначала перейти на официальный сайт разработчиков этой системы и скачать установочный дистрибутив. Сайт находится по адресу: И выглядит следующим образом: Если нажать на надпись, выделенную красным прямоугольником, то начнется закачка установщика текущей версии программы. Так будет выглядеть скачанный файл: Запускаем установку: 1. Нажимаем «Далее» 2. Нажимаем «Принимаю»


3 Находим ярлык программы на рабочем столе или в меню «Пуск» и пробуем запустить среду КуМир: 2. Знакомство с исполнителем Робот Робот один из исполнителей алгоритмов, доступный в системе программирования КуМир. Чтобы открыть окно робота, нужно нажать на кнопку на панели инструментов, указанную ниже на скриншоте: Должно открыться следующее окно: Как вы видите, робот «живет» на прямоугольном поле, разделѐнном на ячейки. Сам робот это маленький ромбик в центре этого поля. Это поле по-другому называется стартовой обстановкой робота и сейчас мы научимся, как еѐ менять.

4 Итак, заходим в меню «Инструменты» - «Редактировать стартовую обстановку робота». Должно открыться следующее окно: Как видно из раздела «помощь», чтобы добавить препятствия на поле робота, нужно щелкнуть по границе между ячейками, а чтобы переместить робота, необходимо щелкнуть на нѐм левой кнопкой мыши и перетащить в другое место. Попробуем изменить обстановку следующим образом:

5 Теперь осталось сохранить эту обстановку. Выбираем пункт меню «Обстановка» - «Сохранить как стартовую» И выбираем произвольную папку для сохранения и имя файла, жмѐм «сохранить»: Теперь, если ещѐ раз открыть текущую обстановку робота, то мы увидим, что произошли изменения: Обратите внимание, что если открыто синее поле, то вы изменяете стартовую обстановку робота. Если же поле зелѐное, то это текущее поле для работы с роботом. Не путайте их!

6 3. Основные команды исполнителя Робот Примечание: чтобы научиться хорошо работать с роботом, набирайте и выполняйте все алгоритмы, приведённые в данном пособии. Как мы определились ранее, робот это исполнитель алгоритмов. И как у каждого исполнителя, у него есть своя система команд. То есть набор команд, которые робот понимает. Вот основные команды робота: вверх вниз влево вправо закрасить перемещает робота на одну клетку вверх перемещает робота на одну клетку вниз перемещает робота на одну клетку влево перемещает робота на одну клетку вправо закрашивает ячейку, в которой стоит робот Как вы уже поняли, первые 4 команды нужны для перемещения робота по полю. Итак, попробуем эти команды в действии. В КуМире напишем следующий текст (точки в стоках 4, 5, 6 ставятся автоматически): Команда «Использовать Робот» позволяет указать системе КуМир, что мы будем работать с исполнителем робот. Если мы не напишем эту команду, КуМир не сможет распознать команды, которые мы будем вводить. Запись алг нач кон также обязательна и обозначает: алгоритм, начало, конец. Все команды нашего алгоритма для робота мы будем писать между ключевыми словами нач и кон.
7 Итак, реализуем простейший алгоритм для робота. Обратите внимание, что если команды написаны верно, то они подсвечиваются синим цветом. (нельзя написать команды «в низ», «право» или «верх», будьте внимательны!). Выполнить алгоритм вы можете двумя способами: 1. По шагам выполнить одну команду алгоритма и остановиться 2. Непрерывно выполнить все команды алгоритма сразу. Попробуем запустить непрерывное выполнение алгоритма, робот перейдет в конечное положение:

8 Чтобы понять, как «ходит» робот, можно попробовать пошаговое выполнение: для этого нажимайте клавишу F8 или выберите пункт меню «Выполнение» - «ШАГ». Робот сделал 2 команды «вправо» и остановился на команде «вниз». Если ещѐ раз нажать F8 (один шаг алгоритма), то робот шагнѐт вниз и остановится на следующей команде. Таким образом, много раз нажимая F8 мы можем выполнить все шаги алгоритма. Обратите внимание, что выполнение алгоритма всегда начинается из той точки, в которой изначально стоял робот. Попробуем выполнить следующий алгоритм: Робот стоял в левом верхнем углу прямоугольника. После непрерывного выполнения алгоритма он закрасит 3 клетки и окажется в клетке, указанной на скриншоте.

9 Что же произойдет, если мы попытаемся шагнуть «вверх» из начального положения, то есть пойти «в стенку»? Как видно на скриншоте выше, робот разбился, потому что он не умеет проходить сквозь стенки. Алгоритмы, в которых робот разбивается (неважно о какую стену), считаются ошибочными. 4. Циклы, условия, примеры решения задач В среде КуМир есть возможность менять размеры стартовой обстановки. Мы можем уменьшать количество клеток на поле робота, а также увеличивать их. Также можно представить бесконечное поле для робота и решать на нѐм задачи. Допустим, имеется стартовая обстановка, как показано ниже на скриншоте: Задача 1: Робот расположен на поле напротив вертикальной стены, слева от неѐ, размер поля и расстояние до стены неизвестны. Необходимо дойти роботом до стены. Очевидно, что невозможно решить эту задачу просто написав последовательно много команд «вправо», потому что робот либо разобьется о стену, либо не дойдет до неѐ. Угадать это невозможно, так как расстояние до стены неизвестно.
10 Но из условия задачи можно понять, что нам нужно идти роботом вправо до тех пор, пока не встретится стена. То есть нам нужно много раз выполнить команду вправо, но остановиться тогда, когда на пути встретится стена. В этом нам поможет цикл типа «пока». Обратите внимание, что у нас в алгоритме появилась новая алгоритмическая структура цикл. Разберем, как она работает. нц пока начало цикла «пока» справа свободно условие, проверяющее, свободна ли клетка справа. Если стены между текущей клеткой и соседней справа нет, то условие верно (возвращает значение «да»), иначе - условие неверно (возвращает «нет»). кц конец цикла Цикл выполняется следующим образом: 1. Проверяется условие «справа свободно» (т.е. есть справа стена или еѐ нет) 2. Если условие верно, делаем команды, написанные между нц и кц. Если нет переходим на команду, записанную после кц 3. Возвращаемся на проверку условия В начальном положении у робота свободна клетка справа, поэтому условие верно (надпись «да») и робот выполняет команду «вправо». Очевидно, что робот остановится в клетке, которая прилегает к стене (условие станет неверным), то есть дойдет до неѐ. Аналогично, можно решить задачи движения до стены сверху, стены слева и стены снизу на бесконечном поле. Для этого стоит лишь поменять команду условия.
11 Роботу доступны следующие проверки: слева свободно справа свободно снизу свободно сверху свободно эти команды также, как и команды движения, относятся к системе команд робота. Обратите внимание, что команды «вверху свободно», «низ свободно» или любые другие, отличающиеся от приведѐнных выше, будут неверными. Как и с командами движения, правильность написания условий можно отследить по выделению шрифта синим цветом. Задача 2: Обойти роботом прямоугольник изнутри и закрасить все клетки, прилегающие к стенкам (начальное положение робота: верхний левый угол). Начальное положение Алгоритм «дойти до нижней стены» Алгоритм «дойти до нижней стены и закрасить» Подумайте, почему не закрасилась последняя клетка?

12 Алгоритм «дойти до нижней стены и закрасить, дойти до правой стены и закрасить» Аналогично добавим циклы для двух других стенок. Задача решена. Задача 3: Дана стартовая обстановка, представленная на скриншоте ниже. Пройти роботом по коридору, закрашивая только те клетки, у которых присутствует нижняя стенка. Мы знаем, как реализовать алгоритм движения до правой стены. Напишем и выполним его:
13 Теперь подумаем, как закрасить клетки, у которых есть нижняя стенка. Если мы просто добавим в цикл команду «закрасить», то робот закрасит нам все клетки: А нам нужно закрашивать только с тем условием, что снизу есть стена. Посмотрим, как добавить такое условие в алгоритм: Команда если-то-все называется условной (условным оператором) и позволяет по условию выполнять либо одно действие, либо другое. Посмотрим внимательно на условие «не снизу свободно»? Что же оно означает? Команда «снизу свободно» проверяет свободно ли снизу и если свободно возвращает «да», иначе «нет». НЕ это отрицание этой команды. То есть «не снизу свободно» проверяет есть ли снизу стена. И если стена есть (снизу несвободно), то возвращает «да», иначе «нет». В итоге, команда «закрасить» выполняется только тогда, когда снизу стена. Это нам и было нужно. Задача 3.1: Задание то же, что и в предыдущей задаче, но нужно закрасить только те клетки, у которых есть и нижняя и верхняя стенки. Для этого напишем сложное условие (из двух простых, соединѐнных союзом и).

14 Выполнение алгоритма: Робот закрасил только те клетки, где выполняются оба условия «не снизу свободно» и «не сверху свободно», то есть клетки, у которых есть стена сверху и снизу. Задача 3.2: Стартовая обстановка та же, но необходимо закрасить клетки, у которых есть хотя бы одна стена сверху или снизу (или обе вместе). Для этого между условиями используем команду «или»: Обратите внимание, что робот не закрасил только те клетки у которых нет ни нижней, ни верхней стены. Операции не, и, или называются логическими операциями и позволяют из простых условий составлять сложные. Эти сложные условия вы можете записать как в цикл «нц пока», так и в условный оператор «если-то-все».

15 5. Задачи для самостоятельной работы: Примечание 1: Во всех задачах нужно закрасить клетки поля так, как указано в столбце «задание». Начальное положение робота имеет значение и указано на скриншотах со стартовой обстановкой. Примечание 2: После того, как вы написали алгоритм, решающий задачу, попробуйте немного изменить стартовую остановку, не меняя сути задачи (например, уменьшить или увеличить коридор для примера-задачи 3) и снова попробовать выполнить ваш алгоритм. Если и в этом случае все работает верно, то задача решена. Пробуйте ради интереса находить такие стартовые обстановки, в которых ваш алгоритм не будет работать (иначе за вас их найдет учитель;) Стартовая обстановка Задание Расстояние между вертикальными стенками не менее 2 клеток. Конечное положение робота неважно Робот находится в середине горизонтальной стены. Конечное положение робота неважно Конечное положение робота неважно
16 Конечное положение робота неважно Конечное положение робота неважно Конечное положение робота неважно Закрасить указанные ячейки и перевести робота в конечное положение. Другие стартовые обстановки можно взять из демо-версий ГИА по информатике (или придумать самим)
Практикум по КуМир В данном практикуме будут рассмотрены только возможности исполнителя Робот, которые можно использовать для написания программы при выполнении задания ГИА. После запуска среды КуМир на
20.1 Запись короткого алгоритма в среде формального исполнителя Примечание Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля.
Задачи для исполнителя РОБОТ 1.Линейные алгоритмы 1.1. Перевести Робота из начального положения () в точку A за минимальное число шагов любым из возможных способов. 1.2. Перевести Робота из начального
19 Информатика. 9 класс. Вариант ИН933 1 Критерии оценивания заданий с развёрнутым ответом В электронную таблицу занесли данные о сдаче выпускных экзаменов учащимися одного из городов. Ниже приведены первые
Задание 20.1. Составление алгоритма для формального исполнителя (высокий уровень, время выполнения - 45 мин) Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки.
Итоговая контрольная работа по Информатике и ИКТ 9 класс Демоверсия Инструкция по выполнению работы На выполнение итоговой контрольной работы по информатике отводится 45 минут. Работа состоит из 3 частей,
МУНИЦИПАЛЬНОЕ БЮДЖЕТНОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА 6 С УГЛУБЛЕННЫМ ИЗУЧЕНИЕМ ОТДЕЛЬНЫХ ПРЕДМЕТОВ Задание 1 Выполнение алгоритмов для исполнителя ЕГЭ по информатике
С2_1. Исполнитель обот Исполнитель обот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Ниже приведено описание обота. У обота есть четыре команды перемещения: вверх вниз
Задание 14. Выполнение алгоритмов для исполнителя Робот При решении задач данного вида необходимо знать: 1. В школьном алгоритмическом языке нц обозначает «начало цикла», а кц «конец цикла»; все команды
19 Информатика. 9 класс. Вариант ИНФ951 1 Критерии оценивания заданий с развёрнутым ответом В издательстве детских книг данные об изданных книгах хранятся в электронной таблице. Ниже приведены первые пять
Информатика. 9 класс. Демонстрационный вариант 5 (9 минут) 1 Диагностическая тематическая работа 5 по подготовке к ОГЭ по ИНФОРМАТИКЕ и ИКТ по теме «Логика и алгоритмы» Инструия по выполнению работы На
Информатика. 9 класс. Вариант ИН933 1 Критерии оценивания заданий с развёрнутым ответом 19 В электронную таблицу занесли результаты тестирования учащихся по математике и физике. На рисунке приведены первые
Информатика. 9 класс. Вариант 1 1 Критерии оценивания заданий с развёрнутым ответом 19 В электронную таблицу занесли результаты диагностической работы учащихся 8 класса по математике. На рисунке приведены
Информатика. 9 класс. Демонстрационный вариант 5 (9 минут) 1 Информатика. 9 класс. Демонстрационный вариант 5 (9 минут) 2 Диагностическая тематическая работа 5 по подготовке к ГИА-9 по ИНФОРМАТИКЕ и ИКТ
1 Введение 1.1 Обстановки Робота Исполнитель Робот существует в некоторой обстановке прямоугольном поле, разбитом на клетки, между которыми могут стоять стены. Обстановка, в которой находится Робот, называется
Информатика. 9 класс. Вариант ИН90601 1 Критерии оценивания заданий с развёрнутым ответом 19 В электронную таблицу занесли данные наблюдения за погодой в течение одного года. Ниже приведены первые пять
Переводной экзамен «Информатика» 8 класс (базовый уровень) Инструкция по выполнению работы На выполнение контрольной работы по информатике отводится 90 минут (два академических часа). Работа состоит из
ТЕМА «ОСНОВЫ АЛГОРИТМИЗАЦИИ» В КОНТРОЛЬНО-ИЗМЕРИТЕЛЬНЫХ МАТЕРИАЛАХ ИТОГОВОЙ АТТЕСТАЦИИ 9 КЛАСС (методические рекомендации по решению задач повышенного и высокого уровней сложности) Малышев Михаил Владимирович,
Решения заданий I (школьного) этапа Всероссийской олимпиады школьников по информатике и ИКТ для учащихся 5-6 классов г. Мурманск 2016-2017 учебный год Цель проведения олимпиады: выявление наиболее талантливых
ИТОГОВОЕ ТЕСТИРОВАНИЕ Часть А (задание с выбором ответа) Часть 1 (При выполнении заданий этой части (1 6) обведите номер выбранного ответа кружком. Если Вы выбрали не тот номер, зачеркните его и обведите
Итоговая контрольная работа по ИНФОРМАТИКЕ 9 класс, 2015 2016 учебный год Демоверсия ФИ класс дата Инструкция по выполнению работы Работа состоит из двух частей, включающих в себя 13 заданий. Часть 1 содержит
Информатика. 9 класс. Вариант 1 Критерии оценивания заданий с развёрнутым ответом 19 В электронную таблицу занесли результаты наблюдения за погодой в городе Зарайске в течение года. На рисунке приведены
Информатика. 9 класс. Вариант Критерии оценивания заданий с развёрнутым ответом 9 В электронную таблицу занесли результаты тестирования учащихся по русскому языку и математике. На рисунке приведены первые
Вариант 14-02 Часть А А1. Дано N = 1528, M = 6C16. Какое из чисел K, записанных в двоичной системе, отвечает условию N < K < M? 1) 11011102 2) 11011002 3) 11010102 4) 11010112 А2. Между населёнными пунктами
Работа с окнами Открываемые программы, файлы или папки появляются на экране в полях или рамках, называемых окнами (именно от них операционная системаwindows - Окна - получила свое название). Поскольку
Урок 2: Основы навигации и Правка 2.0 Введение В Уроке 1: Панель инструментов Excel мы рассмотрели элементы интерфейса Excel. Сейчас же мы научимся пользоваться основными его функциями. Это своего рода
Windws Лабораторная работа 1 Тема. Основы работы в операционной системе Windws. Цель. Научиться управлять окнами, выбирать команды меню и работать с окнами запросов, создавать папки, переключаться между
1 Введение 1.1 Общие сведения Исполнитель Чертежник предназначен для построения рисунков, чертежей, графиков и т. д. на бесконечном во все стороны листе, ниже этот лист называется чертежным листом. На
1 Программирование на алгоритмическом языке Тема 2. Ветвления Разветвляющиеся алгоритмы 2 Задача. Ввести два целых числа и вывести на экран наибольшее из них. Идея решения: надо вывести на экран первое
Глава третья Работа с текстом 3.1 На компьютере можно написать и напечатать текст. Для вывода текста на бумагу вам понадобится специальное устройство принтер. Создавать текст, оформлять его помогают специальные
Нестандартные решения для Государственных стандартов. Урок 1 «Создание семейств заголовка узла и заголовка разреза для одного листа с возможностью нумеровать узел и разрез одинаковой цифрой» При прохождении
Стартовый контроль 10 класс Вариант 1 (Задания 1-12 по 1 баллу) Часть 1 (обведите номер правильного ответа) 1. Главный редактор журнала отредактировал статью, и её объём уменьшился на две страницы. Каждая
1. Знакомство с Calc В этом модуле вы научитесь: - запускать программу Calc. - распознавать составляющие программного окна Calc. - перемещаться по рабочей странице. - вводить данные. - закрывать программу
Глава 3 АЛГОРИТМЫ И ИСПОЛНИТЕЛИ 15 АЛГОРИТМЫ И ПРОГРАММА СКРЕТЧ Я недавно смотрел по телевизору передачу о том, как много нас окружает современных технологий. Компьютеры, роботы, сети! Это было очень интересно!
1 / 13 Часть 1 Ответом к заданиям 1 6 является одна цифра, которая соответствует номеру правильного ответа. Запишите эту цифру в поле ответа в тексте работы, а затем перенесите в БЛАНК ОТВЕТОВ 1 справа
Учебный элемент «Создание таблиц в Excel» Цели: Изучив данный учебный элемент, вы сможете: - создавать таблицы; - удалять и добавлять ячейки; - вводить и изменять данные в таблицу; - форматировать и редактировать
Информатика. 9 класс. Вариант ИНФ941 Видеоразбор на сайте www.statgrad.cde.ru 1 Критерии оценивания заданий с развёрнутым ответом 19 В электронную таблицу занесли результаты сдачи нормативов по лёгкой
1 Выполнение алгоритмов для исполнителя Робот Ответами к заданиям являются слово, словосочетание, число или последовательность слов, чисел. Запишите ответ без пробелов, запятых и других дополнительных
Информатика. 0 класс. Демонстрационный вариант (90 минут) Диагностическая тематическая работа по подготовке к ЕГЭ по ИНФОРМАТИКЕ и ИКТ по теме «Элементы теории алгоритмов и программирование» Инструкция
Работа с программой ABBYY FineReader Банк 7 Руководство пользователя ABBYY 2013 год Обработка документов в программе ABBYY FineReader Банк состоит из четырех этапов: Загрузка Распознавание Проверка Выгрузка
Работа с таблицами 1. Преобразование текста в таблицу. а) Вставьте знаки разделителей, такие как запятая или знак табуляции, в местах, где текст должен быть разбит по столбцам. Используя знак абзаца, укажите,
A18 Тема: Выполнение алгоритмов для исполнителя. Что нужно знать: правила выполнения линейных, разветвляющихся и циклических алгоритмов основные операции с символьными строками (определение длины, выделение
Как открыть программу Microsoft Word 2010 3. Основы работы в MicrosoftWord 2010 MicrosoftWord это многофункциональная программа обработки (редактор) текстов настольная издательская система. В Word е мы
Практическая работа 3: «Работа с рисунками, автофигурами и надписями». Рисунки Вставка рисунка из файла 1. Запустите Microsoft PowerPoint. 2. Откройте создаваемую в ходе выполнения упражнений презентацию.
7. Вывод на печать в Calc Из этого модуля вы узнаете, какими возможностями обладает Calc для вывода файлов на печать. Рассмотрим последовательно: Печать рабочих листов Поля Верхние и нижние колонтитулы
Инструкция по платформе SnilBot После запуска программы перед Вами откроется главное меню программы: Главное меню программы Логин, пароль (получает перед соревнованиями, есть логин и пароль специально
Практикум Создание ярлыков Ярлык это файл, который ссылается на другой файл. Имеет объём 400-600 байт. Открытие ярлыка приводит к запуску программы или открытию папки или документа, на который он ссылается.
Программирование в Scratch / 1 урок «Знакомство со Scratch. Первая программа» Как скачать и установить Scratch Программа Scratch бесплатно скачивается из интернета по адресу https://drive.google.com/file/d/0b4odpylshs2zdzdft1nlrmdmzjq/view?usp=sharing
Информатика. 0 класс. Демонстрационный вариант (90 минут) Диагностическая тематическая работа по подготовке к ЕГЭ по ИНФОРМАТИКЕ и ИКТ Информатика. 0 класс. Демонстрационный вариант (90 минут) Часть Определите
Глава вторая Файлы и папки 2.1 Рабочий стол На каждом компьютере установлена основная программа операционная система. Без нее он никому не нужный ящик. Любое задание, которое вы даете компьютеру, выполняет
Глава 2 В данной главе мы познакомимся с последней на сегодняшний момент версией операционной системы Windows от компании Microsoft. Знакомство с Windows будет достаточно кратким, поскольку описание такой
Работа в Word Шрифт и размер букв Текст, который мы печатаем в программе Word, может выглядеть по-разному. Разный вид и размер букв, толщина, начертание, положение текста на странице, цвет текста. Причем,
ИНФОРМАТИКА Рабочий лист 1 С РЕДА ПРОГРАММИРОВАНИЯ S CRATCH П ЕРВОЕ ЗНАКОМСТВО В среде Scratch (Скретч) вы можете создавать свои собственные интерактивные истории, игры и мультфильмы и делиться ими с другими
Задания А13 по информатике 1. Ниже приведены фрагменты таблиц базы данных почтового отделения. Сколько читателей журнала Сад и огород проживают на Кленовом бульваре? 1) 1 2) 2 3) 3 4) 4 Ответ: 3 2. Ниже
Домашняя работа по ИНФОРМАТИКЕ 9 класс тем кто не сдает экзамен выполнить вариант****01, тем кто сдает оба варианта Информатика. 9 класс. Вариант ИН90301 2 Часть 1 При выполнении заданий 1 6 в поле ответа
Работа в электронном журнале БАРС.Web-образование 1. Запустите любой браузер (Internet Explorer, Mozilla Firefox, Opera, Safari, Google Chrome, Yandex) 2. В адресной строке наберите адрес сайта http://school.vip.edu35.ru/
Лабораторная работа 1. СХЕМЫ АЛГОРИТМОВ Схема алгоритма графическое представление метода решения задачи, в котором используются символы для отображения операций и данных. Конфигурацию, перечень и размеры
3. Условное форматирование Из этого модуля вы узнаете: - Что такое условное форматирование; - Как применять условное форматирование. С помощью условного форматирования вы можете присваивать клеткам определённые
Услови е 1 Задание 1 81. Статья, набранная на компьютере, содержит 48 страниц, на каждой странице 40 строк, в каждой строке 40 символов. Определите размер статьи в кодировке КОИ-8, в которой каждый символ
Урок 1: Интерфейс Excel * версия 2010 * 1.0 Введение Данные в Excel располагаются в «ячейках», которые в свою очередь образуют столбцы и строки. Это помогает нам лучше воспринимать эти данные и позволяет
Основные приёмы и принципы работы в операционной системе Windows. Элементы графического интерфейса ОС Windows. Файлы, папки, ярлыки Рабочий стол Файлы, Командные папки, кнопки ярлыки Пуск (до windows 8)
Информатика (Задачи повышенного уровня из открытого банка заданий ФИПИ) 1. Запись десятичного числа в системах счисления с основаниями 3 и 5 в обоих случаях имеет последней цифрой 0. Какое минимальное
Методическое планирование системы уроков в основной школе Тема: Исполнители Цели: Обучающие: расширить представления учащихся об исполнителях; - освоить систему команд, среду исполнителей Чертежник и Робот.
162 Глава 5. Управление и алгоритмы 28 Графический учебный исполнитель Основные темы параграфа: ш назначение и возможности графического исполнителя (ГРИС); простые команды ГРИС; ш работа в программном
СЕМИНАР-ПРАКТИКУМ на тему: «Создание уроков в компьютерной программе «Интерактивная автошкола. Базовый курс» Методические указания Орел, 2015 Цель семинара-практикума: Изучить основные возможности компьютерной
Цели урока:
- Расширить представления учащихся об исполнителях алгоритмов;
- закрепить представление об алгоритме как модели деятельности исполнителя.
- сформировать умение записи, исполнения и отладки алгоритмов с использованием команд робота в среде “Кумир”
Обеспечение урока:
- система Кумир;
- мультимедийный проектор;
- карточки-задания;
- компьютеры.
Ход урока
1. Организационный момент.
2. Проверка усвоения изученного материала.
- Блиц-опрос учащихся на знание основных характеристик исполнителя чертежник: круг решаемых задач, среда исполнителя, система команд исполнителя, система отказов исполнителя, режимы работы исполнителя.
- Обсуждение № 17 из д/з
- Визуальная проверка № 18-19 из д/з.
3. Объяснение нового материала.
Исполнитель Робот действует на прямоугольном клетчатом поле. Между некоторыми клетками поля могут быть расположены стены. Некоторые клетки могут быть закрашены.
Робот занимает ровно одну клетку поля. По командам вверх, вниз, влево и вправо Робот перемещается в соседнюю клетку в указанном направлении. Если на пути оказывается стена, то происходит отказ – выдается сообщение о невозможности выполнить очередную команду.
По команде закрасить Робот закрашивает клетку в которой стоит. Если клетка уже была закрашена, то она закрасится повторно, хотя никаких видимых изменений не произойдет.
Важно помнить, что Робот может исполнять только правильно записанные команды. Например, если вместо команды вниз написать внис , то Робот эту запись не поймет и сразу же сообщит об ошибке.
Вопрос: Вспомните, как называются ошибки в записи команд. (Синтаксические и логические.)
Напишем программу, исполняя которую Робот нарисует на клетчатом поле меандр из четырех витков.

нач
. нц 4 раз
. . вправо
. . закрасить
. . влево
. . закрасить
. . влево
. . закрасить
. . вверх
. . закрасить
. . вверх
. . закрасить
. . вправо
. . закрасить
. . вправо
. . вправо
. . вправо
. . вниз
. . вниз
. кц
.
кон
Исполнитель Робот может принять любую стартовую обстановку. Инструменты → Редактировать стартовую обстановку Робота. В окошке строим стартовую обстановку и сохраняем как стартовую под любым именем.
- Выполните тот же рисунок с помощью вспомогательного алгоритма.
- Предложите свой вариант программы.
использовать Робот
алг
нач
. меандр
. меандр
. меандр
кон
Алг меандр
нач
. вправо
. закрасить
. влево
. закрасить
. влево
. закрасить
. вверх
. закрасить
. вверх
. закрасить
. вправо
. закрасить
. вправо
. вправо
. вправо
. вниз
. вниз
кон
Итог урока.
Домашнее задание.
§ 3.1, 3.2 (1, 2) РТ № 1, 2, 7, 11 (стр. 85) Босова Л. Информатика 7 кл.
Управление исполнителем Робот в системе КУМИРРобот существует в определенной обстановке (прямоугольном клетчатом поле). Между некоторыми клетками поля могут быть расположены стены. Некоторые клетки могут быть закрашены (рис. 3.11).
Робот занимает ровно одну клетку поля.
По командам вверх, вниз, влево и вправо Робот перемещается в соседнюю клетку в указанном направлении. Если на пути оказывается стена, то происходит отказ - выдается сообщение о невозможности выполнить очередную команду.
По команде закрасить Робот закрашивает клетку, в которой стоит. Если клетка уже была закрашена, то она закрасится повторно, хотя никаких видимых изменений не произойдет.
Робот может исполнять только правильно записанные команды. Если вместо команды вниз написать внис, то Робот эту запись не поймет и сразу же сообщит об ошибке.
О
шибки: 1 синтаксические; 2. логические
Описания обстановок хранятся в текстовых файлах специального формата (формат.fil).
Текущая - обстановка, в которой находится Робот в данный момент (включая информацию о положении Робота).
Стартовая - обстановка, в которую принудительно помещается Робот в начале выполнения программы, использующей Робот.
Порядок работы:
Задать стартовую обстановку по условию задачи:
2. Указать Исполнителя:
Меню Вставка →Использовать Робот
3. Написать алгоритм решения задачи.
4. Выполнить алгоритм (Меню Выполнение →Выполнить непрерывно /F9)
Система команд исполнителя Робот в системе КУМИР
|
Команда |
Действие |
|
вверх |
Робот перемещается на 1 клетку вверх |
|
вниз |
Робот перемещается на 1 клетку вниз |
|
влево |
Робот перемещается на 1 клетку влево |
|
вправо |
Робот перемещается на 1 клетку вправо |
|
закрасить |
Робот закрашивает клетку, в которой находится |
|
справа свободно |
Робот проверяет выполнение соответствующего простого условия |
|
слева свободно |
↓ |
|
сверху свободно |
↓ |
|
снизу свободно |
↓ |
|
клетка закрашена |
↓ |
|
клетка чистая |
↓ |
Циклические алгоритмы
Цикл
– организация повторения действий, пока верно некоторое условие.
Тело цикла – набор повторяемых действий.
Условие –
логическое выражение (простое или сложное (составное))
Типы циклов:
1.Цикл «Повторять n раз» 2. Цикл «Пока»
нц n раз
нц пока
. . Тело цикла. . Тело цикла
кц
кц
Пример: нц пока справа свободно
Общий вид цикла «Повторять n раз:
ПОВТОРИТЬ n РАЗ
КОНЕЦ
кц
Общий вид цикла «пока»:
ПОКА ДЕЛАТЬ
КОНЕЦ
Составные условия
образуются из одного или нескольких простых условий и служебных слов И, ИЛИ, НЕ.
Составное условие А И В (где А, В - простые условия), выполнено, когда выполнено каждое из двух входящих в него простых условий.
Пусть А - сверху свободно, В - справа свободно, тогда составное условие А И В - сверху свободно И справа свободно.
Составное условие А ИЛИ В выполнено, когда выполнено хотя бы одно из двух входящих в него простых условий: сверху свободно ИЛИ справа свободно
Составное условие НЕ А - выполнено, когда не выполнено условие А.
Пример: Пусть А – клетка закрашена (простое условие).
П
роверка составного условия НЕ А:
а) А - выполнено, НЕ А (НЕ закрашено) - не выполнено.
б) А - не выполнено, НЕ А (НЕ закрашено) - выполнено.
Команда ветвления
Ветвление - форма организации действий, при которой в зависимости от выполнения или невыполнения некоторого условия совершается либо одна, либо другая последовательность действий.
Общий вид команды ЕСЛИ:
ЕСЛИ ТО ИНАЧЕ
КОНЕЦ
В языке КУМИР:
Полное ветвление: Неполное ветвление:
если
то
если
то
иначе
все все

Вспомогательный алгоритм - алгоритм, решающий некоторую подзадачу основной задачи.
В системе КУМИР вспомогательные алгоритмы пишутся в конце основной программы (после служебного слова кон ), вызываются на выполнение в основой программе по имени.
В
опросы и задания
1. Приведите все алгоритмы из трех команд, которые переместят Робота из исходного положения в клетку Б.
Существует ли для этой задачи алгоритм, при выполнении которого Робот делает:
а) два шага; б) четыре шага; в) пять шагов; г) семь шагов?
Петя составил алгоритм, переводящий Робота из клетки А в клетку Б с закрашиванием каких-то клеток. Что должен сделать Коля с этим алгоритмом, чтобы получить алгоритм, переводящий Робота из Б в А и закрашивающий те же клетки?


7. Известны два вспомогательных алгоритма Робота
Нарисуйте, что получится при выполнении Роботом следующих основных алгоритмов:
|
а) нц 5 раз
узор_1 вправо; вправо; |
б) нц 7 раз
узор_2 вправо; вправо |
|
в) вправо; вправо; вправо вверх; вверх вправо; вправо; вправо вниз; вниз
|
г) вправо; вправо вправо; вправо |
8. Составьте алгоритмы, под управлением которых Робот закрасит указанные клетки:
9
. Известно, что где-то правее Робота есть стена. Составьте алгоритм, под управлением которого Робот закрасит ряд клеток до стены и вернется в исходное положение.
10. Известно, что где-то правее Робота есть закрашенная клетка.

С
оставьте алгоритм, под управлением которого Робот закрасит ряд клеток до закрашенной клетки и вернется в исходное положение.
11. Известно, что Робот находится рядом с левым входом в горизонтальный коридор.
1
2. Известно, что Робот находится где-то в горизонтальном коридоре. Ни одна из клеток коридора не закрашена.
Составьте алгоритм, под управлением которого Робот закрасит все клетки этого коридора и вернется в исходное положение.
13. В ряду из десяти клеток правее Робота некоторые клетки закрашены.
С
оставьте алгоритм, который закрашивает клетки:
а) ниже каждой закрашенной клетки;
б) выше и ниже каждой закрашенной клетки.
14. Что можно сказать о правильности следующего фрагмента алгоритма?
нц пока клетка закрашена
ЕСЛИ справа свободно ТО
вправо; закрась
к
ц
15. Напишите программу, с помощью которой Робот сможет попасть в клетку Б во всех трех лабиринтах.
1
6. Напишите программу, следуя которой Робот сможет пройти по коридору от левого нижнего угла поля к правому верхнему. Коридор имеет ширину одна клетка и тянется в направлении слева-снизу вправо-вверх. Пример возможного коридора изображен на рисунке.
З
адачи ГИА
Коридор1. Робот находится где-то в вертикальном коридоре. Ни одна из клеток коридора не закрашена. Составить алгоритм, под управлением которого Робот закрасит все клетки этого коридора и вернется в исходное положение.
К
НадоДано
оридор2. Робот находится в верхней клетке узкого вертикального коридора. Ширина коридора – одна клетка, длина коридора может быть произвольной.
Напишите для Робота алгоритм, закрашивающий все клетки внутри коридора и возвращающий Робота в исходную позицию. Например, для приведенного выше рисунка Робот должен закрасить следующие клетки (см.рисунок):
На бесконечном поле имеется длинная горизонтальная стена. Длина стены неизвестна. Робот находится в одной из клеток непосредственно сверху от стены. Начальное положение Робота также неизвестно. Одно из возможных положений:


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



На бесконечном поле имеется длинная вертикальная стена. Длина стены неизвестна. Робот находится в одной из клеток, расположенной непосредственно справа от стены. Начальное положение робота также неизвестно. Одно из возможных положений робота приведено на рисунке (робот обозначен буквой «Р»):Напишите для работа алгоритм, закрашивающий все прилегающие к стене клетки: слева, начиная с верхней не закрашенной и через одну; справа, начиная с нижней закрашенной и через одну. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведенного выше рисунка робот должен закрасить следующие клетки (см. рисунок): Конечное расположение робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера стены и любой допустимой начальной позиции робота. При исполнении алгоритма Робот не должен разрушиться.

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

Н
апишите для Робота алгоритм, закрашивающий прилегающие к стене клетки, сверху и снизу, начиная с левой и через одну. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведѐнного рисунка а) Робот должен закрасить следующие клетки (см. рис. б).
Конечное положение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера стены и любой допустимой начальной позиции Робота.
|
Р | |||||
На бесконечном поле имеется длинная вертикальная стена. Длина стены неизвестна. Робот находится в одной из клеток, расположенной непосредственно слевав от стены. Начальное положение робота также неизвестно. Одно из возможных положений робота приведено на рисунке (робот обозначен буквой «Р»):
слева все;
справа, начиная с верхней незакрашенной и через одну.
B
1102_ГИА2011
На бесконечном поле имеются две горизонтальные стены. Длина стен неизвестна. Расстояние между стенами неизвестно. Робот находится над нижней стеной в клетке, расположенной у ее левого края. Напишите для Робота алгоритм, закрашивающий все клетки, расположенные выше нижней стены и ниже верхней стены и прилегающие к ним. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведенного выше рисунка робот должен закрасить следующие клетки (см. рисунок):
Конечное расположение робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.
В
1103_ГИА_2011
На бесконечном поле имеется горизонтальная стена. Длина стены неизвестна. От правого конца стены вниз отходит вертикальная стена также неизвестной длины. Робот находится над горизонтальной стеной в клетке, расположенной у ее левого края. На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).
Напишите для Робота алгоритм, закрашивающий все клетки, расположенные выше горизонтальной стены и правее вертикальной стены и прилегающие к ним. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).
Исполнитель “Робот”. Понятие алгоритма. Управление “Роботом” с помощью пульта. Команды-вопросы. Протокол сеанса ручного управления “Роботом”. Автоматическое управление “Роботом” с помощью ЭВМ. Алгоритм - план будущей деятельности. Алгоритмический язык.
В конце восьмидесятых годов в Политехническом музее в Москве проходили тематические встречи, организованные редакцией популярного тогда среди компьютерных специалистов журнала “Микропроцессорные средства и системы”. Один из таких вечеров был посвящен компьютерным играм и проводился под лозунгом “Учись работать играя”. В этом лозунге много верного. Часто компьютерные игры имеют удобный и привычный интерфейс, базирующийся на накопленных игроком вне компьютерной сферы знаниях и навыках. А значит, процесс обучения становится практически незаметным или даже ненужным: человек сразу приступает к решению поставленной перед ним задачи - начать играть в новую, неизвестную ему до этого момента игру и... постараться в этой игре преуспеть: выиграть конкретный раунд, подняться на возможно более высокий уровень, показать рекордный результат и т.д. Но желание преуспеть возникает не только в играх, и это можно использовать в обучении. Важнейшее условие здесь - возможность быстрого достижения первых успехов каждым учеником.
Мы провозгласили самостоятельной целью развитие алгоритмического стиля мышления и сказали, что при достижении этой цели есть собственные сложности, которые учителю и ученикам придется преодолевать. Сложностей много, но на первых порах главная из них - техническая. Сколько времени и сил придется потратить ученику, чтобы освоить “правила игры”, начать “играть” (а в действительности начать “учиться работать”) и добиться первого успеха? Хотелось бы, чтобы требуемое время измерялось минутами, а усилия были близки к нулю, чтобы вхождение в новую игру (изучение информатики) делалось, как говорится, “играючи”! Именно поэтому на начальном этапе обучения задачи, которые решают ученики, и инструменты, которые при этом используются, нужно очистить от мешающих лишних технических деталей, от неизвестного (или известного, но “чужого”) английского алфавита и английских слов, от необходимости набирать длинные тексты (или от необходимости набирать тексты вообще), от необходимости тратить силы на понимание условий задачи, выраженных в математической форме.
№ газеты |
|
Лекция 1. Основные цели курса. Методика построения курса. Проблемный подход. Теория познается через практику. Система “КуМир” - эффективная поддержка традиционных понятий процедурных языков программирования и традиционных методов отладки. Примеры использования “КуМира” в предпрофессиональных курсах. |
|
Лекция 2. Практическое знакомство с системой “КуМир”: исполнитель Робот. Понятие алгоритма. Управление исполнителем Робот с помощью пульта. Линейные алгоритмы. Запись алгоритма. Отступление: Карел-Робот в начальном курсе программирования Стэнфордского университета. |
|
Лекция 3. Методы “визуальной” записи алгоритма. Программное управление Роботом. Цикл “n раз”. Использование вспомогательных алгоритмов. Запись алгоритмов на алгоритмическом языке. |
|
Контрольная работа № 1. |
|
Лекция 4. Арифметические выражения и правила их записи. Алгоритмы с “обратной связью”. Команда “пока”. Условия в алгоритмическом языке. Команды “если” и “выбор”. Команды контроля. “Визуальное” представление команд. Отступление: правила и форма записи арифметических выражений в Фортране XXI века. |
|
Лекция 5. Величины в алгоритмическом языке. Команды ввода/вывода информации. Команда присваивания. Вспомогательные алгоритмы. Алгоритмы с результатами и алгоритмы-функции. Цикл “для”. Табличные величины. Логические, символьные и литерные величины. |
|
Контрольная работа № 2. |
|
Лекция 6. Методы алгоритмизации. Рекуррентные соотношения. Метод итерации. Инвариант цикла. Рекурсия. |
|
Лекция 7. Физические основы современных компьютеров. Микропроцессор - сердце современного компьютера. Как создать компьютер. |
|
Лекция 8. Виртуальные и реальные исполнители в системе “КуМир”. Исполнитель Чертежник. Лего-Робот - программно управляемый исполнитель “КуМира”. Гипертексты в системе “КуМир”. Подготовка заданий для учащихся и их автоматическая проверка. Итоговая работа. |
Поэтому мы начинаем с Робота. Для понимания устройства Робота и правил управления им нужен всего лишь здравый смысл. Робот чрезвычайно прост, и изучать в нем практически нечего. Точно так же, как нечего изучать в большинстве игр, прежде чем начинаешь в них играть .
Чтобы рассказать, что такое Робот, хватит и трех минут. Фраза “Роботом можно управлять с помощью пульта” понятна и дошколятам. Ведь созданный нашим воображением Робот прост, и набор правил для игры с ним ребенок может осознать как набор условных, игровых понятий. С другой стороны, жизненный багаж малышей, как правило, уже содержит знания о том, что бывают радиоуправляемые игрушки, что они управляются дистанционно с помощью пульта, что при неудачном управлении игрушка может упереться в стену и т.д. Поэтому для них не будет удивительным, что введенный нами (взрослыми) воображаемый Робот управляется дистанционно и у него есть пульт управления. То, что пульт управления имеет много кнопок, также вряд ли удивит ребенка, так как он знает, что пульты “водятся” в доме повсюду и наличие на них различных непонятных кнопок совершенно не беспокоит ни детей, ни взрослых. Важно уметь пользоваться лишь некоторыми из них.

Итак, для начального знакомства с Роботом вообще ничего знать не нужно. Даже не обязательно твердо помнить, где “право”, а где “лево”, так как на кнопках пульта Робота вместо слов “вправо-влево” выгравированы стрелки. Но задачи уже можно ставить и решать. Замечательно в этих задачах то, что если уж ученик задумался над задачей по управлению Роботом, то учитель может быть на 100% уверен, что все сложности ученика алгоритмические: “как же это сделать?”, а не “что же тут надо решать?”. Нет сложности не только в самом Роботе, но и в постановке задачи. Нарисуем на поле Робота прямоугольное препятствие размером 3 ? 4, поставим Робота под левым нижним углом препятствия, дадим школьнику пульт и попросим “поуправлять” Роботом так, чтобы он обошел вокруг препятствия и закрасил все клетки, прилегающие к препятствию. Эта постановка задачи проста и даже скучновата. Задача станет интереснее, если попросить школьников составить план решения аналогичной задачи обхода прямоугольного препятствия “неизвестных размеров”. Неизвестность размеров проявляется в том, что пульт школьнику дается, а поле Робота не показывается. Тут-то и возникает стимул для изучения остальных кнопок на пульте Робота - команд-вопросов. Опыт работы со школьниками показывает, что после демонстрации работы этих команд задача обхода прямоугольного препятствия “неизвестных размеров” также не вызывает особых трудностей у 5–6-классников.
В этот момент и начинается самое интересное. На табло пульта высвечивается протокол диалога Человека и Робота при решении задачи Человеком, не видящим поля Робота, а получающим всю информацию об окружении Робота с помощью команд-вопросов, “задаваемых” с пульта. Возникает идея поручить проведение подобного диалога автоматическому устройству - ЭВМ. Для реализации этой идеи нужно придумать правила описания подобных диалогов - алгоритмический язык. И попытаться записать на этом языке алгоритм “автоматического” обхода препятствия.
В этот момент и начнутся трудности. Они ожидаемы и объяснимы. Ведь школьник должен будет освоить правила новой сложной двухэтапной игры: сначала он должен составить план будущей деятельности и записать его по строгим правилам, и только после того как работа по составлению плана будет закончена, ЭВМ станет выполнять этот план, командуя Роботом. Только на втором этапе станет ясно, был ли план составлен правильно или нет. В новой “двухэтапной” игре есть две новые трудности. Техническая, которой можно и нужно избежать, и содержательная, избежать которой нельзя.
Техническая трудность состоит в том, что алгоритм нужно описывать по строгим формальным правилам, и школьник может нарушить эти правила, записывая свои идеи по автоматическому управлению Роботом. На первых порах этой трудности можно избежать, предоставив школьнику программную систему, которая позволяет создавать только правильные алгоритмы.
Данный курс и посвящен объяснению того, как педагог может помочь школьникам преодолеть эту содержательную трудность овладения алгоритмическим стилем мышления.
Забежав вперед, заметим, что у учителя
в данном курсе будет три основных инструмента: 1)
школьный язык программирования (сокращенно -
язык “КуМир”),
2) система программирования на этом языке,
нацеленная на обеспечение начального курса
информатики для новичков, и 3) методика
поэтапного развития алгоритмического стиля
мышления, основанная на решении специально
подобранной последовательности задач. Язык и
система “КуМир” специально разрабатывались
таким образом, чтобы ученик мог решать задачи и
концентрироваться на преодолении
соответствующей алгоритмической сложности, а не
разбираться с особенностями языка или
программного обеспечения. Этой цели служат и
средства “порождения” только правильных
конструкций языка, и немедленная диагностика
ошибок при составлении алгоритма, и удобные
средства исполнения и показа результатов работы
написанного алгоритма. В процессе исполнения на
экране изображаются и алгоритм, и результаты его
работы - перемещения Робота по полю. Как и в
любых других системах программирования,
алгоритм можно исполнять по шагам. Этот процесс
исполнения можно прервать, подправив алгоритм и
запустив его вновь.
“КуМир” - учебная система. Она сводит к минимуму “накладные расходы” на освоение, имеет развитую систему диагностики ошибок, средства, позволяющие ученику следить за выполнением программы, и т.п. Ученик, никогда ранее не программировавший, может начать писать и выполнять относительно сложные алгоритмы через 1–2 часа после первого знакомства с “КуМиром”. В то же время, система “КуМир” позволяет создавать достаточно большие и сложные программы (сотни строк).
Работа в “КуМире” очищена от понятий
“компиляция” и “режим отладки”. Можно сказать,
что “КуМир” (на начальном уровне обучения)
очищен даже от понятия вывода информации, хотя
работа с файлами включена в него как отдельный
исполнитель. При создании Е-практикума - нулевой
версии системы “КуМир” -
в 1986 году на мехмате МГУ перед разработчиками
стояла задача подготовить в кратчайшие сроки
первых учителей информатики. Большинству из них
выпала нелегкая доля: им предстояло сначала
изучить этот предмет, а затем немедленно начать
его преподавать. Поэтому создатели системы
“КуМир” стремились сделать язык и систему
максимально простыми.
Простота начального освоения Робота создает у учеников, особенно у лидеров класса по данному предмету, справедливое на первый взгляд ощущение игрушечности происходящего. Поэтому важно с самого начала обнародовать ряд задач высокой алгоритмической сложности, над которыми лидеры класса могут трудиться часами и гордиться, когда решение будет получено.
Еще одна проблема - монотонность, графическая похожесть обстановок, в которых действует Робот. Для того чтобы внести в методику работы с Роботом графическое (да и алгоритмическое) разнообразие, Робота в “КуМире” можно “высаживать” не только на плоские клетчатые “планеты”, но и на цилиндрические или даже тороидальные.
Для дошкольников или младшеклассников игрушечность Робота совершенно необходима и полезна. Графически Робот должен быть привлекательным, симпатичным и смешным, таким, как Робот-фонарщик в игре Lightbot (см. лекцию 1), а вовсе не унылым ромбиком, как в учебнике 7–9 Кушниренко, Лебедева, Зайдельмана. Графическая аскетичность уместна в старших классах школы, дабы не отвлекать ученика от содержательной задачи забавным видом исполнителя.
Игрушечная простота, однако, не всегда присуща даже компьютерным играм. Так, книга правил игры “Star Wars RPG” - это 300-страничный том, правда, написанный в стиле “all you need to play”. В другой игре - “Dungeons & Dragons”, для полноценной игры потребуются минимум две такие книжки, не изучив которые нельзя даже думать о победе.
Итак, вернемся к принципам преподавания, которые мы предлагаем. Г.В. Лебедев в своих лекциях в Архангельске сформулировал их так:
“Наш курс и, соответственно, учебник построены на трех глобальных методических принципах:
1) все познается через работу (“черепаха” курса);
2) проблемный подход;
3) выделение алгоритмической сложности в “чистом виде” .
Если рассказанная выше задача обхода прямоугольного препятствия покажется слишком сложной, в качестве первой “проблемы”, которую можно поставить перед учениками, возьмите более простую задачу: используя пульт, переместить Робота по полю вниз, обойдя первое встретившееся прямоугольное препятствие. В наши дни большинство школьников (и даже дошколят) знакомы с радиоуправляемыми машинками и успешно управляются с ними дома или в парке аттракционов. Поэтому для современного ребенка даже 5–6 лет тут нет никакой серьезной задачи. Решения ребенок принимает по ходу управления, к тому же домашние машинки сложнее Робота. Робот по своей природе дискретен: выполнение двух команд влево, а затем двух команд вправо вернет Робота в ту клетку, где он был в начале.
Такой стиль управления исполнителем с помощью пульта мы назовем “непосредственным управлением”: решение об управляющем воздействии принимается по ходу управления.
Если при командовании Роботом мы видим поле Робота и его перемещения, то команды обратной связи нам не нужны. Такой режим полезен в самом начале освоения Робота. Пусть теперь мы не видим поля Робота, как будто он находится на далекой планете, а нам по-прежнему нужно им управлять. На пульте есть специальные кнопки, нажав которые мы можем запросить информацию от Робота, в конструкцию которого включены различные датчики. Робот смотрит (или ощупывает), есть ли стена справа (мы нажали кнопку “стена” и “вправо” и получили на табло ответ “справа стена - нет”). Значит, справа стены нет.
Теперь задача ученика - не видя ничего, кроме пульта управления, заставить Робота спуститься под препятствие (при этом расстояние от начального положения Робота до препятствия неизвестно).
Это некоторое незначительное
усложнение: ученик должен представлять себе
обстановку Робота в уме и принимать решение,
базируясь на ответах Робота. Может, и не с первой
попытки, но практически все ученики такую задачу
решат. Надо осторожно шагать вниз до препятствия:
при каждом шаге проверять, свободно ли еще внизу.
Как только дойдем до препятствия, на очередной
вопрос “снизу свободно” Робот ответит “нет”.
В этот момент надо начать шагать вправо, при
каждом шаге проверяя, не кончилось ли
препятствие (что нужно для этого спросить у
Робота?). Потом спускаться вниз, проверяя наличие
препятствия слева.
И, наконец, сделать один шаг влево, чтобы
оказаться под препятствием. Такие
последовательные нажатия на кнопки - даже с
анализом невидимой для учащегося обстановки,
вряд ли вызовут большие затруднения у
большинства учащихся. Если в начале урока за
окном хорошая погода и учитель захочет провести
урок во дворе школы (на воздухе), а не за
компьютерами в классе, то роль Робота с
удовольствием исполнит кто-нибудь из класса, а
клетчатое поле можно нарисовать палочкой на
футбольной площадке.

Как уже говорилось, записать или объяснить устно кому-нибудь придуманный алгоритм решения задачи труднее, чем выполнить работу самому. Эксперименты, проведенные в классах, показывают, что если школьника попросить записать последовательность нажатий на кнопки пульта Робота для решения задачи предыдущего абзаца (обхода препятствия неизвестных размеров, находящегося где-то ниже Робота), то значительная часть учеников, которая прекрасно представляет, на какие кнопки и как надо нажимать, чтобы заставить Робота обойти препятствие, не в состоянии четко записать эту последовательность действий.
Проблема состоит в том, что если раньше ученик просто нажимал на кнопки (схема “непосредственного управления”), то теперь он пишет программу (алгоритм), которая далее будет выполняться без его участия - обычно с помощью ЭВМ, которая “нажимает на кнопки” и командует исполнителем.
Итак, задача записи алгоритма для его последующего автоматического выполнения разделяется на два этапа: на первом этапе нужно не только записать алгоритм, но и выбрать способ записи, некоторый формальный язык, который понимает и человек, и ЭВМ (или любое другое устройство, которое предназначено для выполнения алгоритма, имеющее связь с исполнителем ). На втором этапе происходит отчуждение алгоритма от человека, и ЭВМ сама начинает командовать Роботом в соответствии с составленным алгоритмом.
Почему же алгоритм трудно записать? Можно выделить три причины:
во-первых, алгоритм придется сразу продумать во всех деталях, ничего нельзя отложить на потом - ведь выполнять алгоритм будем уже не мы, а ЭВМ; во-вторых, мы должны записать алгоритм без двусмысленностей, тут тоже нельзя отложить уточнение деталей “на потом”; в-третьих, выполнять алгоритм будет ЭВМ - достаточно простое техническое устройство. ЭВМ может понимать только некий формальный язык и, как бы не было обидно, не может догадаться, что мы “имели в виду”, - все должно быть описано явно, точно, формально и на понятном для ЭВМ языке. Автор алгоритма в его исполнении не участвует и не может ничего исправить по ходу дела.Итак, алгоритм - это план будущей деятельности, записанный в заранее выбранной формальной системе обозначений (нотации). Для простоты будем считать, что составляет алгоритм человек, а выполняет - ЭВМ.
И все-таки, как же миновать трехглавого дракона, который мешает нам научиться составлять алгоритмы для ЭВМ?
Прежде всего сделаем шаг назад и заметим, что задача записи алгоритма существует и вполне реальна. Предположим, мы посылаем Робота на какую-нибудь далекую планету. Пусть мы - на Земле, а Робот - на клетчатом поле на космической станции на Нептуне. Тогда, если мы сами командуем Роботом с Земли, наша команда дойдет до Нептуна примерно за 4 часа, после чего еще столько же времени ответ будет идти назад.
Скажем, мы “спросили” “справа стена?”, через 4 часа эта команда дойдет до Робота, Робот проверит, есть ли справа стена, и еще 4 часа ответ будет идти обратно на Землю. И только после этого мы сможем его проанализировать, принять решение, куда двигаться дальше, и послать соответствующую команду Роботу (которая еще 4 часа будет идти до Робота). Такое управление предполагает неторопливое исследование планеты с темпом выдачи команд - 3 команды в сутки. В большинстве случаев такой низкий темп недопустим. Более того, на Нептуне за 8 часов со стенками может что-нибудь случиться: одни стенки могут исчезнуть, а другие - возникнуть. Чтобы управлять Роботом с нормальной скоростью, можно вывести на орбиту вокруг Нептуна спутник и командовать Роботом со спутника. От спутника до Робота сигнал будет идти доли секунды - задержек не будет, и процесс ускорится. Поскольку, однако, мы не собираемся держать на борту спутника экипаж для управления Роботом, на спутнике придется установить ЭВМ. Тогда мы с Земли сможем послать на спутник программу - алгоритм управления Роботом. Эта программа будет идти до спутника те же 4 часа, но зато потом ЭВМ сможет командовать Роботом без нашего участия, выдавая команды и получая ответы за доли секунды.
Для нас методически важно четкое разграничение того, что делает исполнитель, а что - ЭВМ, поэтому в приведенном примере не рассматривается возможность интеграции ЭВМ прямо с Роботом, так как это будет совсем другой исполнитель и для него нужно писать совсем другие алгоритмы.
Но вернемся к задаче записи учеником первого в его жизни алгоритма. При этом приходится раздваивать внимание: во-первых, нужно использовать только допустимые правила записи, а во-вторых, нужно заботиться о том, чтобы алгоритм на втором этапе выполнялся правильно. Смягчить эти трудности может помочь пульт.
|
После запуска “КуМира” на экране появляется главное окно системы, которое разбито на две основные области: рабочую область (вверху) и область ввода-вывода (внизу). В рабочей области располагается основная программа - программа, с которой в данный момент работает система “КуМир”. При этом рабочая область также делится на две части: область программы (слева) и область построчных сообщений (справа). Область построчных сообщений аналогична “полям” в ученических тетрадях. В эту область при подготовке программы выводятся сообщения об ошибках, найденных в каждой строке, а при выполнении - сведения о значениях переменных, присваиваемых в строке. Работа пользователя в системе “КуМир” состоит в: Подготовке программы к выполнению (редактирование, загрузка/сохранение программы, настройка параметров системы и т.п.); Выполнении программы (в обычном или отладочном режиме); Просмотре (анализе) результатов работы программы (окончательных или промежуточных). В зависимости от выполняемого действия система “КуМир” находится в одном из четырех возможных состояний: РЕДАКТИРОВАНИЕ ВЫПОЛНЕНИЕ АНАЛИЗ РЕЗУЛЬТАТОВ (или просто АНАЛИЗ) Состояние системы накладывает естественные ограничения на возможность выполнения различных действий. Например, во время выполнения программы нельзя изменять ее текст. Смысл двух первых состояний ясен из их названия. В состояние АНАЛИЗ система переходит после окончания выполнения программы (нормального или аварийного). В этом состоянии пользователю доступны все рабочие сообщения программы - для просмотра и анализа. Любое действие по изменению текста программы сбрасывает эти рабочие сообщения и переводит систему в состояние РЕДАКТИРОВАНИЕ. В состояние ПАУЗА система переходит в случае остановки во время выполнения (при вызове встроенной функции ПАУЗА или после очередного шага при выполнении программы “по шагам”). |
В информационном окне пульта прокручиваются выполняемые Роботом команды. Конечно, сейчас мы еще ничего не знаем о языке ЭВМ, однако мы достаточно знаем о командах Робота и можем предположить, что ЭВМ может их понять и управлять Роботом. Рассмотрим первый вариант, без обратной связи, когда ученик видит поле Робота и должен провести его ниже препятствия. Эта задача легко решалась при помощи пульта, и, главное, результат ее решения - требуемая последовательность команд - оказался запомненным в окне пульта. Давайте используем это при составлении программы для ЭВМ. Запустим систему “КуМир”. И просто перепишем все команды, которые мы нажимали на пульте Робота (они видны в окне на пульте), в окно системы “КуМир” между скобками “нач” и “кон”. Обратим внимание, что “КуМир” позитивно реагирует на наши записи, окрашивая в синий цвет введенные нами команды. На полях при этом нет никаких сообщений. Это означает, что команды Робота знакомы ЭВМ и допустимы в алгоритме.
Чтобы проверить составленный алгоритм, нажмем кнопку выполнить, и - о ужас! - строка “влево” подсвечивается красным цветом и выполнение программы прерывается. Вероятно, мы что-то сделали неправильно. Действительно, человеку свойственно ошибаться, и при переписывании команд с экрана Робота мы пропустили строку “вниз”, и при выполнении программы Робот уперся в стену. Когда у школьника в руках был пульт Робота, то при получении команды, которую в данной обстановке нельзя исполнить (слева от Робота стена, а команда “влево”), на экране пульта сообщалось о возникновении исключительной ситуации - “отказ”. Робот не выполнил полученную команду, но, к нашему счастью, оказался вполне интеллектуальным и не сломался. Подчас многие современные электронные приборы поступают точно так же, при вставлении батареек в неправильной полярности (минус к плюсу) такой прибор не сгорает. О нашей ошибке мы можем судить только по тому, что прибор не включился. Робот же поведал нам о том, что команда не может быть выполнена. Вообще в “КуМире” программа останавливается в момент невозможности исполнения любой команды, сообщая о причине останова. В этот момент школьник может проанализировать причину неприятности, скорректировать программу и попробовать выполнить ее еще раз. Так поступим и мы. Добавим строку “вниз” перед последней строкой и еще раз сверим текст программы в “КуМире” и то, что было записано нами на экране пульта Робота при пошаговом исполнении (если мы предварительно запротоколировали работу, аккуратно переписав все нажимаемые на пульте команды при непосредственном управлении Роботом).
Эта модифицированная программа будет работать правильно. При исполнении ее в пошаговом режиме мы увидим на экране, что Робот проделает те же шаги, что и при управлении с пульта. Полученная программа очень проста (относится к так называемым “линейным программам”), то есть не содержит никаких команд-вопросов, не запрашивает от Робота информацию и не “подлаживается” к обстановке, в которой находится Робот. Теперь мы готовы к дальнейшем свершениям и получению нового опыта в составлении линейных программ. Например, мы можем, используя команду “закрасить”, запрограммировать Робота нарисовать номер дома, в котором мы живем. Те, кому повезло, будут рисовать номер дома из одной цифры, а невезучим придется посвятить некоторое время рисованию двух или трех цифр. Очень важно, что на самом начальном этапе ученик добивается маленьких побед в программировании, а не тратит массу времени на изучение многостраничного введения в систему программирования. Для управления системой “КуМир” ему потребуется лишь пара клавиш - команда “выполнить непрерывно” и выполнить “шаг”.
Нужно ли тратить драгоценное время школьника на тривиальные линейные программы? Ответ - безусловно, нужно, ибо при этом в “комфортных условиях” осваивается методика отладки: составляем программу, выполняем, обнаруживаем проблемы, корректируем программу - и так, пока не будет получен правильный результат.
Заметим еще, что освоение методов отладки на линейных программах комфортно для учителя. Любой ученик, которому предоставлено достаточное время, справится с отладкой программы “закрашивания” на поле Робота двухзначного числа. В более сложных задачах число учеников, которым нужна помощь учителя, может выйти за разумные пределы.
Основная структурная единица языка “КуМир” - алгоритм. Программа на языке “КуМир” в простейшем случае может состоять из нескольких алгоритмов, следующих один за другим. Перед первым алгоритмом может располагаться вступление - любая неветвящаяся последовательность команд. После последнего алгоритма могут располагаться описания исполнителей. Алгоритмы в программе могут быть разделены только пустыми строками и строками с комментариями. Вот схема простейшей программы без вступления и исполнителей: алг первый алгоритм Выполнение такой программы состоит в выполнении первого алгоритма. В общем виде алгоритм на языке “КуМир” записывается так: алг тип_алгоритма имя_алгоритма (описание_параметров) | дано условие_применимости_алгоритма | надо цель_выполнения_алгоритма · последовательность команд На поле Робота нет всей информации об обстановке: каждая клетка поля имеет свою температуру и свой уровень радиации, которые не изображаются. В ответ на команды, отмеченные служебным словом вещ (вещественный), Робот и сообщает эту “невидимую” информацию о клетке, в которой он стоит: числовое значение температуры (в градусах Цельсия от –273 до +233) или уровень радиации в неотрицательных условных единицах. Поле Робота теоретически бесконечно, на практике мы будем иметь дело только с такими полями, в которых Робот, все стены и все закрашенные клетки расположены внутри небольшого прямоугольника, огороженного стенами. |
Конечно, Робот более сложен, чем кажется с первого взгляда, у него больше команд, и с их помощью можно решать много интересных задач. Но изучение простейших алгоритмов удобно начинать именно с него, ведь при его простоте можно развивать умение записывать алгоритм в общем виде, предсказывать результат его работы, глядя на текст алгоритма, что является важной компонентой алгоритмической культуры.
Упражнения
1. Нарисуйте обстановку Робота, разместите его где-нибудь на поле и составьте два алгоритма обхода Роботом препятствия слева и сверху при помощи непосредственного управления с пульта.
2. Измените обстановку и проведите Робота за препятствие с помощью пульта, когда поле Робота не видно.
3. Модифицируйте исполнителя Робот. Пусть стены могут быть разной высоты - низкие и высокие (например, высокие - границы поля). Добавьте команду “прыг”, по которой Робот запрыгивает на низкие препятствия или спрыгивает с них. Придумайте новую обстановку Робота с такими низкими препятствиями. Управляя Роботом с пульта, составьте алгоритм перемещения Робота с перепрыгиванием препятствия слева.
4. Добавьте Роботу команды “справа/слева/снизу/сверху низкое препятствие”. Проведите Робота за препятствие, когда поле Робота не видно. Придумайте более удачное название этих команд.
5. С какими трудностями вы столкнулись при выполнении задания п. 4 (опишите их, формализуйте для себя)?
6. Загрузите систему “КуМир” с сайта www.infomir.ru и проделайте упражнения 1–2 в системе “КуМир”.
7. Напишите программу в системе “КуМир” для п. 1.
Далее по тексту в выделенных прямоугольниках мы будем подробно (более-менее формально) описывать используемые исполнители и порядок работы с ними. Кушниренко А.Г., Лебедев Г.В. 12 лекций о том, для чего нужен школьный курс информатики и как его преподавать. // Методическое пособие. М.: Лаборатория базовых знаний, 2000. Для упрощения в дальнейшем мы не будем пускаться в длинные рассуждения о том, что такое универсальный выполнитель, и везде, не ограничивая общности, будем в качестве выполнителя использовать ЭВМ.Для вводного курса с использованием исполнителей используется Кумир с «Модулем поддержки курсов» - МПК, разработанным Д.П.Кириенко, г.Москва . Поддержка МПК включена в стабильные версии системы Кумир только начиная с версии 1.8.0. Версии Кумир до 1.8.0 не содержат возможности поддержки курсов.
Для системы Windows - установить версию 1.8.0 системы Кумир с сайта разработчиков. Ссылка: http://lpm.org.ru/kumir2/files/1.8.0/kumir-1.8.0.rev2565-windows-32bit-setup.exe
Версии Кумир до 1.8.0 не содержат «Модуля поддержки курсов», поэтому нужна именно версия 1.8.0.
Запуск МПК
Для открытия окна МПК используется меню системы Кумир «Инструменты» - «Практикум».
Архив заданий для исполнителя Робот
Задания на исполнителя Робот (0-16 ) выполняются с использованием МПК. Необходимо скачать архив с заданиями , открыть из МПК файл vodoley.kurs.xml или robot.kurs.xml . Этот xml-файл содержит описания заданий, условия задач, ссылки на шаблоны алгоритмов, примеры стартовых обстановок для проверки, проверяющие алгоритмы.
Учащийся должен сохранить курс у себя в рабочем каталоге в файле с именем, например, ivanov.work.xml . В этом файле хранятся тексты решений, созданных школьником, результаты проверки его задач. Впоследствии учащийся должен открывать именно свой рабочий файл *.work.xml .
На примерах стартовых обстановок буквой “A” обозначена клетка, где робот находится до исполнения алгоритма, буквой “B” обозначена клетка, в которую необходимо переместить робота, звездочками в правом нижнем углу обозначены клетки, которые робот должен закрасить.
Инструкция по выполнению заданий
Для выполнения заданий дома учащимися и переноса выполненных заданий в школу имеется


