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

Bài 14: Thuật toán tìm kiếm tuần tự tổng hợp câu hỏi và đáp án cho các câu hỏi trong SGK Tin học 7 Kết nối tri thức. Lời giải sách Tin học 7 này được trình bày chi tiết, dễ hiểu, giúp các em tiếp thu bài nhanh, chuẩn bị bài kỹ lưỡng trước khi tới lớp. Sau đây mời các em tham khảo chi tiết.

Khởi động trang 74 Bài 15 Tin học lớp 7:
Việc kinh doanh mở rộng, số lượng khách hàng của cửa hàng bán giống cây
trồng nhà An lên đến hàng trăm người. Việc tìm kiếm tên khách hàng trong
danh sách thật khó khăn. Em gợi ý cho bạn An để việc tìm kiếm được dễ
dàng hơn không?
Hướng dẫn trả lời:
Để tìm kiếm tên khách hàng trong danh sách được dễ dàng hơn, bạn An nên
sắp xếp tên khách hàng theo thứ tự trong bảng chữ cái.
1. Thuật toán tìm kiếm nhị phân
Hoạt động 1 trang 75 Tin học 7:
Sắp xếp tìm kiếm
Câu 1 trang 75 Tin học lớp 7: 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.
Hướng dẫ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 trang 75 Tin học lớp 7: 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 thực hiện được không?
Hướng dẫn 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.
Câu hỏi trang 76 Tin học lớp 7: Em hãy viết các bước thực hiện thuật toán tìm
kiếm nhị phân để tìm khách hàng tên “Hoà” trong danh sách Hình 15.1
Hướng dẫn trả lời:
Bước 1: Xét vị trí giữa của dãy, đó vị trí số 5
So sánh “Hoà” “Mai”. “H” đứng trước “M” trong bảng chữ cái nên bỏ đi
nữa sau danh sách.
Bước 2: Xét vị trí giữa của nửa đầu của dãy vị trí số 3
So sánh “Hòa” “Hòa”, hai giá trị bằng nhau nên thuật toán kết thúc.
Sau 2 bước đã tìm thấy tên khách hàng tên “Hoà” nên thuật toán kết thúc.
2. Sắp xếp tìm kiếm
Hoạt động 2 trang 77 Tin học 7: T chơi tìm số
Câu hỏi trang 77 Tin học lớp 7:
Chuẩn bị: Hai bạn chơi A, B 10 tấm thẻ ghi 10 số khác nhau (các số đều nhỏ
hơn 20). dụ, 10 số trên các tấm thẻ 2, 3, 5, 6, 8, 9, 11, 15, 16, 18. Giả sử A
giữ 10 tấm thẻ B người tìm kiếm.
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ừ đế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 mở tấm thẻ 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 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 B trong lượt chơi tiếp theo.
Hướng dẫn trả lời:
Các em tìm 1 bạn chơi cùng mình.
Câu hỏi trang 77 Tin học lớp 7:
Em hãy nêu dụ trong thực tế cho thấy mối liên quan giữa sắp xếp tìm
kiếm
Hướng dẫn trả lời:
Trong thực tế trong quản học sinh, danh sách học sinh luôn được sắp xếp
theo chữ cái đầu của tên để dễ tìm kiếm.
Luyện tập, Vận dụng
Luyện tập 1 trang 77 Tin học lớp 7:
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.
b) Em hãy liệt 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.
Hướng dẫn 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 Icelandtrong 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, đó vị trí thứ 5
So sánh “Greenland” “Iceland” “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, đó vị trí thứ 7
So sánh Portugal “Iceland” “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, đó vị trí thứ 6
So sánh “Iceland” “Iceland” 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 trang 77 Tin học lớp 7:
Em hãy cho dụ một bài toán tìm kiếm trong thực tế 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 đó.
Hướng dẫn trả lời:
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 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 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 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 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.
Vận dụng trang 77 Tin học lớp 7:
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 đó?
Hướng dẫn trả lời:
Em tìm một từ tiếng Anh trong quyển từ điển bằng cách chia đổi quyển từ
điển, tìm một từ bất giữa quyển từ điển so sánh với từ cần tìm. Nếu tìm
thấy từ đó thì sẽ kết thúc việc tìm kiếm. Nếu chưa em lại tiếp tục chia quyển từ
điển theo nửa thích hợp, đến khi nào tìm được từ cần tìm thì kết thúc. Em
dùng cách này nhanh chóng thuận tiện hơn tìm kiếm từng từ trong
bảng chữ cái.
| 1/3

Preview text:

Khởi động trang 74 Bài 15 Tin học lớp 7:
Việc kinh doanh mở rộng, số lượng khách hàng của cửa hàng bán giống cây
trồng nhà An lên đến hàng trăm người. Việc tìm kiếm tên khách hàng trong
danh sách thật khó khăn. Em có gợi ý gì cho bạn An để việc tìm kiếm được dễ dàng hơn không? Hướng dẫn trả lời:
Để tìm kiếm tên khách hàng trong danh sách được dễ dàng hơn, bạn An nên
sắp xếp tên khách hàng theo thứ tự trong bảng chữ cái.

1. Thuật toán tìm kiếm nhị phân
Hoạt động 1 trang 75 Tin học 7: Sắp xếp và tìm kiếm
Câu 1 trang 75 Tin học lớp 7: 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. Hướng dẫ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 trang 75 Tin học lớp 7: 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? Hướng dẫn 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.
Câu hỏi trang 76 Tin học lớp 7: Em hãy viết các bước thực hiện thuật toán tìm
kiếm nhị phân để tìm khách hàng tên “Hoà” trong danh sách ở Hình 15.1 Hướng dẫn trả lời:
Bước 1: Xét vị trí ở giữa của dãy, đó là vị trí số 5
So sánh “Hoà” và “Mai”. Vì “H” đứng trước “M” trong bảng chữ cái nên bỏ đi nữa sau danh sách.
Bước 2: Xét vị trí ở giữa của nửa đầu của dãy là vị trí số 3
So sánh “Hòa” và “Hòa”, vì hai giá trị bằng nhau nên thuật toán kết thúc.
Sau 2 bước đã tìm thấy tên khách hàng tên “Hoà” nên thuật toán kết thúc.

2. Sắp xếp và tìm kiếm
Hoạt động 2 trang 77 Tin học 7: Trò chơi tìm số
Câu hỏi trang 77 Tin học lớp 7:
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.
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. Hướng dẫn trả lời:
Các em tìm 1 bạn chơi cùng mình.

Câu hỏi trang 77 Tin học lớp 7:
Em hãy nêu ví dụ trong thực tế cho thấy mối liên quan giữa sắp xếp và tìm kiếm Hướng dẫn trả lời:
Trong thực tế trong quản lý học sinh, danh sách học sinh luôn được sắp xếp
theo chữ cái đầu của tên để dễ tìm kiếm.

Luyện tập, Vận dụng
Luyện tập 1 trang 77 Tin học lớp 7:
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.
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.
Hướng dẫn 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 Icelandtrong 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 trang 77 Tin học lớp 7:
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 đó. Hướng dẫ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.

Vận dụng trang 77 Tin học lớp 7:
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 đó? Hướng dẫn trả lời:
Em tìm một từ tiếng Anh trong quyển từ điển bằng cách chia đổi quyển từ
điển, tìm một từ bất kì ở giữa quyển từ điển và so sánh với từ cần tìm. Nếu tìm
thấy từ đó thì sẽ kết thúc việc tìm kiếm. Nếu chưa em lại tiếp tục chia quyển từ
điển theo nửa thích hợp, đến khi nào tìm được từ cần tìm thì kết thúc. Em
dùng cách này vì nhanh chóng và thuận tiện hơn là tìm kiếm từng từ trong bảng chữ cái.