IV. RÚT KINH NGHIỆM, BỔ SUNG:
H. So sán h2 bài toán tìm kiếm trong 2 thuật toán?
Đ. Dãy A ở đây là dãy tăng
• GV hướng dẫn HS tìm thuật toán giải bài toán.
• Các nhóm trình bày cách làm
• Minh hoạ qua việc tra từ điển
Cho các nhóm thảo luận việc tra từ điển. Từ đó rút ra thuật toán.
- Nếu aGiưa < k thì thực hiện tìm kiếm trên dãy aGiưa+1, aGiưa+2, …, an.
Quá trình trên sẽ được lặp lại một số lần cho đến khi hoặc đã tìm thấy khoá k trong dãy A hoặc phạm vi tìm kiếm bằng rỗng. • Thuật toán: * Cách liệt kê: - B1: Nhập N, các số hạng a1, a2, …, aN và khoá k - B2: Dau ¬ 1,Cuoi ¬ N;
- B3: Giưa = Dau Cuoi+2
;
- B4: Nếu aGiưa = k thì thông báo chỉ số Giưa, rồi kết thúc;
- B5: Nếu aGiưa > k thì đặt Cuoi = Giưa - 1, rồi chuyển đến bước 7;
- B6: Dau ¬ Giưa +1;
- B7: Nếu Dau > cuoi thì thông báo dãy A không có số hạng nào có giá trị bằng k, kết thúc;
- B8: Quay lại bước 3.
Hoạt động 5: Mô tả thuật toán bằng sơ đồ khối * Sơ đồ khối
Hoạt động 6: Mô phỏng việc thực hiện thuật toán
Mô phỏng việc thực hiện thuật toán với N = 10,k= 21 k = 21, N =10 i 1 2 3 4 5 6 7 8 9 10 A 2 4 5 6 9 21 22 30 31 33 Dau 1 6 6 Cuoi 10 10 7 Giua 5 8 6 aGiua 9 30 21 Lỵt 1 2 3
lưỵt th ba thì aGiua = k. Vy ch s cần tìm là i = Giua = 6. 3- Tổng kết nội dung, đánh giá cuối bài :
4- Dặn dò, kế hoạch học tập tiết sau :
– Mô phỏng việc thực hiện thuật toán với dãy số khác. – Bài 3, 7 SGK.
Ngày soạn : 3/10/2009 Ngày dạy : 5/10/2009 Tiết PPCT : 15
BÀI TẬP BÀI TOÁN VÀ THUẬT TOÁN
I. MỤC TIÊU:
Kiến thức:
– Hiểu một số thuật toán đã học như sắp xếp, tìm kiếm.
Kĩ năng:
– Biết cách tìm thuật toán giải một số bài toán đơn giản.
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ẽ sơ đồ khối Học sinh: SGK + vở ghi. Làm bài tập
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 giải bài toán: Tìm giá trị lớn nhất của một dãy số nguyên ?
Đáp: 3. Giảng bài mới:
Nội dung Hoạt động của Giáo viên và Học sinh
Hoạt động 1: Luyện tập cách xác định bài toán Bài 1: Hãy xác định các bài toán sau:
a) Tính chu vi hình chữ nhật khi cho biết chiều dài và chiều rộng của hình chữ nhật đó.
b) Tìm giá trị lớn nhất của 2 số a, b.
• Cho các nhóm thảo luận, gọi 1 HS bất kì trong nhóm trả lời.
• HS trả lời
a) Input: chiều dài, ciều rộng Output: chu vi
b) Input: a, b
Output: GTLN của a và b.
Hoạt động 2: Mô tả thuật toán giải các bài toán bằng cách liệt kê hoặc bằng sơ đồ khối. Bài 2: Cho N và dãy số a1, a2, …, aN. Hãy tìm
thuật toán cho biết có bao nhiêu số hạng trong dãy có giá trị bằng 0.
• Cho các nhóm thực hiện lần lượt các bước để tìm thuật toán.
Gọi 1 HS bất kì trong nhóm trả lời.
H1. Xác định bài toán?
Đ1. Input: N, a1, a2, …, aN
Output: số Dem cho biết số lượng số 0 có trong dãy số trên.
H2. Nêu ý tưởng thuật toán?
Đ2.
– Ban đầu Dem = 0
– Lần lượt duyệt qua dãy số, nếu gặp số hạng nào bằng 0 thì tăng giá trị Dem lên 1.
•Thuật toán:
a) Liệt kê: • Hướng dẫn HS liệt kê các bước của thuật toán và vẽ sơ đồ khối.
B1: Nhập N, a1, a2, …, aN
B2: i ← 0; Dem ← 0
B3: i ← i + 1
B4: Nếu i > N thì thông báo giá trị Dem, rồi kết thúc.
B5: Nếu ai = 0 thì Dem ← Dem + 1.
B6: Quay lại B3.
Mô phỏng việc thực hiện thuật toán:
a) N = 10, dãy A: 1, 2, 0, 4, 5, 0, 7, 8, 9, 0 →
Dem = 3
b) N = 10, dãy A: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 →
Dem = 0
3: Củng cố : Cho HS nhắc lại các bước tìm thuật toán giải 1 bài toán.