Trường THPT Ngô Gia Tự Giáo án tin 10
Tuần : 7 Ngày soạn:03/09/08
CHƯƠNG I. MỘT SỐ KHÁI NIỆM CƠ BẢN CỦA TIN HỌC
§4. BÀI TỐN VÀ THUẬT TỐN (tt)
A. Mục tiêu bài học
1. Kiến thức:
Biết vai trò bài tốn tìm kiếm trong cuộc sống
Giới thiệu cho học sinh bài tốn tìm kiếm nhị phân.
2. Kỹ năng:
Đưa ra được ý tưởng để giải một bài tố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 độ:
u thích nghiên cứu thuật tốn
B. Phương pháp:
Giải thích – Đàm thoại – Nêu vấn đề
Giáo viên gợi mở để HS tham gia vào bài
C. Chuẩn bị của giáo viên và học sinh:
1. Giáo viên
Dự đốn được các ý tưởng cũng như các thuật tốn mà học sinh đưa ra.
2. Học sinh
Nắm rõ cách xây dựng thuật tốn dạng liệt kê và sơ đồ khối đối với bài tốn tìm kiếm.
D.Tiến trình lên lớp
1. Ổn định lớp
- Chào, kiểm tra sỉ số lớp
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. Bài mới
3.1 Đặt vấn đề:
Hơm trước chúng ta đã được học về thuật tốn tìm kiếm tuần tự. Thuật tốn này có gì khác so với
thuật tốn tìm kiếm nhị phân. Chúng ta sẽ tìm hiểu về thuật tốn tìm kiếm nhị phân.
3.2 Triển khai bài mới
Hoạt động của giáo viên và học sinh Nội dung kiến thức
HĐ1: Giới thiệu và hướng dẫn cho học sinh mơ tả thuật tốn tìm kiếm nhị phân.
GV: Số ngun k gọi là khố tìm
kiếm.
Ví dụ:
Dãy A: 5, 7, 1, 4, 2, 9, 8, 11, 25, 51.
Khố k =2: Dãy có số hạng a
5
= k.
Chỉ số cần tìm là i=5.
Khố k=6 thì ntn?
3. Một số ví dụ về thuật tốn:
Thuật tốn tìm kiếm nhị phân:
Ví dụ 3: Cho dãy A gồm N số ngun khác nhau:
a
1
, a
2
,…,a
N
và một số ngun k. Cần biết có hay
khơng chỉ số i (1
ni
≤≤
) mà a
i
= k. Nếu có hãy cho
biết chỉ số đó.
HĐ2: Giúp học sinh xác định bài tốn và ý tưởng giải thuật.
GV: Hãy tìm I, O của bài tố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
Xác định bài tốn:
I: Dãy A gồm N số ngun khác nhau a
1
, a
2
,…,a
N
,
số ngun k.
O: Chỉ số i mà a
i
=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 a
Giua
=k thì Giua là chỉ số cần tìm. Việc
tìm kiếm kết thúc.
Giáo viên : Trần Chí Thu 1
Tiế
t
14
Trường THPT Ngô Gia Tự Giáo án tin 10
nhanh phạm vi tìm kiếm sau mỗi
lần so sánh khố với số hạng được
chọn. Để thực hiện điều đó, ta
chọn số hạng a
Giữa
ở giữa dãy để
so sánh với k, trong đó Giua =
+
2
1N
.
- Nếu a
Giua
>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 a
1
, a
2
,
…,a
Giua-1
- Nếu a
Giua
<k thì thực hiện tìm kiếm trên dãy
a
Giua+1
, a
Giua+2
,…,a
Giua+N.
Q trình sẽ được lặp lại một số lần cho đến khi
hoặc đã tìm thấy kháo k trong dãy A hoặc phạm vi
tìm kiếm bằng rỗng.
HĐ3: Giới thiệu và hướng dẫn cho học sinh xây dựng thuật tốn.
B1: Nhập N, các số hạng a
1
, a
2
,
…,a
N
và khố k;
B2: Dau:=1; Cuoi:=N;
B3: Giua :=
+
2
1N
.
B4: Nếu a
Giua
=k thì thơng báo chỉ
số Giua, rồi kết thúc;
B5: Nếu a
Giua
>k thì đặt Cuoi =
Giua-1, sang 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 bước 3.
GV: Chỉ số đầu và chỉ số cuối
thay đổi tuỳ thuộc vào đâu?
HS: a
Giua
>k hoặc a
Giua
<k
HS: Chạy giải thuật với dãy A,
khố k cho trước.
Thuật tốn:
Sơ đồ khối:
4. Củng cố bài
- Giới thiệu lại các bước của thuật tốn.
5. Dặn dò: ( 2 phút)
BTVN : 1.Dùng sơ đồ khối để giải bài tốn tìm UCLN.
2. Cho dãy A gồm N số ngun a
1
,a
2
,…,a
N
. và khóa K Tính tổng các Ptử trong A có
giá trị nhỏ hơn Dùng sơ đồ khối để giải bài tốn tìm số nhỏ nhất của dãy A.
6. Rút kinh nghiệm
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
Giáo viên : Trần Chí Thu 2
Đ
S
Cuoi = Giua-1
TB A ko có số hạng có
GT = k, end.
S
Dau>cuoi
Dau = Giua+1
Nhập N, a
1
, a
2
,…,a
N,
k;
Dau:=1; Cuoi:=N
Đưa ra
Giua,
end.
a
Giua
>k
Đ
Giua := [(Dau+Cuoi)/2]
a
Giua
=k