Diễn tả thuật toán bằng 2 cách: Giải phương trình ax2 + bx +c= 0; V a, b,c thuộc R
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.
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/
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.\)
Vì PTVN nên Δ<0
=>f(x)=ax^2+bx+c luôn cùng dấu với a
=>f(x)>0 với mọi x
Thuật toán để giải một bài toán là:
+ Một dãy hữu hạn các thao tác (tính dừng)
+ Các thao tác được tiến hành theo một trình tự xác định (tính xác định)
+ Sau khi thực hiện xong dãy các thao tác đó ta nhận được Output của bài toán (tính đúng đắn)
+ Ví dụ: Cho bài toán Tìm nghiệm của phương trình bậc 2: ax2 + bx + c = 0 (a≠0)?
+ Xác định bài toán
Input: Các số thực a, b, c
Output: Các số thực x thỏa mãn ax2 + bx + c = 0 (a≠0)
+ Thuật toán:
Bước 1: Nhập a, b, c (a≠0)
Bước 2: Tính Δ = b2 – 4ac
Bước 3: Nếu Δ>0 thì phương trình có 2 nghiệm là
Bước 4: Nếu Δ = 0 thì phương trình có nghiệm kép
Thuật toán có 5 tính chất bao gồm: tính chính xác, tính khách quan, tính phổ dụng, tính rõ ràng, tính kết thúc. Ban đầu, một thuật toáncần có "tính chính xác" vô cùng cao. Nó cũng là yếu tố quan trọng nhất, mang tính chất khả dụng và khách quan của một thuật toán.
#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;
}