Viết chương trình giải bất phương trình bằng python

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


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.

Video hướng dẫn:

Hướng dẫn chi tiết:

Phương trình bậc 1 [bậc nhất] là phương trình có dạng: ax + b = 0

Sau đây là một giải thuật cho phương trình bậc nhất:

+ Nhập vào các hệ số a và b

+ Nếu a==0:

- Nếu b==0 => Vô số nghiệm [hay vô định]

- Nếu b!=0 => Vô nghiệm

+ Nếu a!=0:

Phương trình có nghiệm là x = -b/a

Còn dưới đây là lưu đồ cho thuật toán:

Sau đây là đoạn code demo:

# Bài toán: Hãy viết chương trình giải phương
# trình bậc nhất 1 ẩn: ax + b = 0

# Lập trình:
a = float[input["Nhập hệ số a: "]]
b = float[input["Nhập hệ số b: "]]

if a == 0:
  if b == 0:
    print["Vô số nghiệm"]
  else:
    print["Vô nghiệm"]
else:
  print["Phương trình có nghiệm x =", -b / a]

Tham khảo:

  1. Khóa học Lập trình Python Level 1
  2. Bài tập phần điều kiện
  3. Bài tập phần vòng lặp
  4. Bài tập phần Class
  5. Bài tập phần vẽ hình

Hãy viết chương trình giải phương trình bậc nhất một ẩn bằng Python [ax + b = 0], đây là bài toán giải phương trình khá đơn giản đã được học ở cấp II, hãy dùng ngôn ngữ Python để giải nó.

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 nhất một ẩn trong toán học đã nhé, sau đó bạn mới biết thuật toán để giải bằ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ả sử ta có phương trình ax + b = 0, đây là phương trình chỉ có một nghiệm duy nhất đó là: x = -b/a.

Vậy các bước để giải nó trong Python như sau:

Bước 1: Yêu cầu nhập vào hai số a và b

Bài viết này được đăng tại [free tuts .net]

Bước 2: Kiểm tra nếu a = 0 thì yêu cầu nhập lại số a, vì phương trình này có điều kiện a # 0.

Bước 2: Tìm nghiệm bằng công thức x = -b/a

Bài giải như sau:

# HỌC PYTHON TẠI FREETUTS.NET
# TÁC GIẢ: CƯỜNG NGUYỄN
# Giải phương trình bậc nhất 1 ẩn ax + b = 0

print["Chương trình đăng tại freetuts.net!"]

# Nhập số a và kiểm tra điều kiện khác 0
print["Nhập vào số a: "]
a = int[input[]]

while True:
    if a == 0:
        print["Vui lòng nhập số a khác 0: "]
        a = int[input[]]
    else:
        break

# Nhập số b
print["Nhập vào số b: "]
b = int[input[]]

# Nghiệm
print["Nghiệm của phương trình là x = ", [-b / a]]

Chạy chương trình lên và nếu bạn nhập a = 0 thì Python sẽ nhắc bạn nhập lại như sau:

Nhập đúng thì kết quả sẽ như hình sau:

Danh sách bài tập Python cơ bản

  • Kiểm tra dữ liệu là number hay string bằng Python
  • Tính tổng S[n] = 1 + 2 + 3 + … + n bằng Python
  • Tính tổng S[n] = 1^2 + 2^2 + … + n^2 bằng Python
  • Tính tổng S[n] = 1 + ½ + 1/3 + … + 1/n bằng Python
  • Tính tổng S[n] = ½ + ¼ + … + 1/2n bằng Python
  • Tính tổng S[n] = 1/3 + 1/5 + … + 1/[2n + 1]
  • Liệt kê tất cả các ước số của số nguyên dương n bằng Python
  • Tính tổng tất cả các ước số của số nguyên dương N bằng Python
  • Tìm ước số lẻ lớn nhất của một số bằng Python
  • Kiểm tra một số có phải là số hoàn hảo bằng Python
  • Kiểm tra số chính phương bằng Python
  • Kiểm tra số nguyên tố bằng Python
  • Đảo ngược một số bằng Python
  • In ra từng ký tự của một số bằng Python
  • Giải phương trình bậc nhất một ẩn bằng Python [ax + b = 0]
  • Giải phương trình bậc hai một ẩn bằng Python [ax^2 + bx + c = 0]

Cùng chuyên mục:

Bài Viết Liên Quan

Chủ Đề