Năng lực Tin học: Bài học góp phần phát triển cho học sinh HS các năng lực tin học thành phần với các biểu hiện cụ thể sau đây: - NLc: Giải quyết vấn đề với sự hỗ trợ của CNTT và truyền
Trang 1BÁO CÁO SẢN PHẨM NHÓM 4 – LỚP 71K
II BÀI TẬP THẢO LUẬN NHÓM
Làm việc theo nhóm, lựa chọn 1 hoạt động luyện tập và vận dụng trong các KHBD đã soạn, điều chỉnh cho phù hợp và tổ chức hoạt động đó
BÀI LÀM
Trang 2Trường THPT LÊ LỢI Giáo viên: Tổ: Toán - Tin học
KẾ HOẠCH BÀI DẠY
TÊN BÀI DẠY: BÀI 19 BÀI TOÁN TÌM KIẾM
Môn: Tin học - Lớp: 11 Thời gian thực hiện: 2 tiết
I MỤC TIÊU:
1 Về kiến thức: Bài học cung cấp kiến thức sau:
Ý nghĩa của bài toán tìm kiếm trên thực tế
Chương trình tìm kiếm tuần tự và tìm kiếm nhị phân
2 Về năng lực
a Năng lực Tin học: Bài học góp phần phát triển cho học sinh (HS) các năng lực tin học thành phần với các biểu hiện cụ thể sau đây:
- NLc: Giải quyết vấn đề với sự hỗ trợ của CNTT và truyền thông
Biết được ý nghĩa của bài toán tìm kiếm trên thực tế
Biết và thực hiện được chương trình tìm kiếm tuần tự và tìm kiếm nhị phân
Thực hiện được các chương trình tìm kiếm tuần tự và tìm kiếm nhị phân trên một mảng dữ liệu tuyến tính
- NLe: Hợp tác trong môi trường số: Biết cách hợp tác theo nhóm khi tìm
hiểu và làm các nhiệm vụ học tập
Page | 1
Trang 3b Năng lực chung: Bài học góp phần phát triển cho học sinh (HS) các năng lực tin học thành phần với các biểu hiện cụ thể sau đây:
Tự chủ và tự học: biết lắng nghe, tự giác học tập và hoàn thành nhiệm vụ;
tích cực tham gia các hoạt động học tập trong lớp
Giao tiếp và hợp tác: có thói quen trao đổi, giúp đỡ nhau trong học tập; biết
cùng nhau hoàn thành nhiệm vụ học tập theo sự hướng dẫn của GV
Giải quyết vấn đề và sáng tạo: ứng dụng các kiến thức đã học vào thực tế,
phát triển khả năng giải quyết vấn đề có tính tích hợp liên môn giữa Tin học với các môn học khác
3 Về phẩm chất:
Bài học góp phần phát triển cho HS các phẩm chất cốt lõi với các biểu hiện cụ thể sau đây:
− Chăm chỉ: Tích cực tham gia các hoạt động học
− Trách nhiệm: Hoàn thành công việc được giao trong các hoạt động học để báo cáo kết quả
II THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
1 Đối với giáo viên
- Thiết bị dạy học:
Máy tính: đã cài đặt phần mềm Thonny
Máy chiếu
Ảnh code minh họa (phụ lục)
Phiếu học tập (trong phụ lục)
- Học liệu:
Trang 4 Sách giáo khoa: Bài 19 Bài toán tìm kiếm, Bộ sách Kết nối tri thức
Phiếu học tập (Phụ lục)
Bài giảng trình chiếu Bài 19 Bài toán tìm kiếm
Kế hoạch dạy học Bài 19 Bài toán tìm kiếm
2 Đối với học sinh:
- Sách giáo khoa: Bài 19 Bài toán tìm kiếm trang 89, Bộ sách Kết nối tri thức
- Vở ghi, giấy nháp, bút viết
III Tiến trình dạy học
Hoạt động 3 Luyện tập
a Mục tiêu: Củng cố, mở rộng lí thuyết về thuật toán tìm kiếm tuần tự và thuật toán
tìm kiếm nhị phân
b Nội dung: HS làm bài cá nhân hoàn thành quizizz gồm 20 câu hỏi.
Link quizizz (Nếu HS k có đủ thiết bị hoặc không kết nối wifi, GV phát phiếu học tập số 4 cho học sinh)
c Sản phẩm học tập: Bài làm của học sinh.
Đáp án quizizz:
Page | 3
Trang 5d Tổ chức thực hiện:
Bước 1: GV chuyển giao nhiệm vụ học tập
- GV yêu cầu HS làm việc cá nhân hoàn thành 20 câu hỏi trắc nghiệm quizizz (Phiếu học tập số 4)
Bước 2: HS thực hiện nhiệm vụ học tập
- HS làm bài quizizz trong 10 phút
- GV hướng dẫn, theo dõi, hỗ trợ HS nếu cần thiết
Bước 3: Báo cáo kết quả hoạt động và thảo luận
Trang 6- GV chữa bài và giải đáp thắc mắc cho HS.
- HS chữa bài và ghi chép nếu cần
Bước 4: Đánh giá, tổng kết
- GV tổng kết, tuyên dương HS đạt top 3
Hoạt động 4 Vận dụng
a Mục tiêu: HS vận dụng kiến thức, liên hệ với thực tế để giải quyết vấn đề
b Nội dung: HS hoàn thành phiếu học tập số 5.
c Sản phẩm học tập: Chương trình học sinh đã hoàn thành.
d Tổ chức thực hiện:
Bước 1: GV chuyển giao nhiệm vụ học tập
- GV giao Phiếu học tập số 5 cho học sinh:
Bước 2: HS thực hiện nhiệm vụ học tập
- HS thực hiện nhiệm vụ ở nhà
- GV chữa bài trong buổi học tiếp theo
Bước 3: Báo cáo kết quả hoạt động và thảo luận
- GV gợi ý:
Bài 1 Chương trình như sau:
deftim_kiem_tuan_tu( lop_hoc , ten_can_tim ):
for ten in lop_hoc :
if ten == ten_can_tim :
return True
return False
Page | 5
Trang 7 # Nhập danh sách tên học sinh
danh_sach_hoc_sinh = input(" Nhập danh sách tên các học sinh, cách nhau bằng dấ% u cách: ").split(' ')
# Nhập tên cần tìm kiêm
ten_can_tim input(" Nhập tên học sinh cấ( n tìm: ")
# Thực hiện tìm kiêm tuần tự
ket_qua tim_kiem_tuan_tu( danh_sach_hoc_sinh , ten_can_tim )
# Hiên thị kêt qua
if ket_qua :
print( "Tìm thấ% y học sinh có tên { ten_can_tim } trong danh sách." )
else :
print( "Không tìm thấ% y học sinh có tên { ten_can_tim } trong danh sách." )
if name == " main ":
main()
Bài 2
defbinary_search( scores , target_score ):
left , right = 0 len( scores )
while left <= right :
mid left right ) // 2
if scores mid [ ] == target_score :
return mid
elif scores mid [ ] < target_score :
right = mid
else :
left mid + 1
return
-defmain():
# Nhập danh sách điêm số từ người dùng
scores = [int( ) x for x in input(" Nhập danh sách điê> m sô% gia >m dấ( n, cách nhau bở >i dấ% u cách: ").split()]
# Nhập điêm số cần tìm kiêm
target_score int(input(" Nhập điê> m sô% cấ( n tìm kiê% m: "))
Trang 8 # Thực hiện tìm kiêm nhị phần
position binary_search( scores , target_score )
# Hiên thị kêt qua
if position != - : 1
print(" Điê> m sô% {} được tìm thấ% y tại vị trí {} ".format( target_score , position ))
else :
print(" Điê> m sô% {} không tô( n tại trong danh
sách ".format( target_score ))
if name == " main ":
main()
Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập
- GV đánh giá, nhận xét, chuẩn kiến thức
IV HƯỚNG DẪN VỀ NHÀ:
- Ôn lại kiến thức đã học
- Hoàn thành bài tập phần Vận dụng
- Đọc và tìm hiểu trước Bài 20: Thực hành thuật toán tìm kiếm.
Page | 7
Trang 9IV HỒ SƠ HỌC TẬP
1 Phiếu học tập số 1
Phiếu học tập số 1
Với các bài toán tìm kiếm sau, hãy thảo luận về miền dữ liệu và khả năng các kết quả có thể tìm được của bài toán, sau đó hãy ghi kết quả vào phiếu
Bài toán 1 Em cần tìm hình ảnh một chú chó trên Internet để đưa vào bài thuyết trình về loài chó
………
……… Bài toán 2 Em cần tìm một tệp tin có tên là Myhouse.pptx trên máy tính của
em nhưng đã lâu em chưa sử dụng
………
……… Bài toán 3 Em cần tìm 5 bạn học sinh có điểm thi THPT Quốc gia cao nhất cả nước năm 2023
………
………
Trang 10Page | 9
Trang 112 Phiếu học tập số 2
Phiếu học tập số 2
Em hãy điền vào chỗ trống trong sơ đồ khối dưới đây để mô tả thuật toán tìm kiếm tuần tự trong trò chơi lật thẻ:
Hình 1
Hình 1
Trang 123 Phiếu học tập số 3
Phiếu học tập số 3
Dựa vào phần kiến thức đã tìm hiểu, em hãy điền vào ô trống thích hợp để hoàn thiện thuật toán tìm kiếm nhị phân.
Bước 1 Thiết lập các giá trị low, high là chỉ số phần tử đầu và cuối của dãy cần tìm Như vậy cần tìm K trong dãy A[low high]
Ban đầu đặt low = , high =
Bước 2 So sánh K với phần từ giữa dãy A[ ], với mid là phần nguyên của phép chia cho 2 , có 3 trường hợp có thể xảy ra:
+ Nếu thì trả về chỉ số mid và kết thúc chương trình
+ Nếu thì phần tử cần tìm sẽ nằm ở dãy con bên trái của phần tử A[mid], cập nhật giá trị , giữ nguyên giá trị low
+ Nếu thì phần tử cần tìm sẽ nằm ở dãy con bên phải của phần tử A[mid], cập nhật giá trị , giữ nguyên giá trị high
Bước 3 Lặp lại bước 2 cho đến khi tìm thấy phần tử K hoặc phạm vi tìm kiếm bằng (high < low)
Hình 2
Page | 11
Trang 134 Code minh họa thuật toán tìm kiếm nhị phân
defBinarySearch( , ):
low
high len( ) A
while low <= high :
mid low high ) 2
if A mid ] == K
return mid
elif A mid [ ] < K
low mid + 1
else :
high mid - 1
return
-a = [ , , , , , 1 3 5 7 9 11 13 15 21 , , , ]
k =int(input())
pos BinarySearch( a k )
print(' Không tô( n tại sô% k trong dãy sô% a ')
else :
print( "Sô% { } k cấ( n tìm nằm ở > vị trí thứ { pos } trong dãy sô% a" )
Trang 145 Phiếu học tập số 4
Page | 13
Trang 16Page | 15
Trang 18Page | 17
Trang 206 Phiếu học tập số 5.
Phiếu học tập số 5
Bài 1 Viết chương trình tìm kiếm tuần tự trong một danh sách tên học sinh trong
lớp Chương trình yêu cầu người dùng nhập danh sách tên học sinh và sau đó nhập tên học sinh cần tìm Sau đó, chương trình sẽ tìm kiếm tên học sinh đó trong danh sách và thông báo về việc tìm thấy hoặc không tìm thấy.
Bài 2 Cho một danh sách điểm số được sắp xếp theo thứ tự giảm dần Viết chương
trình sử dụng thuật toán tìm kiếm nhị phân để tìm ra vị trí của một điểm số cụ thể trong danh sách Chương trình yêu cầu người dùng nhập điểm số cần tìm kiếm và sau đó thông báo về vị trí của điểm số trong danh sách Nếu điểm số không tồn tại trong danh sách, chương trình cần thông báo “không tồn tại”.
Page | 19