Biện luận và giải phương trình bậc nhất với C++

Đây là bài 10/15 bài của series môn học TH Nhập môn lập trình

1. Biện luận phương trình bậc nhất ax + b = 0

Phương trình bậc nhất là phương trình có dạng ax + b = 0. Trong đó, a và b là các hằng số và x là ẩn số. Các trường hợp của phương trình bậc nhất như sau:

+Trường hợp 1: Nếu a ≠ 0 thì phương trình có một nghiệm duy nhất: x = -b/a.

+Trường hợp 2: Nếu a = 0 và b ≠ 0 thì phương trình vô nghiệm (vì -b/0 là vô nghĩa)

+Trường hợp 3: Nếu a = 0 và b = 0 thì phương trình có vô số nghiệm.

Ví dụ:

+Trường hợp 1: Cho phương trình 2x + 5 = 0, phương trình này có một nghiệm duy nhất là x = -5/2 = -2.5.

+Trường hợp 2: Cho phương trình 0x – 2 = 0, phương trình này vô nghiệm (vì 2/0 không có nghĩa).

+Trường hợp 3: Cho phương trình 0x – 0 = 0, phương trình này vô số nghiệm (luôn đúng với mọi x).

2. Chương trình C++ biện luận và giải phương trình bậc nhất

Sử dụng câu lệnh if…else để biện luận và giải phương trình bậc nhất trong C++.

#include <iostream>
using namespace std;

int main() {
   float a, b, x;

   cout << "Nhap vao he so a: ";
   cin >> a;

   cout << "Nhap vao he so b: ";
   cin >> b;

   if (a == 0) {
      if (b == 0) {
         cout << "Phuong trinh co vo so nghiem";
      } else {
         cout << "Phuong trinh vo nghiem";
      }
   } else {
      x = -b/a;
      cout << "Nghiem cua phuong trinh la: x = " << x;
   }

   return 0;
}

Trong đoạn code trên, ta sử dụng cin để nhập vào hai hệ số ab từ bàn phím. Sau đó, ta kiểm tra giá trị của a để xác định phương trình có nghiệm hay không. Nếu a bằng 0, ta kiểm tra giá trị của b để xác định phương trình có vô số nghiệm hay không có nghiệm. Nếu a khác 0, ta tính giá trị của x bằng công thức x = -b/a và in ra kết quả.

Ta có thể sử dụng hàm để tái sử dụng và tách biệt quá trình tính toán:

#include <iostream>
using namespace std;

// Ham giai phuong trinh bac nhat
void giaiPhuongTrinhBacNhat(double a, double b) {
    if (a == 0) {
        if (b == 0) {
            cout << "Phuong trinh vo so nghiem.";
        } else {
            cout << "Phuong trinh vo nghiem.";
        }
    } else {
        double x = -b / a;
        cout << "Nghiem cua phuong trinh la x = " << x;
    }
}

int main() {
    double a, b;
    cout << "Nhap vao gia tri cua a: ";
    cin >> a;
    cout << "Nhap vao gia tri cua b: ";
    cin >> b;

    giaiPhuongTrinhBacNhat(a, b);

    return 0;
}

Trong chương trình này, chúng ta định nghĩa một hàm riêng gọi là giaiPhuongTrinhBacNhat, nhận hai tham số ab để giải phương trình bậc nhất. Trong hàm main, chúng ta nhập vào giá trị ab từ bàn phím. Sau đó, chúng ta gọi hàm giaiPhuongTrinhBacNhat với hai giá trị này.

Hàm giaiPhuongTrinhBacNhat thực hiện cùng một quá trình xác định nghiệm như trong chương trình trước. Điều này giúp tái sử dụng mã và giữ mã nguồn của chương trình gọn gàng và dễ bảo trì.

5/5 - (1 bình chọn)
Bài trước và bài sau trong môn học<< Tính giai thừa (factorial) trong C++Biện luận và giải phương trình bậc hai với C++ >>
Chia sẻ trên mạng xã hội:

Trả lời

Lưu ý:

1) Vui lòng bình luận bằng tiếng Việt có dấu.

2) Khuyến khích sử dụng tên thật và địa chỉ email chính xác.

3) Mọi bình luận trái quy định sẽ bị xóa bỏ.