План занятия
- 3 минПовторение. Три вопроса по теме К2: комментарии, способы записи алгоритмов, линейный алгоритм.
- 7 минТеория. Исполнитель «Черепаха»: среда и система команд; линейные программы рисования фигур; перо, цвет, координаты.
- 5 минРазбор кода. Программа для черепахи и три задания к ней.
- 15–18 минПрактикум. Три обязательные задачи и две задачи со звёздочкой (★) с автоматической проверкой рисунка.
- 3 минИтог. Вывод, задания «Проверить себя», завершение занятия.
Цель занятия
Усвоить среду и систему команд исполнителя «Черепаха», научиться составлять линейные программы рисования отрезков и фигур на языке Python и управлять пером, цветом и положением черепахи.
Повторение
Три вопроса по теме предыдущего конспекта. Проверка выполняется сразу после выбора ответа; ответ можно изменить.
Теория
Шаг 1. Исполнитель «Черепаха»
Исполнитель «Черепаха» (англ. turtle) — виртуальный исполнитель, который перемещается по плоскости и оставляет за собой след. Он применяется для построения рисунков по программе; идея исполнителя восходит к учебному языку программирования Logo.
Среда исполнителя — плоскость с системой координат. Начало координат (0; 0) находится в центре поля, ось x направлена вправо, ось y — вверх. В начале работы черепаха находится в начале координат и направлена вправо. Расстояния измеряются в шагах, углы — в градусах.
Чтобы использовать исполнителя в Python, программа начинается командой import turtle: она подключает модуль (англ. module) — готовый набор команд. Команды записываются в виде turtle.команда(параметры). Исполнитель работает в режиме программного управления: выполняется вся программа сверху вниз.
| Команда | Действие |
|---|---|
turtle.forward(n) | переместиться вперёд на n шагов |
turtle.backward(n) | переместиться назад на n шагов |
turtle.left(a) | повернуть налево (против часовой стрелки) на a градусов |
turtle.right(a) | повернуть направо (по часовой стрелке) на a градусов |
turtle.penup(), turtle.pendown() | поднять перо (перемещение без следа) и опустить перо |
turtle.pencolor("red") | задать цвет линии: "red", "blue", "green", "black" |
turtle.pensize(n) | задать толщину линии |
turtle.goto(x, y) | переместиться в точку с координатами (x; y) |
Блок-схема
Программа на Python
import turtle turtle.forward(100) turtle.left(90) turtle.forward(50)
Действия исполнителя обозначаются в блок-схеме прямоугольниками (процесс).
Рисунок
Шаг 2. Линейный алгоритм: рисование фигур
Линейный алгоритм (следование) — последовательность команд, которые выполняются одна за другой в порядке записи, каждая один раз. Программы для черепахи в этом конспекте линейные: команды повторяются записью подряд (циклы изучаются в следующих конспектах).
Фигура строится из отрезков; между отрезками черепаха поворачивается. Для квадрата со стороной 100 дважды записываются два действия: «вперёд на 100» и «налево на 90» — всего четыре стороны и четыре поворота.
Угол поворота на вершине равен внешнему углу фигуры, то есть 180° минус внутренний угол. У квадрата внутренний угол 90°, поэтому поворот равен 90°; у равностороннего треугольника внутренний угол 60°, поэтому поворот равен 120°.
Блок-схема
Программа на Python
import turtle turtle.forward(100) turtle.left(90) turtle.forward(100) turtle.left(90) turtle.forward(100) turtle.left(90) turtle.forward(100) turtle.left(90)
Рисунок
Шаг 3. Перо, цвет и координаты
Перо — часть исполнителя, которая оставляет след. Пока перо опущено (pendown), перемещение рисует линию. Команда penup() поднимает перо: черепаха перемещается без следа, пока перо снова не опущено командой pendown().
Цвет и толщина линии задаются командами pencolor("red") и pensize(3). Они действуют на все следующие линии, пока не заданы новые значения. Название цвета записывается в кавычках на английском языке.
Команда goto(x, y) перемещает черепаху в точку с заданными координатами. Если перо опущено, до новой точки проводится линия; направление черепахи при этом не меняется. Для перемещения без следа перед goto записывается penup().
Блок-схема
Программа на Python
import turtle
turtle.pencolor("green")
turtle.forward(40)
turtle.penup()
turtle.forward(20)
turtle.pendown()
turtle.forward(40)
Рисунок
Разбор кода
Готовая программа
import turtle
turtle.pencolor("blue")
turtle.forward(100)
turtle.left(90)
turtle.forward(50)
| Строка | Что происходит |
|---|---|
| 1 | Подключается модуль с командами исполнителя. |
| 2 | Задаётся синий цвет линий. |
| 3 | Черепаха проходит вперёд 100 шагов и рисует отрезок. |
| 4 | Черепаха поворачивается налево на 90°. |
| 5 | Черепаха проходит вперёд 50 шагов в новом направлении. |
Команды выполняются сверху вниз. Направление движения определяется накопленными поворотами: после left(90) команда forward перемещает черепаху вверх.
Задание 1. Определите, что нарисует программа
Практикум
Три обязательные задачи и две задачи со звёздочкой (★) по возрастанию сложности. Рисунок проверяется автоматически: сравниваются нарисованные отрезки с образцом; порядок команд, при котором получен тот же рисунок, значения не имеет. Подсказки открываются по одной.
Итог
Вывод
- Исполнитель «Черепаха» перемещается по плоскости и оставляет след. Среда — плоскость с системой координат: начало (0; 0) в центре, ось x вправо, ось y вверх; в начале работы черепаха направлена вправо.
- Программа для черепахи начинается командой
import turtle; команды записываются какturtle.команда(параметры)и выполняются сверху вниз (программное управление). - Линейный алгоритм — команды выполняются одна за другой в порядке записи, каждая один раз. Угол поворота на вершине фигуры равен внешнему углу: 90° для квадрата, 120° для равностороннего треугольника.
| Команда | Действие |
|---|---|
forward(n), backward(n) | движение вперёд и назад на n шагов |
left(a), right(a) | поворот налево и направо на a градусов |
penup(), pendown() | поднять и опустить перо |
pencolor("цвет"), pensize(n) | цвет и толщина линии |
goto(x, y) | перемещение в точку (x; y) |