Cách Giải Phương Trình Bậc 2 Trong C/C++
Có thể bạn quan tâm
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
Cách giải 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 .
Code C
#include<stdio.h> #include<math.h> int giaiPT(float a, float b, float c,float &x1, float &x2){ float delta = b*b - 4*a*c; if(delta<0){ x1=x2=0.0; return 0; } else if(delta==0){ x1 = x2 = -b/(2*a); return 1; } else{ delta = sqrt(delta); x1 = (-b + delta) / (2*a); x2 = (-b - delta) / (2*a); return 2; } } int main(){ float a,b,c; float x1,x2; do{ printf("Nhap a (a!=0): "); scanf("%f",&a); printf("Nhap b: "); scanf("%f",&b); printf("Nhap c: "); scanf("%f",&c); } while(!a);// Nếu a=0 thì nhập lại int numNo = giaiPT(a,b,c,x1,x2); if(numNo == 0) { printf("Phuong trinh da cho vo nghiem"); } else if(numNo == 1){ printf("Phuong trinh da cho co nghiem kep x=%.4f",x1); } else{ printf("Phuong trinh da cho co hai nghiem phan bietnx1=%.4f nx2=%.4f",x1,x2); } }Nhap a (a!=0): 3 Nhap b: -5 Nhap c: 2 Phuong trinh da cho co hai nghiem phan biet x1=1.0000 x2=0.6667Code C++
#include<iostream> #include<math.h> using namespace std; int giaiPT(float a, float b, float c,float &x1, float &x2){ float delta = b*b - 4*a*c; if(delta<0){ x1=x2=0.0; return 0; } else if(delta==0){ x1 = x2 = -b/(2*a); return 1; } else{ delta = sqrt(delta); x1 = (-b + delta) / (2*a); x2 = (-b - delta) / (2*a); return 2; } } int main(){ float a,b,c; float x1,x2; do{ cout<<"Nhap a (a!=0): "; cin>>a; cout<<"Nhap b: "; cin>>b; cout<<"Nhap c: "; cin>>c; } while(!a); int numNo = giaiPT(a,b,c,x1,x2); if(numNo ==0 ) { cout<<"Phuong trinh da cho vo nghiem"; } else if(numNo==1){ cout<<"Phuong trinh da cho co nghiem kep x=%.4f" << x1; } else{ cout<<"Phuong trinh da cho co hai nghiem phan biet"<<endl; cout<< "x1=" << x1<<endl; cout<< "x2=" << x2<<endl; } } Nhap a (a!=0): 3 Nhap b: -5 Nhap c: 2 Phuong trinh da cho co hai nghiem phan biet x1=1 x2=0.666667Bài học của mình đến đây là kết thúc.
Từ khóa » Cách Viết Phương Trình Bậc 2
-
Tổng Hợp Dạng Toán Về Phương Trình Bậc 2 Một ẩn Thông Dụng Nhất.
-
Cách Giải Phương Trình Bậc 2. Công Thức Nghiệm ... - Lessonopoly
-
Cách Giải Phương Trình Bậc 2
-
Công Thức Nghiệm Của Phương Trình Bậc 2 Và Cách Giải Các Dạng ...
-
Cách Giải Phương Trình Bậc 2
-
Phương Trình Bậc 2 Và Nghiệm Phương Trình Bậc Hai đơn Giản
-
Cách Giải Phương Trình Bậc 2 Và Tính Nhẩm Nghiệm PT Bậc 2
-
Phương Trình Bậc Hai – Wikipedia Tiếng Việt
-
Cách Giải Phương Trình Bậc 2 - Thủ Thuật Phần Mềm
-
3 Cách Giải Phương Trình Bậc 2 Cực đơn Giản, Chính Xác 100%
-
Các Dạng Toán Phương Trình Bậc 2 Một ẩn, Cách Giải Và Tính Nhẩm ...
-
Cách Viết Phương Trình Bậc 2 Trong Word - Xây Nhà
-
Hướng Dẫn Bấm Nghiệm Phương Trình Bậc 2 Trên Máy 500, Giải ...
-
# Cách Giải Nghiệm Của Phương Trình Bậc 2 [Chi Tiết + Dễ Hiểu]