Untitled

 avatar
unknown
plain_text
9 months ago
1.8 kB
2
Indexable
import math

# Гурвалжны талуудын уртыг өгөгдлүүдээс авна
AB = 6
BC = 12
CD = 4
AD = 20

# \( \triangle AED \) ба \( \triangle ABE \) -ийн өнцөгүүдийг олох
def find_angle(a, b, c):
    # cos C = (a^2 + b^2 - c^2) / (2ab)
    cos_angle = (a**2 + b**2 - c**2) / (2 * a * b)
    angle = math.degrees(math.acos(cos_angle))
    return angle

# AD, CD, AC (трапецийн диагональ) -ийг олох
def find_side(a, b, angle):
    # a^2 + b^2 - 2ab * cos(angle) = c^2
    c = math.sqrt(a**2 + b**2 - 2 * a * b * math.cos(math.radians(angle)))
    return c

# Өнцөгүүдийг олж харьцуулах
angle_A = find_angle(AD, AB, BC)
angle_B = find_angle(AD, CD, BC)
print(f"Өнцөг A: {angle_A} градус")
print(f"Өнцөг B: {angle_B} градус")

# Гурвалжны талбайг олох
def triangle_area(a, b, angle):
    # (1/2) * a * b * sin(angle)
    area = 0.5 * a * b * math.sin(math.radians(angle))
    return area

# \( \triangle AED \) -ийн талбайг олох
area_AED = triangle_area(AD, AB, angle_A)
print(f"Гурвалжин AED талбай: {area_AED} кв.см")

# \( \triangle ABE \) -ийн талбайг олох
area_ABE = triangle_area(AD, CD, angle_B)
print(f"Гурвалжин ABE талбай: {area_ABE} кв.см")

# Хэрвээ AB, AD, CD, BC талуудыг мэдэж байгаа бол трапецийн талбайг олох
def trapezoid_area(a, b, h):
    # (1/2) * (a + b) * h
    area = 0.5 * (a + b) * h
    return area

# Трапецийн өндөр олох
height = math.sqrt(AD**2 - ( (AB - CD)**2 / 4 ) )
area_trapezoid = trapezoid_area(AB, CD, height)
print(f"Трапецийн талбай: {area_trapezoid} кв.см")
Editor is loading...
Leave a Comment