Sử dụng câu lệnh If -then để biện luận sự có nghiệm và vô nghiệm của phương trình
Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
Cách giải và biện luận phương trình bậc nhất trong c++
Nếu a và b đồng thời bằng 0 thì phương trình (1) có vô số nghiệm.
Nếu a bằng 0 và b khác 0 thì phương trình vô nghiệm.
Nếu a khác 0 thì phương trình luôn có một nghiệm x = -b/a.
Từ cách giải và biện luận như trên chúng ta có thể bắt đầu viết một chương trình giải phương trình bậc nhất trong c++ rồi phải không nào
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include<iostream> #include<math.h> using namespace std; int main() { float a, b; cout << "Nhap a:"; cin >> a; cout << "Nhap b:"; cin >> b; if (a == 0) { if (b == 0) cout << "Phuong trinh co vo so nghiem" << endl; else cout << "Phuong trinh vo nghiem" << endl; } else cout << "Phuong trinh co mot nghiem la x: " << -b / a << endl; system("pause"); return 0; } |
Sau khi chạy chương trình trên thì ta có kết quả sau
0 1 2 3 4 | Nhap a:2 Nhap b:1 Phuong trinh co mot nghiem la x: -0.5 |
Nhưng nếu viết chương trình như trên thì bên trong hàm main sẽ dài. Vậy nên ta sẽ viết một hàm để giải phương trình bậc nhất
Viết hàm để giải phương trình bậc nhất
Ta sẽ viết một hàm giaiPT() có kiểu trả về là int. Hàm sẽ trả về giá trị 0 nếu vô nghiệm, trả về giá trị 1 nếu có nghiệm, trả về giá trị 2 nếu có vô số nghiệm.
Ta sẽ truyền vào hai tham số a, b và một tham chiếu x để gán giá trị nghiệm cho biến x nếu 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 | #include<iostream> #include<math.h> using namespace std; int giaiPT(float a, float b, float &x) { if (a == 0) { if (b == 0) return 2; return 0; } x = -b / a; return 1; } int main() { float a, b,x; cout << "Nhap a:"; cin >> a; cout << "Nhap b:"; cin >> b; if (giaiPT(a, b, x) == 0) cout << "Phuong trinh vo nghiem"<<endl; else if( giaiPT(a,b,x) == 1) cout << "Phuong trinh co mot nghiem: " <<x<< endl; else cout << "Phuong trinh co vo so nghiem" << endl; return 0; } |
0 1 2 3 4 | Nhap a:2 Nhap b:1 Phuong trinh co mot nghiem: -0.5 |
Bài viết mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi !
Cách giải và biện luận phương trình bậc nhất trong c++
Nếu a và b đồng thời bằng 0 thì phương trình (1) có vô số nghiệm.
Nếu a bằng 0 và b khác 0 thì phương trình vô nghiệm.
Nếu a khác 0 thì phương trình luôn có một nghiệm x = -b/a.
Từ cách giải và biện luận như trên chúng ta có thể bắt đầu viết một chương trình giải phương trình bậc nhất trong c++ rồi phải không nào
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include<iostream> #include<math.h> using namespace std; int main() { float a, b; cout << "Nhap a:"; cin >> a; cout << "Nhap b:"; cin >> b; if (a == 0) { if (b == 0) cout << "Phuong trinh co vo so nghiem" << endl; else cout << "Phuong trinh vo nghiem" << endl; } else cout << "Phuong trinh co mot nghiem la x: " << -b / a << endl; system("pause"); return 0; } |
Sau khi chạy chương trình trên thì ta có kết quả sau
0 1 2 3 4 | Nhap a:2 Nhap b:1 Phuong trinh co mot nghiem la x: -0.5 |
Nhưng nếu viết chương trình như trên thì bên trong hàm main sẽ dài. Vậy nên ta sẽ viết một hàm để giải phương trình bậc nhất
Viết hàm để giải phương trình bậc nhất
Ta sẽ viết một hàm giaiPT() có kiểu trả về là int. Hàm sẽ trả về giá trị 0 nếu vô nghiệm, trả về giá trị 1 nếu có nghiệm, trả về giá trị 2 nếu có vô số nghiệm.
Ta sẽ truyền vào hai tham số a, b và một tham chiếu x để gán giá trị nghiệm cho biến x nếu 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 | #include<iostream> #include<math.h> using namespace std; int giaiPT(float a, float b, float &x) { if (a == 0) { if (b == 0) return 2; return 0; } x = -b / a; return 1; } int main() { float a, b,x; cout << "Nhap a:"; cin >> a; cout << "Nhap b:"; cin >> b; if (giaiPT(a, b, x) == 0) cout << "Phuong trinh vo nghiem"<<endl; else if( giaiPT(a,b,x) == 1) cout << "Phuong trinh co mot nghiem: " <<x<< endl; else cout << "Phuong trinh co vo so nghiem" << endl; return 0; } |
0 1 2 3 4 | Nhap a:2 Nhap b:1 Phuong trinh co mot nghiem: -0.5 |
Bài viết mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi !
a) x=3 có: 3(m-1) -m+5 =0
3m-3-m+5 =0 => m = -1
b) nếu m=1 có: (m-1)x = 0 => (m-1)x -m +5 = 0 => 4=0 vô lý
c) (m-1)x -m+5 =0 => x = (m-5)/(m-1)
+ nếu m=1 vô nghiệm
+ m khác 1 pt có nghiệm x =(m-5)/(m-1)
1.
\(\Leftrightarrow\left(m^2+4\right)x\ge2-m\)
Do \(m^2+4>0\) ; \(\forall m\)
\(\Rightarrow x\ge\dfrac{2-m}{m^2+4}\)
2.
\(\Leftrightarrow2mx-2x\ge m-1\Leftrightarrow2\left(m-1\right)x\ge m-1\)
- Với \(m>1\Rightarrow m-1>0\)
\(\Rightarrow x\ge\dfrac{m-1}{2\left(m-1\right)}\Leftrightarrow x\ge\dfrac{1}{2}\) \(\Rightarrow D=[\dfrac{1}{2};+\infty)\)
- Với \(m< 1\Rightarrow m-1< 0\Rightarrow x\le\dfrac{m-1}{2\left(m-1\right)}\Leftrightarrow x\le\dfrac{1}{2}\) \(\Rightarrow D=(-\infty;\dfrac{1}{2}]\)
- Với \(m=1\Leftrightarrow0\ge0\Rightarrow D=R\)
Quan sát 3 TH ta thấy không tồn tại m để tập nghiệm của BPT là \([1;+\infty)\)
Đáp án: A
Bước 1 sai vì giả sử phản chứng sai, phải giả sử phương trình vô nghiệm và a, c trái dấu.
1: Ta có: \(\text{Δ}=\left[-2\left(m-1\right)\right]^2-4\cdot\left(m+2\right)\left(3-m\right)\)
\(=\left(2m-2\right)^2+4\left(m+2\right)\left(m-3\right)\)
\(=4m^2-8m+4+4\left(m^2-3m+2m-6\right)\)
\(=4m^2-8m+4+4m^2-4m-24\)
\(=-12m-20\)
Để phương trình có hai nghiệm phân biệt thì Δ>0
\(\Leftrightarrow-12m-20>0\)
\(\Leftrightarrow-12m>20\)
hay \(m< \dfrac{-5}{3}\)
Để phương trình có nghiệm kép thì Δ=0
\(\Leftrightarrow-12m-20=0\)
\(\Leftrightarrow-12m=20\)
hay \(m=\dfrac{-5}{3}\)
Để phương trình vô nghiệm thì Δ<0
\(\Leftrightarrow-12m-20< 0\)
\(\Leftrightarrow-12m< 20\)
hay \(m>\dfrac{-5}{3}\)
2: ĐKXĐ: \(m\ne-2\)
Áp dụng hệ thức Vi-et, ta được:
\(\left\{{}\begin{matrix}x_1+x_2=\dfrac{2\left(m-1\right)}{m+2}=\dfrac{2m-2}{m+2}\\x_1\cdot x_2=\dfrac{3-m}{m+2}\end{matrix}\right.\)
Ta có: \(x_1+x_2=x_1x_2\)
\(\Leftrightarrow\dfrac{2m-2}{m+2}=\dfrac{3-m}{m+2}\)
Suy ra: 2m-2=3-m
\(\Leftrightarrow2m+m=3+2\)
\(\Leftrightarrow3m=5\)
hay \(m=\dfrac{5}{3}\)(thỏa ĐK)
`{(x+y=3),(-mx-y=2m):}`
`<=>{(x=3-y),(-m(3-y)-y=2m):}`
`<=>{(x=3-y),(my-3m-y=2m):}`
`<=>{(x=3-y),(m(y-1)=5m):}`
Hệ phương có 1 nghiệm
`<=>m\ne0`
Hệ phương trình vô nghiệm(ax=b vô nghiệm khi a=0 và `b\ne0`)
`<=>{(m=0),(m\ne0):}` vô lý
Hệ phương trình có vô số nghiệm(ax=b vô số nghiệm khi a=0 và `b=0`)
`<=>{(m=0),(m=0):}<=>m=0`
Cách giải và biện luận phương trình bậc nhất trong c++
Nếu a và b đồng thời bằng 0 thì phương trình (1) có vô số nghiệm.
Nếu a bằng 0 và b khác 0 thì phương trình vô nghiệm.
Nếu a khác 0 thì phương trình luôn có một nghiệm x = -b/a.
Từ cách giải và biện luận như trên chúng ta có thể bắt đầu viết một chương trình giải phương trình bậc nhất trong c++ rồi phải không nào
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
#include<math.h>
using namespace std;
int main() {
float a, b;
cout << "Nhap a:";
cin >> a;
cout << "Nhap b:";
cin >> b;
if (a == 0) {
if (b == 0)
cout << "Phuong trinh co vo so nghiem" << endl;
else
cout << "Phuong trinh vo nghiem" << endl;
}
else
cout << "Phuong trinh co mot nghiem la x: " << -b / a << endl;
system("pause");
return 0;
}
Sau khi chạy chương trình trên thì ta có kết quả sau
0
1
2
3
4
Nhap a:2
Nhap b:1
Phuong trinh co mot nghiem la x: -0.5
Nhưng nếu viết chương trình như trên thì bên trong hàm main sẽ dài. Vậy nên ta sẽ viết một hàm để giải phương trình bậc nhất
Viết hàm để giải phương trình bậc nhất
Ta sẽ viết một hàm giaiPT() có kiểu trả về là int. Hàm sẽ trả về giá trị 0 nếu vô nghiệm, trả về giá trị 1 nếu có nghiệm, trả về giá trị 2 nếu có vô số nghiệm.
Ta sẽ truyền vào hai tham số a, b và một tham chiếu x để gán giá trị nghiệm cho biến x nếu 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
#include<iostream>
#include<math.h>
using namespace std;
int giaiPT(float a, float b, float &x) {
if (a == 0) {
if (b == 0)
return 2;
return 0;
}
x = -b / a;
return 1;
}
int main() {
float a, b,x;
cout << "Nhap a:";
cin >> a;
cout << "Nhap b:";
cin >> b;
if (giaiPT(a, b, x) == 0)
cout << "Phuong trinh vo nghiem"<<endl;
else if( giaiPT(a,b,x) == 1)
cout << "Phuong trinh co mot nghiem: " <<x<< endl;
else
cout << "Phuong trinh co vo so nghiem" << endl;
return 0;
}
0
1
2
3
4
Nhap a:2
Nhap b:1
Phuong trinh co mot nghiem: -0.5
Bài viết mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi !