1. Напишите программу, которая визуализирует перемещение летающей тарелки (эллипса) снизу слева вверх с использованием

  • 48
1. Напишите программу, которая визуализирует перемещение летающей тарелки (эллипса) снизу слева вверх с использованием графического окна.
2. Создайте программу, которая отображает движение воздушного шарика снизу вверх.
3. Напишите программу, которая моделирует горизонтальное движение тележки сначала слева направо, а затем справа налево с помощью процедуры Cart.
Як
34
Хорошо, давайте начнем с задачи номер 1. Для визуализации перемещения летающей тарелки (эллипса) снизу слева вверх с использованием графического окна, мы можем использовать библиотеку graphics, которая является частью стандартной библиотеки языка Python. Вот код программы, который вы можете использовать:

python
from graphics import *

# Создаем графическое окно
win = GraphWin("Летающая тарелка", 400, 400)

# Задаем начальные параметры тарелки
center = Point(200, 400)
radius_x = 100
radius_y = 50

# Основной цикл программы
while center.getY() > 0:
# Рисуем тарелку
oval = Oval(Point(center.getX() - radius_x, center.getY() - radius_y),
Point(center.getX() + radius_x, center.getY() + radius_y))
oval.setFill("silver")
oval.draw(win)

# Перемещаем тарелку вверх
center.move(0, -10)

# Задержка для плавного перемещения
time.sleep(0.1)

# Очищаем предыдущую отрисовку
oval.undraw()

# Закрываем графическое окно
win.close()


Эта программа использует класс `GraphWin` для создания графического окна размером 400x400 пикселей. Затем мы задаем начальные параметры тарелки: координаты центра и радиусы по осям X и Y.

Далее мы запускаем основной цикл программы, который будет выполняться до тех пор, пока центр тарелки находится ниже верхней границы окна. Внутри цикла мы рисуем тарелку, перемещаем ее вверх на 10 пикселей, добавляем небольшую задержку для плавного перемещения и удаляем предыдущую отрисовку тарелки.

После завершения цикла мы закрываем графическое окно. Теперь, когда вы запустите эту программу, вы должны увидеть, что летающая тарелка плавно перемещается вверх снизу слева.

Перейдем к задаче номер 2. Теперь создадим программу, которая отображает движение воздушного шарика снизу вверх. Вот код:

python
from graphics import *

# Создаем графическое окно
win = GraphWin("Движение воздушного шарика", 400, 400)

# Задаем начальные параметры шарика
center = Point(200, 400)
radius = 50

# Основной цикл программы
while center.getY() > 0:
# Рисуем шарик
circle = Circle(center, radius)
circle.setFill("red")
circle.draw(win)

# Перемещаем шарик вверх
center.move(0, -10)

# Задержка для плавного перемещения
time.sleep(0.1)

# Очищаем предыдущую отрисовку
circle.undraw()

# Закрываем графическое окно
win.close()


Как вы можете видеть, код очень похож на предыдущую программу. Однако мы теперь используем класс `Circle`, чтобы создать шарик, и цвет шарика - красный. Затем мы выполняем те же самые действия: перемещаем шарик вверх, добавляем задержку и удаляем предыдущую отрисовку.

Последней задачей является создание программы, которая моделирует горизонтальное движение тележки сначала слева направо, а затем справа налево с помощью процедуры `Cart`. Вот код:

python
from graphics import *

# Создаем графическое окно
win = GraphWin("Горизонтальное движение тележки", 400, 400)

# Задаем начальные параметры тележки
center = Point(100, 200)
width = 100
height = 50

# Основной цикл программы
while True:
# Рисуем тележку
cart = Rectangle(Point(center.getX() - width/2, center.getY() - height/2),
Point(center.getX() + width/2, center.getY() + height/2))
cart.setFill("blue")
cart.draw(win)

# Перемещаем тележку слева направо
while center.getX() < 300:
center.move(10, 0)
time.sleep(0.1)
cart.move(10, 0)

# Перемещаем тележку справа налево
while center.getX() > 100:
center.move(-10, 0)
time.sleep(0.1)
cart.move(-10, 0)

# Очищаем предыдущую отрисовку
cart.undraw()

# Закрываем графическое окно
win.close()


В этой программе мы используем класс `Rectangle` для создания тележки, а затем рисуем ее на графическом окне. Затем мы выполняем два цикла: первый перемещает тележку слева направо, а второй - справа налево. Затем мы очищаем предыдущую отрисовку и продолжаем бесконечный цикл.

Теперь у вас есть три программы, которые могут визуализировать перемещение летающей тарелки, воздушного шарика и горизонтальное движение тележки. Вы можете запустить каждую из них и увидеть, как они работают. Удачи!