Ниже приведены функции для расчета площадей составных фигур, которые используют (вызывают) готовые функции из задания 1.1:
- trapezoid_area(a, b, h) — площадь трапеции
- right_triangle_area(leg1, leg2) — площадь прямоугольного треугольника
- annulus_area(radius_outer, radius_inner) — площадь кольца (с проверкой, что внешний радиус больше внутреннего)
Обратите внимание: annulus_area включает проверку, что внешний радиус больше внутреннего и вызывает исключение при нарушении условия.
Код (Python):
def composite_area_trap_and_triangle(a, b, h, leg1, leg2): """ Площадь составной фигуры: трапеция ( bases a, b, высота h) плюс прямоугольный треугольник с катетами leg1 и leg2. Фигуры предполагаются нес перекрывающимися и соприкасающимися по стороне. Используются функции из задания 1.1: trapezoid_area и right_triangle_area. """ return trapezoid_area(a, b, h) + right_triangle_area(leg1, leg2)
def composite_area_trap_and_annulus(a, b, h, outer_r, inner_r): """ Площадь составной фигуры: трапеция (bases a, b, высота h) плюс кольцо (annulus) с внешним радиусом outer_r и внутренним radiусом inner_r. Используются функции из задания 1.1: trapezoid_area и annulus_area. """ return trapezoid_area(a, b, h) + annulus_area(outer_r, inner_r)
def composite_area_triangle_and_annulus(leg1, leg2, outer_r, inner_r): """ Площадь составной фигуры: прямоугольный треугольник с катетами leg1 и leg2 плюс кольцо (annulus) с внешним радиусом outer_r и внутренним радиусом inner_r. Используются функции из задания 1.1: right_triangle_area и annulus_area. """ return right_triangle_area(leg1, leg2) + annulus_area(outer_r, inner_r)
Примеры использования (для наглядности):
Пример 1: трапеция со сторонами a=4, b=6, высота h=5 и прямоугольный треугольник с катетами 3 и 4
общая площадь = площадь трапеции + площадь треугольника
result1 = composite_area_trap_and_triangle(4, 6, 5, 3, 4)
Пример 2: трапеция + кольцо, трапеция (4,6,5), кольцо внешний радиус 7, внутренний радиус 3
result2 = composite_area_trap_and_annulus(4, 6, 5, 7, 3)
Пример 3: треугольник (катеты 3 и 4) + кольцо (R=7, r=3)
result3 = composite_area_triangle_and_annulus(3, 4, 7, 3)
Обратите внимание на проверку в annulus_area:
- Если внешний радиус меньше или равен внутреннему, будет выброшено исключение ValueError с сообщением об ошибке.
Если хотите, могу привести конкретные числовые значения и вывести результаты вычислений.