Mục đích yêu cầu Học sinh hiểu và thực hiện đợc thuật toán sắp xếp dãy số.. Thuật toán sắp xếp bằng tráo đổi Exchange Sort * Xác định bài toán - Input: Dãy A gồm N số nguyên a1,a2,...,aN
Trang 1Ngời soạn: Hà Trung Hòa Lớp: SP Tin 40
Giáo viên hớng dẫn: Lê Thị Bích Liên
Ngày soạn : 30/09/2008
Ngày giảng : / /2008
Bài 4: Bài toán và thuật toán (tiết 3)
I Mục đích yêu cầu
Học sinh hiểu và thực hiện đợc thuật toán sắp xếp dãy số
II Phơng pháp, phơng tiện giảng bài
Phơng pháp: Thuyết trình, giảng giải
III Tiến trình bài giảng
Ví dụ 2: Bài toán sắp xếp
Ta chỉ xét bài toán dạng đơn giả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.
Thuật toán sắp xếp bằng tráo đổi
(Exchange Sort)
* Xác định bài toán
- Input: Dãy A gồm N số nguyên
a1,a2, ,aN
- Output: Dãy A đợc sắp xếp thành
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 Lặp
lại quá trình này cho đến khi không có
sự đổi chỗ nào xảy ra nữa
* Thuật toán
a) Liệt kê
B1 Nhập N, các số hạng a1, a2, ,aN;
B2 M N;
B3 Nếu M < 2 thì đa ra dãy A đợc
sắp xếp rồi kết thúc;
Trong cuộc sống ta thờng gặp những việc liên quan đến sắp xếp
nh xếp các học sinh theo thứ tự từ thấp đến cao, xếp điểm trung bình của học sinh trong lớp theo thứ tự từ cao đến thấp, Nói một cách tổng quát, cho một dãy đối tợng, cần sắp xếp lại các vị trí theo một tiêu chí nào đó
Hãy xác định I/O của bài toán?
HS: Lên bảng viết.
Quá trình so sánh và đổi chỗ sau mỗi lợt chỉ thực hiện với dãy đã bỏ bớt số hạng cuối dãy Để thực hiện
điều đó trong thuật toán sử dụng biến nguyên M có giá trị khởi tạo là
N, sau mỗi lợt M giảm đi 1 cho đến khi M < 2
1
Trang 2B4 M M – 1, i 0;
B5 i i + 1;
B6 Nếu i > M thì quay lại bớc 3;
B7 Nếu ai > ai+1 thì tráo đổi ai và ai+1
cho nhau;
B8 Quay lại bớc 5
b) Sơ đồ khối
(SGK trang 39)
Mời 1 em lên bảng vẽ sơ đồ khối
HS: Một HS khác lên bảng dựa vào
thuật toán bằng phơng pháp liệt kê
vẽ sơ đồ khối và trình bày trớc lớp
III Củng cố.
Mô phỏng việc thực hiện thuật toán trên với dãy A nh sau:
6 1 5 3 7 8 10 7 12 4
IV Dặn dò.
Học bài cũ và đọc trớc ví dụ 3: Bài toán tìm kiếm
V Rút kinh nghiệm.
2
Trang 3NhËn xÐt cña gi¸o viªn híng dÉn
Ngµy th¸ng n¨m 2008
Gi¸o viªn híng dÉn
3