Mô tả thuật toán và viết chương trình giải phương trình bậc nhất 1 ẩn a*x+b=0
@Lovers giúp mình vs
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.
Sử dụng khối lệnh if else như sau
Thu được kết quả như sau:
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.
Tham khảo:
Thuật toán giải phương trình ax + b = 0
- Bằng liệt kê tuần tự
Bước 1: Nhập hai số thực a, b
Bước 2. Nếu a = 0
Bước 2.1. Nếu b ≠0 thì thông báo phương trình vô định, rồi kết thúc;
Bước 2.2. Nếu b = 0 thì gán x <- 0 rồi chuyển sang bước 4;
Bước 3: x <- -b/a
Bước 4. Đưa ra nghiệm X, rồi kết thúc.
- Sơ đồ khối:
Đề xuất các test tiêu chuẩn
Để xét tất cả các trường hợp có thể xảy ra, ta sử dụng ba bộ test như sau:
i) a = 0, b = 1 (kiểm tra trường hợp phương trình vô định);
ii) a = 0,b = 0 (kiểm tra trường hợp nghiệm x=0);
iii) a = 3, b = 6 (kiểm tra trường hợp nghiêm , y = -b/a)
Mô tả thuật toán phương trình bậc nhất ax + b = 0 như sau:
1. Nhập giá trị của a và b từ bàn phím.
2. Nếu a=0:
- Nếu b=0, phương trình vô số nghiệm
- Nếu b=0, phương trình vô nghiệm.
3. Nếu a khác 0, x = -b/a.
4. Hiển thị giá trị của x trên màn hình.
c:
#include <bits/stdc++.h>
using namespace std;
double a,b;
int main()
{
cin>>a>>b;
cout<<a*b;
return 0;
}
#include<iostream>
using namespace std;
int main() {
int a, b;
cout << "chiều dài : "; cin >> a;
cout << "chiều rộng : "; cin >> b;
int h = a + b;
cout << "Chu vi hình chữ nhật là : " << h * 2;
cout << "Diện tích hình chữ nhật là : " << a * b;
return 0;
}
Mình viết chương trình như thế này thì chương trình sẽ chạy như sau :
Mt sẽ hiện ra là: Chiều dài : <nhập chiều dài>
Mt sẽ hiện ra là: Chiều rộng : <nhập chiều rộng>
sau khi nhập đủ giá trị cho hai biến a và b tạo biến h lưu giá trị a + b
xuất ra màn hình: Chu vi là : <giá trị của h * 2>
xuất ra màn hình: Diện tích là : <giá trị của a * b>
Thuật toán:
B1: Nhập a,b
B2:Nếu a< > 0 thì x=-a/b và kết thúc ngược lại thì đi tiếp
B3:Nếu b=0 thì phương trình vô số ngiệm ngược lại thì chương vô nghiệm và kết thúc thuật toán.
Viết chương trình:
Program PT_bac_nhat;
Var
a,b:Integer;
x:Real;
Begin
Writeln('GIAI PHUONG TRINH BAC NHAT');
Writeln(' aX + b = 0');
Write('-Nhap he so a= ');
Readln(a);
Write('-Nhap he so b= ');
Readln(b);
If a=0 Then
If b=0 Then
Writeln('+Phuong trinh vo dinh')
Else
Writeln('+Phuong trinh vo nghiem')
Else
Begin
x:=-b/a;
Writeln('+Nghiem cua phuong trinh X= ',x:0:6);
End;
Writeln;
Writeln(' Bam phim <Enter> de ket thuc');
Readln
End.
cam on nhe