Изучаем Алгоритмику Мой КуМир
Исполнитель Черепаха
План для Черепахи
Масштаб и переменные
Цикл К раз
Рисуем узоры
Исполнитель Черепаха
КуМир — Комплект Учебных МИРов
В наше время выполнение самых разных дел и операций люди стараются переложить на роботов и другие компьютерные устройства. Поэтому каждому человеку для успешной жизни в современном мире надо овладеть умениями планирования деятельности, умениями разработки программ-планов для управления исполнителями.
В этом курсе вы познакомитесь с исполнителями Черепахой, Кузнечиком, Роботом, Водолеем и Чертёжником; научитесь разрабатывать программы для управления этими исполнителями.
Работать будем в среде программирования КуМир. Скачать эту среду можно на официальном сайте разработчиков по адресу http://www.niisi.ru/kumir .
КуМир — Комплект Учебных МИРов — система программирования, разработана по заказу Российской академии наук и распространяется свободно на условиях лицензии GNU 2.0. В презентации используется версия КуМир 2.1.0-rc11.
Окно Редактора
Окно Исполнителя
Исполнитель Черепаха
Исполнитель: Черепаха.
Среда исполнителя: Черепаха живёт на поле, по которому может перемещаться и рисовать кончиком хвоста. Каждый «шаг» Черепахи называется «пиксель» — это наименьший элемент изображения (точка).
Черепаха может перемещаться вперёд или назад на указанное количество пикселей. Поворот Черепахи происходит относительно кончика хвоста либо по часовой стрелке , либо против часовой стрелки на указанное количество градусов.
Вывести на экран окно Черепахи можно командой меню Окна → Черепаха . Масштаб просмотра можно менять колёсиком мыши. В исходном положении Черепаха находится в центре поля, смотрит вверх, хвост поднят.
Скрыть/показать Черепаху
Закрыть окно
Настройки масштаба
Сделать отдельным окном
Исполнитель Черепаха
Каждый исполнитель может выполнять команды только из некоторого строго заданного набора системы команд исполнителя.
Система команд исполнителя Черепаха:
Команда
Комментарии
опустить хвост
При перемещении Черепаха оставляет след
поднять хвост
При перемещении Черепаха не оставляет следа
вперед (X)
Черепаха перемещается в указанном направлении на X пикселей
назад (X)
вправо (X)
Черепаха поворачивается направо или налево на X градусов
влево (X)
Примечание: X может быть числом или арифметическим выражением.
Исполнитель Черепаха
Непосредственное управление Черепахой
Для непосредственного управления Черепахой используют пульт управления (команда меню Окна → Черепаха - Пульт).
Список команд
Сброс
Выбор угла поворота
Ввод угла поворота
Ввод расстояния
Исполнитель Черепаха
Задание 1. Используя пульт управления, выполните программу:
опустить хвост
вперед (100)
вправо (120)
вперед (100)
вправо (120)
вперед (100)
- Какую фигуру нарисовала Черепаха?
- Как надо изменить программу, чтобы все стороны нарисованной фигуры были больше в два раза?
- Как изменится картинка, если все команды вперед заменить на команды назад ?
- Как изменится картинка, если все команды вправо заменить на команды влево ?
Исполнитель Черепаха
Задание 2. Какой длины отрезок нарисует Черепаха при выполнении фрагмента программы?
опустить хвост
опустить хвост
вперед (1)
назад (2)
вперед (4)
назад (2)
вперед (1)
назад (5)
вперед (4)
назад (2)
вперед (1)
назад (1)
опустить хвост
опустить хвост
вперед (2)
назад (4)
вперед (5)
назад (3)
вперед (6)
назад (1)
назад (8)
вперед (5)
назад (1)
вперед (2)
Задание 3. На какой угол вправо повернётся Черепаха после выполнения фрагмента программы?
вправо (100) влево (45) вправо (50) влево (45) влево (10) вправо (50)
вправо (80) влево (25) влево (25) вправо (30) влево (50) вправо (30)
вправо (90) влево (30) вправо (10) влево (20) влево (50) вправо (90)
вправо (45) вправо (45) влево (20) вправо (10) влево (50) вправо (30)
Исполнитель Черепаха
Задание 4. На сколько пикселей относительно исходного положения сдвинется Черепаха после выполнения программы?
поднять хвост назад (1) вперед (4) назад (5) вперед (2) назад (1)
поднять хвост вперед (2) назад (1) вперед (3) назад (2) вперед (4)
поднять хвост вперед (5) назад (3) вперед (5) назад (4) назад (3)
поднять хвост назад (5) вперед (10) назад (6) вперед (5) назад (1)
Задание 5. Упростите фрагмент программы, записав его минимальным количеством команд.
опустить хвост вправо (30) вправо (60) вперед (6) назад (6) назад (6)
опустить хвост вправо (90) вправо (90) вправо (90) вперед (5) назад (2) назад (8)
опустить хвост вперед (5) вперед (5) влево (45) влево (45) назад (5) вперед (10)
опустить хвост вперед (4) вперед (б) влево (100) влево (170) вперед (5) назад (15)
Исполнитель Черепаха
Задание 6. Считая, что длина стороны одной клетки равна 20 пикселям, с помощью пульта управления нарисуйте данный рисунок.
План для Черепахи
Алгоритм — последовательность однозначных инструкций для исполнителя, направленная на решение задачи.
Например, рецепт с пошаговым описанием способа приготовления блюда является алгоритмом. Правило перехода через улицу — это тоже алгоритм.
Алгоритмы можно записывать разными способами, например в словесной форме, с помощью пиктограмм или в виде схемы. Способ записи алгоритма зависит от исполнителя, для которого составляется алгоритм.
Алгоритм должен быть записан на понятном исполнителю языке. При этом необходимо придерживаться строгих правил и точной записи команд, не допускающих разночтений исполнителем.
Если в качестве исполнителя выступает компьютер, то такой язык называют языком программирования , а запись алгоритма на этом языке — программой .
Черепахой можно командовать вручную с помощью пульта управления, последовательно передавая ей команды алгоритма, а можно поручить это компьютеру. Для этого необходимо записать программу на языке программирования. В системе КуМир используется школьный алгоритмический язык (его также называют просто «алгоритмический язык»).
План для Черепахи
На алгоритмическом языке любая программа для исполнителя Черепаха имеет такой вид:
использовать Черепаха алг Имя_программы нач . |Тело программы (последовательность команд) кон
Слова алг , нач , кон входят в набор служебных слов. Некоторые стандартные конструкции со служебными словами можно ввести или добавить в программу с помощью команды меню Вставка. Имя (название) программы может отсутствовать. В имени можно использовать русские и латинские буквы, знак подчёркивания, цифры. Нельзя начинать имя с цифры. Имя не должно совпадать со служебным словом.
В теле программы команды можно писать в столбик или в одну строку через точку с запятой. Строки, начинающиеся с вертикальной черты, являются комментариями и не выполняются.
Алгоритмы, в которых команды выполняются строго друг за другом, называются линейными .
Запустить программу на исполнение можно с помощью команд меню:
- Выполнение → Без показа на полях (Shift+F9)
- Выполнение → Обычное выполнение (F9)
или с помощью кнопок на панели инструментов
План для Черепахи
Задание 1. Считая, что длина стороны одной клетки равна 20 пикселям, определите, какую букву нарисует Черепаха.
Допишите в начало программы команду поворота так, чтобы Черепаха рисовала не гласную букву русского алфавита, а согласную.
использовать Черепаха
алг Буква
нач
. опустить хвост
. |............
. влево ( 90 ); вперед ( 60 )
. влево ( 90 ); вперед ( 40 )
. влево ( 90 ); вперед ( 60 )
. назад ( 60 ); вправо ( 90 )
. вперед ( 40 ); влево ( 90 )
. вперед ( 60 )
кон
План для Черепахи
Задание 2. Считая сторону клетки равной 10 пикселям, определите, что нарисует Черепаха, выполняя программу.
использовать Черепаха
алг Рисунок
нач
. опустить хвост
. вперед ( 40 )
. вправо ( 90 )
. вперед ( 20 )
. вправо ( 90 )
. вперед ( 20 )
. вправо ( 90 )
. вперед ( 40 )
. вправо ( 90 )
. вперед ( 20 )
. вправо ( 90 )
. вперед ( 20 )
кон
План для Черепахи
Задание 3. Считая сторону клетки равной 10 пикселям, определите, что нарисует Черепаха, выполняя программу.
использовать Черепаха
алг Рисунок
нач
. опустить хвост
. вперед ( 20 )
. влево ( 90 )
. вперед ( 20 )
. влево ( 90 )
. вперед ( 40 )
. вправо ( 90 )
. вперед ( 20 )
. вправо ( 90 )
. вперед ( 20 )
. вправо ( 90 )
. вперед ( 40 )
кон
План для Черепахи
Задание 5. Считая, что длина стороны одной клетки равна 20 пикселям, составьте программу, по которой Черепаха нарисует данный рисунок.
Масштаб и переменные
В программе в качестве параметров команд вправо, влево, вперед, назад можно писать не только числа, но и арифметические выражения. Например:
вправо ( 45 + 90 ); назад ( 210 ); вперед ( 2 *х)
В последнем примере в выражении используется переменная х .
Переменными называют величины, которые могут принимать различные значения в процессе выполнения программы. В среде КуМир перед первым использованием переменной её надо описать, указав имя переменной и тип . Тип определяет, какие значения сможет принимать данная переменная:
цел — целые числа;
вещ — целые и дробные числа (целая часть от дробной отделяется точкой).
Присваивать значение переменной можно разными способами. Например, можно описать переменную в заголовке программы по правилу:
алг Имя_программы ( Тип_переменной Имя_переменной )
Тогда при запуске программы в нижней части окна в поле ввода/вывода появляется запрос:
Введите Имя_переменной :
Необходимо набрать значение того же типа, что и переменная, и нажать клавишу Enter. Заданное значение станет значением переменной.
Масштаб и переменные
Напишем программу рисования буквы «Ч», добавив в неё переменную м , значение которой будет равно размеру одной клетки.
Если Черепаха должна продвинуться вперёд на одну клетку, будем давать команду вперед (м) , а если необходимо передвинуться на 2 клетки, то команда будет вперед (2*м) .
использовать Черепаха
алг Буква_Ч ( цел м)
нач
. опустить хвост
. вперед ( 2 *м)
. назад (м)
. влево ( 90 )
. вперед (м)
. вправо ( 90 )
. вперед (м)
кон
Таким образом, данная программа позволяет нам создавать изображения разного размера. Для этого достаточно поменять значение переменной м .
Масштаб и переменные
Задание 1. Допишите программу для рисования слона. Обратите внимание на исходное положение Черепахи (на рисунке оно показано стрелкой).
использовать Черепаха алг Слон ( вещ м) нач . опустить хвост . влево ( 180 ) . вперед (м) . влево ( 90 ) . вперед ( 2 *м) . влево ( 90 ) . вперед ( 4 *м) . влево ( 90 ) . вперед ( 2 *м) . назад (м) . вправо ( 90 ) . вперед (м) . |............ кон
Масштаб и переменные
Задание 3. Для каждого из рисунков создайте программу с параметром (размер клетки). Протестируйте программу с различными значениями параметра.
Цикл К раз. Правильные многоугольники
Задание 1. Что нарисует Черепаха по программе?
использовать Черепаха
алг Чертеж ( цел а)
нач
. опустить хвост
. вперед (а); вправо ( 90 )
. вперед (а); вправо ( 90 )
. вперед (а); вправо ( 90 )
. вперед (а); вправо ( 90 )
кон
В программе используются две команды: вперед (а) и вправо (90) , которые последовательно повторяются 4 раза подряд. Ситуацию, когда одну или несколько команд необходимо выполнить несколько раз подряд, называют циклом.
Цикл — это особый способ организации действий исполнителя, при котором одна и та же последовательность команд выполняется несколько раз подряд.
Цикл К раз. Правильные многоугольники
В среде КуМир существует несколько видов цикла.
Самый простой — цикл К раз . Общий вид цикла К раз :
нц К раз . |Тело цикла (последовательность команд) кц
Здесь нц — начало цикла, кц — конец цикла, К — параметр цикла — переменная целого типа, которая показывает, сколько раз подряд выполнится тело цикла.
Программа из задания 1 с использованием цикла:
использовать Черепаха алг Чертеж ( цел а) нач . опустить хвост . нц 4 раз . . вперед (а); вправо ( 90 ) . кц кон
Цикл К раз. Правильные многоугольники
Квадрат является правильным многоугольником, т. е. многоугольником, у которого все стороны и все углы равны между собой. При рисовании правильного многоугольника необходимо поворачивать Черепаху на угол, который можно вычислить по формуле:
Угол = 360 /К , где К — количество углов многоугольника.
Например, для построения пятиугольника угол, на который нужно поворачивать Черепаху, равен 360/5 = 72 градуса.
Задание 2. Создайте программы для рисования правильного треугольника, пятиугольника, шестиугольника и 12-угольника со стороной а пикселей.
Цикл К раз. Правильные многоугольники
Задание 3. Используя опыт решения предыдущей задачи, заполните пропуски в предложенной заготовке. Создайте универсальную программу для построения любого правильного многоугольника с заданной длиной стороны а .
Примечание. При тестировании программы выбирайте подходящие значения для переменных, чтобы фигура помещалась в окне.
использовать Черепаха
алг Многоугольник ( цел К, а)
нач
. опустить хвост
. нц ... раз
. . вперед (...)
. . вправо (...)
. кц
кон
Какие значения переменных К и а надо задать, чтобы получилась фигура, максимально похожая на окружность?
Рисуем узоры
В качестве тела цикла может выступать другой цикл. Тогда для каждого выполнения внешнего цикла будут повторяться команды внутреннего цикла.
Такая алгоритмическая конструкция называется вложенные циклы . Например:
использовать Черепаха
алг Узор
нач
. опустить хвост
. вправо ( 90)
. нц 4 раз
. . нц 4 раз
. . . вперед ( 20); вправо ( 90)
. . . вперед ( 20); влево ( 90)
. . . вперед ( 20); влево ( 90)
. . . вперед ( 20); вправо ( 90)
. . . вперед ( 20)
. . кц
. . вперед ( 20); вправо ( 90)
. . вперед ( 20)
. кц
кон
Рисуем узоры
Задание 1. Для украшения дома Черепаха решила вышить салфетки. Создайте программы для рисования схемы вышивки.
В презентации использованы материалы учебного пособия
Информатика. Изучаем алгоритмику. Мой КуМир. 5-6 классы / Е. А. Мирончик, И. Д. Куклина, Л. Л. Босова. — М.: БИНОМ. Лаборатория знаний, 2018.