IV. TIẾN TRèNH BÀI HỌC
dần Thuật toỏn tỡm kiếm nhị phõn
k = 4 và N = 6 2 4 5 6 9 13
+ Cỏc em chia thành 2 dóy dóy con.
+ Chỉ số ở giữa dóy là bao nhiờu? So sỏnh
agiua với khúa k?
+ Cỏc em thảo luận để hỡnh thành ý tưởng cho bài toỏn?
+ Học sinh thảo luận trỡnh bày cỏc bước cho thuật toỏn và vẽ sơ đồ khối?
+ Gọi 2 nhúm thực hiện vẽ sơ đồ khối? + Chiếu hỡnh ảnh cỏc học sinh cũn lại ghi bài.
+ Lấy vớ dụ:
K = 21 và N = 10 (SGK) minh họa chạy theo thuật toỏn sơ đồ khối.
+ Mời 1 học sinh cho 1 khúa k bất kỳ để chạy thuật toỏn với cỏc số hạng trờn?
+ Phỏt phiếu học tập (vớ dụ mụ phỏng với dóy gồm 10 số nguyờn cho trước), cỏc nhúm thảo luận trỡnh bày.
+ Chia: Dóy 1: 2 4 5 Dóy 2: 6 9 13 Ta thấy tỡm kiếm trờn dóy 1 cú giỏ trị bằng k + Giữa = 3. + agiua = 5 > k nờn ta tỡm trờn dóy 1. + Cỏc nhúm thảo luận và trỡnh bày.
+ Ghi ý tưởng của bài toỏn. + Lần lượt cỏc hs lờn bảng. + Cỏc nhúm thực hiện. + Chỳ ý. + Ghi vớ dụ. + Học sinh thực hiện. + Vẽ sơ đồ khối. + Cỏc nhúm thực hiện và trỡnh bày. * Xỏc định bài toỏn:
+ Input: Dóy A gồm N số nguyờn khỏc nhau và 1 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 cú giỏ trị bằng k.
* í tưởng:
Sử dụng tớnh chất dóy A là dóy tăng, ta thu hẹp phạm vi tỡm kiếm sau mỗi lần so sỏnh với số hạng được chọn.
• Ta chọn a giua ở giữa dóy để so sỏnh với k, trong đú Giua = +2
1
N
• Xảy ra 1 trong 3 điều kiện sau:
- Nếu a giua= k tìm đợc chỉ số, kết thúc; - Nếu a giua > k do dãy A đã đợc sắp xếp tăng nên việc tìm kiếm thu hẹp chỉ xét từ a 1
a gua - 1;
- Nếu a giua < k do dãy A đã được sắp xếp tăng nên việc tìm kiếm thu hẹp chỉ xét từ a giua + 1 a N.
* Thuật toỏn:
Bước 1: Nhập N, các số hạng và giá trị khoá k; Bước 2: Đầu ơ 1, Cuối ơ N;
Bước 3: Giữa ơ [(Đầu + Cuối)/2];
Bước 4: Nếu a giua = k thì thông báo chỉ số Giữa rồi kết thúc;
Bước 5: Nếu a giua > k thì đặt Cuối = Giữa - 1 rồi chuyển sang bớc 7;
Bước 6: Đầu ơ Giữa + 1;
Bước 7: Nếu Đầu > Cuối 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) Sơ đồ khối
SGK Trang 43
Dới đây là ví dụ mô phỏng các bớc thực hiện thuật toán trên. k = 21, N =10 k = 25, N =10 i 1 2 3 4 5 6 7 8 9 10 i 1 2 3 4 5 6 A 2 4 5 6 9 21 22 30 31 33 A 2 4 5 6 9 21 Dau 1 6 6 Dau 1 6 6 7 8 Cuoi10 10 7 Cuoi 10 10 7 7 7 Giua5 8 6 Giua 5 8 6 7 aGiua 9 30 21 aGiua 9 30 21 22 Lợt 0 1 2 Lợt 0 1 2 3 4 Lần lượt thứ hai thỡ aGiua = k. Vậy
chỉ số cần tỡm là i = Giua = 6.
Tại lượt thứ tư Dau>cuoi nờn kết luận trong dóy A khụng cú số hạng nào cú giỏ trị bằng 25 cả.
4. Củng cố :
Cho N và dóy số tăng dần a1,a2,…,aN, hóy tỡm 1 khúa nào đú
5.Dặn dũ:
- Xem lại bài đó học. - Chuẩn bị bài tập trang 44.