Bài toán đề nghị xử lý
Viết hàm giải phương trình số 1 và phương trình bậc nhị với tham số là những hệ số của phương trình.
Bạn đang xem: Giải và biện luận phương trình ax+b=0 python
Kiến thức đề nghị có
Hàm input() với hàm print()Cấu trúc lặp vào Python kết cấu rẽ nhánh vào Python trở thành và kiểu dữ liệu Hàm trong Python giải pháp xử lý ngoại lệ (Exception Handling)Định dạng đầu vào:
Gồm hai dòng:
Dòng đầu tiên chứa số 1 hoặc 2 tương ứng với:Chức năng 1: giải phương trình hàng đầu Chức năng 2: giải phương trình bậc hai dòng thứ nhì chứa hệ số tùy nằm trong vào công dụng được chọn ở loại 1:Chức năng 1: cất hai số a, b theo thứ tự là hệ số của phương trình ax + b = 0, những hệ số biện pháp nhau bởi khoảng trắng.Chức năng 2: chứa tía số a, b, c thứu tự là hệ số của phương trình ax2 + bx + c = 0, những hệ số giải pháp nhau bởi khoảng tầm trắng.Định dạng đầu ra:
Gồm nhiều dòng hiển thị tùy theo các trường phù hợp như sau:
Nếu phương trình vô nghiệm:Phuong trinh vo nghiem
Nếu phương trình bao gồm vô số nghiệm:Phuong trinh co vo so nghiem
Nếu phương trình bao gồm 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 teo nghiem kep: x1 = x2 = x1
Nếu phương trình tất cả hai nghiem phan biet:Phuong trinh teo hai nghiem phan biet: x1 = x1
x2 = x2
Với x1, x2 là những nghiệm của phương trìnhLưu ý:
Nếu dòng trước tiên khác ‘1’ và ‘2’ thì xuất thông báo:Vui long chon mot trong nhì chuc nang:
1. Giai phuong trinh bac nhat
2. Giai phuong trinh bac hai
Nếu đầu vào nằm ko kể định dạng đầu vào thì xuất thông báo:Dinh dang dau vao khong hop le!
Ví dụ
Input 1:23 5 8Output 1: Phuong trinh vo nghiem
Input 2:10 0Output 2: Phuong trinh co vo so nghiem
Input 3:13 6.8Output 3: Phuong trinh co mot nghiem duy nhat:x = -2.2666666666666666
Input 4:24 4 1Output 4: Phuong trinh teo nghiem kep:x1 = x2 = -0.5
Input 5:2-5 6.7 9Output 5: Phuong trinh teo hai nghiem phan biet la:x1 = -0.8296332885075604x2 = 2.1696332885075607
Input 6:2kteam 7 8.5Output 6: Dinh dang dau vao khong hop le!
Input 7:41 7 8.5Output 7: Vui long chon mot trong nhì chuc nang:1. Giai phuong trinh bac nhat2. Giai phuong trinh bac hai
Gợi ý
Định nghĩa hàm giải phương trình hàng đầu và giải phương trình bậc hai. để ý trong hàm giải phương trình bậc hai tất cả gọi hàm giải phương trình bậc nhấtThuật toán: Giải phương trình bậc nhất:Phương trình rất nhiều nghiệm khi: thông số a, b đều bởi 0 Phương trình vô nghiệm khi: hệ số a bởi 0 với b khác 0 các trường hợp còn lại phương trình bao gồm nghiệm độc nhất vô nhị Giải phương trình bậc hai:Phương trình rất nhiều 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ông giống 0 cùng trường hợp delta nhỏ tuổi hơn 0Phương trình tất cả nghiệm kép khi delta bởi 0 Phương trình bao gồm hai nghiệm phân biệt khi delta to hơn 0 Sử dụng cấu trúc Xử lý ngoại lệ để xử lý những trường hợp gây nên lỗiĐặt toàn thể chương trình trong khối try. Sử dụng hàm input() để đọc dữ liệu dòng thứ nhất Dùng cấu tạo rẽ nhánh if … else để nhận biết người tiêu dùng chọn chứ năng nào
Dùng hàm map(), float cùng hàm split() để nhận với ép hình dạng dữ liệu các hệ số của phương trình
Tùy vào tác dụng được chọn, gọi hàm tương xứng để xử lý bài toán
Nếu dòng đầu tiên của input đầu vào khác ‘1’ cùng ‘2’ thì xuất thông báo lỗi
Lỗi sẽ phát sinh sống lệnh ép hình dáng nếu format đầu vào không phù hợp lệ. Sử dụng lệnhexcept để bắt lỗi: dùng hàm print() hiển thị thông báo lỗi ra màn hình
Code mẫu
import math#Dinh nghia hamdef giai_pt_bac_nhat(a, b): if a == 0: if b == 0: return "Phuong trinh teo vo so nghiem" return "Phuong trinh vo nghiem" return "Phuong trinh co mot nghiem duy nhat:
x = ".format(-b / a)def giai_pt_bac_hai(a, b, c): if a == 0: return giai_pt_bac_nhat(b, c) #Tinh delta delta = b * b - 4 * a * c #Kiem tra cac truong hop cua delta if delta > 0: x1 = float((-b + math.sqrt(delta)) / (2 * a)) x2 = float((-b - math.sqrt(delta)) / (2 * a)) return "Phuong trinh teo hai nghiem phan biet la:
x1 =
x2 = ".format(x1, x2) if delta == 0: x = -b / (2 * a) return "Phuong trinh teo nghiem kep:
x1 = x2 = ".format(x) return "Phuong trinh vo nghiem"#Khoi lenh teo the phat sinh loitry: #Doc dong du lieu dau tien chuc
Nang = input() #Truong hop 1: Giai phuong trinh bac nhat if chuc
Nang == "1": #Doc dong du lieu thu nhì #Ep kieu du lieu sang so thuc a, b = map(float, input().split()) #Goi ham giai phuong trinh bac nhat print(giai_pt_bac_nhat(a, b)) #Truong hop 2: Giai phuong trinh bac nhị elif chuc
Nang == "2": a, b, c = map(float, input().split()) print(giai_pt_bac_hai(a, b, c)) else: print("Vui long chon mot trong hai chuc nang:
1. Giai phuong trinh bac nhat
2. Giai phuong trinh bac hai")#Khoi lenh duoc thuc thi khi loi xay raexcept: print("Dinh dang dau vao khong hop le!")
Kết luận
Trong bài xích này, Kteam vẫn hướng dẫn bạn cách viết hàm giải phương trình số 1 và phương trình bậc nhì với thông số là những hệ số của phương trình.Xem thêm: 20+ Phân Tích Lục Vân Tiên Cứu Kiều Nguyệt Nga Phân Tích, Lục Vân Tiên Cứu Kiều Nguyệt Nga
Thêm bài xích giải của người sử dụng vào phần bình luậnđể được Kteam review code và fix lỗi (nếu có) vào livestream của khóa học này.Ở bài tiếp theo, họ sẽ cũng nhau học phương pháp VIẾT HÀM HIỂN THỊ TÍCH CỦA TỔNG CHỮ SỐ CHẴN VÀ TỔNG CHỮ SỐ LẺ CỦA MỘT SỐ TỰ NHIÊN
Cảm ơn chúng ta đã theo dõi bài bác viết. Hãy nhằm lại phản hồi hoặc góp ý của người sử dụng để phân phát triển nội dung bài viết tốt hơn. Đừng quên "Luyện tập - thử thách - không ngại khó!"
Tham khảo:
Thuật toán giải phương trình ax + b = 0
- bằng liệt kê tuần tự
Bước 1: Nhập hai số thực a, b
Bước 2. Nếu a = 0
Bước 2.1. Nếu b ≠0 thì thông báo phương trình vô định, rồi kết thúc;
Bước 2.2. Ví như b = 0 thì gán x
Bước 3: x
Bước 4. Đưa ra nghiệm x, rồi kết thúc.
- Sơ đồ khối:
Bài 1:Viết thuật toán và lịch trình giải phương trình bậc 2 ax^2+bx+c=0
Bài 2:viết thuật toán và viết công tác giải phương trình bậc 1 ax+b=0
Bài 1:
Thuật toán:
B1: Nhập a,b,c
B2: Tính(Delta)= b2-4ac;
B3: đánh giá nếu(Delta)>0 phương trình tất cả 2 nghiệm phân biệt
(x_1=dfrac-b+sqrtDelta ext 2a)
(x_2=dfrac-b-sqrtDelta2a)
B4: chất vấn nếu(Delta)(Delta)=0 phương trình tất cả 2 nghiệm kép(x_1=x_2=-dfracb2a)
Viết chương trình:
Program HOC24;
var a,b,c: integer;
x1,x2: real;
denta: longint;
begin
write('Nhap a; b; c: '); readln(a,b,c);
denta:=b*b-4*a*c;
if denta>0 then
begin
write('x1= ',(-b+sqrt(denta))/(2*a):1:2);
write('x2= ',(-b-sqrt(denta))/(2*a):1:2);
end;
if dentaĐúng(0)
Bài 2:
Thuật toán:
B1: Nhập a,b
B2: kiểm soát nếu a=0 cùng b=0 thì phương trình bao gồm vô số nghiệm
B3: khám nghiệm nếu a=0 thì phương trình vô nghiệm
B4: soát sổ nếu a khác 0 thì gồm nghiệm x=-b/a;
Viết chương trình:
Program HOC24;
var a,b: integer;
x: real;
begin
write('Nhap a; b: '); readln(a,b);
if a=0 và b=0 then write('Phuong trinh teo vo so nghiem');
if a=0 then write('Phuong trinh vo nghiem');
if a0 then write('x=',-b/a:1:2);
readln
end.
Đúng(1)
Sử dụng khối lệnh if else như sau
Chúng tôi đề xuất
Học liệu
Hỏi đáp
Link rút gọn
Link rút gọn gàng
Tổng thanh toán: 0đ(Tiết kiệm: 0đ)