Mô phỏng thuật toán tìm nghiệm ax2+bx+c=0
Mô tả thuật toán: BT cần khai báo những biến nào? Xác định kiểu dữ liệu từng biến.
a, Bài toán "Giải PT bậc nhất dạng tổng quát bx+c=0":
INPUT: Các số b và c
OUTPUT: Nghiệm của PT bậc nhất b, Mô tả thuật toán:
Bước 1. Nếu b=0 chuyển tới bước 3.
Bước 2. Tính nghiệm của PT x=-c/b và chuyển tới bước 4.
Bước 3. Nếu c≠0, thông báo PT đã cho vô nghiệm. Ngược lại (c=0), thông báo PT có vô số nghiệm.
Bước 4. Kết thúc.
mn giúp em với ạ, càng nhanh càng tốt. cảm onnn mn nhìu lắmmm
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.
Đề bài: Xây dựng thuật toán của bài toán Tìm Min của dãy số và mô phỏng thuật toán.
#include <bits/stdc++.h>
using namespace std;
double x,ln,nn,i,n;
int main()
{
cin>>n;
cin>>x;
ln=x;
nn=x;
for (i=1; i<n;i++)
{
cin>>x;
ln=max(ln,x);
nn=min(nn,x);
}
cout<<"So lon nhat la:"<<fixed<<setprecision(2)<<ln<<endl;
cout<<"So nho nhat la:"<<fixed<<setprecision(2)<<nn;
return 0;
}
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
#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;
}
hãy mô phỏng thuật toán tìm giá trị lớn nhất cho dãy số sau: 6, 8, 14, 16, 3, 1, 0, 7
Cho dãy số nguyên N=6{7;9;1;2;6;10}
Yêu cầu tìm giá trị lớn nhất của dãy số
-Xác định bài toán
- Nêu ý tưởng
- Mô phỏng thuật toán qua bảng mô phỏng
Xác định bài toán
Input: Dãy n số
Output: Max của dãy số
Ý tưởng: Sẽ sắp xếp dãy theo chiều tăng dần, rồi xuất ra số cuối cùng của dãy
Hãy mô tả thuật toán tìm giá trị lớn nhất của một dãy số nguyên
1. Xác định Input, Output
2. Mô tả thuật toán bằng cách liệt kê hoặc sơ đồ khối
3. Mô phỏng thuật toán với bộ Input cụ thể
1: Input: Dãy số nguyên
Output: Số lớn nhất
Hãy mô tả thuật toán tìm giá trị lớn nhất của một dãy số nguyên
1. Xác định Input, Output
2. Mô tả thuật toán bằng cách liệt kê hoặc sơ đồ khối
3. Mô phỏng thuật toán với bộ Input cụ thể
1
input: n và dãy a1,a2,a3,...,an
output: số lớn nhất trong dãy a1,a2,...,an
2.
b1: nhập n và gãy a1,a2,...,an
b2: a1<-max; i<-2;
b3: nếu i>n thì kết thúc và in kết quả ra màn hình
b4: nếu ai>max thì max:=a[i];
b5: i<-i+1 quay lại b3
#include <bits/stdc++.h>
using namespace std;
long long n,i,x,dem;
int main()
{
cin>>n;
dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x%2==0) dem++;
}
cout<<dem;
return 0;
}
ĐỀ 5: hãy mô phỏng thuật toán tìm giá trị lớn nhất cho dãy số sau: 6, 8, 14, 16, 3, 1, 0, 7
#include <bits/stdc++.h>
using namespace std;
long long n,i,ln,x;
int main()
{
cin>>n;
cin>>x;
ln=x;
for (i=1; i<n; i++)
{
cin>>x;
ln=max(ln,x);
}
cout<<ln;
return 0;
}