Viết thuật toán tìm số lượng của ba số a b c
Cho trước ba số dương a, b và c. Cho biết ba số đó có thể là độ dài ba cạnh của một tam giác hay không.
a. Xác định bài toán
b. Nêu ý tưởng giải bài toán
c. Viết thuật toán
a. Xác định bài toán (0,5đ)
- Input: Ba số dương a, b và c
- Output: Kiểm tra a, b, c có là ba cạnh của một tam giác hay không.
b. Ý tưởng: Ba số dương a, b và c là độ dài các cạnh của một tam giác khi và chỉ khi a + b > c, b + c > a, c + a > b. (0.5đ)
c. Thuật toán (2đ)
Bước 1: Nhập ba số dương a, b và c
Bước 2 : Nếu a + b > c và b + c > a và c + a > b thì thông báo ba số a, b và c tạo thành 3 cạnh của tam giác ngược lại thông báo ba số a, b và c không tạo thành ba cạnh của tam giác.
Bước 3: Kết thúc thuật toán
Thuật toán:
B1. Nhập ba số dương a,b,c
B2. Nếu a+b>c và b+c>a và c+a>b thì in ra màn hình a,b,c là ba cạnh của tam giác. Ngược lại in ra a,b,c không là ba cạnh của tam giác.
B3. Kết thúc.
Chương trình:
var a,b,c: real;
begin
writeln('Nhap ba canh lan luot: '); read(a,b,c);
if (a<0) or (b<0) or (c<0) then
repeat
writeln('Khong hop le. Nhap lai ba canh lan luot: '); read(a,b,c);
until (a>0) and (b>0) and (c>0);
if (a+b>c) and (b+c>a) and (c+a>b) then writeln('Ba so nay la do dai ba canh tam giac') else writeln('Ba so nay khong la ba canh cua tam giac');
end.
1. Nêu đầu vào và đầu ra của các thuật toán sau đây.
a/ Thuật toán tìm học sinh có chiều cao thấp nhất khối lớp 6 của một trường.
b/ Thuật toán tính trung bình cộng của ba số a, b và c.
c/ Thuật toán tìm bội chung nhỏ nhất của hai số tự nhiên a và b.
2. Xác định đầu vào và đầu ra của thuật toán tính tính chu vi của hình tam giác (như hình)?
Câu 1 :
a) Đầu vào : Giá trị chiều cao của các bạ học sinh khối 6 .
Đầu ra : Giá trị chiều cao của bạn học sinh có chiều cao thấp nhất khối 6 .
b) Đầu vào : Giá trị của ba số a,b và c .
Đầu ra : Giá trị trung bình cộng của ba số a,b và c .
c) Đầu vào : Giá trị của hai số tự nhiên a và b .
Đầu ra : Giá trị bội chung nhỏ nhất của hai số tự nhiên a và b .
Câu 2 :
Đầu vào : Giá trị đoạn thẳng 2a,b và c .
Đầu ra : Giá trị hình tam giác ABC .
1. Nêu đầu vào và đầu ra của các thuật toán sau đây.
a/ Thuật toán tìm học sinh có chiều cao thấp nhất khối lớp 6 của một trường.
b/ Thuật toán tính trung bình cộng của ba số a, b và c.
c/ Thuật toán tìm bội chung nhỏ nhất của hai số tự nhiên a và b.
2. Xác định đầu vào và đầu ra của thuật toán tính tính chu vi của hình tam giác (như hình)?
Câu 1 :
a) Đầu vào : Giá trị chiều cao của các bạ học sinh khối 6 .
Đầu ra : Giá trị chiều cao của bạn học sinh có chiều cao thấp nhất khối 6 .
b) Đầu vào : Giá trị của ba số a,b và c .
Đầu ra : Giá trị trung bình cộng của ba số a,b và c .
c) Đầu vào : Giá trị của hai số tự nhiên a và b .
Đầu ra : Giá trị bội chung nhỏ nhất của hai số tự nhiên a và b .
Câu 2 :
Đầu vào : Giá trị đoạn thẳng 2a,b và c .
Đầu ra : Giá trị hình tam giác ABC .
Cho ba số nguyên dương a,b,c viết thuật toán kiểm tra ba số này có phải là ba cạnh của tam giác không? Nếu có tính chu vi của tam giác đó
#include <bits/stdc++.h>
using namespace std;
long long a,b,c;
bool kt;
int main()
{
cin>>a>>b>>c;
kt=true;
if ((a+b>c) and (a+c>b) and (b+c>a)) kt=true;
else kt=false;
if (kt==true) then
{
cout<<"Day la ba canh cua mot tam giac"<<endl;
cout<<"Chu vi la:"<<a+b+c;
}
if (kt==false) cout<<"Day khong la ba canh trong mot tam giac";
return 0;
}
tìm vị trí các số dương trong dãy số a=a1, a2, a3,... an a. xác định bài toán. b. viết thuật toán. c. mô phong thuật toán.
#include <bits/stdc++.h>
using namespace std;
int a[1000],i,n;
int main()
{
cin>>n;
for (i=1; i<=n; i++) cin>>a[i];
for (i=1; i<=n; i++) if (a[i]>0) cout<<i<<" ";
return 0;
}
Em hãy thực hiện các yêu cầu sau:
1. Viết mã giả cho thuật toán tìm kiếm nhị phân.
2. Ước lượng số lần thực hiện vòng lặp trong thuật toán tìm kiếm nhị phân.
3. Ước lượng độ phức tạp thời gian của thuật toán tìm kiếm nhị phân.
Sau lần chia đôi đầu tiên, pham vi tìm kiếm còn lại n/2 số, sau khi chia đôi lần thứ hai, dãy còn lại n/4 số, sau khi chia đôi lần thứ dãy còn lại n/8, …sau khi chia đôi lần k dãy còn lại n/2.mũ k. Kết thúc khi 2 mũ k sấp xỉ n.
Viết thuật toán tìm số lớn nhất trong 5 số a,b,c,d,e
#include <bits/stdc++.h>
using namespace std;
double a,b,c,d,e,ln;
int main()
{
cin>>a>>b>>c>>d>>e;
ln=a;
ln=max(ln,b);
ln=max(ln,c);
ln=max(ln,d);
ln=max(ln,e);
cout<<fixed<<setprecision(2)<<ln;
return 0;
}
Viết thuật toán tìm max của 2 số a và b
#include <bits/stdc++.h>
using namespace std;
long double a,b;
int main()
{
cin>>a>>b;
cout<<max(a,b);
return 0;
}