Tin 10 Tiet 14 Bai 04 by girlbanks

VIEWS: 43 PAGES: 3

									Nguyễn Thái Đức



Trường THPT Cam Lộ

Tiết : 14 Tuần : ...

Ngày soạn : ..../...../........... Ngày giảng : ..../...../...........

§ 4. BÀI TOÁN VÀ GIẢI THUẬT (tiết 5)
A. MỤC TIÊU I. Kiến thức : Xây dựng thực hiện thuật toán tìm kiếm nhị phân. II. Kỷ năng : Rèn luyện kỷ năng tư duy thuật toán, mô tả xây dựng thuật toán. III. Thái độ : Giáo dục học sinh tinh thần tích cực trong học tập, độc lập tư duy sáng tạo, vận dụng tốt kiến thức đã học vào giải quyết các bài tập. B. PHƯƠNG PHÁP GIẢNG DẠY Phương pháp thuyết trình gợi mở Phương pháp vấn đáp, giải quyết vấn đề. C. CHUẨN BỊ Giáo viên: Giáo án, tài liệu và dụng cụ dạy học. Học sinh : Sách vở và đồ dùng học tập D. TIẾN TRÌNH LÊN LỚP I. Ổn định lớp : (1 phút) II. Kiểm tra bài củ : (4 phút) III.Nội dung bài dạy: (35 phút) Kiểm tra sĩ số :

HOẠT ĐỘNG THẦY & TRÒ

NỘI DUNG KIẾN THỨC

HOẠT ĐỘNG 1 : Tìm hiểu và xây dựng thuật toán tìm kiếm nhị phân
* Với bài toán tìm kiếm ta gặp rất nhiều trường  Thuật toán tìm kiếm nhị phân hợp. (Binary Search) Với bài toán tìm kiếm trên dãy số đã sắp xếp ta có phương pháp nào mang lại hiệu quả tốt. * Xác định bài toán : ? Hãy xây dựng thuật toán tìm kiếm nhị phấn?  Input: N; các số a1,a2,..aN theo HS thứ tự tăng dần và số nguyên k ? Hãy xác định bài toán?  Output : i mà ai=k hoặc thông HS : báo không có số hạng nào của ? Nêu ý tưởng để giải bài toán? dãy của A có giá trị bằng k HS : Chọn phần tử giữa để so sánh với k. Lúc đó xãy ra ba trường hợp. * Thuật toán liệt kê :  agiữa = k : giữa là kết quả chỉ số cần tìm => kết thúc việc tìm kiếm. B1: Nhập N; a1,a2,..aN và k  agiữa > k : việc tìm kiếm tiếp theo, chỉ xét B2: Dau1; CuoiN; trên dãy a1 đến agiữa -1  Dau  Cuoi  ;  agiữa < k : việc tìm kiếm tiếp theo, chỉ xét B3: Giua  2   trên dãy agiữa +1 đến aN. B4: Nếu agiữa=k thì thông báo chỉ số
Giáo án

 36

Tin học 10

Nguyễn Thái Đức



Trường THPT Cam Lộ

Tiếp tục tìm cho đến khi tìm thầy hoặc phạm vi tìm kiếm rỗng

giữa, rồi kết thúc; B5: Nếu aGiua >k thì đặt Cuoi=Giua 1, rồi chuyển đến B7; B6: DauGiua +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 rồi kết thúc; B8: Quay lại B3

Nhập N; a1,a2...aN; k Dau 1; Cuoi N Giua  [(Dau+Cuoi)/2] Đúng Đưa ra Giua rồi kết thúc

aGiua=k Sai aGiua>k Sai Dau  Giua + 1

Đúng

Cuoi  Giua-1

Sai

Dau>Cuoi? Đúng

Thông báo dãy A không có số hạng bằng k rồi kết thúc

HOẠT ĐỘNG 2 : Mô phỏng thuật toán tìm kiếm nhị phân
* Cho ví dụ và thực hiện để minh hoạ thuật toán. Ví dụ 1: N = 10; k = 21 i 1 2 3 4 5 6 7 8 9 10 A 2 4 5 6 9 21 22 30 31 33 Thực hiện tìm kiếm :
Lần Dau Cuoi Dau>Cuoi Giua aGiua k?aGiua 1 1 10 F 5 9 > 2 6 10 F 8 30 < 3 6 7 F 6 21 =

Ở lần duyệt thứ 3 thì aGiua = k . Vậy chỉ số cần tìm là i = Giua = 6.
Giáo án

 37

Tin học 10

Nguyễn Thái Đức



Trường THPT Cam Lộ

Ví dụ 2: N = 10; k = 25 i 1 2 3 4 5 6 7 8 9 10 A 2 4 5 6 9 21 22 30 31 33 Thực hiện tìm kiếm :
Lần Dau Cuoi Dau>Cuoi Giua aGiua aGiua?k 1 1 10 F 5 9 < 2 6 10 F 8 30 > 3 6 7 F 6 21 < 4 7 7 F 7 22 < 5 8 7 T

Tại lần duyệt thứ 5 Dau > Cuoi nên kết luận trong dẫy không có số nào có giá trị bằng 25. * Hãy cho các dãy và số k khác nhau để tìm kiếm theo giải thuật trên. IV. Cũng cố : (4 phút)  Nắm dc thuật toán tìm kiếm nhị phân.  Các yếu cấu thành của bài toán?  Thế nào là giải thuật? Có mấy cách diễn đạt thuật toán? V. Dặn dò : (1 phút) - Về nhà học bài làm bài đầy đủ. - Chuẩn bị bài tập tiết sau có tiết bài tập.

Giáo án

 38

Tin học 10


								
To top