Bài 15: Thuật toán tìm kiếm nhị phân | Giải Tin học lớp 7 sách Kết nối tri thức

Bài 15: Thuật toán tìm kiếm nhị phân | Giải Tin học lớp 7 sách Kết nối tri thức được trình bày khoa học, chi tiếtgiúp cho các bạn học sinh chuẩn bị bài một cách nhanh chóng và đầy đủ đồng thời giúp quý thầy cô tham khảo để soạn giáo án cho học sinh của mình. Thầy cô và các bạn xem, tải về ở bên dưới.

1
Tin học lớp 7 bài 15: Thuật toán tìm kiếm nhị phân
Giải Tin học 7 bài 15 phần Hoạt động
Hoạt động 1
Câu 1: Em hãy cho biết thut toán tìm kiếm tun tphi thc hin bao nhiêu
c đ tìm đưc khách hàng tên “Trúc” trong danh sách Hình 15.1? Em hãy
so sánh sc thc hin ca thut toán tìm kiếm tun tvới sc thc hin
của thut toán tìm kiếm nhphân.
Trả lời:
Thut toán tìm kiếm tun tphi thc hin 8 ln đtìm đưc khách hàng tên
“Trúc”. Thut toán tìm kiếm nhphân chthc hin 3 ln ln đtìm đưc khách
hàng tên “Trúc”.
Câu 2: Theo em trưc khi thc hin thut toán tìm kiếm nhphân, danh sách
khách hàng cn thomãn điu kin gì? Nếu không thomãn điu kin đó, thut
toán tìm kiếm nhphân có thc hin đưc không?
Trả lời:
Trưc khi thc hin thut toán tìm kiếm nhphân, danh sách khách hàng cn
sắp xếp theo thtự từ nh đến ln. Nếu không sp xếp th tự từ nhđến ln thì
thut toán tìm kiếm nhphân không thc hin đưc.
Hoạt động 2
Chun bị: Hai bn chơi A, B và 10 tm thghi 10 skhác nhau (các số đều nh
hơn 20). Ví d, 10 strên các tm thlà 2, 3, 5, 6, 8, 9, 11, 15, 16, 18. Giả sử A
gi10 tm thvà B là ngưi tìm kiếm.
2
Yêu cu: Bạn B sdụng thut toán tìm kiếm nhphân đ tìm mt snhhơn
20 trong các tm thẻ của bn A.
Cách chơi:
c 1. A úp ln t 10 chiếc thlên bàn theo thtự các stđến
lớn.
c 2. B cho A biết con smình cn tìm.
c 3. B chn tm thẻ ở vị trí gia.
c 4. A hé m tấm thvà trli B bng cách nói mt trong ba cm t:
“bng nhau”, “ln hơn” hoc “bé hơn” tuthuc vào kết quso sánh s
bạn B cn tìm vi số ở vị trí gia ca dãy.
c 5. Tu vào câu trlời ca A mà B chn na dãy tiếp theo đtìm
kiếm.
c 6. Lp li các c 3, 4, 5 cho đến khi B tìm thy scần tìm hoc
đã tìm hết dãy số.
c 7. Hoán đi vtrí ca A và B trong lưt chơi tiếp theo.
Trả lời:
Các em tìm 1 bn chơi cùng mình.
Giải Luyện tập Tin học 7 bài 15
Luyện tập 1
Cho danh sách tên các nưc sau đây:
Bolivia, Albania, Scotland, Canada, Vietnam, Iceland, Portugal, Greenland,
Germany
a) Em hãy sp xếp danh sách tên các nưc theo thứ tự trong bng chcái.
3
b) Em hãy lit các c tìm kiếm tên c Iceland trong danh sách đã sp
xếp theo thut toán tìm kiếm nhphân.
c) Em hãy so sánh sc thc hin tìm kiếm phần b vi sc thc hin
tìm kiếm Câu 2 phn Luyn tp ca bài 14.
Trả lời:
a) Danh sách tên các c theo th tự trong bng ch cái: Albania, Bolivia,
Canada, Germany, Greenland, Iceland, Portugal, Scotland, Vietnam.
b) Các c tìm kiếm tên c Iceland trong danh sách đã sp xếp theo thut
toán tìm kiếm nhphân:
c 1: Xét vtrí gia ca dãy, đó là vtrí thứ 5
So sánh “Greenland” và “Iceland” vì “G” đng trưc “I” trong bng ch cái nên
bỏ đi na đu danh sách.
c 2: Xét vtrí gia ca na sau ca dãy, đó là vtrí th 7
So sánh Portugal “Iceland” “P” đng sau “I” trong bng chcái nên bđi
nữa sau danh sách.
c 3: Xét vtrí gia ca dãy, đó là vtrí thứ 6
So sánh “Iceland” và “Iceland” vì hai giá trị bằng nhau nên thut toán kết thúc.
Sau 3 bưc đã tìm thy tên nưc “Iceland” nên thut toán kết thúc.
Luyện tập 2
4
Em hãy cho dmột bài toán tìm kiếm trong thc tế ththc hin bng
thut toán tìm kiếm nhphân? Hãy thc hin thut toán tìm kiếm nhphân đ
gii quyết bài toán đó.
Trả lời:
Ví d: Tìm tên mt bn trong danh sách lp.
- Danh sách lp, tên hc sinh đưc sp xếp theo thứ tự trong bng ch cái.
Để tìm tên mt hc sinh, chúng ta ththc hin thut toán tìm kiếm nh
phân đtìm kiếm.
- ng dn tìm tên bạn Nga, (giả sử trong lp không có tên trùng nhau).
+ Chúng ta, xem xét từ vị trí gia sách. So sánh tên cn tìm vi tên vị trí xét.
Nếu kí tự đầu ca tên đng trưc vn N thì tên cn tìm ở nửa sau danh sách.
Nếu kí tự đầu ca tên đng sau vn N thì tên cần tìm ở nửa trưc ca danh sách.
Nếu tên trùng nhau thì dng li.
+ Nếu chưa tìm thy thì tiếp tc tìm như bưc trên.
Giải Vận dụng Tin học 7 bài 15
Em tìm mt t tiếng Anh trong quyn tđin theo cách nào? Ti sao em li
dùng cách đó?
Trả lời:
Em tìm một ttiếng Anh trong quyn tđin theo cách tìm kiếm nhphân.
5
Giscun tđin khong 300 nghìn mc t. Nếu tìm kiếm tun tthì mt
rất nhiu thi gian. Nếu tra mt ttrong tđin bng cách tìm kiếm nhphân thì
sau mt ln chia đôi, phm vi tìm kiếm gim đi.
| 1/5

Preview text:

Tin học lớp 7 bài 15: Thuật toán tìm kiếm nhị phân
Giải Tin học 7 bài 15 phần Hoạt động Hoạt động 1
Câu 1: Em hãy cho biết thuật toán tìm kiếm tuần tự phải thực hiện bao nhiêu
bước để tìm được khách hàng tên “Trúc” trong danh sách ở Hình 15.1? Em hãy
so sánh số bước thực hiện của thuật toán tìm kiếm tuần tự với số bước thực hiện
của thuật toán tìm kiếm nhị phân. Trả lời:
Thuật toán tìm kiếm tuần tự phải thực hiện 8 lần để tìm được khách hàng tên
“Trúc”. Thuật toán tìm kiếm nhị phân chỉ thực hiện 3 lần lần để tìm được khách hàng tên “Trúc”.
Câu 2: Theo em trước khi thực hiện thuật toán tìm kiếm nhị phân, danh sách
khách hàng cần thoả mãn điều kiện gì? Nếu không thoả mãn điều kiện đó, thuật
toán tìm kiếm nhị phân có thực hiện được không? Trả lời:
Trước khi thực hiện thuật toán tìm kiếm nhị phân, danh sách khách hàng cần
sắp xếp theo thứ tự từ nhỏ đến lớn. Nếu không sắp xếp thứ tự từ nhỏ đến lớn thì
thuật toán tìm kiếm nhị phân không thực hiện được. Hoạt động 2
Chuẩn bị: Hai bạn chơi A, B và 10 tấm thẻ ghi 10 số khác nhau (các số đều nhỏ
hơn 20). Ví dụ, 10 số trên các tấm thẻ là 2, 3, 5, 6, 8, 9, 11, 15, 16, 18. Giả sử A
giữ 10 tấm thẻ và B là người tìm kiếm. 1
Yêu cầu: Bạn B sử dụng thuật toán tìm kiếm nhị phân để tìm một số nhỏ hơn
20 trong các tấm thẻ của bạn A. Cách chơi:
• Bước 1. A úp lần lượt 10 chiếc thẻ lên bàn theo thứ tự các số từ bé đến lớn.
• Bước 2. B cho A biết con số mình cần tìm.
• Bước 3. B chọn tấm thẻ ở vị trí giữa.
• Bước 4. A hé mở tấm thẻ và trả lời B bằng cách nói một trong ba cụm từ:
“bằng nhau”, “lớn hơn” hoặc “bé hơn” tuỳ thuộc vào kết quả so sánh số
bạn B cần tìm với số ở vị trí giữa của dãy.
• Bước 5. Tuỳ vào câu trả lời của A mà B chọn nửa dãy tiếp theo để tìm kiếm.
• Bước 6. Lặp lại các bước 3, 4, 5 cho đến khi B tìm thấy số cần tìm hoặc đã tìm hết dãy số.
• Bước 7. Hoán đổi vị trí của A và B trong lượt chơi tiếp theo. Trả lời:
Các em tìm 1 bạn chơi cùng mình.
Giải Luyện tập Tin học 7 bài 15 Luyện tập 1
Cho danh sách tên các nước sau đây:
Bolivia, Albania, Scotland, Canada, Vietnam, Iceland, Portugal, Greenland, Germany
a) Em hãy sắp xếp danh sách tên các nước theo thứ tự trong bảng chữ cái. 2
b) Em hãy liệt kê các bước tìm kiếm tên nước Iceland trong danh sách đã sắp
xếp theo thuật toán tìm kiếm nhị phân.
c) Em hãy so sánh số bước thực hiện tìm kiếm ở phần b với số bước thực hiện
tìm kiếm ở Câu 2 phần Luyện tập của bài 14. Trả lời:
a) Danh sách tên các nước theo thứ tự trong bảng chữ cái: Albania, Bolivia,
Canada, Germany, Greenland, Iceland, Portugal, Scotland, Vietnam.
b) Các bước tìm kiếm tên nước Iceland trong danh sách đã sắp xếp theo thuật
toán tìm kiếm nhị phân:
Bước 1: Xét vị trí ở giữa của dãy, đó là vị trí thứ 5
So sánh “Greenland” và “Iceland” vì “G” đứng trước “I” trong bảng chữ cái nên
bỏ đi nữa đầu danh sách.
Bước 2: Xét vị trí ở giữa của nữa sau của dãy, đó là vị trí thứ 7
So sánh Portugal và “Iceland” vì “P” đứng sau “I” trong bảng chữ cái nên bỏ đi nữa sau danh sách.
Bước 3: Xét vị trí ở giữa của dãy, đó là vị trí thứ 6
So sánh “Iceland” và “Iceland” vì hai giá trị bằng nhau nên thuật toán kết thúc.
Sau 3 bước đã tìm thấy tên nước “Iceland” nên thuật toán kết thúc. Luyện tập 2 3
Em hãy cho ví dụ một bài toán tìm kiếm trong thực tế mà có thể thực hiện bằng
thuật toán tìm kiếm nhị phân? Hãy thực hiện thuật toán tìm kiếm nhị phân để
giải quyết bài toán đó. Trả lời:
Ví dụ: Tìm tên một bạn trong danh sách lớp.
- Danh sách lớp, tên học sinh được sắp xếp theo thứ tự trong bảng chữ cái.
⇒ Để tìm tên một học sinh, chúng ta có thể thực hiện thuật toán tìm kiếm nhị phân để tìm kiếm.
- Hướng dẫn tìm tên bạn Nga, (giả sử trong lớp không có tên trùng nhau).
+ Chúng ta, xem xét từ vị trí giữa sách. So sánh tên cần tìm với tên ở vị trí xét.
Nếu kí tự đầu của tên đứng trước vần N thì tên cần tìm ở nửa sau danh sách.
Nếu kí tự đầu của tên đứng sau vần N thì tên cần tìm ở nửa trước của danh sách.
Nếu tên trùng nhau thì dừng lại.
+ Nếu chưa tìm thấy thì tiếp tục tìm như bước trên.
Giải Vận dụng Tin học 7 bài 15
Em tìm một từ tiếng Anh trong quyển từ điển theo cách nào? Tại sao em lại dùng cách đó? Trả lời:
Em tìm một từ tiếng Anh trong quyển từ điển theo cách tìm kiếm nhị phân. 4
Giả sử cuốn từ điển có khoảng 300 nghìn mục từ. Nếu tìm kiếm tuần tự thì mất
rất nhiều thời gian. Nếu tra một từ trong từ điển bằng cách tìm kiếm nhị phân thì
sau một lần chia đôi, phạm vi tìm kiếm giảm đi. 5