Задано дві сторони трикутника

а=10

b=16

як знайти третю сторону -с?

у пайтон
Ответ
0 (0 оценок)
0
lozromanik 6 месяцев назад
Светило науки - 166 ответов - 0 раз оказано помощи

Відповідь:

import math

#Функція для перевірки введення даних

def enter(string:str)->float:

   while True:

       try:

           number = float(input(string))

           return number

       except ValueError:

           print("Неправильне введення. Спробуйте ще раз.")

           

#Знаходимо третю сторону за двома сторонами та кутом між ними

#за допомогою теореми косинусів

def third_side(a:float,b:float,alpha:float)->float:

   return math.sqrt(a**2+b**2-2*a*b*math.cos(math.radians(alpha)))

#Периметр трикутника

def perimeter(a:float,b:float,c:float)->float:

   return a+b+c

#Площа трикутника через формулу Герона

def area(a:float,b:float,c:float,half_perimeter:float)->float:

   return (half_perimeter*(half_perimeter-a)*(half_perimeter-b)*(half_perimeter-c))**0.5

#Радіус вписаного кола через півпериметр та площу

def radius_of_inner_circle(area:float,half_perimeter:float)->float:

   return area/half_perimeter

#Радіус описаного кола через площу та сторони

def radius_of_outer_circle(area:float,a:float,b:float,c:float)->float:

   return (a*b*c)/(4*area)

   

a = enter("Введіть значення для a:")

b = enter("Введіть значення для b:")

alpha = enter("Введіть значення кута між ними:")

third_side_of_triangle = third_side(a,b,alpha)

perimeter_of_triangle = perimeter(a,b,third_side_of_triangle)

area_of_triangle = area(a,b,third_side_of_triangle,perimeter_of_triangle/2.0)

print(f"У трикутника зі сторонами, що дорівнюють {a} та {b} і кутом {alpha} градусів, будуть такі результатиn"+

f"Третя сторона дорівнює {third_side_of_triangle}n"+

f"Периметр дорівнює {perimeter_of_triangle}n"+

f"Площа дорівнює {area_of_triangle}n"+

f"Радіус вписаного кола дорівнює {radius_of_inner_circle(area_of_triangle,perimeter_of_triangle/2)}n"+

f"Радіус описаного кола дорівнює {radius_of_outer_circle(area_of_triangle,a,b,third_side_of_triangle)}")

Пояснення:

Код не є ООП, проте виконує всі задані завдання з деякою точністю. Додані необхідні функції та перевірка введення.

Остались вопросы?