Урок 8. Составление алгоритмов для работы с графикой с использованием основных алгоритмических конструкций

Цель урока: знать функцию для генерации случайных чисел; уметь выполнять предложенные задания на составление алгоритмов работы с графикой.


Пример 1. Написать программу для рисования на экране 10 разноцветных окружностей. Расположение окружностей, их радиусы определяются случайным образом.

from turtle import *
setup(640, 640)
speed(0)
hideturtle()
def p(x, y):
    penup(), setpos(x, y)
    pendown(), seth(0)
def rect(x1, y1, x2, y2, c):
    p(x1, y1)
    d = abs(x2 - x1)
    h = abs(y2 - y1)
    color("black", c)
    begin_fill()
    fd(d), rt(90)
    fd(h), rt(90)
    fd(d), rt(90)
    fd(h)
    end_fill()
x = -280
y = 280
while x < 550:
    rect(x, y, x + 50, y - 50, "lightblue")
    x = x + 100
done()

Результат работы программы:


Задания по теме урока

Задние 1. Измените пример 1 так, чтобы программа рисовала квадраты вдоль левого края графического окна.

Задание 2. Измените пример 1 так, чтобы программа рисовала квадраты по диагонали графического окна.

Задание 3. Дополните программу, чтобы она рисовала концентрические окружности, используя цикл while

import turtle
turtle.coordinates =  "yes" 
from turtle import *
coordinates =  "yes" 
shape('turtle')
pensize(3)
speed(0) 
hideturtle()
def p(x, y):
    penup(), setpos(x, y)
    pendown(), seth(0)
def fill_circle(x, y, r, c):	#  круг
    p(x, y - r)
    color("black", c)
    begin_fill()
    circle(r)
    end_fill()

# дополнить код здесь

done()

Результат работы программы:

Задание 4. Дополните программу, чтобы она рисовала вложенные друг в друга квадраты, используя цикл while.

import turtle
turtle.coordinates =  "yes" 
from turtle import *
coordinates =  "yes" 
shape('turtle')
pensize(3)
speed(0) 
hideturtle()
def p(x, y):
    penup(), setpos(x, y)
    pendown(), seth(0)
def rect(x1, y1, x2, y2, c):	#  прямоугольник
    p(x1, y1)
    d = abs(x2 - x1)
    h = abs(y2 - y1)
    color("black", c)
    begin_fill()
    fd(d), rt(90)
    fd(h), rt(90)
    fd(d), rt(90)
    fd(h)
    end_fill()

# дополнить код здесь

done()

Результат работы программы:


Это изображение имеет пустой атрибут alt; его имя файла - hw-e1653285769766.png

Домашнее задание

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

Добавить комментарий