ИНФОРМАТИКА · 6 КЛАСС
Алгоритмы и Python · Интерактивный конспект

§ 19. Изучение и изменение готовых программ

Научимся читать готовые программы, изменять отдельные параметры, задавать цвет и строить фигуры разными способами.

Попробовать на модели ↓
Разбираемся в теме

Основные пункты параграфа

1

Состояние исполнителя и дополнительные команды

Новая команда меняет определённую часть состояния.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Относительный и абсолютный поворот

Сравните «Влево 90°» и «Направление 0°». Начальное направление имеет значение.

КомандаЧто делает
setpos(x, y)Перемещает в точку; с опущенным пером рисует путь.
setheading(a)Задаёт абсолютное направление в градусах.
pensize(w)Задаёт толщину линии.
color("green")Задаёт цвет; fillcolor — отдельный цвет заливки.
circle(r)Рисует окружность радиуса r.
setup(w, h)Меняет размеры графического окна.

В стандартном режиме 0° — вправо, 90° — вверх, 180° — влево, 270° — вниз. left и right изменяют направление относительно текущего, а setheading задаёт его непосредственно. Для перехода без линии используют penup, setpos, pendown.

Главная мысль: Координаты, направление, толщина и цвет задаются отдельно.
2

Цвет, заливка и комментарии

Код должен быть понятен и человеку.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Цвет линии и заливки

Меняйте компоненты RGB и толщину. Цвет заливки задаётся отдельно от контура.

import turtle
turtle.color("green")
turtle.fillcolor("lightgreen")
turtle.begin_fill()
turtle.circle(50)
turtle.end_fill()
turtle.done()

Названия цветов пишут в кавычках. color("green", "lightgreen") может одновременно задать цвет линии и заливки. Числовые компоненты цвета используются в установленном режиме: colormode(255) допускает значения от 0 до 255, colormode(1.0) — от 0 до 1. Не смешивайте режимы.

Комментарий начинается с # и поясняет код; исполнитель не выполняет его как команду. begin_fill() ставят до рисования фигуры, end_fill() — после: тогда область заполняется выбранным цветом.

Главная мысль: Комментарии объясняют программу; заливку ограничивают begin_fill и end_fill.
3

Треугольник и угол поворота

Внешний поворот дополняет внутренний угол до 180°.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

60° внутри, 120° при повороте

Изменяйте угол поворота и проверяйте, замкнулась ли траектория из трёх равных отрезков.

import turtle
turtle.forward(100)
turtle.left(120)
turtle.forward(100)
turtle.left(120)
turtle.forward(100)
turtle.left(120)
turtle.done()

Три одинаковые стороны и три поворота по 120° возвращают исполнителя в исходное положение и направление. Последний поворот не добавляет сторону, но подготавливает состояние для следующего рисунка. Поворот на 60° построит другую траекторию.

Главная мысль: Для равностороннего треугольника поворот равен 120°.
4

Изменение готовой программы

Найдите фрагмент, отвечающий за нужную деталь.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Найдите изменение в программе

Исправьте длину одной стороны. На рисунке видно, почему незамкнутый контур не стал квадратом.

  1. Прочитайте

    Разделите программу на части: крыша, стены, окно.

  2. Предскажите

    Какая команда определяет размер или положение нужной детали?

  3. Измените

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

  4. Проверьте

    Запустите, сравните рисунок и сохраните новую версию.

При построении нескольких фигур поднимайте перо перед переходом, задавайте новую точку и нужное направление. Иначе возникнут лишние соединительные линии или повёрнутая фигура. В вспомогательной команде towards(x, y) возвращается направление от текущего положения к точке; distance(x, y) возвращает расстояние.

Главная мысль: Меняйте целевые команды и проверяйте результат по шагам.
Интерактивная практика

Измените программу

Выберите треугольник, квадрат или круг. Измените числовой параметр и предскажите результат до запуска.

Соберём главное

Шесть выводов

01

Координаты, направление, толщина и цвет задаются отдельно.

02

Комментарии объясняют программу; заливку ограничивают begin_fill и end_fill.

03

Для равностороннего треугольника поворот равен 120°.

04

Меняйте целевые команды и проверяйте результат по шагам.

05

goto задаёт точку, setheading — направление; выбор цвета и толщины пера сам по себе не перемещает Черепаху.

06

Угол поворота при обходе многоугольника отличается от внутреннего угла фигуры; для правильного n-угольника поворот равен 360°/n.

Самопроверка

Тест: 10 вопросов

Один верный ответ. За ответ — 0,5 балла. Откройте и проверьте себя.

1. Как перейти к точке без следа?

2. Что задаёт setheading(90)?

3. Что задаёт pensize?

4. Как записывают текстовое название цвета?

5. Как начинают комментарий Python?

6. Какая пара ограничивает заливку?

7. Каков радиус в circle(50)?

8. Какой поворот нужен равностороннему треугольнику?

9. Почему нужен последний поворот после третьей стороны?

10. Что полезно делать при изменении готового кода?

ВыводыТестВ началоВсе параграфы
↑

Загрузка прогресса…