Hỗ trợ: xuất hoá đơn GTGT 8%.
Image 1

Viết chương trình tính (python) chu vi và diện tích của tam giác, biết rằng 3 cạ…

Viết chương trình tính (python) chu vi và diện tích của tam giác, biết rằng 3 cạ…

Viết chương trình tính (python) chu vi và diện tích của tam giác, biết rằng 3 cạnh của tam giác là 3 số nguyên được nhập từ bàn phím
Hỏi bởi: Trần Duy Mạnh
3 câu trả lời

▲ 3

Chào các em học sinh yêu quý! Hôm nay, thầy rất vui được hướng dẫn các em giải một bài toán thực tế bằng ngôn ngữ lập trình Python, mà lại còn liên quan đến kiến thức hình học chúng ta đã học nữa đấy. Đó là bài toán tính chu vi và diện tích của một tam giác khi biết độ dài ba cạnh của nó.

Đây là một bài toán rất hay để chúng ta cùng ôn lại kiến thức Toán và thực hành các kỹ năng lập trình cơ bản như: nhập dữ liệu, sử dụng câu lệnh điều kiện \(if-else\), thực hiện các phép tính và hiển thị kết quả.

Chúng ta cùng bắt đầu nhé!


I. Phân tích bài toán và Kiến thức cần chuẩn bị

Đề bài yêu cầu chúng ta làm gì nào?

  • Nhập vào 3 số nguyên (độ dài 3 cạnh của tam giác) từ bàn phím.
  • Tính chu vi của tam giác.
  • Tính diện tích của tam giác.
  • Đồng thời, chúng ta phải kiểm tra xem 3 số đó CÓ TẠO THÀNH MỘT TAM GIÁC HỢP LỆ HAY KHÔNG nữa nhé!

Để giải quyết bài toán này, chúng ta cần vận dụng các kiến thức sau:

1. Về Toán học:

  • Điều kiện để ba đoạn thẳng tạo thành một tam giác:

    Đây là điều quan trọng nhất! Ba độ dài \(a, b, c\) có thể tạo thành một tam giác khi và chỉ khi tổng độ dài hai cạnh bất kỳ phải lớn hơn độ dài cạnh còn lại. Cụ thể là:

    • \(a + b > c\)
    • \(a + c > b\)
    • \(b + c > a\)

    Nếu một trong các điều kiện này không đúng, thì không thể tạo thành tam giác được.

  • Công thức tính Chu vi tam giác (P):

    Chu vi của tam giác là tổng độ dài của ba cạnh. Nếu ba cạnh là \(a, b, c\), thì chu vi \(P\) được tính bằng công thức:

    \(P = a + b + c\)

    Giải thích: Chu vi là độ dài đường bao quanh hình, nên ta chỉ cần cộng các cạnh lại.

  • Công thức tính Diện tích tam giác (S) theo công thức Heron:

    Khi biết độ dài ba cạnh \(a, b, c\) của tam giác, chúng ta có thể dùng công thức Heron để tính diện tích. Đầu tiên, chúng ta cần tính nửa chu vi (ký hiệu là \(s\)):

    \(s = \frac{a + b + c}{2}\) hoặc \(s = \frac{P}{2}\)

    Sau đó, diện tích \(S\) được tính bằng công thức:

    \[ S = \sqrt{s(s-a)(s-b)(s-c)} \]

    Giải thích: Công thức Heron rất tiện lợi khi chúng ta chỉ biết độ dài ba cạnh mà không biết chiều cao hay các góc của tam giác. Nó cho phép tính toán trực tiếp diện tích.

2. Về Tin học (ngôn ngữ Python):

  • Hàm \(input()\): Dùng để nhận dữ liệu nhập vào từ bàn phím. Dữ liệu này luôn là kiểu chuỗi (string), nên chúng ta cần chuyển đổi nó.
  • Hàm \(int()\): Dùng để chuyển đổi một chuỗi thành số nguyên (integer).
  • Câu lệnh điều kiện \(if-else\): Dùng để kiểm tra điều kiện (ví dụ: điều kiện tam giác). Nếu điều kiện đúng, một khối lệnh sẽ được thực thi; nếu sai, khối lệnh khác sẽ được thực thi.
  • Các phép toán số học: \(+\) (cộng), \(-\) (trừ), \(*\) (nhân), \(/\) (chia).
  • Hàm \(math.sqrt()\): Dùng để tính căn bậc hai. Để sử dụng hàm này, chúng ta cần phải nhập thư viện \(math\) vào chương trình bằng câu lệnh \(import math\).
  • Hàm \(print()\): Dùng để hiển thị kết quả ra màn hình.

II. Xây dựng thuật toán (Các bước thực hiện)

Dựa trên phân tích ở trên, chúng ta có thể xây dựng thuật toán như sau:

  1. Bước 1: Nhập dữ liệu

    Yêu cầu người dùng nhập vào độ dài ba cạnh của tam giác (ví dụ: \(a\), \(b\), \(c\)). Chuyển đổi các giá trị này sang kiểu số nguyên.

  2. Bước 2: Kiểm tra điều kiện tam giác

    Sử dụng câu lệnh \(if\) để kiểm tra xem ba số \(a\), \(b\), \(c\) có thỏa mãn các điều kiện bất đẳng thức tam giác hay không:

    (a + b > c) AND (a + c > b) AND (b + c > a)

    • Nếu điều kiện đúng: Chuyển sang Bước 3 để tính toán chu vi và diện tích.
    • Nếu điều kiện sai: In ra thông báo rằng ba số đã nhập không tạo thành một tam giác hợp lệ và kết thúc chương trình.
  3. Bước 3: Tính toán chu vi và diện tích (Khi đã xác định là tam giác hợp lệ)

    1. Tính chu vi:

      chu_vi = a + b + c

    2. Tính nửa chu vi:

      nua_chu_vi = chu_vi / 2

    3. Tính diện tích (theo công thức Heron):

      dien_tich = căn_bậc_hai(nua_chu_vi * (nua_chu_vi - a) * (nua_chu_vi - b) * (nua_chu_vi - c))

      Để tính căn bậc hai, chúng ta cần \(import math\) và sử dụng \(math.sqrt()\).

  4. Bước 4: Hiển thị kết quả

    In ra giá trị của chu vi và diện tích đã tính được.

III. Viết chương trình Python

Bây giờ, chúng ta sẽ cùng viết chương trình Python dựa trên thuật toán trên nhé:


import math # Thầy giải thích: Dòng này dùng để nhập thư viện 'math' để có thể sử dụng hàm căn bậc hai (sqrt)

# Bước 1: Nhập độ dài ba cạnh từ bàn phím

a = int(input("Nhập độ dài cạnh thứ nhất (số nguyên): ")) # Thầy giải thích: input() để nhận dữ liệu, int() để chuyển sang số nguyên
b = int(input("Nhập độ dài cạnh thứ hai (số nguyên): "))
c = int(input("Nhập độ dài cạnh thứ ba (số nguyên): "))

# Bước 2: Kiểm tra điều kiện tam giác

if (a + b > c) and (a + c > b) and (b + c > a): # Thầy giải thích: Kiểm tra cả 3 điều kiện bất đẳng thức tam giác

# Nếu là tam giác hợp lệ, tiến hành tính toán (Bước 3)

chu_vi = a + b + c # Thầy giải thích: Tính chu vi theo công thức P = a + b + c

nua_chu_vi = chu_vi / 2 # Thầy giải thích: Tính nửa chu vi s = P / 2, cần cho công thức Heron

# Tính diện tích theo công thức Heron. Cần đảm bảo giá trị bên trong căn không âm.
# Trong trường hợp các cạnh tạo thành tam giác, giá trị này sẽ luôn không âm.
dien_tich = math.sqrt(nua_chu_vi * (nua_chu_vi - a) * (nua_chu_vi - b) * (nua_chu_vi - c)) # Thầy giải thích: Áp dụng công thức S = sqrt(s*(s-a)*(s-b)*(s-c))

# Bước 4: Hiển thị kết quả

print(f"Ba số {a}, {b}, {c} tạo thành một tam giác hợp lệ.") # Thầy giải thích: Dùng f-string để in kết quả một cách đẹp và dễ đọc hơn
print(f"Chu vi của tam giác là: {chu_vi}")
print(f"Diện tích của tam giác là: {dien_tich}")
else:

# Nếu không phải tam giác, in ra thông báo lỗi

print(f"Ba số {a}, {b}, {c} không tạo thành một tam giác hợp lệ. Vui lòng kiểm tra lại điều kiện.") # Thầy giải thích: Thông báo cho người dùng biết lỗi

IV. Chạy thử chương trình

Chúng ta hãy cùng chạy thử chương trình với một vài ví dụ nhé:

Ví dụ 1: Tam giác hợp lệ (tam giác đều)

  • Đầu vào:

    Nhập độ dài cạnh thứ nhất (số nguyên): 3
    Nhập độ dài cạnh thứ hai (số nguyên): 3
    Nhập độ dài cạnh thứ ba (số nguyên): 3
  • Kết quả:

    Ba số 3, 3, 3 tạo thành một tam giác hợp lệ.
    Chu vi của tam giác là: 9
    Diện tích của tam giác là: 3.897114317029974

Kiểm tra: Chu vi \(3+3+3 = 9\). Nửa chu vi \(s = 9/2 = 4.5\). Diện tích \(\sqrt{4.5(4.5-3)(4.5-3)(4.5-3)} = \sqrt{4.5 \times 1.5 \times 1.5 \times 1.5} = \sqrt{15.1875} \approx 3.897\). Kết quả đúng!

Ví dụ 2: Tam giác hợp lệ (tam giác thường)

  • Đầu vào:

    Nhập độ dài cạnh thứ nhất (số nguyên): 3
    Nhập độ dài cạnh thứ hai (số nguyên): 4
    Nhập độ dài cạnh thứ ba (số nguyên): 5
  • Kết quả:

    Ba số 3, 4, 5 tạo thành một tam giác hợp lệ.
    Chu vi của tam giác là: 12
    Diện tích của tam giác là: 6.0

Kiểm tra: Đây là một tam giác vuông (3, 4, 5). Chu vi \(3+4+5 = 12\). Nửa chu vi \(s = 12/2 = 6\). Diện tích theo công thức Heron \(\sqrt{6(6-3)(6-4)(6-5)} = \sqrt{6 \times 3 \times 2 \times 1} = \sqrt{36} = 6\). Kết quả đúng!

Ví dụ 3: Không phải tam giác hợp lệ

  • Đầu vào:

    Nhập độ dài cạnh thứ nhất (số nguyên): 1
    Nhập độ dài cạnh thứ hai (số nguyên): 2
    Nhập độ dài cạnh thứ ba (số nguyên): 5
  • Kết quả:

    Ba số 1, 2, 5 không tạo thành một tam giác hợp lệ. Vui lòng kiểm tra lại điều kiện.

Kiểm tra: \(1 + 2 = 3\), mà \(3 < 5\). Điều kiện \(a + b > c\) không thỏa mãn, nên đây không phải là tam giác. Chương trình đã xử lý đúng!


V. Tổng kết và Bài tập mở rộng

Qua bài tập này, các em đã được ôn lại các công thức tính toán trong hình học và biết cách áp dụng chúng vào lập trình Python. Đặc biệt là kỹ năng kiểm tra điều kiện bằng \(if-else\) là rất quan trọng trong mọi chương trình!

Các em có thể tự thử thách bản thân bằng cách mở rộng bài tập này:

  • Thay vì chỉ in ra chu vi và diện tích, hãy phân loại loại tam giác (tam giác đều, tam giác cân, tam giác vuông, tam giác thường) và in ra thông báo tương ứng.
  • Chương trình hiện tại chỉ nhận số nguyên. Hãy chỉnh sửa để chương trình có thể nhận số thập phân (kiểu \(float\)) cho các cạnh tam giác.

Chúc các em học tốt và luôn yêu thích môn Tin học nhé!

Trả lời bởi: Giáo viên Chuyên Môn
▲ 6

import math
a = int(input(“nhập độ dài cạnh a :”))
b = int(input(“nhập độ dài cạnh b :”))
c = int(input(“nhập độ dài cạnh c :”))
cv = a + b + c
p = (a + b + c) / 2
s = math.sqrt(p * (p – a) * (p – b) * (p -c))
print(“chu vi hình tam giác :”, cv)
print(“diện tích hình tam giác :”, s)

Trả lời bởi: Yanquinn Khôngcótên
▲ 2

from math import sqrt
a = int(input())
b = int(input())
c = int(input())
p = (a + b + c) / 2
print(‘Chu vi: ‘,p)
print(‘Dien tich: ‘,sqrt(p * (p – a) * (p – b) * (p – c)))

Trả lời bởi:

Viết một bình luận

WhatsApp
Facebook
Chat Zalo
Zalo
097.538.4646
Zalo
Giới thiệu Như Hảo