là khóa tìm kiếm.
- GV: Đưa ra ví dụ dãy A gồm các số nguyên: 6, 1, 5, 3, 7, 8, 10, 12, 4, 11
nghe, ghi bài
- HV: Nghe giảng ghi bài.
- HV:Ghi bài
toán
* Ví dụ 3: Bài toán tìm kiếm, Thuật toán tìm kiếm tuần tự (Sequential Search)
- Bài toán: Cho dãy A gồm N
số nguyên khác nhau a1,…, an. và một số nguyên k .Cần biết có hay không chỉ số i ( 1
≤ i ≤ N) mà ai = k. Nếu có hãy cho biết chỉ số đó.
- Ví dụ dãy A gồm các số nguyên: nguyên:
6, 1, 5, 3, 7, 8, 10, 12, 4,11- Với khóa k = 3 trong dãy - Với khóa k = 3 trong dãy trên có số hạng a4 có giá trị bằng k. Vậy chỉ số cần tìm là i = 4.
- Với khoá k = 9 thì không có số hạng nào của dãy có số hạng bằng k.
- Hay nói 1 cách khác, bài toán trên yêu cầu ta tìm vị trí phần tử có giá tị bằng k trong dãy.
Hoạt động 2: Tìm hiểu thuật toán tìm kiếm tuần tự (30 phút)
- GV: Yêu cầu học sinh xác định bài toán?
- GV: Em hãy nêu ý tưởng để tìm phần tử có giá trị bằng k trong 1 dãy số có các phần - HV: Xác định bài toán - HV: Xác định ý tưởng * Xác định bài toán: - Input: Dãy A gồm N số nguyên khác nhau a1,…, an và số nguyên k - Output: Chỉ số i mà ai = k hoặc thông báo không có giá trị nào của dãy có giá trị bằng k.
* Ý tưởng:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA
HỌC VIÊN NỘI DUNG GHI BẢNG
tử khác nhau. ta so sánh giá trị số hạng đang xét với khoá:
- Nếu gặp một số hạng bằng khoá thì thông báo vị trí. - Ngược lại, thì thông báo không có giá trị nào trong dãy bằng khoá.
- GV: Cho học sinh thảo luận thực hiện yêu cầu: Mô tả bài toán trên bằng thuật toán liệt kê?
- GV: mô phỏng về việc thực hiện thuật toán. Giải
- HV: Xác định thuật toán
- HV: Quan sát và lắng nghe
* Thuật toán:
- Thuật toán liệt kê:
Bước 1: Nhập N, dãy a1, …, an và khoá k.
Bước 2: i 1;
Bước 3: Nếu ai = k thì thông báo chỉ số i, rồi kết thức.
Bước 4: i i + 1;
Bước 5: Nếu i > N thì thông báo trong dãy không có số hạng nào có gía trị bằng k, rồi kết thúc.
Bước 6: Quay lại bước 3
K = 3 và N = 10 A 6 1 5 3 7 8 10 12 4 11 i 1 2 3 4 - - - - Với i = 4 thì ai = 3 K = 9 và N = 10 A 6 1 5 3 7 8 10 12 4 11 i 1 2 3 4 5 6 7 8 9 10
Với mọi i từ 1 đến 10 không có ai = 9
3. Củng cố và luyện tập. (3 phút)
- 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. - Đọc tiếp bài "Bài toán và thuật toán"
Ngày soạn: 29/11/2015 Ngày dạy: 30/11/2015 dạy lớp: 10B 01/12/2015 dạy lớp: 10A 02/12/2015 dạy lớp: 10C
Tiết 15: BÀI 4
BÀI TOÁN VÀ THUẬT TOÁNI. Mục tiêu I. Mục tiêu
1. Về kiến thức:
– Biết khái niệm bài toán và thuật toán.
2. Về kĩ năng:
– Xác định được Input và Output của một bài toán.
3. Về 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ị của giáo viên và học viên:
1. Chuẩn bị của giáo viên: Giáo án, SGK Tin 10, Sách GV Tin 10.
2. Chuẩn bị của học viên: SGK tin 10, vở ghi.
III. Tiến trình bài dạy
1. Kiểm tra bài cũ: ( 15 phút)
* Câu hỏi: Thuật toán là gì? Hãy lấy ví dụ về một bài toán và xác định Input và Output của bài toán đó.
* Trả lời:
- Thuật toán là một dãy hữu hạn các thao tác được sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dãy thao tác ấy, từ Input của bài toán, ta tìm được Output cần tìm.
- Vd: Tìm giá trị lớn nhất của một dãy số nguyên. - Xác định bài toán:
+ Input: Số nguyên dương N và dãy N số nguyên a1,…,aN