Như vậy để được dãy tăng dần ta cần phải thực hiện N -1 lần duyệt Hoạt động 3: Biểu diễn thuật toán sắp xếp bằng phương pháp liệt kê từng bước.. - GV giải thích cho học sinh từng bước củ[r]
Trang 1Ngày dạy : Lớp :
§4 BÀI TOÁN VÀ THUẬT TOÁN
(Tiết 4)
I MỤC TIÊU
1 Kiến thức
- Biết bài toán sắp xếp trong tin học
2 Kỹ năng
- Hiểu và trình bày được thuật toán sắp xếp bằng tráo đổi (Exchange Sort) theo 2 cách liệt kê và sơ đồ khối, vận dụng linh hoạt trong lớp những bài toán dạng này
II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC
1 Chuẩn bị của giáo viên
- Đồ dùng: Giáo án, SGK, SGV, tài liệu tham khảo máy chiếu (nếu có)
- Phương pháp: Thuyết trình, vấn đáp
2 Chuẩn bị của học sinh
- Đồ dùng học tập: SGK, vở ghi, bút,
III NỘI DUNG BÀI GIẢNG
1 Ổn định tổ chức lớp
- Ổn định lớp
- Chỉnh đốn trang phục
- Sĩ số: Vắng:
2 Kiểm tra bài cũ
Câu 1: Hãy mô tả thuật toán kiểm tra tính nguyên tố của một số nguyên dương
theo phương pháp liệt kê?
Câu 2: Hãy mô tả thuật toán kiểm tra tính nguyên tố của một số nguyên dương
theo phương pháp sơ đồ khối?
3 Đặt vấn đề
4 Nội dung bài mới
Ví dụ 2: Bài toán sắp xếp.
Hoạt đông 1: Giới thiệu cho học sinh
về bài toán sắp xếp.
- Trong cuộc sống chúng ta thường
gặp những việc liên quan đến sắp xếp
như: xếp những học sinh theo thứ tự từ
thấp đến cao, xếp loại học sinh theo
3 Một số ví dụ
Ví dụ 2: Bài toán sắp xếp.
Giới thiệu bài toán sắp xếp là bài toán cơ bản trong tin học: cho một dãy đối tượng, cần sắp xếp lại vị trí các đối tượng theo 1 tiêu chí nào đó
Trang 2điểm trung bình của học sinh từ cao
xuống thấp Một cách tổng quát cho
một dãy đối tượng cần sắp xếp theo
một tiêu chí nào đó Chẳng hạn như
cho 10 chiếc cọc khác nhau (hình 22a)
cần xếp lại cọc từ thấp đến cao (hình
22b) Dưới đây ta chỉ xét bài toán sắp
xếp dạng đơn giản Các em ghi bài
toán
Ví dụ:
Dãy 7 4 9 5 7 sau khi sắp xếp
được dãy:
4 5 7 7 9
GV: Để sắp xếp dãy này có nhiều thuật
toán sắp xếp Sau đây chúng ta nghiên
cứu thuật toán sắp xếp bằng tráo đổi
Bài toán: Cho dãy A gồm N số nguyên a1,
a2, , aN Cần sắp xếp các số hạng để dãy A trở thành dãy không giảm (tức là số hạng trước không lớn hơn số hạng sau)
Hoạt động 2: Hướng dẫn học sinh
tìm ý tưởng của thuật toán sắp xếp
bằng tráo đổi (Exchange Sort).
- Yêu cầu học sinh xác định bài toán
Ví dụ: Cho dãy số nguyên sau:
6 1 5 3 7 Theo em dãy số này nếu xếp tăng dần
thì sẽ như thế nào?
GV: Đưa ra phương án sắp xếp:
Giả sử dãy có N phần tử ban đầu ta so
sánh số thứ nhất với số thứ hai, nếu số
thứ nhất lớn hơn số thứ hai thì ta đổi
chỗ hai số này
* 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 lại thành dãy không giảm
- HS: đưa ra dãy đã sắp xếp tăng dần
1 3 5 6 7
- HS: quan sát
Trang 3Tương tự như vậy ta sẽ so sánh số thứ
hai với thứ ba nếu số thứ hai lớn hơn
số thứ ba thì ta đổi chỗ hai số này
Tương tự ta lại tiếp tục so sánh số thứ
ba với số tiếp theo cứ tiếp tục làm
như vậy tới hết dãy thì dừng lại
Sau lần duyệt đầu tiên thì phần tử lớn
nhất sẽ được đẩy về cuối dãy (Vị trí
thứ N) và đó cũng chính là vị trí của nó
trong sắp xếp Ta lại tiếp tục lần duyệt
thứ hai với dãy bắt đầu từ phần tử đầu
tiên đến vị trí thứ N-1 Cứ tiếp tục làm
như vậy cuối cùng ta sẽ được một dãy
hoàn chỉnh theo chiều tăng dần Như
vậy để được dãy tăng dần ta cần phải
thực hiện N -1 lần duyệt
* ý tưởng bài toán
- Với mỗi cặp số hạng đứng liền kề trong dãy, nếu số đứng 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 nữa xảy ra
Hoạt động 3: Biểu diễn thuật toán
sắp xếp bằng phương pháp liệt kê
từng bước.
- GV giải thích cho học sinh từng
bước của thuật toán
Cách 1: Liệt kê các bước
B1: Nhập vào số nguyên dương N và dãy
số a1, a2, , aN
B2: MN;
B3: Nếu M<2 thì sang B9 B4: M M - 1; i1 B5: Nếu ai > ai+1 thì tráo đổi ai và ai+1 cho nhau
B6: i i+1 B7: Nếu i > M thì quay lại B3 B8: Quay lại B5
B9: Đưa ra dãy số đã được sắp xếp, kết thúc
Hoạt động 4: Biểu diễn thuật toán
sắp xếp bằng sơ đồ khối.
- GV: Dùng bảng phụ
HS: Quan sát, vẽ vào vở
Hoạt động 5: Mô phỏng việc thực
hiện thuật toán.
GV: với dãy số
6 1 5 3 7 Lần 1: làm với cả dãy số
Trang 46 1 5 3 7 (đổi chỗ a1 và a2)
1 6 5 3 7 (đổi chỗ a2 và a3)
1 5 6 3 7 (đổi chỗ a2 và a3)
1 5 3 6 7 (đổi chỗ a3 và a4)
1 5 3 6 7 Lần 2: Làm với dãy số
1 5 3 6 7 (số 7 coi như đã vào đúng vị trí)
(đổi chỗ a2 và a3)
1 3 5 6 7 Khi đó dãy đã sắp xếp xong
1 3 5 6 7 Tuy nhiên vẫn phải làm cho tới khi
dãy chỉ còn 1 phần tử
Như vậy ta được dãy số sắp xếp tăng
dần
HS: theo dõi, nhận xét và ghi chép vào vở
5 Củng cố
- Việc xác định bài toán và đưa thuật toán bài toán sắp xếp
6 Bài tập về nhà
- Đọc sách trước bài sau: Bài toán và thuật toán: Ví dụ 3 - Bài toán tìm kiếm