Tải bản đầy đủ (.ppt) (10 trang)

slide bài giảng môn tin học 10 bài giảng về bài toán và thuật toán

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (259.42 KB, 10 trang )



Tên đơn vị: Trường THPT Mường Luân

Tác giả: Lê Ngọc Đạt

Tên môn, khối: Tin học khối 10

Tên bài giảng: Bài 4 Bài toán và thuật toán

Tiết: 13

Tiết 13. Bài 4: Bài toán và thuật toán


Ví dụ 2. Bài toán sắp xếp

Cho dãy A gồm N số nguyên a
1
,
a
2
,…, a
N
. Cần sắp xếp các số
hạng để dãy A trở thành dãy
không giảm
Ví dụ: dãy A: 6, 1, 5, 3, 7, 8, 10,
7, 12, 4



Sau khi sắp xếp ta thu được dãy A’:
1, 3, 4, 5, 6, 7, 7, 8, 10, 12

Quay lại với bài toán: Cho dãy A gồm N số
nguyên a
1
, a
2
,…, a
N
. Cần sắp xếp các số
hạng để dãy A trở thành dãy không giảm

Xác định bài toán

- input: Dãy A gồm N số nguyên a
1
, a
2
,…, a
N.

- out put: Dãy A’ là một dãy không giảm.


Ý tưởng: Với mỗi cặp số hạng đứng liền kề
trong dãy, nếu số trước lớn hơn số sau ta đổi
chỗ chúng cho nhau. Việc đó được lặp lại cho
đến khi không có sự đổi chỗ nào xảy ra nữa.



Bài toán: Sắp xếp dãy A gồm N số nguyên a1,a2, , aN thành
dãy không giảm
Bước 1: nhập N và a
1
, a
2
,…,
a
N
Bước 2: M N←
Bước 3: Nếu M < 2 thì đưa
ra dãy A đã được sắp xếp
rồi kết thúc
Bước 4: gán M= M – 1; i= 0
Bước 5: gán i:= i + 1
Bước 6: nếu i > M thì quay
lại bước 3
Bước 7: nếu a
i
> a
i+1
thì tráo
đổi a
i
và a
i+1
cho nhau
Bước 8: quay lại bước 5
i > M ?

đúng
sai
đúng
sai
sai
Nhập N và a1, a2, …, aN
M ← N
M < 2 ?
M ← M - 1; i ← 0
i ← i + 1
a
i
> a
i +1
?
Tráo đổi a
i
và a
i + 1
Đưa ra A rồi
kết thúc
đúng
Liệt kê
Sơ đồ khối

×