giải phương trình bậc hai:Ax^2+Bx+C=0(A#0)
-xác định input,output
-mô tả thuật toán bằng cách liệt kê để giải bài toán trên
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.
Bài 1:
Thuật toán:
B1: Nhập a,b,c
B2: Tính \(\Delta\) = b2-4ac;
B3: Kiểm tra nếu \(\Delta\) >0 phương trình có 2 nghiệm phân biệt
\(x_1=\dfrac{-b+\sqrt{\Delta}\text{ }}{2a}\)
\(x_2=\dfrac{-b-\sqrt{\Delta}}{2a}\)
B4: Kiểm tra nếu \(\Delta\)<0 thì phương trình vô nghiệm
B5: Kiểm tra nếu \(\Delta\)=0 phương trình có 2 nghiệm kép \(x_1=x_2=-\dfrac{b}{2a}\)
Viết chương trình:
Program HOC24;
var a,b,c: integer;
x1,x2: real;
denta: longint;
begin
write('Nhap a; b; c: '); readln(a,b,c);
denta:=b*b-4*a*c;
if denta>0 then
begin
write('x1= ',(-b+sqrt(denta))/(2*a):1:2);
write('x2= ',(-b-sqrt(denta))/(2*a):1:2);
end;
if denta<0 then write('Phuong trinh vo nghiem');
if denta=0 then write('x= ',-b/2*a:1:2);
readln
end.
Bài 2:
Thuật toán:
B1: Nhập a,b
B2: Kiểm tra nếu a=0 và b=0 thì phương trình có vô số nghiệm
B3: Kiểm tra nếu a=0 thì phương trình vô nghiệm
B4: Kiểm tra nếu a khác 0 thì có nghiệm x=-b/a;
Viết chương trình:
Program HOC24;
var a,b: integer;
x: real;
begin
write('Nhap a; b: '); readln(a,b);
if a=0 and b=0 then write('Phuong trinh co vo so nghiem');
if a=0 then write('Phuong trinh vo nghiem');
if a<>0 then write('x=',-b/a:1:2);
readln
end.
const fi='dulieu.inp';
fo='kq.inp';
var f1,f2:text;
a,b,c,delta:real;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,a,b,c);
delta:=sqr(b)-4*a*c;
if delta<0 then writeln(f2,'Phuong trinh vo nghiem');
if delta=0 then writeln(f2,'Phuong trinh co nghiem kep la: ',-b/(2*a):4:2);
if delta>0 then
begin
writeln(f2,'Nghiem thu nhat la: ',(-b+sqrt(delta))/(2*a):4:2);
writeln(f2,'Nghiem thu hai la: ',(-b-sqrt(delta))/(2*a):4:2);
end;
close(f1);
close(f2);
end.
Bài 3:
#include <bits/stdc++.h>
using namespace std;
double a,b,c,delta,x1,x2;
int main()
{
//freopen("PTB2.inp","r",stdin);
//freopen("PTB2.out","w",stdout);
cin>>a>>b>>c;
delta=(b*b-4*a*c);
if (delta<0) cout<<"-1";
if (delta==0) cout<<fixed<<setprecision(5)<<(-b/(2*a));
if (delta>0)
{
x1=(-b-sqrt(delta))/(2*a);
x2=(-b+sqrt(delta))/(2*a);
cout<<fixed<<setprecision(5)<<x1<<" "<<fixed<<setprecision(5)<<x2;
}
return 0;
}
4 bước : xác định bài toán , ý tưởng , thuật toán , mô phỏng làm như nào ạ ?
B1:nhập a,b,c
B2: Tính đen ta = b^2-4ac
B3: nếu a<0 thì phương trình vô nghiệm =>B6
B4:nếu a=0 thì pt có nghiệm kép x=-b/2a => B6
B5:nếu a>0 thì pt có 2 nghiệm phân biệt x1= (-b+căn đen ta)/2a ; x2= (-b-căn đen ta)/2a =>B6
B6 :kết thúc,
nếu muốn vẽ bằng sơ đồ khối thì xem tại: https://vubinh94.wordpress.com/tag/so-do-khoi-giai-phuong-trinh-bac-2-ax2bxc0/
Mệnh đề \(P \Rightarrow Q\): “Nếu phương trình bậc hai \(a{x^2} + bx + c = 0\) có hai nghiệm phân biệt thì phương trình bậc hai \(a{x^2} + bx + c = 0\) có biệt thức \(\Delta = {b^2} - 4ac\;\, > 0\).”
Mệnh đề \(Q \Rightarrow P\): “Nếu phương trình bậc hai \(a{x^2} + bx + c = 0\) có biệt thức \(\Delta = {b^2} - 4ac\;\, > 0\) thì phương trình bậc hai \(a{x^2} + bx + c = 0\) có hai nghiệm phân biệt.”
Phương trình ax^2+bx+c=0(a≠0) thỏa mãn điều kiện a+b+c=0 thì có 1 nghiệm x1=1, nghiệm kia x2=c/a
Bước 1. Biến đổi phương trình về đúng dạng \(ax^2+bx+c=0\)
Bước 2. Nếu hệ số a chứa tham số, ta xét 2 trường hợp:
- Trường hợp 1: a = 0, ta giải và biện luận ax + b = 0.
- Trường hợp 2: a ≠ 0. Ta lập Δ = b2 - 4ac. Khi đó:
+ Nếu Δ > 0 thì phương trình có 2 nghiệm phân biệt \(\left[{}\begin{matrix}x_1=\dfrac{-b-\sqrt{\Delta}}{2a}\\x_2=\dfrac{-b+\sqrt{\Delta}}{2a}\end{matrix}\right.\)
+ Nếu Δ = 0 thì phương trình có 1 nghiệm (kép): \(x=\dfrac{-b}{2a}\)
+ Nếu Δ < 0 thì phương trình vô nghiệm.
Bước 3. Kết luận.
Lưu ý:
- Phương trình \(ax^2+bx+c=0\) có nghiệm \(\Leftrightarrow\left\{{}\begin{matrix}a=0\\b\ne0\end{matrix}\right..hoặc.\left\{{}\begin{matrix}a\ne0\\\Delta\ge0\end{matrix}\right.\)
- Phương trình \(ax^2+bx+c=0\) có nghiệm duy nhất \(\Leftrightarrow\left\{{}\begin{matrix}a=0\\b\ne0\end{matrix}\right..hoặc.\left\{{}\begin{matrix}a\ne0\\\Delta=0\end{matrix}\right.\)