Câu hỏi:

13/07/2024 15,557

Em hãy viết chương trình nhập ba số thực dương a, b, c, kiểm tra xem ba số đó có thể là độ dài các cạnh của một tam giác hay không, nếu có thì tính chu vi, diện tích của tam giác đó.

Quảng cáo

Trả lời:

verified
Giải bởi Vietjack

Ba số a, b, c là các cạnh của tam giác nếu cả ba bất đẳng thức sau đều thoả mãn:

a + b – c > 0; b + c – a > 0; c + a – b > 0

Để tính diện tích tam giác cần sử dụng công thức Heron (xem Câu 18.11).

Chương trình có thể viết như sau:

#Kiểm tra 3 số a, b, c có phải các cạnh một tam giác, tính chu vi, diện tích tam giác đó

a = float(input("Nhập số a: "))

b = float(input("Nhập số b: "))

c = float(input("Nhập số c: "))

if (a + b – c > 0) and (b + c – a > 0) and (c + a – b > 0):

p = (a + b + c)/2

S_tamgiac = (p* (p - a)*(p - b)*(p - c))**0.5

print("Chu vi tam giác = ", p*2).

print("Diện tích tam giác = ", S_tamgiac)

else:

print("Ba số đã cho không phải là độ dài các cạnh của một tam giác")

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Lời giải

Thuật toán giải phương trình bậc hai có thể nêu tóm tắt như sau:

Tính ∆ = b2 – 4ac

Nếu ∆ < 0 phương trình vô nghiệm.

Nếu ∆ = 0 phương trình có nghiệm kép x1 = x2 = -b/2a.

Nếu ∆ > 0 phương trình có 2 nghiệm phân biệt:

x1,2=b±Δ2a

Chương trình có thể viết như sau:

#Giải phương trình bậc hai dạng tổng quát

a = float(input("Nhập số a (a < > 0): "))

b = float(input("Nhập số b: "))

c = float(input("Nhập số c: "))

delta = b*b - 4*a*c

if delta == 0:

print("Phương trình có nghiệm kép x1 = x2 =", -b/(2*a))

if delta > 0:

print("Phương trình có 2 nghiệm x1 =", (-b + delta**0.5)/(2*a), " và x2 =", (-b - delta* *0.5)/(2*a))

if delta < 0:

print("Phương trình đã cho vô nghiệm ! ")

Lưu ý: Cũng có thể sử dụng câu lệnh if lồng trong nhau tương tự như Câu 19.10. Khi đó phần chính của chương trình có thể viết như sau:

if delta== 0:

print("Phương trình có nghiệm kép x1 = x2 =", -b/(2*a))

else:

if delta > 0:

print("Phương trình có 2 nghiệm x1 =", (-b + delta**0.5)/(2*a), " và x2 =", (-b - delta**0.5)/(2*a))

else :

print("Phương trình đã cho vô nghiệm! ") 

Lời giải

Chương trình có thể viết như sau:

#Tính tiền điện tiêu thụ theo đơn giá bậc thang

don_gia1 = int(input("Đơn giá điện 1: "))

don_gia2 = int(input("Đơn giá điện 2: "))

don gia3 = int(input("Đơn giá điện 3: "))

don gia4 = int(input("Đơn giá điện 4: "))

so_kW_tieuthu = int(input("Lượng điện tiêu thụ: "))

if so_kW_tieuthu <= 50:

tien_dien = don_gia1*so_kW_tieuthu

if so_kW_tieuthu > 50 and so_kW_tieuthu<=100:

tien_dien = don_gia1*50 + don_gia2*(so_kW_tieuthu - 50)

if so_kW_tieuthu > 100 and so_kW_tieuthu< =200:

tien_dien = don_gia1*50 + don_gia2*50 + don_gia3*(so_kW_tieuthu - 100)

if so_kW_tieuthu > 200:

tien_dien = don_gia1*50 + don_gia2*50 + don_gia3*100 + don_gia4* (so_kW_tieuthu - 200)

print("Tiền điện phải trả là: ", tien_dien, "đồng")

Lưu ý: Cũng có thể sử dụng các câu lệnh if lồng trong nhau như sau:

don_gia1 = int(input("Đơn giá điện 1: "))

don_gia2 = int(input("Đơn giá điện 2: "))

don_gia3 = int(input("Đơn giá điện 3: "))

don_gia4 = int(input("Đơn giá điện 4: "))

so_kW_tieuthu = int(input("Lượng điện tiêu thụ: "))

if so_kW_tieuthu <= 50:

tien_dien = don_gia1*so_kW_tieuthu

else:

if so_kw_tieuthu <= 100:

tien_dien = don_gia1*50 + don_gia2*(so_kw_tieuthu - 50)

else:

if so_kW_tieuthu <= 200:

tien_dien = don_gia1*50 + don_gia2*50 + don_gia3*(so_kW_tieuthu - 100)

else:

tien_dien = don_gia1*50 + don_gia2*50 + don_gia3*100 + don_gia4* (so_kW_tieuthu - 200)

print("Tiền điện phải trả là: ", tien_dien, "đồng")

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP