Similar presentations:
Циклы. Turtle
1.
Модуль 4. Урок 2.Turtle. Циклы
Ссылка на методичку
2.
Модуль 4. Урок 2. Turtle. ЦиклыОбсуждение:
Новый заказ
3.
Получен новый заказ!В ProTeam обратился представитель Министерства культуры.
Недавно был анонсирован фестиваль «Ни дня без прекрасного», в
рамках которого для жителей города пройдёт серия культурноразвлекательных мероприятий.
Обсуждение
рабочих задач
Для украшения общественных пространств и печати листовок и
баннеров нужно запрограммировать отрисовку изображений.
Поможем работникам министерства?
Алёна,
менеджер проектов
4.
Рассмотрим одну из задачЗадача. К празднику День космонавтики город будет украшен звёздами. Напишите программу,
рисующую звезду по параметрам: цвет — тёмно-синий ("darkblue"), расстояние между двумя
Как запрограммировать такую звезду?
Опишем алгоритм движения исполнителя с точки зрения математики.
Обсуждение
рабочих задач
противоположными концами звезды — 150 пикселей.
5.
Рассмотрим одну из задачЗадача. К празднику День космонавтики город будет украшен звёздами. Напишите программу,
рисующую звезду по параметрам: цвет — тёмно-синий ("darkblue"), расстояние между двумя
противоположными концами звезды — 150 пикселей.
Обсуждение
рабочих задач
Предположите, на какой угол
поворачивает исполнитель?
Он больше или меньше 90° ?
6.
Рассмотрим одну из задачЗадача. К празднику День космонавтики город будет украшен звёздами. Напишите программу,
рисующую звезду по параметрам: цвет — тёмно-синий ("darkblue"), расстояние между двумя
противоположными концами звезды — 150 пикселей.
Обсуждение
рабочих задач
Чтобы нарисовать пятиконечную
звезду, нужно поворачивать на 144
градуса!
7.
Рассмотрим одну из задачЗадача. К празднику День космонавтики город будет украшен звёздами. Напишите программу,
рисующую звезду по параметрам: цвет — тёмно-синий ("darkblue"), расстояние между двумя
противоположными концами звезды — 150 пикселей.
❏
Сколько отрезков нужно нарисовать?
Сколько раз повернуть?
❏
Какие команды соответствуют шагам алгоритма?
Обсуждение
рабочих задач
Теперь опишите полный алгоритм перемещения
черепашки.
8.
Возможное решение:from turtle import *
color("darkblue")
begin_fill()
forward(150)
left(144)
forward(150)
forward(150)
left(144)
forward(150)
left(144)
forward(150)
left(144)
end_fill()
exitonclick()
Обсуждение
рабочих задач
left(144)
9.
Возможное решение:from turtle import *
color("darkblue")
begin_fill()
forward(150)
left(144)
left(144)
forward(150)
left(144)
forward(150)
left(144)
forward(150)
left(144)
end_fill()
exitonclick()
Это решение можно сделать
оптимальнее. Как?
Обсуждение
рабочих задач
forward(150)
10.
Возможное решение:color("darkblue")
begin_fill()
for i in range (5):
forward(150)
left(144)
end_fill()
Отрисовка фигур может быть по-разному оптимизирована
с помощью циклов:
❏ Поместить в цикл несколько команд (как здесь).
❏ Свести отрисовку сложной фигуры к рисованию
простой фигуры несколько раз.
❏ Выделить сложную фигуру в функцию и поместить её
в цикл.
exitonclick()
Чтобы справиться с заказом, нужно научиться
этим способам оптимизации.
Обсуждение
рабочих задач
from turtle import *
11.
Цель рабочего дня —запрограммировать изображения для проведения
культурно-массовых мероприятий.
В рамках фестиваля «Ни дня без культуры» запланировано
множество мероприятий.
● вспомните команды модуля turtle и аппарат
математики для разработчика;
● узнаете способы оптимизации изображений
помощью циклов и функций;
с
● запрограммируете множество картинок от эмблемы
городского парка до звёздного неба.
Обсуждение
рабочих задач
Сегодня вы:
12.
Модуль 4. Урок 2. Turtle. ЦиклыПодтверждение
квалификации
13.
Чтобы приступить к рабочим задачам,продемонстрируйте уровень своих
знаний.
Подтверждение
квалификации
Покажите, что вы готовы к «мозговому
штурму»!
14.
Что такое пиксель?Подтверждение
квалификации
С каким видом графики работает модуль
turtle?
15.
Пиксель —это минимальная (неделимая) часть графического
изображения
Растровое изображение —
совокупность точек (пикселей),
используемых для отображения
картинки на экране компьютера.
Модуль turtle работает с
растровой графикой.
Подтверждение
квалификации
Растр — это набор пикселей.
16.
Что такое черепашка?Подтверждение
квалификации
В какой точке появляется и где перемещается
черепашка?
17.
Черепашка —это исполнитель команд модуля turtle, рисующий
графические объекты.
Часть окна, в которой располагается
исполнитель, называется координатной
плоскостью.
(-200, 200)
При запуске программы черепашка
появляется в начальной точке (0, 0).
(200, 200)
Начало
(0, 0)
(-200, - 200)
(200,- 200)
Подтверждение
квалификации
Положение черепашки на плоскости
определяется двумя числами —
координатами.
18.
Переместить черепашкуна 100 пикселей вперёд
?
Повернуть вправо черепашку на
угол, равный 100 градусам
?
Повернуть влево черепашку на
угол, равный 100 градусам
?
Изменить толщину пера черепашки
на 5 пикселей
?
Изменить цвет пера черепашки на
оранжевый
?
Подтверждение
квалификации
Какие команды соответствуют описанию?
19.
Переместить черепашкуна 100 пикселей вперед
forward(100)
Повернуть вправо черепашку на
угол, равный 100 градусам
right(100)
Повернуть влево черепашку на
угол, равный 100 градусам
left(100)
Изменить толщину пера черепашки
на 5 пикселей
pensize(5)
Изменить цвет пера черепашки на
оранжевый
color("orange")
Подтверждение
квалификации
Какие команды соответствуют описанию?
20.
На какой угол нужно поворачивать черепашке,если она рисует:
Подтверждение
квалификации
а) квадрат;
б) треугольник;
в) шестиугольник?
21.
На какой угол нужно поворачивать черепашке,если она рисует:
Подтверждение
квалификации
а) квадрат;
б) треугольник;
в) шестиугольник?
22.
Угол поворота черепашки:Подтверждение
квалификации
а) квадрат — 90 градусов;
б) треугольник — 120 градусов;
в) шестиугольник — 60 градусов.
23.
Начать заливку текущимцветом
?
Завершить заливку текущим цветом
?
Поднять перо
?
Опустить перо
?
Переместить черепашку в точку с
координатами (-100, 40)
?
Подтверждение
квалификации
Какие команды соответствуют описанию?
24.
Начать заливку текущимцветом
begin_fill()
Завершить заливку текущим цветом
end_fill()
Поднять перо
penup()
Опустить перо
pendown()
Переместить черепашку в точку с
координатами (-100, 40)
goto(-100, 40)
Подтверждение
квалификации
Какие команды соответствуют описанию?
25.
Квалификация подтверждена!Подтверждение
квалификации
Отлично, вы готовы к «мозговому штурму» и
реализации рабочей задачи!
26.
Модуль 4. Урок 2. Turtle. Циклы«Мозговой штурм»:
Отрисовка фигур
в циклах
27.
Отрисовка фигур с помощью цикловРассмотрим несколько рабочих задач.
«Мозговой
штурм»
Каждую из них можно решать разными способами.
Но мы попытаемся найти наиболее оптимальный из них.
28.
Пара полезных командКоманда
Значение
Изменить скорость перемещения
черепашки
hideturtle()
Скрыть исполнителя-черепашку с экрана
(остаётся только рисунок)
«Мозговой
штурм»
speed(<число от 1 до 1999>)
Скорость 3
Скорость 10
29.
Рассмотрим задачу«Мозговой
штурм»
Задача. Запрограммируйте исполнителя так, чтобы он рисовал эмблему Музея иллюзий.
Фигура состоит из четырёх частей, каждая из них — из семи окружностей. Радиус первой
окружности — 10. Радиус следующей больше предыдущей на 10. Скройте исполнителя
после отрисовки изображения.
Какие команды нужно использовать? Какое решение будет оптимальным?
30.
Идея решения:Счётчик1 = 0
Счётчик1 не равен 4?
Нет
Да
Счётчик2 = 0
Радиус = 10
Счётчик2 не равен 7?
Нет
Нарисовать окружность
текущего радиуса
Увеличить радиус на 10
Увеличить счётчик2 на 1
Увеличить счётчик1 на 1
«Мозговой
штурм»
Да
31.
Возможный код:from turtle import *
def draw_set():
size = 10
for i in range(7):
Отрисовка набора
из семи
окружностей
circle(size)
size += 10
speed(50)
for i in range(4):
draw_set()
left(90)
hideturtle()
exitonclick()
Отрисовка четырёх
наборов с
поворотом на 90
градусов
«Мозговой
штурм»
color("navy")
32.
Перед тем, как продолжить:1. Как изменить программу, чтобы у «цветка» эмблемы было не
четыре «лепестка», а пять?
«Мозговой
штурм»
2. Клиент хочет разместить красивую анимацию отрисовки
эмблемы на сайт Музея иллюзий. Как изменить программу,
чтобы эмблема рисовалась медленнее?
33.
Рассмотрим задачу«Мозговой
штурм»
Задача. Парк развлечений «Мечта» тоже планирует распечатать рекламу со своей
эмблемой в виде колеса обозрения. Длина отрезка-спицы колеса равна 100. Угол между
спицами равен 10 градусам. Цвет рисунка — голубой (‘blue’). Скройте исполнителя после
отрисовки изображения.
Выглядит красиво, но сложно… Как запрограммировать такой узор?
34.
Рассмотрим задачуЗадача. Парк развлечений «Мечта» тоже планирует распечатать рекламу со своей
эмблемой в виде колеса обозрения. Длина отрезка-спицы колеса равна 100. Угол между
спицами равен 10 градусам. Цвет рисунка — голубой (‘blue’). Скройте исполнителя после
отрисовки изображения.
«Мозговой
штурм»
Мне кажется, я вижу в этом
рисунке треугольники...
35.
Идея решения:Счётчик1 = 0
Счётчик1 не равен __?
Нет
Сколько раз должен
выполниться внешний
цикл?
Да
Счётчик2 = 0
Счётчик2 не равен 3?
Нет
Повернуть на 120
градусов влево
Увеличить счётчик2 на 1
Повернуть вправо на 10 градусов
Увеличить счётчик1 на 1
«Мозговой
штурм»
Да
Нарисовать отрезок
длины 100
36.
Идея решения:Счётчик1 = 0
Счётчик1 не равен __?
Нет
Да
Счётчик2 = 0
Счётчик2 не равен 3?
Нет
10 раз
Повернуть на 120
градусов влево
Увеличить счётчик2 на 1
30 раз
Повернуть вправо на 10 градусов
Увеличить счётчик1 на 1
Попробуем подобрать...
«Мозговой
штурм»
Да
Нарисовать отрезок
длины 100
37.
Возможный код:from turtle import *
def draw_triangle():
color("blue")
for i in range(3):
forward(100)
Отрисовка
треугольника
speed(10) #увеличиваем скорость
for i in range(36):
draw_triangle()
right(10)
hideturtle()
exitonclick()
Отрисовка 36
треугольников с
поворотом на 10
градусов
«Мозговой
штурм»
left(120)
38.
Перед тем, как продолжить:1. Как изменить программу, чтобы в колесе обозрения стало
больше спиц, чем сейчас? А как сделать меньше?
«Мозговой
штурм»
2. Клиент хочет сделать эмблему более дружелюбной. Для
этого нужно любым способом покрасить колесо обозрения в
два цвета: красный и оранжевый.
Как это сделать?
39.
Модуль 4. Урок 2. Turtle. ЦиклыПлатформа:
Министерство культуры:
задачи
40.
Выполните задания на платформе«Министерство культуры: задачи»
Работаем на
платформе
learn.algoritmika.org
41.
Перерыв42.
Модуль 4. Урок 2. Turtle. Циклы«Мозговой штурм»:
Отрисовка фигур
в циклах
43.
Решим ещё одну задачу со звездой«Мозговой
штурм»
Задача. Солнце — единственная звезда Солнечной системы. Напишите программу, рисующую её,
как на картинке. Длина отрезка в основании Солнца — 150. Количество лучей — 18. Цвет —
жёлтый (‘yellow’). Скройте исполнителя после работы.
Мы уже решили похожую задачу с пятиконечной звездой.
Как теперь запрограммировать черепашку? Каким будет угол поворота?
44.
Решим ещё одну задачу со звездойЗадача. Солнце — единственная звезда Солнечной системы. Напиши программу, рисующую её,
как на картинке. Длина отрезка в основании Солнца — 150. Количество лучей — 18. Цвет —
жёлтый (‘yellow’). Скройте исполнителя после работы.
Отрезок 150 пикселей,
угол 120 градусов
Отрезок 150 пикселей,
угол 100 градусов
Отрезок 150 пикселей,
угол 200 градусов
«Мозговой
штурм»
По аналогии с пятиконечной звездой сведём задачу к рисованию отрезка и
повороту на один и тот же угол. Подберём этот угол.
45.
Возможный код:from turtle import*
def sun ():
begin_fill()
for i in range(18):
forward(150)
Отрисовка Солнца. 18
вершин ->
18 отрезков
left(100)
color("yellow")
speed(10)
sun()
exitonclick()
«Мозговой
штурм»
end_fill()
46.
Перед тем, как продолжить:1. Получится ли аналогично запрограммировать симметричную
звезду повтором действий в цикле 11 раз? 7 раз? Почему?
«Мозговой
штурм»
2. Клиент хочет разместить на баннере несколько звёзд жёлтого
цвета. Как нужно дописать программу?
47.
Решим ещё одну задачу«Мозговой
штурм»
Задача. Совсем скоро в городе пройдёт фестиваль чёрно-белого кино. Запрограммируйте узор
для стен кинотеатра, в котором пройдёт фестиваль. Начни рисовать с точки (-50, -50). Цвета
квадратов: чёрный (‘black’), серый (‘lavender’), белый (‘white’), чёрный (‘black’). Скрой
исполнителя после работы.
Как написать такую программу?
48.
Возможный код:from turtle import*
goto(-50,-50)
def draw_square(length, cur_color):
color(cur_color)
begin_fill()
for i in range(4):
forward(length)
left(90)
draw_square(200, 'black')
draw_square(150, 'white')
draw_square(100, 'lavender')
draw_square(50, 'black')
hideturtle()
exitonclick()
«Мозговой
штурм»
end_fill()
49.
Перед тем, как продолжить:1. Заказчик попросил добавить ещё один квадрат со стороной 250
серого (‘grey’) цвета.
Как дописать программу?
«Мозговой
штурм»
1. Как дополнить композицию из квадратов внешней рамкой
толщиной 5 пикселей фиолетового (‘violet’) цвета?
50.
Модуль 4. Урок 2. Turtle. ЦиклыПлатформа:
Министерство культуры:
задачи 2
51.
Выполните задания на платформе«Министерство культуры: задачи 2»
Работаем на
платформе
learn.algoritmika.org
52.
Модуль 4. Урок 2. Turtle. ЦиклаЗавершение
рабочего дня
53.
Для завершения работыпройдите техническое интервью
1. Какие способы оптимизации рисования с помощью циклов
вы знаете?
Подведение итогов
рабочего дня
2. Опишите идею рисования пятиконечной звезды. Как
оптимальнее: с циклом или без? Почему?
Костя,
Алёна,
старший разработчик
менеджер проектов
54.
Оценка эффективности проделаннойработы
Поделитесь с коллегами:
2. Что получилось не так, как хотелось?
3. Что нужно сделать, чтобы в следующий раз избежать
неудачи?
Подведение итогов
рабочего дня
1. Что у вас получилось лучше всего?
55.
«Минкультуры:доп. задания»
Подведение итогов
рабочего дня
Дополнительные задания для
повышения эффективности
programming