Ngôn ngữ Python - Giải phương trình bậc 2

Giải phương trình bậc 2 trong Python

Đề bài

Viết chương trình giải phương trình bậc 2 trong C. Phương trình bậc 2 có dạng:

AX2 + BX + C = 0

 

Lời giải

Khi bạn đang đọc bài này thì phương trình bậc 2 là một bài kinh điển mà chắc chắn bạn đã được học và có cách giải phải không?

Hãy xem code mẫu sau để biết cách giải phương trình bậc 2 trong Python:

Ví dụ này được viết trên PyCharm.

Code mẫu:

import math
 
"""
# Giải phương trình bậc 2: ax2 + bx + c = 0
# @param a: hệ số bậc 2
# @param b: hệ số bậc 1
# @param c: số hạng tự do
"""
def giaiPTBac2(a, b, c):
    # kiểm tra các hệ số
    if (a == 0):
        if (b == 0):
            print ("Phương trình vô nghiệm!");
        else:
            print ("Phương trình có một nghiệm: x = ", + (-c / b));
        return;
 
    # tính delta
    delta = b * b - 4 * a * c;
    # tính nghiệm
    if (delta > 0):
        x1 = (float)((-b + math.sqrt(delta)) / (2 * a));
        x2 = (float)((-b - math.sqrt(delta)) / (2 * a));
        print ("Phương trình có 2 nghiệm là: x1 = ", x1, " và x2 = ", x2);
    elif (delta == 0):
        x1 = (-b / (2 * a));
        print("Phương trình có nghiệm kép: x1 = x2 = ", x1);
    else:
        print("Phương trình vô nghiệm!");
 
# Nhập các hệ số
a = float(input("Nhập hệ số bậc 2, a = "));
b = float(input("Nhập hệ số bậc 1, b = "));
c = float(input("Nhập hằng số tự do, c = "));
# Gọi hàm giải phương trình bậc 2
giaiPTBac2(a, b, c)

Kết quả:

Nhập hệ số bậc 2, a = 2
Nhập hệ số bậc 1, b = 1
Nhập hằng số tự do, c = -1
Phương trình có 2 nghiệm là: x1 =  0.5  và x2 =  -1.0

Trong ví dụ trên, hàm math.sqrt(a) được sử dụng để tính căn bậc 2 của a. Hàm input() được sử dụng để nhập dữ liệu từ bàn phím.