Code giải hệ phương trình bậc nhất 2 an Python

Bài viết này sẽ hướng dẫn bạn cách giải phương trình bậc hai một ẩn Code giải hệ phương trình bậc nhất 2 an Python

Nội dung chính

Show

  • Cách giải phương trình bậc 2 một ẩn
  • Giải phương trình bậc 2 một ẩn với Python
  • Giải hệ phương trình bậc nhất bằng phương pháp Cramer
  • Chương trình giải hệ phương trình bậc nhất 2 ẩn
  • Video liên quan

Cách giải phương trình bậc 2 một ẩn

Giải phương trình bậc 2 là đi tìm các giá trị của x sao cho khi thay x vào phương trình thì thỏa mãn .

Bước 1: Tính Δ=b2-4ac

Bước 2: So sánh Δ với 0

  • Δ < 0 => phương trình (1) vô nghiệm
  • Δ = 0 => phương trình (1) có nghiệm kép Code giải hệ phương trình bậc nhất 2 an Python
  • Δ > 0 => phương trình (1) có 2 nghiệm phân biệt, ta dùng công thức nghiệm sau:

Code giải hệ phương trình bậc nhất 2 an PythonCode giải hệ phương trình bậc nhất 2 an Python

Giải phương trình bậc 2 một ẩn với Python

Bước 1: Cho phép người dùng nhập vào 3 số: a, b, c với điều kiện a và b ≠ 0

Bước 2: Tính Delta (Δ)

Bước 3: Tìm ra nghiệm của phương trình

Code Python giải phương trình bậc 2 một ẩn:

import math
print(“Giải phương trình bậc 2: ax2 + bx + c = 0 (a, b khác 0)”)
print(“Bạn đang làm bài tập Python trên QuanTriMang”)
print(“============”)
# Nhập số a, b và kiểm tra điều kiện khác 0
a = float(input(“Mời bạn nhập hệ số a: “))
b = float(input(“Mời bạn nhập hệ số b: “))
while True:
if a == 0 and b == 0:
print(“Một trong hai hệ số a, b phải khác 0: “)
a = float(input(“Mời nhập lại số a: “))
b = float(input(“Mời nhập lại số b: “))
else:
break
# Nhập số c
c = float(input(“Mời bạn nhập hệ số c: “))
# Tính Delta
delta = b**2 – 4 * a * c
# Tìm nghiệm của phương trình
if delta < 0:
print(“Phương trình vô nghiệm”)
elif delta == 0:
print(“Phương trình có nghiệm kép x1 = x2 = “, -(b / (2 * a)) )
else:
print(“Phương trình có hai nghiệm phân biệt:”)
print(“x1 = “, (-(b) + math.sqrt(delta))/(2*a) )
print(“x1 = “, (-(b) – math.sqrt(delta))/(2*a) )

Bạn hãy thử chạy mã lệnh trên bằng công cụ Python Online của QuanTriMang và xem kết quả nhé! Một số ví dụ có thể thử:

  • Code giải hệ phương trình bậc nhất 2 an Python
  • Code giải hệ phương trình bậc nhất 2 an Python

85
/ 100

Hôm nay Lập trình không khó sẽ hướng dẫn các bạn cách giải hệ phương trình bậc nhất 2 ẩn bằng code C/C++. Nhưng trước khi giải bài toán này chúng ta cũng tìm hiểu hệ phương trình bậc nhất 2 ẩn là gì ?

Code giải hệ phương trình bậc nhất 2 an Python

Ở các lớp dưới chúng ta đã những phương pháp giải hệ phương trình trên như: Phương pháp thế, phương pháp đặt ẩn phụ…

Nhưng liệu trong C++ ta có dùng lại những phương pháp này được không ? Câu trả lời là có nhưng với mỗi phương pháp thì nó những ưu nhược điểm riêng. Ví dụ ta rút x ở hệ phương trên x = ( c1 -b1y ) / a1 

Nhưng nếu a1 bằng 0 thì sao ? Không lẻ bạn ngồi viết từng dòng if else để rút thế, nếu bạn làm như cũng được thôi nhưng chương trình của bạn sẽ phức tạp hơn rất nhiều. Vậy nên mình sẽ giới thiệu đến các bạn một phương pháp giải mới.

Giải hệ phương trình bậc nhất bằng phương pháp Cramer

Code giải hệ phương trình bậc nhất 2 an Python

Phương pháp Cramer

Các bạn có thể xem thêm phương pháp Cramer tại đây.

Từ đây ta chỉ cần tính các định thức D, Dx, Dy là xong rồi phải không nào.

  • Nếu định thức D = 0 thì phương trình hoặc vô nghiệm hoặc vô số nghiệm. Nếu Dx = Dy = 0 thì phương trình có vô số nghiệm. Ngược lại thì phương trình trên vô nghiệm.
  • Nếu định thức D ≠ 0 thì hệ phương trình trên luôn có nghiệm duy nhất với x = Dx/D và y = Dy/D.

Nào ta cùng bắt tay vào viết chương trình thôi !

Chương trình giải hệ phương trình bậc nhất 2 ẩn

Dưới đây là chương trình tham khảo cách giải hệ phương trình bậc nhất 2 ẩn, mình khuyên các bạn nên viết trước khi xem source.

Code C:

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

#include<stdio.h>

int main(){

    int a1, b1, c1, a2, b2, c2;

    float D, Dx, Dy, x, y;

    printf(“a1*x + b1*y = c1\n”);

    printf(“a2*x + b2*y = cc\n”);

    printf(“\nNhap a1: “); scanf(“%d”, &a1);

    printf(“\nNhap b1: “); scanf(“%d”, &b1);

    printf(“\nNhap c1: “); scanf(“%d”, &c1);

    printf(“\nNhap a2: “); scanf(“%d”, &a2);

    printf(“\nNhap b2: “); scanf(“%d”, &b2);

    printf(“\nNhap c2: “); scanf(“%d”, &c2);

    D = a1 * b2 – a2 * b1;

    Dx = c1 * b2 – c2 * b1;

    Dy = a1 * c2 – a2 * c1;

    if (D == 0) {

        if (Dx + Dy == 0)

            printf(“He phuong trinh co vo so nghiem”);

        else

            printf(“He phuong trinh vo nghiem”);

    }

    else {

        x = Dx / D;

        y = Dy / D;

        printf(“He phuong trinh co nghiem (x, y) = (%d, %d)”, x, y);

    }

    return 0;

}

Code C++:

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

#include<iostream>

using namespace std;

int main(){

    int a1, b1, c1, a2, b2, c2;

    float D, Dx, Dy, x, y;

    cout << “a1*x + b1*y = c1” << endl;

    cout << “a2*x + b2*y = c2” << endl;

    cout << “Nhap a1: “;

    cin >> a1;

    cout << “Nhap b1: “;

    cin >> b1;

    cout << “Nhap c1: “;

    cin >> c1;

    cout << “Nhap a2: “;

    cin >> a2;

    cout << “Nhap b2: “;

    cin >> b2;

    cout << “Nhap c2: “;

    cin >> c2;

    D = a1 * b2 – a2 * b1;

    Dx = c1 * b2 – c2 * b1;

    Dy = a1 * c2 – a2 * c1;

    if (D == 0) {

        if (Dx + Dy == 0)

            cout << “He phuong trinh co vo so nghiem”;

        else

            cout << “He phuong trinh vo nghiem”;

    }

    else {

        x = Dx / D;

        y = Dy / D;

        cout << “He phuong trinh nghiem” << endl;

        cout << “x = ” << x<<endl;

        cout << “y = ” << y;

    }

    system(“pause”);

    return 0;

}

Sau khi chạy chương trình lên ta có kết quả sau.

a1*x + b1*y = c1

a2*x + b2*y = c2

Nhap a1: 2

Nhap b1: 1

Nhap c1: 4

Nhap a2: 3

Nhap b2: 2

Nhap c2: 7

He phuong trinh nghiem

x = 1

y = 2

Các bạn có thể tự tính lại xem đúng không nhá ^_^

Bài viết của mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi!