Viết chương trình giải phương trình bậc 2 Python

Hôm nay mình giới thiệu đến các bạn bài 4 trong seri lập trình python , đó là lập trình python . Các bạn có thể xem toàn bộ seri tại đây .

Bài toán giải phương trình bậc 2 với python

  1. Phương trình bậc 2 là gì ?

Trongđại số sơ cấp,phương trình bậc hailà phương trình có dạng:{\displaystyle ax^{2}+bx+c=0}

Vớixlà ẩn số chưa biết vàa,b,clà các số đã biết sao choakhác 0. Các sốa,b, vàclà nhữnghệ sốcủa phương trình và có thể phân biệt bằng cách gọi tương ứnghệ số bậc hai,hệ số bậc một, vàhằng sốhayhệ số tự do.[1]

Vì phương trình bậc hai chỉ có một ẩn nên nó được gọi là phương trình đơn biến. Phương trình bậc hai chỉ chứalũy thừacủaxlà các số tự nhiên, bởi vậy chúng là một dạngphương trình đa thức, cụ thể làphương trình đa thức bậc haido bậc cao nhất là hai.

Các cáchgiải phương trìnhbậc hai phổ biến lànhân tử hóa[phân tích thành nhân tử], phương phápphần bù bình phương, sử dụngcông thức nghiệm, hoặcđồ thị. Giải pháp cho các vấn đề tương tự phương trình bậc hai đã được con người biết đến từ năm 2000 trước Công Nguyên . Theo wiki

2. Cách giải phương trình bậc 2 :

Việc còn lại là biến cách giải này thành code python thôi nào . Nghe đơn giản đấy , Mình bắt đầu nào !

3. Code thôi nào !

Đầu tiên bạn vào visual code , chọn file => open folder =>chọn folder bất kỳ=>ctrl + n =>ctrl +s => tenfile.py[p2.py] .

bước tạo file xong rồi ! Mình code thôi

+ Đầu tiên bạn khai báo mình đang viết cái gì đã !

print["đây là phần mềm giải phương trình bậc 2 "]

+ Yêu cầu người dùng nhập hệ số a,b,c của phương trình

print["phương trình bậc 2 có dạng L: aX^2 + bx +c = 0\n"] print["mời bạn nhập \n"] a = input["a = "] b = input["b = "] c = input["c = "]

+Kiểm tra a = 0 ? Nếu a = 0 thì yêu cầu người dùng nhập lại!

a = input["bạn đã nhập sai , nhập lại ! .a = "]

+ Khai báo dental = b*b-4*a*c

dental = b*b - 4*a*c

Các bạn bấm Ctrl + Shift +` và gõ vào : python p2.py =>ra lỗi bên dưới

dental = b*b - 4*a*c TypeError: can't multiply sequence by non-int of type 'str'

=> Lỗi rồi :V => Mình nhập như thế nó sẽ hiểu là mình nhập ký tự nên báo lỗi không tính được dental

+ Cách giải quyết :

a = float[input["a = "]] b = float[input["b = "]] c = float[input["c = "]] if[a==0]: a = float[input["bạn đã nhập sai , nhập lại ! .a = "]]

+ Xem lại code từ đầu đã ok chưa bằng cách in ra màn hình dental [gõ lại trên tearnimal: python p2.py]

print["đây là phần mềm giải phương trình bậc 2\n"] print["phương trình bậc 2 có dạng L: aX^2 + bx +c = 0\n"] print["mời bạn nhập \n"] a = float[input["a = "]] b = float[input["b = "]] c = float[input["c = "]] if[a==0]: a = float[input["bạn đã nhập sai , nhập lại ! .a = "]] dental = b*b - 4*a*c print[dental]

cách bạn nhập nhập 1 ,1,1 => dental = -3

+Xét 3 điều kiên >,< ,= 0 của deltal và suy ra nghiệm là xong

if[dental < 0 ]: print["phương trình vô nghiệm\n"] elif[dental > 0]: x1 = [-b + math.sqrt[dental]]/[2*a] x2 = [-b - math.sqrt[dental]]/[2*a] print["phuong trinh co 2 nghiem x1 ="+ str[x1] + " và "+" x2 = " +str[x2]] else: x = -b/[2*a] print["phuong trinh co 2 nghiem x1 = x2 = " + str[x]]

+Chú ý trong python để sử dụng được hàm căn bậc 2 bạn cần import thư viên math và để in xen kẽ số với chuỗi bạn cần đưa số về dạng chuỗi bằng hàm str[biến].

#ví dụ import math x1 = [-b + math.sqrt[dental]]/[2*a] x2 = [-b - math.sqrt[dental]]/[2*a] print["phuong trinh co 2 nghiem x1 ="+ str[x1] + " và "+" x2 = " +str[x2]]

+ FULL CODE CHO BÀI NÀY !

import math print["đây là phần mềm giải phương trình bậc 2\n"] print["phương trình bậc 2 có dạng L: aX^2 + bx +c = 0\n"] print["mời bạn nhập \n"] a = float[input["a = "]] b = float[input["b = "]] c = float[input["c = "]] if[a==0]: a = float[input["bạn đã nhập sai , nhập lại ! .a = "]] dental = b*b - 4*a*c if[dental < 0 ]: print["phương trình vô nghiệm\n"] elif[dental > 0]: x1 = [-b + math.sqrt[dental]]/[2*a] x2 = [-b - math.sqrt[dental]]/[2*a] print["phuong trinh co 2 nghiem x1 ="+ str[x1] + " và "+" x2 = " +str[x2]] else: x = -b/[2*a] print["phuong trinh co 2 nghiem x1 = x2 = " + str[x]]

Vậy đã xong ! Chạy và test thôi nào

Một ví dụ về if else khá đơn giản phải không nào [if với else như là nếu với thì của tiếng việt thôi mà :v]

TỔNG KẾT

Qua bài này hy vọng các bạn nhìn ra được if else rất dễ sử dụng , bài sau mình xin giới thiệu các vòng lặp khác như for,while thông qua các bài toán thực tế hay nhé ! Hy vọng các bạn theo dõi .

Video liên quan

Chủ Đề