III. HOẠT ĐỘNG DẠY HỌC: 1.Ổn định: (1')
b) Sơ đồ khối:(SGK)
10'
10'
- Đối với dãy A đã được sắp xếp ta có thuật toán tìm kiếm nhị phân.
- Xác định Input và Output của bài toán?
- Gọi HS bổ sung
- Trình bày ý tưởng.
- Gọi HS đọc ý tuởng trong SGK.
- Gọi HS nhận xét về thuật toán so với thuật toán tìm kiếm tuần tự? - Gọi HS bổ sung.
- Mô phỏng thuật toán với k = 21, N = 10 và dãy A: 2 4 5 6 9 21 22 30 31 33. - Theo em bước 1 ta phải làm gì?
- Theo em biến Giua được tính như thế nào?
- Ứng với biến Giua là số
- HS trả lời: Input là dãy A là gồm N số nguyên khác nhau a1,…, aN
- HS bổ sung: Input là dãy A là dãy tăng gồm N số nguyên khác nhau a1,…, aN và một số nguyên k…
- HS trả lời: Chia dãy số ra làm đôi để tìm kiếm, nhằm thu hẹp phạm vi tìm kiếm. - HS đọc ý tưởng trong SGK. - HS trả lời: chỉ áp dụng thuật toán nhị phân khi dãy số đã được sắp xếp. - HS bổ sung: so với thuật toán tìm kiếm tuần tự thì thuật toán tìm kiếm nhị phân có thời gian tìm kiếm ngắn hơn. - Hs trả lời: nhập các số hạng a1,…, aN và khoá k. - HS trả lời: Giua← 2 Dau Cuoi+ • Xác định bài toán:
- Input: Dãy A là dãy tăng gồm N số nguyên khác nhau a1,…, aN và một số nguyên k.
- Output: Chỉ số i mà ai =k hoặc thông báo không có số hạng nào của dãy A có giá trị bằng k.
• Thuật toán: a) Cách liệt kê:
Bước1: Nhập N, các số hạng a1,…, aN và khoá k;
Bước 2: Dau ←1, Cuoi←N;
Bước 3: Giua← 2 Dau Cuoi+ ;
Bước 4: Nếu aGiua = k thì thông báo chỉ số Giua, rồi kết thúc;
Bước 5: Nếu aGiua > k thì đặt Cuoi = Giua - 1, rồi chuyển đến bước 7.
hạng aGiua. Nếu aGiua = k thì thuật toán kết thúc.
- Nếu aGiua > k thì ta chỉ xét dãy số trong phạm vi từ a1 đến aGiua-1.
- Ngược lại nếu aGiua < k thì ta chỉ xét dãy số trong phạm vi từ aGiua +1 đến aN. - Theo em tại sao thuật toán lại quay lại bước 3 - Sai. Trở lại bước 3 để tiếp tục thu hẹp phạm vi tìm kiếm.
- Các em về xem cách vẽ sơ đồ khối của thuật toán trong SGK.
- HS trả lời: bước 3 là điều kiện dừng của thuật toán.
Bước 6: Dau←Giua +1;
Bước 7: Nếu Dau > Cuoi thì thông báo dãy A không có số hạng có giá trị bằng k, rồi kết thúc;
Bước 8: Quay lại bước 3
b) Theo sơ đồ khối: ( SGK)
4. Củng cố: (5')
- Biết cách xác định Input và Output của một bài toán. - Gọi một HS trình bày lại khái niệm thuật toán.
- Tính chất thuật toán: tính dừng, tính xác định, tính đúng đắn.
- Hiểu một số thuật toán: tìm giá trị lớn nhất của một dãy số nguyên, kiểm tra tính nguyên tố của một số nguyên dương, bài toán sắp xếp, bài toán tìm kiếm…
5.Dặn dò:(1')
- Về nhà làm các câu hỏi và bài tập trang 44. - Xem trước bài 5 "Ngôn ngữ lập trình".
Tuần: 8
Tiết theo PPCT: 15 BAØI TẬP
Ngày soạn: 9/9
I. MỤC ĐÍCH, YÊU CẦU:
• Về kiến thức:
- Biết khái niệm bài toán và thuật toán, các tính chất của thuật toán.
- 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.
• Về kỹ năng: Xây dựng được thuật toán giải một số bài toán đơn giản bằng sơ đồ khối hoặc liệt kê các bước.
• Về thái độ: Rèn luyện cho HS tính tư duy trong việc giải một số bài toán, hợp tác trong quá trình tìm hiểu kiến thức mới.
II. CHUẨN BỊ:
• GV: Giáo án, phấn màu • HS: SGK, đồ dùng học tập…
• PP: Diễn giảng, đàm thoại nêu vấn đề, học theo nhóm.
III. HOẠT ĐỘNG DẠY HỌC:1.Ổn định: (1') 1.Ổn định: (1')
2. Kiểm tra bài cũ: (5')
- Trình bày khái niệm thuật toán? - Nêu các tính chất của thuật toán?
3. Nội dung:
TG Hoạt động của GV Hoạt động của HS Nội dung
5'
3'
- Vừa rồi ta đã kết thúc bài 4, hôm nay sẽ trao đỗi một số câu hỏi và bài tập liên quan đến bài 4.
- Em nào có thể phát biểu một bài toán?
- Gọi một HS trả lời câu hỏi - Hãy xác định Input và
Output của bài toán? - Gọi HS bổ sung.
- HS suy nghĩ
- HS trả lời: bài toán tìm nghiệm của phương trình bậc 1: ax + b = 0
- HS trả lời: input là a và b là 2 số nguyên.
- HS bổ sung: Nghiệm x của phương trình.