Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОбсуждУпр8_Python зачет.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
138.42 Кб
Скачать

Глава 4. Обсуждения

  1. Выберите пример интересного объекта в реальном мире и опишите его как программный объект, перечисляя его данные (свойства, которые «он знает») и его методы (поведение, что «он может делать»).

  2. Опишите своими словами объект, который будет создан следующими операциями с помощью графического модуля graphics.py. Будьте точны насколько можно. Убедитесь, что вы указали размер, положение, внешний вид различных объектов. Можно включить в ответ схематический набросок, если это поможет.

    1. Point(130, 130)

    2. c=Circle(Point(30, 40), 25) c.setFill(‘blue’) c.setOutline(‘red’)

    3. r=Rectangle(Point(20, 20), Point(40, 40)) r.setFill(color_rgb(0, 255, 150)) r.setWidth(3)

    4. l=Line(Point(100, 100), Point(100, 200)) l.setOutline(‘red4’) l.setArrow(‘first’)

    5. Oval(Point(50, 50), Point(60, 100))

    6. Shape=Polygon(Point(5, 5), Point(10, 10), Point(5, 10), Point(10, 5)) shape.setFill(‘orange’)

    7. T=Text(Point(100, 100), “Привет всем”) t.setFace(“courier”) t.setSize(16) t.setStyle(“italic”)

  3. Опишите, что произойдёт, когда будет выполняться следующая интерактивная программа: from graphics import * def main(): win=GraphWin() shape=Circle(Point(50, 50), 20) shape.setOutline(“red”) shape.setFill(“red”) shape.draw(win) for i in range(10): p=win.getMouse() c=shape.getCenter() dx=p.getX()-c.getX() dy=p.getY()-c.getY() shape.move(dx, dy) win.close() main()

Глава 4. Упражнения

  1. Измените программу из последнего обсуждённого вопроса в следующих направлениях:

    1. Пусть она рисует квадраты вместо кругов

    2. Пусть каждый удачный щелчок рисует новый квадрат на экране (а не двигает существующий квадрат)

    3. Пусть после окончания цикла напишет сообщение на экране«Щелкни еще раз для выхода» и подождёт щелчок мыши перед закрытием окна.

  2. Мишень для стрелка из лука состоит из центрального желтого круга, окруженного концентрическими кольцами красного, синего, черного и белого цвета. Каждое кольцо той же ширины, что и радиус желтого круга. Напишите программу, которая рисует такую мишень. Указание: объекты, нарисованные позже, оказываются поверх объектов, нарисованных раньше.

  3. Напишите программу, рисующую некоторую разновидность лица.

  4. Напишите программу, рисующую зимнюю картинку с ёлкой и снежной бабой.

  5. Напишите программу, рисующую пять игральных костей, образующих «улицу» (1, 2, 3, 4, 5 или 2, 3, 4, 5, 6)

  6. Измените программу с графическим интерфейсом «Будущее значение» так, чтобы ввод данных (principal и apr) осуществлялся с помощью объектов Entry.

  7. Пересечение круга. Напишите программу, которая вычисляет пересечения круга с горизонтальной прямой и выдаёт полученные данные в текстовом виде и графически. Ввод: радиус круга и значение координаты y в точке пересечения прямой с осью y. Вывод: Нарисуйте круг с центром в (0, 0) с данным радиусом, нарисуйте прямую, пересекающую ось y в нужной точке. Две точки пересечения прямой с кругом отметьте красным цветом. Напечатайте значения координат x точек пересечения. Формула: .

  8. Данные об отрезке прямой. Эта программа позволяет пользователю начертить отрезок прямой и затем выводит графические и текстовые данные об этом отрезке прямой. Ввод: два щелчка мышью на конечных точках отрезка. Вывод: отрезок, середина отрезка закрашена цветом циан, напечатана длина и наклон отрезка. Формулы:

  9. Данные о прямоугольнике. Программа выводит данные о прямоугольнике, начерченном пользователем. Ввод: два щелчка мышью на противоположных точках прямоугольника. Вывод: прямоугольник, напечатанные значения периметра и площади прямоугольника. Формулы:

  10. Данные о треугольнике. То же, что и в предыдущей задаче, но треугольник определяется тремя щелчками мыши в вершинах Формулы: Для вычисления периметра см. как вычисляется расстояние между точками в задаче об отрезке , где a, b, и c длины сторон треугольника, и .

  11. Дом за 5 щелчков мышью. Напишите программу, которая позволит пользователю начертить простой дом, сделав пять щелчков мышью. Первые два щелчка определяют прямоугольную рамку дома. Третий щелчок определяет центр прямоугольной двери. Ширина двери должна быть равна 1/5 ширины прямоугольной рамки дома. Боковые стороны двери идут от её верхних углов до нижней стороны рамки дома. Четвёртый щелчок определяет центр квадратного окна. Ширина окна составляет половину от ширины двери. Последний щелчок определяет верхушку крыши. Стороны крыши соединяют её верхушку с верхними углами прямоугольной рамки дома.