Sở Giáo dục và Đào tạo TPHCM Trường Đại học Sư phạm TP.HCM
Trường THPT Chuyên Trần Đại Nghĩa Đoàn Thực tập Sư phạm 2015
GVHD: Đỗ Thị Thu Thảo Giáo sinh: Võ Tâm Long
Lớp thực tập: 11 CA2 Bộ môn: Tin học
GIÁO ÁN
BÀI 11 KIỂU MẢNG (TT)
I. Mục tiêu
1. Kiến thức: - Biết giải bài toán tìm kiếm tuần tự đơn giản
2. Kĩ năng: - Thành thạo việc giải các bài toán tìm kiếm tuần tự theo yêu cầu
của bài toán.
3. Thái độ: - Nghiêm túc trong việc làm việc nhóm với các bạn trong lớp.
II.Đồ dùng dạy học
1. Giáo viên: - Sách giáo khoa,giáo án.
2. Học sinh: - Sách giáo khoa,tập ghi,giấy nháp.
III. Hoạt động dạy học
1
Hoạt động mở đầu:Ổn định lớp (2 phút)
Giáo viên Học sinh Nội dung
Hoạt động 1:Tìm
hiểu thuật toán tìm
kiếm tuần tự.
(40 phút)
Mục tiêu:Học sinh
hiểu được bản chất
của thuật toán tìm
kiếm tuần tự.
-Cho bài toán
- Giáo viên chiếu
file input và file
output minh họa.
-Nói rõ về cách xác
định N trong dãy
nguyên A(mảng).
-Giáo viên nói rõ lại
vị trí(chỉ số) của các
số nguyên của mảng
A,phân biệt giữa giá
trị và phần tử của
mảng A.
-Ghi
chép,lắng
nghe giáo
viên
hỏi.Nhớ
lại kiến
thức
trước.
Trả lời
1.Tìm kiếm tuần tự.
• Bài toán: Cho một dãy A gồm N số nguyên khác nhau: a1, a2,.., aN
và một số nguyên k.
Hãy cho biết có phần tử ai nào bằng với k ( ai=k, 1≤ i ≤N).
Nếu có hãy cho biết chỉ số (vị trí) đó.
• Ví dụ:Cho dãy A={5,7,1,4,2,9,8,11,25,51}
2
-Cho dãy số A và
hỏi k ở vi trí nào ?
-Hỏi xác định bài
toán là làm gì ?
input/ouput ?
-Ý tưởng giải bài
toán này là gì ?,
trình bày ngắn gọn ?
-Gợi ý
-Nhắc lại thật nhanh
về thuật toán đã học
ở lớp 10 bằng liệt kê
và sơ đồ khối.
- Trả lời
-Trả lời
-Trả lời
dựa vào
gợi ý của
GV.
-Ghi chép,
hiểu các
+ Với k = 2,thì a5 = 2 => i = 5.
+ Với k = 6,thì không có số hạng nào của a có giá trị bằng 6.
• Xác định bài toán:
Input:Dãy A gồm N số nguyên khác nhau a1, a2,.., aN và số nguyên k.
Output:Chỉ số i mà ai =k hoặc không có số hạng nào của dãy A có giá
trị bằng k.
• Ý tưởng:
+ Tìm kiếm tuần tự từ vị trí đầu đến cuối dãy A.
+ Lần lượt từ số hạng đầu đến số hạng cuối, ta so sánh khóa k cho
đến khi giá trị của số hạng trong dãy A bằng với k thì đưa ra vị trí
của k trong dãy A.
+Nếu không có thì thông báo không có k trong dãy A.
• Thuật toán:
3
-Giải thích cụ
thể,minh họa chi
tiết.
bước của
thuật toán
tìm kiếm
tuần tự.
-Ghi lại và
chú ý lắng
nghe.
 Liệt kê:
Bước 1: Nhập N, các số hạng a1, a2,.., aN và khóa k.
Bước 2: i  1.
Bước 3: Nếu ai = k thì thông báo 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ó 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.
 Sơ đồ khối:
4
-Cho 2 bảng kiểm
thử bằng thuật
toán,khi có k va
không có k trong
dãy A.
- GV cho cả lớp
làm cùng với 2 học
sinh lên bảng làm
- GV nói rõ cách đặt
tên file input và file
output sao cho dễ
nhớ.
-Chú ý
lắng
nghe,trả
lời câu hỏi
của GV
Làm theo
HD của
GV
• Mô phòng thực hiện thuật toán:
k = 2 và N =10
A 5 7 1 4 2 9 8 11 25 51
i 1 2 3 4 5 - - - - -
 Với i = 5 thì a5 = 2
k = 6 và N =10
A 5 7 1 4 2 9 8 11 25 51
i 1 2 3 4 5 7 8 9 10 11
 Với i = 6 thì không có ai có giá trị bằng 6
5
Hoạt động 2: Vận
dụng thuật toán tìm
kiếm tuần tự cho bài
toán cụ thể.
(35 phút)
Mục tiêu:HS vận
dụng được thuật
toán tìm kiếm tuần
tự để giái các bài
toán tương tự.
Cho cả lớp làm toàn
bộ chương trình,sau
đó cho 2 em chấm
chéo nhau. -HS làm
và chấm
2. Vận dụng thuật toán tìm kiếm tuần tự.
• Bài toán: Cho một dãy A gồm N số nguyên : a1, a2,.., aN và một
số nguyên k.
a) Hãy cho biết có bao nhiêu phần tử ai trong dãy A bằng với k
( ai=k, 1≤ i ≤N).
b) Hãy cho biết vị trí của các phần tử ai trong dãy A bằng với k
( ai=k, 1≤ i ≤N).
a)
6
bài nhau.
HS trao
đổi thống
nhất chọn
ra 4 bài
hoàn
b)
7
Hoạt động 3: Đánh
giá, tổng kết bài làm
của học sinh. (10
phút)
Mục tiêu:Giúp HS
hiểu được điểm sai,
điểm đúng của
mình.
-GV chia lớp thành
4 nhóm.
-Sau đó chuẩn bị 4
đoạn chương trình
sai.
-Mỗi nhóm có thời
gian chỉnh sửa
chương trình là 3
phút.
- Cho học sinh của
các nhóm lên sửa lại
cho đúng.
chỉnh.
- HS chia
nhóm, của
nhóm
trưởng.
- HS quan
sát.
- HS phân
chia nhau
thay phiên
lên chỉnh
sửa
- Nhóm 1:
- Lỗi 1:thiếu biến k.
- Lỗi 2: vitri := a[i] là sai,mà phải là vitri := i.
- Lỗi 3: vitri =0 là sai,mà phải là vitri <> 0.
- Nhóm 2:
8
- Lỗi 1:thiếu biến dem.
- Lỗi 2: a[i] <> k là sai,mà phải là a[i] =k.
- Lỗi 3: dem := dem -1 là sai,mà phải là dem := dem + 1.
- Nhóm 3:
9
- Lỗi 1: thiếu biến mảng b.
- Lỗi 2: Chưa đọc giá trị của k trong file timkiem.inp.
- Lỗi 3: b[i] := a[i] là sai, mà phải là a[i] := i.
- Nhóm 4:
10
- Lỗi 1: câu lệnh so sánh a[i] > k là sai,mà phải là a[i]=k.
- Lỗi 2: Thiếu vòng lặp for khi ghi file timkiem.out
IV. Đánh giá tổng kết
• Nội dung đã học:
a. Giải bài toán tìm kiếm phần tử k trong dãy A
b. Giải bài toán đếm số phần tử k trong dãy A
c. Giải bài toán tìm kiếm các vị trí phần tử k trong dãy A
• Câu hỏi,bài tập về nhà:
11
- Cho dãy số nguyên A ,gồm N phần tử .Hãy cho biết giá trị lớn nhất
của tích 2 phần tử bất kỳ của dãy số nguyên A đó.
V. Rút kinh nghiệm,bổ sung
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
Phê duyệt của GVHD TP.HCM, ngày 8/2/2015
Giáo sinh kí tên
12

Kiểu mảng_Tìm kiếm tuần tự

  • 1.
    Sở Giáo dụcvà Đào tạo TPHCM Trường Đại học Sư phạm TP.HCM Trường THPT Chuyên Trần Đại Nghĩa Đoàn Thực tập Sư phạm 2015 GVHD: Đỗ Thị Thu Thảo Giáo sinh: Võ Tâm Long Lớp thực tập: 11 CA2 Bộ môn: Tin học GIÁO ÁN BÀI 11 KIỂU MẢNG (TT) I. Mục tiêu 1. Kiến thức: - Biết giải bài toán tìm kiếm tuần tự đơn giản 2. Kĩ năng: - Thành thạo việc giải các bài toán tìm kiếm tuần tự theo yêu cầu của bài toán. 3. Thái độ: - Nghiêm túc trong việc làm việc nhóm với các bạn trong lớp. II.Đồ dùng dạy học 1. Giáo viên: - Sách giáo khoa,giáo án. 2. Học sinh: - Sách giáo khoa,tập ghi,giấy nháp. III. Hoạt động dạy học 1
  • 2.
    Hoạt động mởđầu:Ổn định lớp (2 phút) Giáo viên Học sinh Nội dung Hoạt động 1:Tìm hiểu thuật toán tìm kiếm tuần tự. (40 phút) Mục tiêu:Học sinh hiểu được bản chất của thuật toán tìm kiếm tuần tự. -Cho bài toán - Giáo viên chiếu file input và file output minh họa. -Nói rõ về cách xác định N trong dãy nguyên A(mảng). -Giáo viên nói rõ lại vị trí(chỉ số) của các số nguyên của mảng A,phân biệt giữa giá trị và phần tử của mảng A. -Ghi chép,lắng nghe giáo viên hỏi.Nhớ lại kiến thức trước. Trả lời 1.Tìm kiếm tuần tự. • Bài toán: Cho một dãy A gồm N số nguyên khác nhau: a1, a2,.., aN và một số nguyên k. Hãy cho biết có phần tử ai nào bằng với k ( ai=k, 1≤ i ≤N). Nếu có hãy cho biết chỉ số (vị trí) đó. • Ví dụ:Cho dãy A={5,7,1,4,2,9,8,11,25,51} 2
  • 3.
    -Cho dãy sốA và hỏi k ở vi trí nào ? -Hỏi xác định bài toán là làm gì ? input/ouput ? -Ý tưởng giải bài toán này là gì ?, trình bày ngắn gọn ? -Gợi ý -Nhắc lại thật nhanh về thuật toán đã học ở lớp 10 bằng liệt kê và sơ đồ khối. - Trả lời -Trả lời -Trả lời dựa vào gợi ý của GV. -Ghi chép, hiểu các + Với k = 2,thì a5 = 2 => i = 5. + Với k = 6,thì không có số hạng nào của a có giá trị bằng 6. • Xác định bài toán: Input:Dãy A gồm N số nguyên khác nhau a1, a2,.., aN và số nguyên k. Output:Chỉ số i mà ai =k hoặc không có số hạng nào của dãy A có giá trị bằng k. • Ý tưởng: + Tìm kiếm tuần tự từ vị trí đầu đến cuối dãy A. + Lần lượt từ số hạng đầu đến số hạng cuối, ta so sánh khóa k cho đến khi giá trị của số hạng trong dãy A bằng với k thì đưa ra vị trí của k trong dãy A. +Nếu không có thì thông báo không có k trong dãy A. • Thuật toán: 3
  • 4.
    -Giải thích cụ thể,minhhọa chi tiết. bước của thuật toán tìm kiếm tuần tự. -Ghi lại và chú ý lắng nghe.  Liệt kê: Bước 1: Nhập N, các số hạng a1, a2,.., aN và khóa k. Bước 2: i  1. Bước 3: Nếu ai = k thì thông báo 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ó 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.  Sơ đồ khối: 4
  • 5.
    -Cho 2 bảngkiểm thử bằng thuật toán,khi có k va không có k trong dãy A. - GV cho cả lớp làm cùng với 2 học sinh lên bảng làm - GV nói rõ cách đặt tên file input và file output sao cho dễ nhớ. -Chú ý lắng nghe,trả lời câu hỏi của GV Làm theo HD của GV • Mô phòng thực hiện thuật toán: k = 2 và N =10 A 5 7 1 4 2 9 8 11 25 51 i 1 2 3 4 5 - - - - -  Với i = 5 thì a5 = 2 k = 6 và N =10 A 5 7 1 4 2 9 8 11 25 51 i 1 2 3 4 5 7 8 9 10 11  Với i = 6 thì không có ai có giá trị bằng 6 5
  • 6.
    Hoạt động 2:Vận dụng thuật toán tìm kiếm tuần tự cho bài toán cụ thể. (35 phút) Mục tiêu:HS vận dụng được thuật toán tìm kiếm tuần tự để giái các bài toán tương tự. Cho cả lớp làm toàn bộ chương trình,sau đó cho 2 em chấm chéo nhau. -HS làm và chấm 2. Vận dụng thuật toán tìm kiếm tuần tự. • Bài toán: Cho một dãy A gồm N số nguyên : a1, a2,.., aN và một số nguyên k. a) Hãy cho biết có bao nhiêu phần tử ai trong dãy A bằng với k ( ai=k, 1≤ i ≤N). b) Hãy cho biết vị trí của các phần tử ai trong dãy A bằng với k ( ai=k, 1≤ i ≤N). a) 6
  • 7.
    bài nhau. HS trao đổithống nhất chọn ra 4 bài hoàn b) 7
  • 8.
    Hoạt động 3:Đánh giá, tổng kết bài làm của học sinh. (10 phút) Mục tiêu:Giúp HS hiểu được điểm sai, điểm đúng của mình. -GV chia lớp thành 4 nhóm. -Sau đó chuẩn bị 4 đoạn chương trình sai. -Mỗi nhóm có thời gian chỉnh sửa chương trình là 3 phút. - Cho học sinh của các nhóm lên sửa lại cho đúng. chỉnh. - HS chia nhóm, của nhóm trưởng. - HS quan sát. - HS phân chia nhau thay phiên lên chỉnh sửa - Nhóm 1: - Lỗi 1:thiếu biến k. - Lỗi 2: vitri := a[i] là sai,mà phải là vitri := i. - Lỗi 3: vitri =0 là sai,mà phải là vitri <> 0. - Nhóm 2: 8
  • 9.
    - Lỗi 1:thiếubiến dem. - Lỗi 2: a[i] <> k là sai,mà phải là a[i] =k. - Lỗi 3: dem := dem -1 là sai,mà phải là dem := dem + 1. - Nhóm 3: 9
  • 10.
    - Lỗi 1:thiếu biến mảng b. - Lỗi 2: Chưa đọc giá trị của k trong file timkiem.inp. - Lỗi 3: b[i] := a[i] là sai, mà phải là a[i] := i. - Nhóm 4: 10
  • 11.
    - Lỗi 1:câu lệnh so sánh a[i] > k là sai,mà phải là a[i]=k. - Lỗi 2: Thiếu vòng lặp for khi ghi file timkiem.out IV. Đánh giá tổng kết • Nội dung đã học: a. Giải bài toán tìm kiếm phần tử k trong dãy A b. Giải bài toán đếm số phần tử k trong dãy A c. Giải bài toán tìm kiếm các vị trí phần tử k trong dãy A • Câu hỏi,bài tập về nhà: 11
  • 12.
    - Cho dãysố nguyên A ,gồm N phần tử .Hãy cho biết giá trị lớn nhất của tích 2 phần tử bất kỳ của dãy số nguyên A đó. V. Rút kinh nghiệm,bổ sung ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… Phê duyệt của GVHD TP.HCM, ngày 8/2/2015 Giáo sinh kí tên 12