0
Tải bản đầy đủ (.doc) (149 trang)

So sánh 2 bài toán tìm kiếm trong 2 thuật toán?

Một phần của tài liệu GIÁO ÁN TIN HỌC 10 CẢ NĂM (Trang 30 -35 )

II. Khái niệm thuật toán: Ví dụ: Tìm giá trị lớn nhất

H. So sánh 2 bài toán tìm kiếm trong 2 thuật toán?

trong 2 thuật toán?

• GV hướng dẫn HS tìm thuật toán giải bài toán.

• Minh hoạ qua việc tra từ điển Cho các nhóm thảo luận việc tra từ điển. Từ đó rút ra thuật toán.

Đ. Dãy A ở đây là dãy tăng

phạm vị tìm kiếm sau mỗi lần so sánh khoá với số hạng được chọn, ta chọn số hạng aGiữa ở " giữa dãy" để so sánh với k, trong đó Giưa = N2+1

. Khi đó: - Nếu aGiưa = k thì Giưa là chỉ số cần tìm.

- Nếu aGiưa> k thì do dãy A là dãy đã sắp xếp nên việc tìm kiếm tiếp theo chỉ xét trên dãy a1, a2, …, aGiưa-1 . - Nếu aGiưa < k thì thực hiện tìm kiếm trên dãy aGiưa+1, aGiưa+2, …, an.

Quá trình trên sẽ được lặp lại một số lần cho đến khi hoặc đã tìm thấy khoá k trong dãy A hoặc phạm vi tìm kiếm bằng rỗng. • 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: Dau ¬ 1,Cuoi ¬ N;

- B3: Giưa = Dau Cuoi+2

;

- B4: Nếu aGiưa = k thì thông báo chỉ số Giưa, rồi kết thúc;

- B5: Nếu aGiưa > k thì đặt Cuoi = Giưa - 1, rồi chuyển đến bước 7;

- B6: Dau ¬ Giưa +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, kết thúc;

- B8: Quay lại bước 3.

Hoạt động 5: Mô tả thuật toán bằng sơ đồ khối

5

Hoạt động 6: Mô phỏng việc thực hiện thuật toán

5

Mô phỏng việc thực hiện

thuật toán với N = 10,k= 21 k = 21, N =10

i 1 2 3 4 5 6 7 8 9 10 A 2 4 5 6 9 21 22 30 31 33 Dau 1 6 6 Cuoi 10 10 7 Giua 5 8 6 aGiua 9 30 21 Lỵt 1 2 3 lỵt th ba th× aGiua = k. Vy ch s cÇn t×m lµ i = Giua = 6. Hoạt động 7: Củng cố các kiến thức đã học 3 • GV cho HS nhận xét điểm

khác biệt cơ bản của 2 thuật toán • Các nhóm thảo luận và trình bày

4. BÀI TẬP VỀ NHÀ:

– Mô phỏng việc thực hiện thuật toán với dãy số khác. – Bài 3, 7 SGK.

IV. RÚT KINH NGHIỆM, BỔ SUNG:

... ... ...

Ngày soạn: 19/09/2011 Chương I: MỘT SỐ KHÁI NIỆM CƠ BẢN CỦA TIN HỌC

Tiết dạy: 15 Bài 4: BÀI TẬP BÀI TOÁN VÀ THUẬT TOÁN

Tuần: 08 I. MỤC TIÊU:

Kiến thức:

– Hiểu một số thuật toán đã học như sắp xếp, tìm kiếm.

Kĩ năng:

– Biết cách tìm thuật toán giải một số bài toán đơn giản.

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Ị:

Giáo viên: Giáo án + bảng vẽ sơ đồ khối Học sinh: SGK + vở ghi. Làm bài tập

III. HOẠT ĐỘNG DẠY HỌC:

1. Ổn định tổ chức: Kiểm tra sĩ số lớp.

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

Hỏi: Nêu thuật toán giải bài toán: Tìm giá trị lớn nhất của một dãy số nguyên ?

Đáp: 3. Giảng bài mới:

TL Nội dung Hoạt động của Giáo viên Hoạt động của Học sinh

Hoạt động 1: Luyện tập cách xác định bài toán

10 Bài 1: Hãy xác định các bài toán sau:

a) Tính chu vi hình chữ nhật khi cho biết chiều dài và chiều rộng của hình chữ nhật đó.

b) Tìm giá trị lớn nhất của 2 số a, b.

• Cho các nhóm thảo luận, gọi 1

HS bất kì trong nhóm trả lời. • HS trả lời

a) Input: chiều dài, ciều rộng Output: chu vi

b) Input: a, b

Output: GTLN của a và b.

Hoạt động 2: Mô tả thuật toán giải các bài toán bằng cách liệt kê hoặc bằng sơ đồ khối.

10 Bài 2: Cho N và dãy số a1, a2, …, aN. Hãy tìm thuật toán cho biết có bao nhiêu số hạng trong dãy có giá trị bằng 0.

• Cho các nhóm thực hiện lần lượt các bước để tìm thuật toán. Gọi 1 HS bất kì trong nhóm trả lời.

H1. Xác định bài toán?

H2. Nêu ý tưởng thuật toán?

• HS trả lời

Đ1. Input: N, a1, a2, …, aN

Output: số Dem cho biết số lượng số 0 có trong dãy số trên.

Đ2.

– Ban đầu Dem = 0

– Lần lượt duyệt qua dãy số, nếu gặp số hạng nào bằng 0 thì tăng giá trị Dem lên 1.

20 •Thuật toán: a) Liệt kê:

B1: Nhập N, a1, a2, …, aN

B2: i ← 0; Dem ← 0

B3: i ← i + 1

B4: Nếu i > N thì thông báo giá trị Dem, rồi kết thúc.

B5: Nếu ai = 0 thì Dem ←

Dem + 1.

B6: Quay lại B3.

Mô phỏng việc thực hiện thuật toán:

a) N = 10, dãy A: 1, 2, 0, 4, 5, 0, 7, 8, 9, 0 → Dem = 3 b) N = 10, dãy A: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 → Dem = 0

Hoạt động 3: Củng cố

2 • Cho HS nhắc lại các bước tìm

thuật toán giải 1 bài toán. • HS nhắc lại

4. BÀI TẬP VỀ NHÀ:

– Xem lại các thuật toán đã học. – Chuẩn bị kiểm tra 1 tiết.

IV. RÚT KINH NGHIỆM, BỔ SUNG:

... ... ...

Ngày soạn: 01/10/2011 Chương I: MỘT SỐ KHÁI NIỆM CƠ BẢN CỦA TIN HỌC

Tiết dạy: 16 BÀI KIỂM TRA 1 TIẾT

Tuần: 08 I. MỤC TIÊU:

Kiến thức:

– Củng cố các kiến thức đã học về: thông tin và dữ liệu, cấu trúc máy tính, bài toán và thuật toán.

Kĩ năng:

– Biết mã hoá thông tin, mô phỏng việc thực hiện một thuật toán.

Thái độ:

– Rèn luyện tính nghiêm túc trong khi làm bài.

II. CHUẨN BỊ:

Giáo viên: Đề bài kiểm tra. Học sinh: Ôn lại kiến thức đã học.

III. HOẠT ĐỘNG DẠY HỌC:

1. Ổn định tổ chức: Kiểm tra sĩ số lớp.

Một phần của tài liệu GIÁO ÁN TIN HỌC 10 CẢ NĂM (Trang 30 -35 )

×