Xác định bài toán mô tả thuạt toán
Thứ tự các bước giải bài toán trên máy tính: *
A. Mô tả thuật toán → Xác định bài toán → Viết chương trình
B.Xác định bài toán → Mô tả thuật toán → Viết chương trình
C.Viết chương trình → Xác định bài toán → Mô tả thuật toán
D.Xác định bài toán → Viết chương trình → Mô tả thuật toán
Bài 1:Xác định bài toán và mô tả thuật toán tìm các ước của 1 số nguyên
dương N.
Bài 2: Xác định bài toán và mô tả thuật toán tìm bội chung nhỏ nhất của 2 số
nguyên dương a và b ( BCNN(a,b)).
Bài 3: Hãy chỉ ra Input và Output, mô tả thuật toán của bài toán sau: Tính
tổng các số chẵn trong dãy số nguyên A = {a1, a2, …, an} cho trước
Giúp em với ạ
Câu 1 :
Tham khảo
Y tưởng : xét từng số hạng trong dãy nếu số hạng > 0 thì xếp vào một biến tổng rồi chia cho số hàng đã xếp được
Input : Dãy A gồm N số nguyên a1....aN;
Output : Trung bình cộng của các số dương;
B1 : Nhập N số nguyên a1.... aN;
B2 : TB <--- 0, dem <---- 0, i <---- 1, Tong <--- 0;
B3 : Nếu a[i] > 0 thì Tong <--- TB + a[i];
B4 : dem <--- dem + 1;
B5 : Nếu i > N thì đưa ra màn hình kết quả TB = Tong/Dem rồi kết thúc chương trình;
B 6 : i <--- i + 1 rồi quay lại B3;
Câu 2 :
Tham khảo
Ta nhận thấy rằng, bội số chung nhỏ nhất của hai số nguyên dương a, b có thể được tính theo công thức:
ab/d
trong đó d là ước chung lớn nhất của a và b.
Bởi vậy:
Nên viết hàm để tính bội chung nhỏ nhất của hai số nguyên dương vì chương trình con cần trả ra một giá trị;
- Hàm tính bội chung nhỏ nhất của hai số nguyên dương a, b cần sử dụng hàm tính ước chung lớn nhất của a và b.
- Hàm tính ước chung lớn nhất của hai số nguyên dương a, b:
function ucln (a, b: integer): integer;
var r: integer;
begin
while b>0 do begin
r: = a mod b ,a : = b ; b:= r; end; ucln:= a; and;
- Hàm tính bội chung nhỏ nhất của hai số nguyên dương a, b:
ADVERTISING Video Player is loading.This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.lunction bcnn(a, b: integer): integer;
begin
bcnn:= a*b div ucln(a, b);
end;
Khi đó, chương trình con tính bội số chung nhỏ nhất của hai số nguyên dương a, b như sau:
program bai4_chuong6;
use crt ;
vai
X y: integer;
function ucln(a, b: integer): integer;
var r: integer;
begin
while b>0 do begin
r:= a mod b; a: = b ,b:= r;
end; ucln:= a;
end;
txnction bcnn(a, b: integer): integer;
begin
bcnn:= a*b div ucln(a, b);
end;
Begin
clrscr;
writeln('Nhap vao hai so can tim BCNN');
write ('x=') , readln(x); write ('y=') , readln(y);
writeln('bcnn cua hai so',x:4,'va',y:4,'la',bcnn(a,b)
readln
End.
Câu 3 : chịu
xác định bài toán, mô tả thuật toán, viết chương trình tính diện tích hình chữ nhật với chiều dài a và chiều rộng b được nhập từ bàn phím.
- Xác định bài toán
* Điều kiện cho trước:
* Kết quả thu được:
- Mô tả thuật toán
- Viết chương trình
c:
#include <bits/stdc++.h>
using namespace std;
double a,b;
int main()
{
cin>>a>>b;
cout<<a*b;
return 0;
}
Xác định bài toán và mô tả thuật toán cho bài toán tính biểu thức sau:y=ax3+bx2+cx+d
xác định bài toán và mô tả thuật toán cho bài toán tính biểu thức sau:
y=ax^2+bx+cx+d
Hãy xác định bài toán và mô tả thuật toán tính chu vi và diện tích hình tròn
#include <bits/stdc++.h>
using namespace std;
double r;
int main()
{
cin>>r;
cout<<fixed<<setprecision(2)<<2*r*pi<<endl;
cout<<fixed<<setprecision(2)<<r*r*pi;
return 0;
}
xác định bài toán mô tả thuật toán bằng sơ đồ khối tính tổng 3 số a,b,c
Bước 1: Nhập ba số a,b,c
Bước 2: Xuất a+b+c;
Bước 3: Kết thúc
Bài toán: Cho x=3, y=7. Hãy viết chương trình hoán đổi giá trị x và y
Câu 1: Xác định bài toán trên
Câu 2: Mô tả thuật toán của bài toán trên
Program hoan_doi;
uses crt;
var x,y,temp:Integer;
begin
x:=3;y:=7;
Writeln('Gia tri cua x truoc khi doi: ',x);
Writeln('Gia tri cua y truoc khi doi: ',y);
temp:=x;
x:=y;
y:=temp;
Writeln('Gia tri cua x sau khi hoan doi: ',x);
Writeln('Gia tri cua y sau khi hoan doi: ',y);
Readln();
end.
Mô tả: Khai báo 3 biến kiểu số nguyên
-Ta gán 3 cho biến x, gán 7 cho biến y
-Sau đó gán giá trị của biến x cho biến temp (để lưu trữ giá trị của biến x);
-Ta gán giá trị của biến y cho biến x (lúc này giá trị của biến x đã bị đổi);
-Rồi gán giá trị của biến temp cho biến y (Giá trị không bị thay đổi theo biến x bởi vì trước khi thay đổi giá trị của biến x thành giá trị của biến y ta đã gán giá trị trước đó của biến x cho biến temp)
Hãy xác định bài toán và mô tả thuật toán của bài toán: tính trung bình cộng của 3 số nguyên a,b,c nhập từ bàn phím.
-khai báo :
#include<iostream>
using namespace std;
(hoặc bạn có thể khai báo kiểu khác vd :
#include<iostream>
using namespace std;
void show() { ...... }
)
-Tạo 3 biến có thể nhập từ bàn phím a, b, c bằng cách :
int a, b, c;
cin >> a >> b >> c;
-Tạo biến bất kì lưu giá trị của tổng ba số a, b, c bằng cách :
int h = a + b + c;
-xuất ra màn hình giá trị của h / 3 bằng cách :
cout << "(a + b + c) / 3 = " << h / 3;
-kết thúc chương trình :
return 0;
}
(hoặc tùy bạn)