Цель урока: знать этапы реализации алгоритмов с использованием графики, уметь выполнять предложенные задания на составление алгоритмов работы с графикой.
Основные команды исполнителя Черепаха, а также работа с цветами
Пример 1. Разберите программу, которая запрашивает цифру (1 или 2) и рисует красный круг, если введена 1, или синий квадрат, если введена 2.
import turtle
turtle.coordinates = "yes"
from turtle import *
coordinates = "yes"
shape('turtle')
pensize(3)
def p(x, y):
penup()
setpos(x, y)
pendown()
setheading(0)
def rect(x1, y1, x2, y2, c):
p(x1, y1)
d = abs(x2 - x1)
h = abs(y2 - y1)
color("black", c)
begin_fill()
forward(d)
right(90)
forward(h)
right(90)
forward(d)
right(90)
forward(h)
end_fill()
def fill_circle(x, y, r, c):
p(x, y - r)
color("black", c)
begin_fill()
circle(r)
end_fill()
m = int(input("Введите 1 для рисования круга или 2 для рисования квадрата: "))
if m == 1:
fill_circle(0, 0, 60, "red")
else:
rect(-60, 60, 60, -60, "blue")
done()

Задания по теме урока
Задание 1. Измените и выполните программу так, чтобы она запрашивала номер месяца (целое число от 1 до 12) и в зависимости от поры года закрашивала землю (прямоугольник) и крону дерева (круг) одним из четырех цветов: белым (зима), салатовым (весна), зеленым (лето), оранжевым (осень).
import turtle
turtle.coordinates = "yes"
from turtle import *
coordinates = "yes"
shape('turtle')
pensize(3)
def p(x, y):
penup()
setpos(x, y)
pendown()
setheading(0)
def rect(x1, y1, x2, y2, c): # прямоугольник (ствол, земля)
p(x1, y1)
d = abs(x2 - x1)
h = abs(y2 - y1)
color("black", c)
begin_fill()
forward(d)
right(90)
forward(h)
right(90)
forward(d)
right(90)
forward(h)
end_fill()
def fill_circle(x, y, r, c): # круг (крона дерева)
p(x, y - r)
color("black", c)
begin_fill()
circle(r)
end_fill()
bgcolor("lightblue")
m = int(input("Введите номер месяца: "))
if (m == 1) or (m == 2) or (m== 12): # зима
rect(-400, 0, 400, 300, "white")
rect(175, 100, 225, 300, "brown")
fill_circle(200, 150, 60, "white")
# с помощью elif дополнить программу для весны, лета и осени
done()
Задание 2. Измените и выполните программу, чтобы она запрашивала время в часах и рисовала солнце (желтый круг на голубом фоне), если введены числа от 6 до 18 или луну (белый круг на сером фоне), если введены числа от 0 до 5 и от 21 до 24.
import turtle
turtle.coordinates = "yes"
from turtle import *
coordinates = "yes"
shape('turtle')
pensize(3)
def p(x, y):
penup()
setpos(x, y)
pendown()
setheading(0)
def rect(x1, y1, x2, y2, c): # прямоугольник (небо)
p(x1, y1)
d = abs(x2 - x1)
h = abs(y2 - y1)
color("black", c)
begin_fill()
forward(d)
right(90)
forward(h)
right(90)
forward(d)
right(90)
forward(h)
end_fill()
def fill_circle(x, y, r, c): # круг (солнце и луна)
p(x, y - r)
color("black", c)
begin_fill()
circle(r)
end_fill()
# смотри пример!
# m=int(input.....
# используя оператор if проверить, какое время суток
# первым обязательно рисуем прямоугольник неба
done()
Задание 3. Измените и выполните программу так, чтобы она рисовала светофор, запрашивала целое число и закрашивала у светофора зеленый круг, если число кратно 3, желтый — если число кратно 2, или красный — во всех остальных случаях.
import turtle
turtle.coordinates = "yes"
from turtle import *
shape('turtle')
pensize(3)
def p(x, y):
penup()
setpos(x, y)
pendown()
setheading(0)
def rect(x1, y1, x2, y2, c): # прямоугольник
p(x1, y1)
d = abs(x2 - x1)
h = abs(y2 - y1)
color("black", c)
begin_fill()
forward(d)
right(90)
forward(h)
right(90)
forward(d)
right(90)
forward(h)
end_fill()
def fill_circle(x, y, r, c): # круг
p(x, y - r)
color("black", c)
begin_fill()
circle(r)
end_fill()
rect(-40, 100, 40, -100, "gray")
fill_circle(0, -60, 25, "lightgray")
fill_circle(0, 0, 25, "lightgray")
fill_circle(0, 60, 25, "lightgray")
# дополнить программу, используя оператор ветвления
done()


Домашнее задание
§ 6 учебного пособия, ответить на вопросы



