CHỦ ĐỀ: BÀI TOÁN TÌM KIẾM
Bước 1: Lựa chọn chủ đề
Bài toán tìm kiếm ( Tin học 10)
Thời lượng : 5 tiết (từ Tiết PPCT 12 - 16 )
Bước 2: Xác định KTKN và năng lực hướng tới của chủ đề
a) Chuẩn kiến thức, kĩ năng, thái độ theo chương trình hiện hành
1. Yêu cầu về KTKN:
- Kiến thức
• Biết khái niệm bài toán và thuật toán, các đặc trưng chính của thuật toán.
• Hiểu cách biểu diễn thuật toán bằng sơ đồ khối và ngôn ngữ liệt kê.
• Hiểu thuật toán tìm kiếm .
Kỹ năng
2. Về kỹ năng:
• . Xây dựng được thuật toán tìm kiếm trên dãy bằng liệt kê hoặc sơ đồ khối
3. Về thái độ:
- HS hứng thú với bài học khi được làm quen với đi tìm thuật toán cho bài toán
- Rèn luyện tư duy giải quyết bài toán; biết được các quy định nghiêm ngặt khi trình bày thuật toán
b) Năng lực hướng tới:
Sau khi học chủ đề này học sinh đạt được một số năng lực sau:
- Hiểu được khái niệm bài toán, thuật toán tìm kiếm
- Biết vận dụng các thuật toán tìm kiếm để giải bài toán
Bước 3: Bảng mô tả các mức yêu cầu cần đạt cho mỗi loại câu hỏi/bài tập trong chủ
Loại câu
Nội dung
hỏi/bài
Nhận biết
Thông hiểu
Vận dụng thấp
Vận dụng cao
tập
1. Tìm
Hs nhận biết
kiếm
được bài toán
tuần tự
Hs xác định
tìm kiếm thực tế
được bài toán
trong cuộc sống
tìm kiếm tuần tự
Câu hỏi
Câu hỏi
Bài tập
định tính
ND1.TB.NB.1
ND1.TB.NB.2
Hs xác định
được bài toán,
nêu được ý
HS biết xây dựng
tường của bài
thuật toán tìm kiếm
toán tìm kiếm
Bài tập
tuần tự (bằng sơ đò
tuần tự trong
định
khối hoặc liệt kê các
dãy số
lượng
bước)
Câu hỏi
Câu hỏi
ND1.DL.TH.1
ND1.DL.VDT1
ND1.DL.TH.2
ND1.DL.TH.3
Bài tập
Áp dụng thuật toán
Áp dụng thuật
tìm kiếm tuần tự
toán tìm kiếm
giải các bài toán tìm
tuần tự giải các
kiếm trong dãy cơ
bài toán tìm
bản
kiếm trong dãy
Câu hỏi
Câu hỏi
ND1.TB.VDT.1
ND1.TB.VDC.1
ND1.TB.VDC.2
Câu hỏi
ND2.DT.NB.1
2. Bài
ND2.DT.NB.2
toán tìm
ND2.DT.NB.3
kiếm giá
ND2.DT.NB.4
trị lớn
ND2.DT.NB.5
Câu hỏi
nhất
ND2.DL.VDT.1
(max) ,
bé nhất
(min)
Bài tập
ND2.DL.VDT.2
định lượng
ND2.DL.VDT.3
ND2.DL.VDT.4
ND2.DL.VDT.5
Bước 4: Hệ thống câu hỏi/bài tập đánh giá theo các mức đã mô tả
Câu ND1.DT.NB.1: Nêu ví dụ về bài toán tìm kiếm trong cuộc sống?
Câu ND1.DT.TH.1: Đề xuất cách tìm bạn học sinh trong lớp 10a1 có tên là Lê Na
Câu ND1.DL.TH.1: XĐBT?
Câu ND1.DL.TH.2: Chơi trò chơi: có n hộp (n=5) mỗi hộp chứa một số nguyên và có số nguyên k=3 em
hãy tìm ở trong hộp có giá trị nào bằng k hay không và nếu có thì ở hộp thứ máy?
Câu ND1.DL.TH.3: Nêu ý tưởng giải bài toán?
Câu ND1.DL.VDT.1: Trình bày thuật toán?
Câu ND1.BT.VDT.1: Cho dãy A gồm các số a1, a2, .....,an và số nguyên k. . Đếm trong dãy có bao nhiêu
số bằng k?
Câu ND1.BT.VDC.1: Cho dãy A gồm các số a1, a2, .....,an và số nguyên k
a/ Tìm trong dãy vị trí thứ i đầu tiên mà ai = k
b/ Tìm trong dãy vị trí thứ i cuối cùng mà ai = k
Câu ND1.BT.VDC.2: Cho dãy A gồm các số a1, a2, .....,an và số nguyên k
a/ Tìm trong dãy vị trí thứ i đầu tiên mà ai chia hết cho k
b/ Tìm trong dãy vị trí thứ i cuối cùng mà ai chia hết cho k
Câu ND1.BT.VDC.3: Cho dãy A gồm các số a1, a2, .....,an .
a/ Đếm trong dãy có bao nhiêu số chẵn
b/ Đếm trong dãy có bao nhiêu số lẻ ở vị trí chẵn
Ngày soạn 10/10/2017
Tiết PPCT: 12
CHỦ ĐỀ: BÀI TOÁN TÌM KIẾM (Tiết 1)
I. MỤC TIÊU
1.Kiến thức:
- Hiểu được khái niệm: Bài toán tìm kiếm tuần tự
2.Kỹ năng:
- Biết cách xác định được Input và Output của bài toán cụ thể.
- Biết trình bày thuật toán tìm kiếm tuần tự bằng liệt kê các bước hoặc sơ đồ khối
3.Thái độ:
- Rèn luyện ý thức học tập, tìm hiểu các bài toán thường gặp trong tin học
II.CHUẨN BỊ
1- Giáo viên: SGK,SGV, giáo án, một số bài toán tìm kiếm trong cuộc sống và trong tin học
2- Học sinh: SGK, vở ghi, xem trước nội dung bài học.
III.HOẠT ĐỘNG DẠY HỌC:
1. Ổn định lớp, kiểm tra sĩ số:
2. Bài cũ:
3. Nội dung bài mới:
Hoạt động của giáo Viên
Nội dung 1:
Hoạt động của học sinh
1. Bài toán tìm kiếm tuần tự
Câu ND1.DT.NB.1: Nêu ví dụ về bài toán tìm
kiếm trong cuộc sống?
Vd : Tìm cuốn sách tin học 10 trên giá sách
Tìm xem bạn nào trong lớp hôm nay vắng học
Câu ND1.DT.TH.1: Đề xuất cách tìm bạn học
sinh trong lớp 10a1 có tên là Lê Na
Tìm từ đầu danh sách nếu gặp tên Lê Na thì kết thúc
việc tìm kiếm, nếu hết danh sách khòng có thì thông
Danh sách lớp 10a1 có 34 bạn , bạn Viết Hải, ở báo không có bạn tên cần tìm và kết thúc
vị trí số 7 và đến đây dừng việc tìm kiếm còn
bạn Lê Na tìm hết danh sách không có. Ta gọi
Viết Hải và Lê Na là khóa tìm kiếm
Việc tìm kiếm 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 đó với khóa cho đến
khi hoặc gặp một số hạng bằng khoá
hoặc dãy đã được xét hết mà không có
giá trị nào bằng khoá được gọi là tìm
kiếm tuần tự.
Bài toán đặt vấn đề:
Cho dãy A gồm N số nguyên khác nhau
a1,a2,...aN và một số nguyên k, tìm trong dãy có
hay không chỉ số i mà ai = k ( k :gọi là khoá
tìm kiếm)
*) Xác định bài toán:
Input: Dãy A gồm N số nguyên a1,a2...aN; k
Output: i mà ai = k hoặc thông báo dãy A không
Câu ND1.DL.TH.1: XĐBT?
Hs thự hiện trò chơi dưới sự hướng dẫn của giáo viên
Gợi ý :
Câu ND1.DL.TH.2: Chơi trò chơi: có n hộp
(n=5) mỗi hộp chứa một số nguyên và có số
*) Ý tưởng:
nguyên k=3 em hãy tìm ở trong hộp có giá trị
Lần lượt từ số hạng thứ nhất,ta so sánh giá trị số hạng
nào bằng k hay không và nếu có thì ở hộp
đang xét với khoá cho đến khi hoặc gặp một số hạng
thứ mấy ?
bằng khoá hoặc dãy đã xét hết và không có giá trị nào
Câu ND1.DL.TH.3: Nêu ý tưởng giải bài
bằng khoá.
toán?
*) Thuật toán:
Cách liệt kê:
Câu ND1.DL.VDT.1: Trình bày thuật toán?
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 B3.
Sơ đồ khối:
Nhập N và a1, a2..., aN; k
i1
Ai
=K
Đưa ra i rồi
kết thúc
ii+1
i>N
Thông báo dãy A không có số
hạng có giá trị bằng k rồi kết thúc
BƯỚC 6.1: ĐÁNH GIÁ CUỐI NỘ DUNG 1:
1. Cũng cố:
Thuật toán tìm kiếm một cách tự nhiên, lần lượt từ phần tử thứ nhất, ta so sánh giá trị của số hạng đó
với khóa cho tới khi hoặc tìm thấy số hạng có giá trị bằng khóa hoặc xét hết dãy mà không có giá trị nào
bằng khóa, việc tìm kiếm như vậy được gọi là tìm kiếm tuần tự
2. BTVN
Câu ND1.BT.VDT.1: Cho dãy A gồm các số a1, a2, .....,an và số nguyên k. Đếm trong dãy có bao
nhiêu số bằng k?
Câu ND1.BT.VDC.1: Câu ND1.BT.VDC.1: Cho dãy A gồm các số a1, a2, .....,an và số nguyên k
a/ Tìm trong dãy vị trí thứ i đầu tiên mà ai = k
b/ Tìm trong dãy vị trí thứ i cuối cùng mà ai = k
Ngày soạn 15/10/2016
Tiết PPCT: 13
CHỦ ĐỀ: BÀI TOÁN TÌM KIẾM (Tiết 2)
I. MỤC TIÊU
1.Kiến thức:
- Hiểu được khái niệm: Bài toán tìm kiếm tuần tự
2.Kỹ năng:
- Biết cách xác định được Input và Output của bài toán cụ thể.
- Biết trình bày thuật toán tìm kiếm tuần tự bằng liệt kê các bước hoặc sơ đồ khối
- Biết vận dụng thuật toán tìm kiếm tuần tự để giải bài toán
3.Thái độ:
- Rèn luyện ý thức học tập, tìm hiểu các bài toán tìm kiếm thường gặp trong tin học
II.CHUẨN BỊ
1- Giáo viên: SGK,SGV, giáo án, một số bài toán tìm kiếm trong cuộc sống và trong tin học
2- Học sinh: SGK, vở ghi, xem trước nội dung bài học.
III.HOẠT ĐỘNG DẠY HỌC:
1. Ổn định lớp, kiểm tra sĩ số:
2. Bài cũ:
3. Nội dung bài mới:
Hoạt động của giáo Viên
Nội dung 1:
2. Áp dụng
Các nhóm thực hiện các bài tập:
Câu ND1.BT.VDC.1: Cho dãy A gồm các số
a1, a2, .....,an và số nguyên k
a/ Tìm trong dãy vị trí thứ i đầu tiên mà
ai = k
b/ Tìm trong dãy vị trí thứ i cuối cùng
mà ai = k
Hoạt động của học sinh
Nhóm 1,2 làm câu a, nhóm 3,4 làm câu b
Hướng dẫn:
-
-
-
Các số a1, a2, .....,an có thể có số trùng
Câu a.
nhau, trùng số k
*) Xác định bài toán:
Tìm số đầu tiên thỏa mãn thì bắt đầu
Input: Dãy A gồm N số nguyên a1,a2...aN; k
tìm từ số thứ mấy?
Output: i là số đầu tiên mà ai = k hoặc thông báo dãy
Nếu tìm số cuối cùng thì bắt đầu tìm từ
A không
số hạng thứ mấy?
Nếu quá trình tăng biến i thì mỗi lần tăng một
*) Ý tưởng:
đơn vị thì i i + 1; còn mỗi lần giảm i một
Lần lượt từ số hạng thứ nhất,ta so sánh giá trị số hạng
đơn vị thì i i ????
đang xét với khoá cho đến khi hoặc gặp một số hạng
bằng khoá hoặc dãy đã xét hết và không có giá trị nào
bằng khoá.
*) Thuật toán:
Cách liệt kê:
B1: Nhập N, các số hạng khác nhau 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 B3.
Giáo viên yêu cầu:
-
Các nhóm báo cáo kết quả
-
Các nhóm phản biện chéo
Sơ đồ khối:
Nhập N và a1, a2..., aN; k
i1
Giáo viên chốt kết quả
Ai
=K
Đưa ra i rồi
kết thúc
ii+1
i>N
Thông báo dãy A không có số
hạng có giá trị bằng k rồi kết thúc
Khi nào thì bài toán có cùng kết quả với bài
toán tìm kiếm tuần tự?
Câu b
*) Xác định bài toán:
Input: Dãy A gồm N số nguyên a1,a2...aN; k
Output: i là số cuối cùng mà ai = k hoặc thông báo
dãy A không
*) Ý tưởng:
Lần lượt từ số hạng cuối dãy, 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 khoá hoặc dãy đã xét hết và không có giá trị nào
bằng khoá.
*) Thuật toán:
Cách liệt kê:
B1: Nhập N, các số hạng khác nhau a1, a2 ...aN và khoá
k;
B2: i n;
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 < 1 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 B3.
BƯỚC 6.2: ĐÁNH GIÁ CUỐI NỘ DUNG 1:
1. Cũng cố:
Thuật toán tìm kiếm một cách tự nhiên, lần lượt từ phần tử thứ nhất, ta so sánh giá trị của số hạng đó
với khóa cho tới khi hoặc tìm thấy số hạng có giá trị bằng khóa hoặc xét hết dãy mà không có giá trị nào
bằng khóa, việc tìm kiếm như vậy được gọi là tìm kiếm tuần tự
2. BTVN
Câu ND1.BT.VDC.2: Cho dãy A gồm các số a1, a2, .....,an và số nguyên k
a/ Tìm trong dãy vị trí thứ i đầu tiên mà ai chia hết cho k
b/ Tìm trong dãy vị trí thứ i cuối cùng mà ai chia hết cho k
Ngày soạn 17/10/2016
Tiết PPCT: 14
CHỦ ĐỀ: BÀI TOÁN TÌM KIẾM (Tiết 3)
I. MỤC TIÊU
1.Kiến thức:
- Hiểu được khái niệm: Bài toán tìm kiếm tuần tự
2.Kỹ năng:
- Biết cách xác định được Input và Output của bài toán cụ thể.
- Biết trình bày thuật toán tìm kiếm tuần tự bằng liệt kê các bước hoặc sơ đồ khối
- Biết vận dụng thuật toán tìm kiếm tuần tự để giải bài toán
3.Thái độ:
- Rèn luyện ý thức học tập, tìm hiểu các bài toán tìm kiếm thường gặp trong tin học
II.CHUẨN BỊ
1- Giáo viên: SGK,SGV, giáo án, một số bài toán tìm kiếm trong cuộc sống và trong tin học
2- Học sinh: SGK, vở ghi, xem trước nội dung bài học.
III.HOẠT ĐỘNG DẠY HỌC:
1. Ổn định lớp, kiểm tra sĩ số:
2. Bài cũ:
3. Nội dung bài mới:
Hoạt động của giáo Viên
Nội dung 1:
2. Áp dụng
Câu ND1.BT.VDC.2: Cho dãy A gồm các số
a1, a2, .....,an và số k
a/ Đếm trong dãy có bao nhiêu bằng số k
b/ Đếm trong dãy có bao nhiêu số k ở vị trí
chẵn
Hướng dẫn:
-
Các số a1, a2, .....,an có thể có số trùng
Hoạt động của học sinh
nhau, trùng số k
-
Mỗi lần gặp số k ta đếm thêm một giá
trị như vậy đếmđếm + 1
-
-
-
Quá trình duyệt hết dãy không? Ban
Câu a.
đầu sẽ gán đếm bằng bao nhiêu?
*) Xác định bài toán:
Quá trình duyệt từ đầu dãy sẽ khởi tạo
Input: Dãy A gồm N số nguyên a1,a2...aN; k
i=?
Output: i là số đầu tiên mà ai = k hoặc thông báo dãy
Nếu không có giá trị nào bằng k thì kết
A không
thúc thuật toán đếm =?
*) Ý tưởng:
- Ban đầu gán i 1; đếm0
- kiểm tra nếu ai = k thì đếm đếm+1;
- tăng i i + 1;
Quá trình kiểm tra ai = k tăng đếm lặp đi lặp lại cho
tới khi hết dãy
*) Thuật toán:
Cách liệt kê:
B1: Nhập N, các số hạng khác nhau a1, a2 ...aN và khoá
k;
B2: i 1; đếm0
B3: Nếu ai = k thì đếm đếm+1;
B4: i i + 1;
B5: Nếu i > N thì thông báo có đếm số hạng có giá trị
bằng k, rồi kết thúc;
B6: Quay lại B3.
Giáo viên yêu cầu:
Sơ đồ khối:
-
Các nhóm báo cáo kết quả
-
Các nhóm phản biện chéo
Nhập N và a1, a2..., aN; k
i 1, do
Giáo viên chốt kết quả
Ai
=K
dd+1
ii+1
i>N
Thông báo dãy A có d số hạng có
giá trị bằng k rồi kết thúc
BƯỚC 6.3: ĐÁNH GIÁ CUỐI NỘ DUNG 1:
1. Cũng cố:
Thuật toán tìm kiếm một cách tự nhiên, lần lượt từ phần tử thứ nhất, ta so sánh giá trị của số hạng đó
với khóa cho tới khi hoặc tìm thấy số hạng có giá trị bằng khóa hoặc xét hết dãy mà không có giá trị nào
bằng khóa, việc tìm kiếm như vậy được gọi là tìm kiếm tuần tự
2. BTVN
Câu ND1.BT.VDC.3: Cho dãy A gồm các số a1, a2, .....,an .
a/ Đếm trong dãy có bao nhiêu số chẵn ở vị trí lẻ
b/ Đếm trong dãy có bao nhiêu số lẻ ở vị trí chẵn