11# Задача-1: Написать класс для фигуры-треугольника, заданного координатами трех точек.
22# Определить методы, позволяющие вычислить: площадь, высоту и периметр фигуры.
3+ from math import sqrt
4+
5+
6+ class Triangle (object ):
7+ def __init__ (self , a , b , c ):
8+ self ._a = a
9+ self ._b = b
10+ self ._c = c
11+
12+ @property
13+ def square (self ):
14+ return 0.5 * abs ((self ._b [0 ] - self ._a [0 ]) * (self ._c [1 ] - self ._a [1 ]) - (self ._c [0 ] - self ._a [0 ]) * (
15+ self ._b [1 ] - self ._a [1 ]))
16+
17+ def long (self , x , y ):
18+ return sqrt ((y [0 ] - x [0 ]) ** 2 + (y [1 ] - x [1 ]) ** 2 )
19+
20+ @property
21+ def perimeter (self ):
22+ return self .long (self ._a , self ._b ) + self .long (self ._b , self ._c ) + self .long (self ._a , self ._c )
23+
24+ @property
25+ def height (self ):
26+ return [2 * self .square / self .long (self ._a , self ._b ), 2 * self .square / self .long (self ._a , self ._c ),
27+ 2 * self .square / self .long (self ._b , self ._c )]
28+
29+
30+ trin = Triangle ([2 , 10 ], [5 , 4 ], [8 , 3 ])
31+ print (trin .square )
32+ print (trin .long (trin ._a , trin ._b ))
33+ print (trin .perimeter )
34+ print (trin .height )
335
436
537# Задача-2: Написать Класс "Равнобочная трапеция", заданной координатами 4-х точек.
638# Предусмотреть в классе методы:
739# проверка, является ли фигура равнобочной трапецией;
840# вычисления: длины сторон, периметр, площадь.
941
42+ class Isosceles_trapezium :
43+ def __init__ (self , a , b , c , d ):
44+
0 commit comments