C++ - Giải Phương Trình Bậc Hai Ax2 + Bx + C = 0

C++ - Giải phương trình bậc hai ax2 + bx + c = 0

Viết chương trình giải phương trình bậc 2: ax2 + bx + c = 0.

test php

Bài giải

-------------------- ######## --------------------

Phương trình bậc 2 có dạng ax2 + bx + c = 0 (a≠0).

test php

banquyen pngBài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Trong đó:

  • x là ẩn số chưa biết.
  • a, b, c là các số đã biết (a khác 0). Chúng ta có thể gọi a là hệ số bậc hai, b là hệ số bậc một, và c là hằng số (hay còn có thể gọi số hạng tự do).

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

  • Nếu a != 0 thì tính delta = b² – 4ac
  • Nếu delta < 0 thì phương trình vô nghiệm
  • Nếu delta = 0 thì phương trình có nghiệm kép: x1 = x2 = -b/2a
  • Nếu delta > 0 thì sẽ có 2 nghiệm phân biệt: x1 = (-b + delta)/2a, x2 = (-b -delta)/2a;
  • Nếu a == 0 thì phương trình trở thành phương trình bậc 1, chúng ta sẽ giải phương trình bậc một đã đề cập ở bài tập trước.

Giải phương trình bậc 2 bằng cách sử dụng cấu trúc điều khiển if else trong C++ như sau:

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

#include <iostream> #include <conio.h> #include <math.h> using namespace std; int main() { float a, b, c, delta, x1, x2; cout << "Nhap a = "; cin >> a; cout << "Nhap b = "; cin >> b; cout << "Nhap c = "; cin >> c; if(a == 0) { // a== 0 phuong trinh tro thanh phuong trinh bac mot bx + c = 0 if(b == 0) { if (c == 0) { cout << "Phuong trinh vo so nghiem" << endl; } else { cout << "Phuong trinh vo nghiem" << endl; } } else { cout << "Phuong trinh co nghiem duy nhat: " << -c/b << endl; } } else { delta = b*b - 4*a*c; if(delta > 0) { x1 = (-b+sqrt(delta))/(2*a); x2 = (-b-sqrt(delta))/(2*a); cout << "Nghiem thu nhat x1 = " << x1 << endl; cout << "Nghiem thu hai x2 = " << x2 << endl; } else if ( delta == 0) { cout << "Phuong trinh co nghiem kep: x1 = x2 = " << -b/2*a << endl; } else { cout << "Phuong trinh vo nghiem" << endl; } } return 0; }

Kết quả sau khi thực thi đoạn code trên như sau:

Khi nhập a = 0, b = 0, và c = 0:

ex if 4 JPG

Khi nhập a = 0, b = 0 và c = 4:

ex if 5 JPG

Khi nhập a = 0, b = 2 và c = 3:

ex if 6 JPG

Khi nhập a = 1, b = 2, và c = 1:

ex if 7 JPG

Khi a = 4, b = 1 và c = 8:

ex if 8 JPG

Khi a = 1, b = 5, và c = 2:

ex if 9 JPG

8. Bài tập if else C++

  • C++ - Câu hỏi trắc nghiệm lệnh if else 1
  • C++ - Câu hỏi trắc nghiệm lệnh if else 2
  • C++ - Giải phương trình bậc một ax + b = 0
  • C++ - Giải phương trình bậc hai ax2 + bx + c = 0
  • C++ - Tìm số lớn nhất trong 3 số được nhập từ bàn phím.
  • C++ - Đánh giá hạng học sinh dựa vào điểm số
  • C++ - In ra màn hình thế kỷ dựa vào năm được nhập từ bàn phím
  • C++ - Kiểm tra tam giác có hợp lệ không dựa vào 3 góc được nhập từ bàn phím
  • C++ - Kiểm tra một năm bất kỳ được nhập từ bàn phím có phải năm nhuận không
  • C++ - Kiểm tra một ký tự có phải là Alphabet hay không

Cùng chuyên mục:

Các hàm xử lý mảng đa chiều (array.h) trong C/C++

Các hàm xử lý mảng đa chiều (array.h) trong C/C++

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý chuỗi (string.h) trong C/C++

Các hàm xử lý chuỗi (string.h) trong C/C++

Thread Pools và Parallel Algorithms trong C++

Thread Pools và Parallel Algorithms trong C++

Tạo và quản lý các Multithreading trong C++

Tạo và quản lý các Multithreading trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Try, Catch, và Throw của Exception Handling trong C++

Try, Catch, và Throw của Exception Handling trong C++

Cách sử dụng Lambda Expressions trong C++

Cách sử dụng Lambda Expressions trong C++

Sử dụng weak_ptr trong C++

Sử dụng weak_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng unique_ptr trong C++

Sử dụng unique_ptr trong C++

Tổng quan về Smart Pointers trong C++

Tổng quan về Smart Pointers trong C++

Sử dụng Iterators trong STL của C++

Sử dụng Iterators trong STL của C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng trong List trong C++

[Iterator] Sử dụng trong List trong C++

[STL] Sử dụng Vector trong C++

[STL] Sử dụng Vector trong C++

Tổng quan về Iterators trong C++

Tổng quan về Iterators trong C++

Từ khóa » Thuật Toán Phương Trình Ax^2+bx+c=0