Xác định bài toán:•- Input: Các số thực a, b, c (a≠0).- Output: Các số thực X thoả mãn ax2 + bx + c = 0.- Ý tưởng:- Tính d = b2 - 4ac.- Lần lượt xét ba trường hợp cho giá trị d:nếu d <0 thì pt vô nghiệmnếu d = 0 thì kết luận phương trình có một nghiệm x =-b/2anếu d > 0 thì kết luận phương trình có hai nghiệm phân biệt là:x - (-b± √ d ) / 2a.Thuật toán:Mô tả thuật toán bằng cách liệt kê:Bước I. Nhập ba số a, b, c;Bước 2. d 4-(b*b - 4*a*c);Bước 3.nếu d < 0 thì đưa ra thông báo phương trình vô nghiệm rồi kết thúc;nếu d = 0 thì đưa ra thông báo phương trình có một nghiệm và tính nghiệmx = -b/(2*a), rồi kết thúc;
nếu (d> 0 thì đưa ra thông báo phương trình có hai nghiệm phân biệt, tính nghiệm X/= (-b + -√ d) / (2*a) và x2 = (-b - √ d ) / (2*a), rồi kết thúc;
Đề bài
Mô tả thuật toán tìm nghiệm của phương trình bậc hai tổng quát bằng cách liệt kê hoặc bằng sơ đồ khối.
Lời giải chi tiết
• Xác định bài toán:
- Input: Các số thực a, h, c (a≠0).
- Output: Các số thực X thoả mãn ax2 + bx + c = 0.
Xem thêm: V I Love Music - Vietnam'S Next Top Model
Cách giải phương trình bậc 2 thì chúng ta đã được học ở lớp dưới rồi phải không nào ? Vậy giải phương trình bậc 2 trong C/C++ thì sẽ như thế nào ? Hôm nay chúng ta sẽ cùng tìm hiểu.
Cách giải phương trình bậc 2
Phương trình bậc 2
Phương trình bậc 2 là phương trình có dạng: ax² +bx + c = 0. (a≠0) (1)
Ở các lớp dưới ta đã có phương pháp giải bằng cách tính delta:
Đầu tiên tính delta = b² – 4ac
Nếu delta < 0 thì kết luận vô nghiệm
Nếu delta = 0 thì có nghiệm kép
Nếu delta > 0 thì sẽ có 2 nghiệm phân biệt
Ý tưởng
Dùng một vòng do while để nhập a, b, c nếu a = 0, thì nhập lại.
Chúng ta dùng hàm sqrt() trong thư viện math.h để tính căn delta hoặc tính căn không dùng hàm sqrt()tại đây.
Chúng ta tạo hàm giaiPT trả về kiểu int chính là số nghiệm của phương trình (1).
Chúng ta sẽ đưa tham chiếu 2 biến x1 , x2 vào hàm giaiPT để gán giá trị hai nghiệm.
Nếu pt (1) vô nghiện thì giaiPT sẽ trả về 0 , đồng thời gán x1 = x2 =0 .
Nếu pt (1) có nghiệm kép thì giaiPT sẽ trả về 1 , đồng thời gán x1 = x2 = -b/2a .
Nếu pt (1) có 2 nghiệm thì giaiPT sẽ trả về 2 , gán x1 = (-b+√delta ) / 2a x = (-b-√delta ) / 2a .