Xác định bài toán:

Một phần của tài liệu Giáo án tin học 10_full_chương 1 (Trang 32 - 36)

+ Input: Dãy A gồm N số nguyên khác nhau a1, a2,...,aN, 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 A có giá trị bằng k.

- Ý tưởng:

Thực hiện một cách tự nhiên. Lần lượt từ số hạng thứ nhất, ta so sánh giá trị số hạng đang xét với khoá cho đến khi hoặc gặp một số hạng bằng kháo hoặc dãy đã được xét hết và không có giá trị nào bằng khoá.

GV: Hãy tìm Input, Output của bài toán.

GV: Hãy nêu ý tưởng giải thuật? - 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: i←1;

B3: Nếu ai=k thì thông báo chỉ số i, rồi kết thúc.

B4: i←i+1;

B5: Nếu i>N 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;

B6: Quay lại bước 3.

Cách sơ đồ khối:

GV: i là gì, nhận giá trị trong khoảng nào?

HS: i là biến chỉ số và i có giá trị từ 0 đến N+1.

HS: Chạy giải thuật với dãy A, khoá k cho trước.

4.Củng cố

- Giới thiệu lại các bước của thuật toán.

5. Dặn dò

- Dùng sơ đồ khối để giải bài toán tìm UCLN.

Đ Nhập N, a1,..,aN, k; i1 ii+1 ai=k? Đưa ra A,rồi KT. i>N? TB A ko có số hạng có GT = k, rồi KT. Đ S

Tiết thứ: 12 Ngày soạn: / /2008

Bài 4: BÀI TOÁN VÀ THUẬT TOÁN

A. MỤC TIÊU

1. Kiến thức:

- Giới thiệu cho học sinh bài toán tìm kiếm nhị phân.

2. Kỹî năng: Đưa ra được ý tưởng để giải một bài toán tìm kiếm nhị phân. Vận dụng để viết giải thuật dạng liệt kê và sơ đồ khối.

3. Thái độ: Yêu thích nghiên cứu thuật toán.

B. PHƯƠNG PHÁP GIẢNG DẠY

• ĐăÛt vấn đề, hướng dẫn học sinh giải quyết vấn đề. đề.

C. CHUẨN BỊ GIÁO CỤ

Giáo viên: Giáo án, tài liệu, sách giáo khoa.• Học sinh: Sách giáo khoa, vở viết. • Học sinh: Sách giáo khoa, vở viết.

D. TIẾN TRÌNH BÀI DẠY

1.Ổn định lớp - kiểm tra sĩ số:

Lớp 10B1 10B2 10B3 10B4 10B10

Vắng (P/K)

2.Kiểm tra bài cũ:

? Chạy giải thuật tìm kiếm tuần tự với dãy A như sau: 2, 4, 6, 1, 5, 7, 3, 9, 7 và k=3.

3.Nội dung bài mới:

a.Đặt vấn đề: Hôm trước chúng ta đã được học về thuật toán tìm kiếm tuần tự. Thuật toán này có gì khác so với thuật toán tìm kiếm nhị phân. Chúng ta sẽ tìm hiểu về thuật toán tìm kiếm nhị phân.

b. Triển khai bài dạy

Nội dung kiến thức Hoạt động thầy và trò

3. Một số ví dụ về thuậttoán: toán:

Thuật toán tìm kiếm nhị phân:

Ví dụ 3: Cho dãy A gồm N số nguyên khác nhau: a1, a2,...,aN và một số nguyên k. Cần biết có hay

GV: Số nguyên k gọi là khoá tìm kiếm. Ví dụ: Dãy A: 5, 7, 1, 4, 2, 9, 8, 11, 25, 51. Khoá k =2: Dãy có số hạng a5 = k. Chỉ số cần tìm là i=5.

không chỉ số i (1≤in) mà ai = k.

Nếu có hãy cho biết chỉ số đó. Khoá k=6 thì như thếnào?

- Xác định bài toán:

+ Input: Dãy A gồm N số nguyên khác nhau a1, a2,...,aN, 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 A có giá trị bằng k.

- Ý tưởng:

Xảy ra một trong 3 trường hợp sau:

- Nếu aGiua = k thì Giua là chỉ số cần tìm. Việc tìm kiếm kết thúc. - Nếu aGiua > k thì do dãy A là dãy đã được SX nên việc tìm kiếm tiếp theo chỉ xét trên dãy a1, a2,...,aGiua-1

- Nếu aGiua<k thì thực hiện tìm kiếm trên dãy aGiua+1, aGiua+2,...,aGiua+N. Quá trình sẽ được lặp lại một số lần cho đến khi hoặc đã tìm thấy khóa k trong dãy A hoặc phạm vi tìm kiếm bằng rỗng.

GV: Hãy tìm Input, Output của bài toán.

GV: Hãy nêu ý tưởng giải thuật?

Sử dụng tính chất dãy A là một dãy tăng, ta tìm cách thu hẹp nhanh phạm vi tìm kiếm sau mỗi lần so sánh khóa với số hạng được chọn. Để thực hiện điều đó, ta chọn số hạng aGiữa ở giữa dãy để so sánh với k, trong đó Giua =  +2  1 N .

Một phần của tài liệu Giáo án tin học 10_full_chương 1 (Trang 32 - 36)

Tải bản đầy đủ (DOC)

(66 trang)
w