Để tính diện tích của một khu đất có hình dạng bất kì, ta chia nhỏ khu đất này thành các hình tam giác. Sử dụng công thức Heron để tính diện tích từng tam giác dựa trên độ dài các cạnh. Cuối cùng, tổng diện tích của các hình tam giác này là diện tích của khu đất.
Dưới đây là công thức Heron để tính diện tích S của hình tam giác với độ dài ba cạnh a, b, c và p là nửa chu vi của hình tam giác: \(S=\sqrt{\text{(p(p – a)(p – b)(p – c))}}\)
Yêu cầu: Viết chương trình tính diện tích của hình tam giác khi biết độ dài của ba cạnh.
Dữ liệu vào: Ba số thực dương là độ dài của ba cạnh.
Dữ liệu ra: Diện tích của hình tam giác.
Ví dụ minh hoạ cho kết quả chạy chương trình:
| Thông tin nhập | Kết quả hiển thị |
|---|---|
| Nhập độ dài cạnh a: 3Nhập độ dài cạnh b: 4Nhập độ dài cạnh c: 5 | Diện tích của tam giác là: 6.00 |
Gợi ý: Sử dụng hàm sqrt() trong thư viện math để tính căn bậc 2 của các số thực dương. Để a, b, c là ba cạnh của tam giác thì: a > 0, b > 0, c > 0 và tổng 2 cạnh bất kì phải lớn hơn cạnh còn lại. Áp dụng công thức Heron để tính diện tích và in kết quả ra màn hình.
*Chương trình:
import math
# Nhập độ dài của ba cạnh
a = float(input("Nhập độ dài cạnh a (dương): "))
b = float(input("Nhập độ dài cạnh b (dương): "))
c = float(input("Nhập độ dài cạnh c (dương): "))
# Kiểm tra điều kiện để a, b, c có thể tạo thành tam giác
if a <= 0 or b <= 0 or c <= 0:
print("Độ dài các cạnh phải là số thực dương.")
elif a + b <= c or a + c <= b or b + c <= a:
print("Ba cạnh nhập vào không thể tạo thành một tam giác.")
else:
# Tính nửa chu vi p
p = (a + b + c) / 2
# Tính diện tích S theo công thức Heron
S = math.sqrt(p * (p - a) * (p - b) * (p - c))
# In kết quả ra màn hình
print("Diện tích của hình tam giác là:", S)
*Giải thích chương trình:
- Nhập độ dài các cạnh: Chương trình sử dụng input() để nhập độ dài của ba cạnh a, b, c và chuyển đổi chúng thành số thực.
- Kiểm tra điều kiện:
+ Đảm bảo rằng các cạnh a, b, c đều là số thực dương.
+ Kiểm tra điều kiện tam giác: tổng của hai cạnh bất kỳ phải lớn hơn cạnh còn lại.
+ Tính nửa chu vi: Sử dụng công thức p=(a+b+c)/2
+ Tính diện tích: Sử dụng công thức Heron để tính diện tích S=√p(p−a)(p−b)(p−c)
+ In kết quả: Kết quả diện tích được in ra màn hình.
- Ghi chú: Chương trình đã bao gồm các kiểm tra cần thiết để đảm bảo rằng các cạnh nhập vào có thể tạo thành một hình tam giác hợp lệ.