Bài 5. Từ bài toán đến chương trình

Bạn chưa đăng nhập. Vui lòng đăng nhập để hỏi bài
....

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 ạ

Rhider
24 tháng 11 2021 lúc 7:23

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.partner logo 

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

 

 

 


Các câu hỏi tương tự
nguet a. (ckao)
Xem chi tiết
huỳnh thy
Xem chi tiết
Bắc Kim Thang Trai
Xem chi tiết
Yến Nhi Nhi
Xem chi tiết
yin :3
Xem chi tiết
C
Xem chi tiết
Trương Mai Bảo Hân
Xem chi tiết
Lan Anh
Xem chi tiết
Nhi Nguyễn
Xem chi tiết