tưởng giải bài toán - Ý tưởng giải thuật: Lần lượt từ số hạng thứ nhất, so sánh giá trị của số hạng đang xét với khóa cho đến khi gặp 1 số hạng bằng khóa hoặc khi xét hết dãy mà khôn[r]
Trang 1Tiết : 15,16,17 BÀI DẠY
A MỤC TIÊU :
1 Kiến thức :
- Hiểu được thuật toán tìm kiếm tuần tự
- Thuật toán tìm kiếm nhị phân
- Viết được một số thuật tốn cho các bài tốn
2 Kỹ năng :
- Chỉ ra được Input và Output của một số bài tốn đưa ra
- Xây dựng thuật tốn cho một số bài tốn đơn giản: Bài tốn tìm kiếm tuần tự
3 T ư tưởng, tình cảm :
Các kiến thức trên gĩp phần phát triển khả năng tư duy khi giải quyết các vấn đề trong khoa học cũng như trong cuộc sống
Nghiêm túc trong học tập để tìm hiểu phương pháp giải bài tốn trong tin học từ dễ đến khĩ
B PH ƯƠNG PHÁP VÀ PHƯƠNG TIỆN DẠY HỌC
1 Ph ương pháp :
Phát vấn
Làm việc nhĩm
Thuyết trình
2 Phương tiện :
Giáo viên : Sách + giáo án + bảng phụ vẽ thuật tốn
Học sinh :sách giáo khoa
C TIẾN TRÌNH GIỜ DẠY
1 Ổn định lớp
2 Kiểm tra bài cũ :
Câu hỏi 1 : Trình bày thuật toán sắp xếp một dãy số
Câu hỏi2 :
3 Tiến trình dạy học :
TG Hoạt động của giáo viên Hoạt động của học sinh Nội dung ghi bảng
TIẾT 15
5’ HĐ1 : Xác định bài tốn
Hãy xác định Input và
Output của bài tốn? + Input: Dãy A gồm Nsố nguyên khác nhau a1,
a2, , aN + 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
ghi chép, nghe giảng
Bài tốn tìm kiếm
Cho dãy A gồm N số nguyên a1, a2, , aN và một số nguyên k Cần biết cĩ hay khơng chỉ
số i (1 ≤ i ≤ N) mà ai = k Nếu cĩ hãy cho biết chỉ số đĩ
- Số nguyên k được gọi là khĩa tìm kiếm.
- Xác định bài tốn:
Thuật tốn tìm kiếm tuần tự
7’ HĐ2 : Nêu ý tưởng bài tốn
Gọi HS đứng tại chỗ nêu
ý tưởng giải bài tốn
Đứng tại chỗ nêu ý tưởng giải bài tốn - Ý tưởng giải thuật: Lần lượt từ số hạng thứ nhất, so sánh giá trị
của số hạng đang xét với khĩa cho đến khi gặp 1 số hạng bằng khĩa hoặc khi xét hết dãy
mà khơng cĩ giá trị nào bằng khĩa
BÀI TOÁN VÀ THUẬT TOÁN (tt)
Trang 215’ HĐ3 : Viết thuật toán
Cho HS hoạt động theo
nhóm , sau đó trình bày
thuật toán
Trình bày thuật toán - Thuật toán:
+ Phương pháp liệt kê:
Bước 1: Nhập N, các số hạng a1, a2, a3, , aN
và khóa k;
Bước 2: i 1 ; Bước 3: Nếu ai = k thì chỉ số i rồi kết thúc; Bước 4: i i + 1;
Bước 5: 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;
Bước 6: Quay lại bước 3;
10’ HĐ4 : Chuyển thuật toán liệt kê sang sơ đồ khối
Gọi Hs lên bảng dựa theo
thuật toán viết cách liệt kê
chuyển sang sơ đồ khối
Lên bảng diễn tả thuật toán
TIẾT 16
5’ HĐ1 : Xác định bài toán
Hôm trước chúng ta đã
xây dựng thuật toán cho
bài toán tìm kiếm tuần tự
Hôm nay chúng ra tiếp
tục xây dựng thuật toán
cho bài toán tìm kiếm nhị
phân:
Hãy xác định Input và
Output của bài toán?
Input: Dãy A gồm N số nguyên khác nhau a1, a2, , aN không giảm và 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
ghi chép, nghe giảng
Ví dụ về thuật toán
Bài toán tìm kiếm
Cho dãy A gồm N số nguyên a1, a2, , aN đã được sắp xếp không giảm và một số nguyên
k Cần biết có hay không chỉ số i (1 ≤ i ≤ N)
mà ai = k Nếu có hãy cho biết chỉ số đó
- Số nguyên k được gọi là khóa tìm kiếm.
Thuật toán tìm kiếm nhị phân
7’ HĐ2 : Nêu ý tưởng bài toán
Gọi HS đứng tại chỗ nêu
ý tưởng giải bài toán
Đứng tại chỗ nêu ý tưởng giải bài toán
Ý tưởng giải thuật:
+ Chọn agiữa ở giữa dãy số để so sánh với k giữa = [N +12 ]
* Nếu agiữa = k thì giữa là chỉ số cần tìm
* Nếu agiữa>k thì ta chỉ xét khoảng a1, a2, , agiữa-1
* Nếu agiữa<k thì ta chỉ xét khoảng ag, ag+1, , aN
+ Quá trình này lặp cho đến khi tìm được khóa k hoặc thông báo không có
15’ HĐ3 : Viết thuật toán
Cho HS hoạt động theo
nhóm , sau đó trình bày
thuật toán
Trình bày thuật toán - Thuật toán:
+ Phương pháp liệt kê:
Bước 1: Nhập N, các số hạng a1, a2, a3, , aN
và khóa k;
Bước 2: d 1, c N;
Bước 3: g [N +12 ] ;
Bước 4: Nếu ag = k thì thông báo g rồi kết
thúc;
Bước 5: Nếu ag > k thì c g – 1 rồi chuyển sang Bước 7;
Trang 3Bước 6: d g + 1;
Bước 7:Nếu d > g 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;
Bước 8: Quay lại bước 3;
10’ HĐ4 : Chuyển thuật toán liệt kê sang sơ đồ khối
Gọi Hs lên bảng dựa theo
thuật toán viết cách liệt kê
chuyển sang sơ đồ khối
Lên bảng diễn tả thuật toán
TIẾT 17 : BÀI TẬP
Hôm nay chúng ta sẽ tiến
hành giải các bài tập, để
các em nắm vững hơn về
bài toán và thuật toán
15’ HĐ1 : Viết thuật toán cho bài 1
Yêu cầu HS xác định bài
toán
Nêu ý tưởng giải
Viết thuật toán
Có thể gọi hs lên viết
bằng 2 cách khác nhau
Xác định bài toán Nêu ý tưởng Viết thuật toán
Bài 1 : Cho dãy A gồm N số nguyên a1, a2, , aN và một số nguyên k Cần biết có hay không chỉ số i (1 ≤ i ≤ N) mà ai = k Nếu có hãy cho biết chỉ số xuất hiện cuối cùng của số nguyên k
- Thuật toán:
+ Phương pháp liệt kê:
Bước 1: Nhập N, các số hạng a1, a2, a3, , aN
và khóa k;
Bước 2: i 1 ; c 0 Bước 3: Nếu ai = k thì c 1 Bước 4: i i + 1;
Bước 5: Nếu i > N thì
Nếu c = 0 thi thông báo dãy A không có số
Nhập N, dáy
số a1, a2, a3, ., aN và k
Đ ư
a r
a k R ồ
i k ế
t t h ú c
a
g
= k ai
>a i+
1?
i >
M
?
g (d + c)/2sa i
Đ ú n g
s a i
Đ ú n g
d 1,
c N
d
g + 1
Đ ú n g
s a
i c
g -1
Thông báo không
có k trong dãy rồi kết thúc
Trang 4hạng nào cĩ giá trị bằng k, rồi kết thúc; Thơng báo số k cĩ trong dãy A ở vị trí cuối cùng là c , rồi kết thúc
Bước 6: Quay lại bước 3;
15’ HĐ2: Viết thuật tốn cho bài tốn 2
Yêu cầu HS xác định bài
tốn
Nêu ý tưởng giải
Viết thuật tốn
Cĩ thể gọi hs lên viết
bằng 2 cách khác nhau
Xác định bài tốn Nêu ý tưởng Viết thuật tốn
Bài 2 : Cho dãy A gồm N số nguyên a1, a2, , aN và một số nguyên k Cần biết số nguyên k xuất hiện bao nhiêu lần trong dãy A
- Thuật tốn:
+ Phương pháp liệt kê:
Bước 1: Nhập N, các số hạng a1, a2, a3, , aN
và khĩa k;
Bước 2: i 1 ; dem 0 Bước 3: Nếu ai = k thì dem dem +1 Bước 4: i i + 1;
Bước 5: Nếu i > N thì
Nếu dem = 0 thi 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; Thơng báo số k xuất hiện dem lần trong dãy
A , rồi kết thúc
Bước 6: Quay lại bước 3;
CỦNG CỐ : Nắm lại các bài toán thông dụng : tìm giá trị lớn nhất, tìm giá trị bé nhất , tìm kiếm
nhị phân , tìm kiếm tuần tự
HƯỚNG DẪN VỀ NHÀ :
- Xem lại toàn bộ nội dung đã học để chuẩn bị kiểm tra 1 tiết vào tiết sau
RÚT KINH NGHIỆM :
………
………
………