
ИНФОРМАТИКА
Здравствуйте, мои дорогие! Начинаем урок. Давайте улыбнемся друг другу, подарите свои улыбки окружающим.

ИНФОРМАТИКА
Разминка
Ребята, давайте разгадаем ребус
2

ИНФОРМАТИКА
3
10
1
6
0
2
9
4
5
7
8
Который состоит из двух слов. Время 10 секунд… проверим…
3

ИНФОРМАТИКА
Е
Т
О
К
Р
Н
А
Я
М
П
Ь
Ю
И
Г
Р
А
Это слова Компьютерная игра. Эти слова встретятся нам сегодня ещё на уроке, но позже…сейчас мы продолжаем писать программы на черепашьей графике в питоне

ИНФОРМАТИКА 8 КЛАСС
Программирование
Урок №25
3.9.Тема:
«Черепашья графика» в Python. Создаём свои команды (функции).
Учебник
«ИНФОРМАТИКА 7-9 КЛАСС»
И. Н. Цыбуля, Л. А. Самыкбаева,
А. А. Беляев, Н. Н. Осипова, У. Э. Мамбетакунов
Тема нашего сегодняшнего урока: «Черепашья графика» в Python. Создаём свои команды (функции).

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Циклы в «Черепашьей графике». Решение практических задач
1
2
Создаём свои команды. Функции в «Черепашьей графике»
3
Решение практических задач
Сегодня на уроке мы продолжим решать практические задачи с циклами в черепашьей графике, научимся создавать свои команды, задавать функции в черепашьей графике. И решим интересные задачи.
6

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Цикл while
while True :
if :
break
4
5
1
2
3
На прошлом уроке, мы с вами уже рассмотрели, как решаются задачи на построение вот таких геометрических фигур при помощи цикла while. Давайте рассмотрим ещё примеры.
7

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Пример1. Рисуем спираль
10+10=20+10=30+10=40+10=50+…
Увеличивается каждый раз на 10 пикселей!
30
20
40
length=10 # переменная, обозначающая
длину стороны
10
50
length=length+10
Пример1: нарисовать спираль, как показано на рисунке. Рассмотрим закономерность. Длина первой стороны равна 10 пикселей. Каждая последующая сторона увеличивается на 10 пикселей. Введём переменную, обозначающую длину стороны, тогда следующая сторона будет равна предыдущей +10. Запишем эти команды в цикле для построения 20 сторон спирали.
8

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Пример1. Рисуем спираль
Переменная
«длина»
from turtle import *
length=10
count=0
while count
fd(length)
lt(90)
length=length+10
count=count+1
exitonclick()
Счетчик
30
20
Увеличиваем длину на 10 пикселей
40
10
50
Увеличиваем счётчик на единицу
Напишем программу для построения 20 сторон спирали с использованием цикла while. Ввели некоторую переменную length , которая будет обозначать первоначальную длину, равную 10 пикселей. Сначала у нас ноль сторон, поэтому введем некий счетчик count=0 . Цикл while будет выполняться до тех пор, пока количество витков спирали не достигнет значения 20. В теле цикла строим витки спирали, каждый раз увеличивая их на 10 пикселей, а затем увеличиваем величину count на единицу.
length=10
length=length+10
9

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Пример1. Рисуем спираль
При построении спирали мы можем регулировать скорость движения исполнителя командой speed, в скобочках указывается величина от нуля до десяти. Для быстрого отображения рисунка задаётся значение ноль.
10

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Размеры спирали
Цикл while
from turtle import *
length=10
count=0
while count
fd(length)
lt(90)
length=length+10
count=count+1
exitonclick()
while count
while count
length=2
length=length+2
Размеры спирали можно изменять, меняя количество витков, параметры длины
length=30
length=length+5
length=10
length=length+10
11

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Угол поворота
left(120)
left(72)
from turtle import *
length=10
count=0
while count
fd(length)
lt(90)
length=length+10
count=count+1
exitonclick()
Цикл while
left(92)
left(160)
left( ? )
А при изменении угла поворота, будет меняться фигура, посмотрим несколько примеров при 120 градусах… при 72….при 92….при 160….
12

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Напишем программу для построения всех этих фигур в одной программе и понаблюдаем за процессом исполнения,……. чтобы он не был очень долгим, добавили команду скорости с параметром ноль.
13

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Движение со случайной длиной и поворотом
Начало программы
import turtle #подключить модуль turtle
import random #подключить модуль random
turtle.shape("turtle")
turtle.position()
(0.00,0.00) # задаем позицию относительно центра
turtle.forward(15) # задаём смещение
turtle.color( 'blue' ) # устанавливаем цвет
i=0
продолжение
В данном примере черепашка будет передвигаться вперёд на некоторое расстояние, менять цвет и поворачиваться на 90 градусов против часовой стрелки. Для этого нам необходимо подключить модуль turtle и модуль random, задаем позицию относительно центра, смещение и устанавливаем цвет
14

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Движение со случайной длиной и поворотом
while i # задаём цикл
a=random.randint(1,20) # произвольная величина, на которую будем сдвигать
turtle.forward(150+a) # смещаем на 150+произвольную величину
turtle.left(90) # поворот влево на 90 градусов
turtle.color( '#000000' )
a=random.randint(1,35) # новая произвольная величина
turtle.forward(50+a+i) # новое смещение
turtle.left(90+a) #изменение угла поворота
задаём цикл while, где i
продолжение
15

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Движение со случайной длиной и поворотом
#остальные команды подобные
turtle.color( 'red' )
a=random.randint(1,25)
turtle.forward(150+a)
turtle.left(90+a+i)
turtle.color( '#000000' )
a=random.randint(1,20)
turtle.forward(50+a)
turtle.left(90+a)
i=i+1
turtle.exitonclick()
остальные команды подобные
16

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Движение со случайной длиной и поворотом
Сохраним программу и запустим на выполнение…..каждый раз при новом запуске, будем получать новое изображение. Для увеличения скорости построения в программу можете также включить команду speed с параметром ноль. До этого мы с вами рассмотрели все программы построения фигур с повторяющимися элементами при помощи цикла while, давайте рассмотрим при помощи цикла for
17

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Циклические алгоритмы. Цикл с параметром.
Цикл for в Python осуществляется по схеме:
Вспомним запись цикла for в Python. В данной схеме цикл for перебирает все элементы в заданном диапазоне. С каждым из них он выполняет одни и те же действия, записанные в теле for. После ключевого слова for использована переменная i, которой на каждом проходе цикла будет присвоен очередной элемент из диапазона.
18

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Спирали. Цикл for
Наберите эти команды, используя цикл for и у вас получится квадратная спираль!
import turtle #подключить модуль turtle
t=turtle.Pen() # t - обозначение ручки черепашки
for x in range (100): # команда цикла в диапазоне от
0 до 99
t.forward(x) # идти вперёд х точек на экране
t.left(90) # повернуться налево на 90 градусов
Наберите эти команды, используя цикл for и у вас получится квадратная спираль! Сначала подключаем модуль turtle. Величина t - обозначение ручки черепашки, далее записывается команда цикла в диапазоне от 0 до 99 в теле цикла двигаемся вперёд на х точек и поворачиваем налево на 90 градусов. Получим такую спираль…
19

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Спирали. Цикл for
Измените в последней строке программы угол поворота с 90 0 на 91 0 и вы получите спиралевидную фигуру.
import turtle #подключить модуль turtle
t=turtle.Pen() # t - обозначение ручки черепашки
for x in range (100): # команда цикла в диапазоне от
0 до 99
t.forward(x) # идти вперёд х точек на экране
t.left( ) # повернуться налево на 91 градус
90
91
Измените в последней строке программы угол поворота с 900 на 910 и вы получите спиралевидную фигуру.
20

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Спирали. Цикл for
Измените в третьей строке диапазон на 300
import turtle #подключить модуль turtle
t=turtle.Pen() # t - обозначение ручки черепашки
for x in range ( ): # команда цикла в диапазоне от
0 до 300
t.forward(x) # идти вперёд х точек на экране
t.left( ) # повернуться налево на 91 градус
300
100
91
Измените в третьей строке диапазон на 300, посмотрите какая фигура получится…
21

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Спирали. Цикл for
Поставьте в последней строке программы угол поворота на 46 градусов
import turtle #подключить модуль turtle
t=turtle.Pen() # t - обозначение ручки черепашки
for x in range ( ): # команда цикла в диапазоне от
0 до 300
t.forward(x) # идти вперёд х точек на экране
t.left( ) # повернуться налево на 46 градусов
300
46
91
Поставьте в последней строке программы угол поворота на 46 градусов и получите следующую замечательную фигуру
22

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Спирали. Цикл for
А угол поворота на 121 градус!
import turtle #подключить модуль turtle
t=turtle.Pen() # t - обозначение ручки черепашки
for x in range ( ): # команда цикла в диапазоне от
0 до 99
t.forward(x) # идти вперёд х точек на экране
t.left( ) # повернуться налево на 121 градус
300
121
46
А если изменить угол поворота на 121 градус, получим следующее
23

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Черепашка закругляется и меняет цвет
Наберите эти команды и у вас получится четыре спиралевидные красные окружности!
import turtle #подключить модуль turtle
t=turtle.Pen() # t - обозначение ручки черепашки
t.pencolor( 'red' ) # красный цвет ручки
for x in range (100): # команда цикла в диапазоне от
0 до 99
t.circle(x) # нарисовать окружность с радиусом х
t.left(91) # повернуться налево на 91 градус
Черепашка закругляется и меняет цвет. Наберите эти команды и у вас получится четыре спиралевидные красные окружности!
24
![ПРОГРАММИРОВАНИЕ. 3.9. «Работа с графикой в Python» Добавим красок Рисуем четырехцветную спираль import turtle #подключить модуль turtle t=turtle.Pen() # t - обозначение ручки черепашки colors = [ ‘red’ , ‘yellow’ , ‘blue’ , ‘green’ ] # создаём список цветов for x in range (100): # команда цикла в диапазоне от 0 до 99 t.pencolor(colors[x%4]) # задаём цвет из списка t.forward (x) # идти вперёд х точек на экране t.left(91) # повернуться налево на 91 градус Алгоритм рисования четырехцветной спирали: 1. Импортировать модуль turtle и установить ручку черепашки. 2.Сообщить компьютеру, какие цвета мы хотели бы использовать. Для этого надо создать переменную-список с именем colors и поместим в этот список четыре цвета: красный , жёлтый, синий и зелёный. 3.Настроить цикл на отрисовку100 линий спирали. 4.Выбрать отдельный цвет для каждой из сторон спирали: 5.Передвигать черепашку вперед для отрисовки каждой стороны. 6.Повернуть черепашку влево и приготовить её для начала рисования следующей стороны. 25](https://fsd.videouroki.net/html/2021/10/05/v_615c744aa9397/img24.jpg)
ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Добавим красок
Рисуем четырехцветную спираль
import turtle #подключить модуль turtle
t=turtle.Pen() # t - обозначение ручки черепашки
colors = [ ‘red’ , ‘yellow’ , ‘blue’ , ‘green’ ] # создаём список цветов
for x in range (100): # команда цикла в диапазоне от
0 до 99
t.pencolor(colors[x%4]) # задаём цвет из списка
t.forward (x) # идти вперёд х точек на экране
t.left(91) # повернуться налево на 91 градус
Алгоритм рисования четырехцветной спирали: 1. Импортировать модуль turtle и установить ручку черепашки. 2.Сообщить компьютеру, какие цвета мы хотели бы использовать. Для этого надо создать переменную-список с именем colors и поместим в этот список четыре цвета: красный , жёлтый, синий и зелёный. 3.Настроить цикл на отрисовку100 линий спирали. 4.Выбрать отдельный цвет для каждой из сторон спирали: 5.Передвигать черепашку вперед для отрисовки каждой стороны. 6.Повернуть черепашку влево и приготовить её для начала рисования следующей стороны.
25
![ПРОГРАММИРОВАНИЕ. 3.9. «Работа с графикой в Python» Добавим красок Добавим цвет фона. Изменим угол поворота на 61 градус и диапазон в цикле на 200 ! import turtle t=turtle.Pen() turtle.bgcolor( 'black' ) colors = [ ‘red’ , ‘yellow’ , ‘blue’ , ‘green’ ] for x in range ( ): t.pencolor(colors[x%4]) t.forward (x) t.left( ) 200 100 91 61 Для построения следующей фигуры, добавим цвет фона. Изменим угол поворота на 61 градус и диапазон в цикле на 200! 26](https://fsd.videouroki.net/html/2021/10/05/v_615c744aa9397/img25.jpg)
ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Добавим красок
Добавим цвет фона. Изменим угол поворота на 61 градус и диапазон в цикле на 200 !
import turtle
t=turtle.Pen()
turtle.bgcolor( 'black' )
colors = [ ‘red’ , ‘yellow’ , ‘blue’ , ‘green’ ]
for x in range ( ):
t.pencolor(colors[x%4])
t.forward (x)
t.left( )
200
100
91
61
Для построения следующей фигуры, добавим цвет фона. Изменим угол поворота на 61 градус и диапазон в цикле на 200!
26
![ПРОГРАММИРОВАНИЕ. 3.9. «Работа с графикой в Python» Установим толщину пера import turtle t=turtle.Pen() w=1 # толщина пера turtle.bgcolor( 'black' ) colors = [ ‘red’ , ‘yellow’ , ‘blue’ , ‘green’ ] for x in range (200): t.pencolor(colors[x%4]) t.forward (x) t.left(61) t.width(w) # применить толщину пера w=w+0.01 # увеличить толщину пера А теперь давайте установим толщину пера, применим толщину пера и увеличим толщину пера 27](https://fsd.videouroki.net/html/2021/10/05/v_615c744aa9397/img26.jpg)
ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Установим толщину пера
import turtle
t=turtle.Pen()
w=1 # толщина пера
turtle.bgcolor( 'black' )
colors = [ ‘red’ , ‘yellow’ , ‘blue’ , ‘green’ ]
for x in range (200):
t.pencolor(colors[x%4])
t.forward (x)
t.left(61)
t.width(w) # применить толщину пера
w=w+0.01 # увеличить толщину пера
А теперь давайте установим толщину пера, применим толщину пера и увеличим толщину пера
27
![ПРОГРАММИРОВАНИЕ. 3.9. «Работа с графикой в Python» Добавим красок Поменяем движение вперёд на рисование окружности! import turtle t=turtle.Pen() turtle.bgcolor( 'black' ) colors = [ ‘red’ , ‘yellow’ , ‘blue’ , ‘green’ ] for x in range ( ): t.pencolor(colors[x%4]) t.circle (x) t.left( ) 200 100 91 61 Продолжаем экспериментировать, поменяем движение вперёд на рисование окружности! 28](https://fsd.videouroki.net/html/2021/10/05/v_615c744aa9397/img27.jpg)
ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Добавим красок
Поменяем движение вперёд на рисование окружности!
import turtle
t=turtle.Pen()
turtle.bgcolor( 'black' )
colors = [ ‘red’ , ‘yellow’ , ‘blue’ , ‘green’ ]
for x in range ( ):
t.pencolor(colors[x%4])
t.circle (x)
t.left( )
200
100
91
61
Продолжаем экспериментировать, поменяем движение вперёд на рисование окружности!
28

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Ромашка
import turtle
t=turtle.Pen()
t.speed(0)
turtle.bgcolor( 'lightgray' )
t.pencolor( 'red' )
for x in range (300):
t.forward (x)
t.left(200)
t.circle(x)
t.exitonclick()
А теперь построим такую вот ромашку красного цвета на светло-сером фоне, диапазон в цикле равен 300, в цикле команды: движения вперед, поворота налево на 200 градусов и построение окружности.
29

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Орнамент. Вложенные циклы
Для построения такого красивого орнамента напишем следующую программу, затем упростим программу, заменив повторяющиеся команды внутри цикла, ещё одним циклом, такой цикл будет называться вложенным.
30

ПРОГРАММИРОВАНИЕ.
3.4. Вложенные условные операции и циклы
Вложенные циклы:
Вложенные циклы -
При использовании вложенных циклов важно продумывать количество повторений внешнего цикла и вложенного цикла в нём, так как общее количество повторений вложенного цикла в программе равно их произведению.
это циклы, которые
выполняются в составе
других (внешних) циклов.
Вспомним, что вложенными циклами называются циклы, которые выполняются в составе других циклов. При использовании вложенных циклов важно продумывать количество повторений внешнего цикла и вложенного в нём, так как общее количество повторений вложенного цикла в программе равно их произведению.
31

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Пучок прямых лучей
При помощи вложенных циклов for можно создать программу создания пучка прямых лучей
32
![ПРОГРАММИРОВАНИЕ. 3.9. «Работа с графикой в Python» import turtle screen = turtle.Screen() screen.tracer(2) screen.bgcolor( 'navy' ) turtles = [] colors = [ 'orange' , 'red' , 'blue' , 'grey' , 'gold' , 'brown' , 'black' , 'pink' ] for i in range (8): turtles.append(turtle.Turtle( 'turtle' )) turtles[i].color(colors[i]) for j in range (8): turtles[j].right(j * 45) i = -1 while True: i = i + 1 i1 = i % 8 turtles[i1].fd(10) turtles[i1].left(10) Бесконечное движение черепашек по кругу Рассмотрим невероятно красивую программу бесконечного движения черепашек по кругу. Создаём пустой массив и заполняем его черепашками разных цветов. Каждая черепашка повернута относительно горизонтального положения на угол, равный 45 * j, где j принимает 8 разных значений (0,1,2,3…7). Таким образом головы всех восьми черепах перед началом движения развёрнуты по кругу на углы, кратные 45 градусам. Бесконечное вращение каждой черепашки задаётся циклом, причём величина i1 принимает только 8 возможных значений, продвигая черепаху при каждом новом заходе в бесконечном цикле на 10 единиц вперёд и поворачивая её на 10 градусов влево. 33](https://fsd.videouroki.net/html/2021/10/05/v_615c744aa9397/img32.jpg)
ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
import turtle
screen = turtle.Screen()
screen.tracer(2)
screen.bgcolor( 'navy' )
turtles = []
colors = [ 'orange' , 'red' , 'blue' , 'grey' , 'gold' , 'brown' , 'black' , 'pink' ]
for i in range (8):
turtles.append(turtle.Turtle( 'turtle' ))
turtles[i].color(colors[i])
for j in range (8):
turtles[j].right(j * 45)
i = -1
while True:
i = i + 1
i1 = i % 8
turtles[i1].fd(10)
turtles[i1].left(10)
Бесконечное движение черепашек по кругу
Рассмотрим невероятно красивую программу бесконечного движения черепашек по кругу. Создаём пустой массив и заполняем его черепашками разных цветов. Каждая черепашка повернута относительно горизонтального положения на угол, равный 45 * j, где j принимает 8 разных значений (0,1,2,3…7). Таким образом головы всех восьми черепах перед началом движения развёрнуты по кругу на углы, кратные 45 градусам. Бесконечное вращение каждой черепашки задаётся циклом, причём величина i1 принимает только 8 возможных значений, продвигая черепаху при каждом новом заходе в бесконечном цикле на 10 единиц вперёд и поворачивая её на 10 градусов влево.
33

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Бесконечное движение черепашек по кругу
Посмотрим реализацию данной программы, сначала черепашки двигаются быстро, затем их движение замедляется….
34

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
«Питонические» пейзажи
Наша сегодняшняя задача, научиться создавать собственные команды, мы их будем называть функциями. При помощи черепашьей графики можно создавать вот такие, так называемые «питонические» пейзажи. Давайте разберёмся, как написать программный код, для построения таких пейзажей. Что объединяет эти пейзажи? Объединяет их то, что везде используются повторяющиеся элементы неоднократно.
35

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Разберём рисунок
Предлагаю рассмотреть рисунок и сказать из каких элементов он состоит. Это три пирамиды – треугольники разного размера и цвета, птицы, деревья, облако и солнце, есть также фон двух цветов. Вы уже догадались, что с этим можно сделать? Конечно, можно было бы написать много кода для построения данного рисунка, но мы видим, здесь повторяющиеся элементы, вся разница только в размерах, цвете, месте расположения, другими словами, они отличаются некоторыми параметрами.
36

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Разберём рисунок
Пример кода:
pyramid(300, ‘blue’ )
fd(200)
pyramid(400, ‘orange’ )
fd(350)
pyramid(100, ‘purple’ )
bird(-200,200,30)
bird(-200,250,20)
bird(-180,300,10)
Было бы неплохо, если бы наш код выглядел приблизительно вот так, то есть мы бы написали некоторые команды для построения пирамид, а в скобочках изменялись бы только параметры, команды для рисования птиц, где в скобках меняли только координаты и размеры. И т.д. Давайте научимся создавать подобные команды.
37

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Создание собственной команды - функции
Для создания собственной команды используется специальное слово
def
def сокращение от define - определить
Для создания собственной команды используется специальное слово def – это сокращение от английского слова define, что в переводе означает - определить
38

100
100
ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Создание собственной команды - функции
from turtle import *
def triangle() :
fd(100)
lt(120)
fd(100)
lt(120)
fd(100)
lt(120)
triangle()
fd(100)
triangle()
exitonclick()
Пример:
Имя функции
Тело функции
Вызов функции
100
100
Прежде чем мы начнём пользоваться той или иной функцией, её нужно создать. После подключения модуля черепашка, мы с вами пишем слово def, затем указываем название команды, т.е. имя функции. Затем записываем команды, которые будут выполняться каждый раз при вызове функции, они называются телом функции. Далее в программе мы можем вызвать функцию по имени столько раз, сколько это нам необходимо.
39

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Шаг 1
Шаг 2
Шаг 3
Рисуем треугольник
На основе полученного кода создаём функцию tr()
Используем команду вызова
from turtle import *
def tr() :
fd(100)
lt(120)
fd(100)
lt(120)
fd(100)
lt(120)
tr()
fd(100)
tr()
exitonclick()
from turtle import *
def tr() :
fd(100)
lt(120)
fd(100)
lt(120)
fd(100)
lt(120)
exitonclick()
from turtle import *
fd(100)
lt(120)
fd(100)
lt(120)
fd(100)
lt(120)
exitonclick()
Рассмотрим пошагово написание программы. Шаг 1. Напишем команды построения треугольника. Подробно мы их с вами рассмотрели на прошлом уроке. На втором шаге на основе полученного кода создаём функцию tr, производную от слова треугольник. Старайтесь давать имена функции понятные, отображающие их назначение. И затем, в программе вызываем функцию по имени, которое мы дали при создании функции.
40

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Функции с параметром
from turtle import *
def tr(a, cvet) :
fillcolor(cvet)
begin_fill()
fd(a)
lt(120)
fd(a)
lt(120)
fd(a)
lt(120)
tr(100,’green’)
fd(100)
tr(200,’grey’)
exitonclick()
Параметры функции
Будет использоваться вместо а
Будет использоваться вместо cvet
РЕЗУЛЬТАТ
Но мы с вами можем создавать функции с параметрами, т.е. после имени функции, в скобочках можем указать различные значения, например размер и цвет. Это делается для того, чтобы в дальнейшем при вызове функции можно было менять эти параметры, не переписывая основной код функции. Рассмотрим пример подробнее. После объявления функции trв скобках укажем в качестве длины стороны треугольника некоторую переменную а , в качестве параметра цвета переменную cvet. Это будут параметры нашей функции, которую мы в программе можем менять. Тогда первом вызове функции вместо а подставим значение 100, а цвет зададим зелёный. При вызове во второй раз вместо параметра а задали величину, равную 200 и цвет серый. Результатом работы программы будут два треугольника зелёный со стороной 100 пикселей и серый со стороной 200 пикселей.
41

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Функции с параметром
from turtle import *
def tr(a, cvet) :
fillcolor(cvet)
begin_fill()
fd(a)
lt(120)
fd(a)
lt(120)
fd(a)
lt(120)
tr(100,’green’)
fd(100)
tr(200,’grey’)
exitonclick()
Команда forward тоже является функцией, для того чтобы сказать черепашке сколько шагов ей идти, мы указываем количество шагов в скобках команды.
Команда forward тоже является функцией, для того чтобы сказать черепашке сколько шагов ей идти, мы указываем количество шагов в скобках команды.
Мы можем создать свою команду таким образом, чтобы тоже в скобках указывать, например длину стороны треугольника или его цвет, а если захотим то и длину и цвет.
42

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Создание функции
from turtle import *
def tr(х, y) :
up()
goto(x,y)
down()
fd(100)
lt(120)
fd(100)
lt(120)
fd(100)
lt(120)
tr(0,0)
fd(100)
tr(50,200)
exitonclick()
from turtle import *
def tr(х, y) :
up()
goto(x,y)
down()
stor=0
while stor
fd(100)
lt(120)
stor=stor+1
tr(0,0)
fd(100)
tr(50,200)
exitonclick()
При создании функции в качестве параметром можно также задавать координаты, тогда новая фигура будет начинать строиться в другой точке экрана. Программу можно ещё упростить, мы уже знаем как построить треугольник при помощи циклов. Изменим эту программу, получим следующее… Проверим, также у нас получилось или нет…
43

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Создание функции
Сохраним и запустим программу на выполнение. Действительно, получили два треугольника, расположенных в разных частях экрана.
44

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Д.З.: Создание «питонического» пейзажа
В качестве самостоятельной работы, предлагаю написание программы по созданию питонического пейзажа, с которого мы начали.
45

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Пример. Рисуем персонаж
начало
import turtle
# Основные цвета для персонажа
BODY_COLOR = 'red'
GLASS_COLOR = 'skyblue'
# Главный объект
t = turtle.Turtle()
# Метод для рисования тела
def body ():
t.pensize(30) # Размер кисти
t.fillcolor(BODY_COLOR) # Цвет заполнения
t.begin_fill()
А на последок, предлагаю вам написание программы по созданию персонажа, какого? Пока не скажу, посмотрим в конце, что у нас получится. Вызовем модуль черепашка. Зададим основные цвета для нашего персонажа красный и небесно-голубой. Т.к. мы не подключили всю библиотеку, а только вызвали модуль, введем переменную t. Создадим первую функцию для рисования тела персонажа, назовём её body. Внутри функции запишем команды размера кисти, цвета заполнения и начнём рисовать, помним команды begin_fill() и end_fill() – парные, для того, чтобы закрасить замкнутый контур…
46

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Пример4. Рисуем персонаж
персонаж
# Голова
t.right(180)
t.circle(100, -180 )
# Сторона справа
t.right(90)
t.forward(50)
t.right(180)
t.circle(40, -180)
t.right(180)
t.forward(200)
Затем рисуем правую сторону персонажа – команды поворон направо на 90 градусов, вперёд на 50, направо на 180 градусов, строим дугу на 180 градусов, радиусом 40 пикселей, затем ещё раз поворачиваем на 180 градусов и вперёд на 200 пикселей. Для построения головы используем команды поворота на 180 градусов и строим дугу на 180 градусов, радиусом100 пикселей
47

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Пример4. Рисуем персонаж
персонаж
t.up()
t.left(90)
t.forward(10)
t.right(90)
t.down()
t.right(240)
t.circle(50, -70)
t.end_fill()
# Сторона слева
t.backward(20)
t.left(15)
t.circle(500, -20)
t.backward(20)
t.circle(40, -180)
t.left(7)
t.backward(50)
Затем команды для построения стороны слева, закрываем их командой end_fill(), которая позволит закончить закрашивать построенное нами тело персонажа. Переходим к рисованию деталей.
48

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Пример4. Рисуем персонаж
персонаж
# Устанавливаем цвет
t.fillcolor(GLASS_COLOR)
t.begin_fill()
t.right(150)
t.circle(90, -55)
t.right(180)
t.forward(1)
t.right(180)
t.circle(10, -65)
t.right(180)
t.forward(110)
t.right(180)
# Рисуем очки
def glass ():
# Передвигаем черепашку
t.up()
t.right(230)
t.forward(100)
t.left(90)
t.forward(20)
t.right(90)
t.down()
Рисуем очки. Для этого создадим функцию glass() и напишем ей соответствующие команды, но сначала передвинем черепашку, затем установим цвет и начинаем рисовать очки , заключив серию команд в операторные скобки begin_fill() и end_fill()
49

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Пример4. Рисуем персонаж
персонаж
t.right(90)
t.forward(75)
t.fillcolor(GLASS_COLOR)
t.begin_fill()
t.down()
t.forward(30)
t.right(255)
t.circle(300, -30)
t.right(260)
t.forward(30)
t.end_fill()
t.circle(50, -190)
t.right(170)
t.forward(80)
t.right(180)
t.circle(45, -30)
t.end_fill()
# Рисуем рюкзак
def backpack ():
t.up()
t.right(60)
t.forward(100)
Создадим ещё одну функцию для рисования рюкзака, назовём её backpack, как и для предыдущих функций напишем команды рисования рюкзака, с указанием начального положения, цвета и командами заливки замкнутой области.
50

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Пример4. Рисуем персонаж
# Вызываем все необходимые методы
body()
glass()
backpack()
turtle.done()
После того, как мы создали все функции, вызовем их в программе один раз. Вам уже интересно, что за персонаж у нас получился? Давайте проверим.
51

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Пример4. Рисуем персонаж
Сохраним программу и запустим её на выполнение. Узнаёте его?
52

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Пример4. Рисуем персонаж
Ну конечно, это Among Us – персонаж известной компьютерной игры, в которой игроки случайным образом разделены на команды: экипаж звездолета и предатели. Члены экипажа должны выполнить все задания или обнаружить самозванцев до того, как они убьют всю команду и саботируют миссию. Так вот, одного персонажа из этой игры вы уже можете рисовать, чтобы нарисовать их несколько, вам нужно будет только добавить команды перемещения черепашки в другую точку экрана и изменить параметры цвета (при желании). Пробуйте, экспериментируйте. А мы с вами на сегодня прощаемся..
53

ПРОГРАММИРОВАНИЕ.
3.9. «Работа с графикой в Python»
Циклы в «Черепашьей графике». Решение практических задач
1
2
Создаём свои команды. Функции в «Черепашьей графике»
3
Решение практических задач
Сегодня на уроке мы продолжили решать практические задачи с циклами в черепашьей графике, научились создавать свои команды, задавать функции в черепашьей графике. И решили интересные задачи.
54

Урок разработала
Клепачёва Е.А.,
учитель информатики УК АФМШЛ №61
54