– Hiểu một số thuật toán thông dụng Kĩ năng: – Biết xây dựng thuật toán của một số bài toán thông dụng Thái độ: – Luyện khả năng tư duy lôgic khi giải quyết một vấn đề nào đó.. Kiểm tr
Trang 1Bài 4: BÀI TOÁN VÀ THUẬT TOÁN (tt)
I MỤC TIÊU:
Kiến thức:
– Hiểu cách biểu diễn thuật toán bằng sơ đồ khối và bằng liệt kê các bước
– Hiểu một số thuật toán thông dụng
Kĩ năng:
– Biết xây dựng thuật toán của một số bài toán thông dụng
Thái độ:
– Luyện khả năng tư duy lôgic khi giải quyết một vấn đề nào đó
II CHUẨN BỊ:
Giáo viên: – Giáo án + bảng vẽ các sơ đồ khối
– Tổ chức hoạt động nhóm
Học sinh: SGK, vở ghi Đọc bài trước
III HOẠT ĐỘNG DẠY- HỌC:
1 Ổn định tổ chức: Kiểm tra sĩ số lớp
2 Kiểm tra bài cũ:
Hỏi: Nêu thuật toán xét tính nguyên tố của một số nguyên
dương cho trước
Đáp: Cách liệt kê:
Trang 2B1: Nhập số ng.dương N;
B2: Nếu N = 1 thì thông báo N không nguyên tố rồi kết
thúc;
B3: Nếu N< 4 thì thông báo N là nguyên tố rồi kết
thúc;
B4: i 2 ;
B5: Nếu i> N
thì thông báo N là nguyên tố rồi kết thúc
B6: Nếu N chia hết cho i thì thông báo N không
nguyên tố rồi kết thúc;
B7: ii + 1 rồi quay lại B5
3 Bài mới
Hoạt động 1: Mô tả thuật toán sắp xếp bằng tráo đổi
Hoạt động của Học
sinh III Một số ví dụ (tt)
2 Ví dụ 2: Bài toán sắp xếp
Cho dãy A gồm N số nguyên
a1, a2, …, aN Cần sắp xếp các số
Đặt vấn đề: Trong cuộc sống ta
thường gặp những việc liên quan đến sắp xếp
Cho một dãy số nguyên A:
HS trả lời: 1, 3, 4,
5, 6, 7, 7, 8, 10, 12
Trang 3hạ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
lại thành 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 thì 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
Thuật toán:
a) Cách liệt kê:
- B1: Nhập N, các số hạng a1,
a2, …, aN ;
6, 1, 5, 3, 7, 8, 10, 7, 12, 4 Hãy sắp xếp dãy A trở thành dãy không giảm
Tổ chức các nhóm thảo luận
H Hãy xác định Input và Ouput
của bài toán?
GV hướng dẫn HS tìm thuật toán giải bài toán
GV nhận xét và bổ sung
Các nhóm trả lời
Đ + Input: Dãy N số
nguyên + Output: Dãy N
số nguyên đã được sắp xếp không giảm
Các nhóm thảo luận đưa ra ý kiến
Trang 4- 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;
- B4: 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
Hướng dẫn HS trình bày thuật toán (bằng pp liệt kê)
Nhận xét: Sau mỗi lần đổi chỗ, giá trị lớn nhất của dãy A sẽ được chuyển dần về cuối dãy và sau lượt thứ nhất thì giá trị lớn nhất xếp đúng vị trí là ở cuối dãy Và sau mỗi lượt chỉ thực hiện với dãy đã bỏ bớt số hạng cuối dãy (M M–1) Trong thuật toán trên, i là biến chỉ số có giá trị nguyên từ 0 M+1
Ghi lại sơ đồ thuật toán và hình dung ra các bước thực hiện thuật toán
Hoạt động 2: Diễn tả thuật toán bằng sơ đồ khối
Trang 5b) Sơ đồ khối:
Hoạt động 3: Mô phỏng việc thực hiện thật toán – Củng cố
Mô phỏng việc thực hiện thuật
toán với:
N = 10 và dãy A:
6, 1, 5, 3, 7, 8, 10, 7, 12, 4
Dãy
A
6 1 5 3 7 8 10 7 12 4
Lượt
1
1 5 3 6 7 8 7 10 4 12
Lượt
2
1 3 5 6 7 7 8 4 10
Lượt
3
1 3 5 6 7 7 4 8
Lượt
4
1 3 5 6 7 4 7
Trang 6Lượt
5
1 3 5 6 4 7
Lượt
6
1 3 5 4 6
Lượt
7
1 3 4 5
Lượt
8
1 3 4
Lượt
9
1 3
Lượt
10
1
4 BÀI TẬP VỀ NHÀ:
– Tập mô phỏng việc thực hiện thuật toán trên với dãy số khác
– Tìm thuật toán tìm sắp xếp một dãy số nguyên thành dãy không tăng
*Rút kinh nghiệm: