Hãy viết chương trình giải phương trình bậc hai một ẩn ax^2 + bx + c = 0 bằng Python, đây là phương trình mà bạn đã được học ở bậc trung học cơ sở lớp 9. Bài giải -------------------- ######## -------------------- Trước tiên bạn cần phải biết cách giải phương trình bậc hai, và cũng từ công thức toán học đó mà ta đưa ra được thuật toán giải phương trình này bằng ngôn ngữ Python. Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Để giải phương trình bậc hai ax^2 + bx + c = 0 thì ta phải tính chỉ số Delta, dựa vào kết quả này mà ta xác định được nghiệm. Cụ thể như hình sau: Viết chương trình giải phương trình bậc hai với các hệ số được nhập từ bàn phím và hiển thị kết quả ra màn hình.
Kiến thức cần có- Hàm input() và hàm print()
- Cấu trúc rẽ nhánh trong Python
- Biến và kiểu dữ liệu
Định dạng đầu vào- Gồm một dòng duy nhất chứa ba số a, b, c lần lượt là hệ số của phương trình ax2 + bx + c = 0, các hệ số cách nhau bởi khoảng trắng.
Định dạng đầu raGồm nhiều dòng hiển thị tùy theo các trường hợp như sau: Nếu phương trình vô nghiệm: Phuong trinh vo nghiem Nếu phương trình có vô số nghiệm: Phuong trinh co vo so nghiem Nếu phương trình có một nghiệm duy nhất: Phuong trinh co mot nghiem duy nhat: x = {x1} Nếu phương trình có nghiệm kép: Phuong trinh co nghiem kep: x1 = x2 = {x1} Nếu phương trình có hai nghiem phan biet: Phuong trinh co hai nghiem phan biet: x1 = {x1} x2 = {x2}
- Với {x1}, {x2} là các nghiệm của phương trình
Ví dụ3 5 8
Phuong trinh vo nghiem
0 0 0
Phuong trinh co vo so nghiem
0 -5.7 9
Phuong trinh co mot nghiem duy nhat:
x = 1.5789473684210527
4 4 1
Phuong trinh co nghiem kep:
x1 = x2 = -0.5
-5 6.7 9
Phuong trinh co hai nghiem phan biet la:
x1 = -0.8296332885075604
x2 = 2.1696332885075607
Gợi ý- Dùng hàm input() và hàm split() để nhận ba số a, b, c là hệ số của phương trình bậc hai từ bàn phím.
- Ép kiểu dữ liệu của a, b, c sang số thực để xử lý vì các giá trị nhận được từ hàm input() mặc định sẽ ở kiểu chuỗi.
- Dùng cấu trúc rẽ nhánh if … else với điều kiện phù hợp để giải quyết yêu cầu của bải toán.
Thuật toán: - Phương trình vô số nghiệm khi: hệ số a, b, c đều bằng 0
- Phương trình vô nghiệm khi: hệ số a, b bằng 0, c khác 0 và trường hợp delta nhỏ hơn 0
- Phương trình có nghiệm kép khi delta bằng 0
- Phương trình có hai nghiệm phân biệt khi delta lớn hơn 0
- Dùng hàm print() để hiển thị kết quả ra màn hình theo yêu cầu.
Code mẫuPhuong trinh vo nghiem 0
Kết luậnTrong bài này, Kteam đã hướng dẫn bạn cách viết chương trình giải phương trình bậc hai với các hệ số được nhập từ bàn phím và hiển thị kết quả ra màn hình. Ở bài tiếp theo, chúng ta sẽ cũng nhau học cách viết chương trình GIẢI PHƯƠNG TRÌNH BẬC HAI VỚI CÁC HỆ SỐ ĐƯỢC NHẬP TỪ BÀN PHÍM VÀ HIỂN THỊ KẾT QUẢ RA MÀN HÌNH (CÓ XỬ LÝ NGOẠI LỆ ĐẦU VÀO). Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của bạn để phát triển bài viết tốt hơn. Đừng quên " Luyện tập - Thử Thách - Không ngại khó!"
Tải xuốngProjectNếu việc thực hành theo hướng dẫn không diễn ra suôn sẻ như mong muốn. Bạn cũng có thể tải xuống PROJECT THAM KHẢO ở link bên dưới!
Thảo luậnNếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng. - Trang chủ
- Lập trình Python
- Python 15. Bài tập giải phương trình bậc 2 trong Lập trình Python
Python 15. Bài tập giải phương trình bậc 2 trong Lập trình Python
By lntung Lập trình Python
Bản quyền thuộc về TITV.vn, vui lòng không đăng tải lại nội dung từ trang này.
Video giải thích chi tiết
Code chi tiết
# import thư viên
import math
# Nhập dữ liệu
print("Giải phương trình ax^2+bx+c=0")
a = float(input("Nhập a: "))
b = float(input("Nhập b: "))
c = float(input("Nhập c: "))
print("{0}x^2+{1}x+{2}=0".format(a,b,c))
# Giải phương trình
if(a!=0):
delta = b**2 - 4*a*c
if (delta<0):
print("Phương trình vô nghiệm")
elif (delta==0):
x = -b/(2*a)
print("Có nghiệm kép x1=x2=", x)
else:
x1 = (-b-math.sqrt(delta))/(2*a)
x2 = (-b+math.sqrt(delta))/(2*a)
print("Có nghiệm kép x1={0} và x2={1}".format(x1, x2))
else:
print("Không phải phương trình bậc 2")
tháng 11 27, 2021 Bạn có thể thích những bài đăng này:3-tag:Lập trình Python-250px-list-2390689012961319387 |