Giải sách bài tập Tin học lớp 7 Bài 15: Thuật toán tìm kiếm nhị phân
Câu 15.1 trang 52 SBT Tin học 7: Thuật toán tìm kiếm nhị phân được sử dụng trong trường hợp nào?
A. Tìm một phần tử trong danh sách bất kì.
B. Tìm một phần tử trong danh sách đã được sắp xếp.
Lời giải:
Đáp án đúng là: B
Thuật toán tìm kiếm nhị phân được sử dụng trong trường hợp: Tìm một phần tử trong danh sách đã được sắp xếp.
Câu 15.2 trang 52 SBT Tin học 7: Điều gì xảy ra khi thuật toán tìm kiếm nhị phân không tìm thấy giá trị cần tìm trong danh sách?
A. Tiếp tục tìm kiếm và không bao giờ kết thúc.
B. Thông báo “Tìm thấy” và tìm kiếm xem còn phần tử nào khác nữa không.
C. Thông báo “Tìm thấy” và kết thúc.
D. Thông báo “Không tìm thấy” và kết thúc.
Lời giải:
Đáp án đúng là: D
Khi thuật toán tìm kiếm nhị phân không tìm thấy giá trị cần tìm trong danh sách thì Thông báo “Không tìm thấy” và kết thúc.
Câu 15.3 trang 52 SBT Tin học 7: Chọn câu diễn đạt đúng hoạt động của thuật toán nhị phân:
A. Tìm trên danh sách đã sắp xếp, bắt đầu từ giữa danh sách, chừng nào chưa tìm thấy hoặc chưa tìm hết thì còn tìm tiếp.
B. Tìm trên danh sách đã sắp xếp, bắt đầu từ giữa danh sách, chừng nào chưa tìm thấy hoặc chưa tìm hết thì còn tìm tiếp.
C. Tìm trên danh sách bất kì, bắt đầu từ giữa danh sách, chừng nào chưa tìm thấy hoặc chưa tìm hết thì còn tìm tiếp.
D. Tìm trên danh sách bất kì, bắt đầu từ đầu danh sách, chừng nào chưa tìm thấy hoặc chưa tìm hết thì còn tìm tiếp.
Lời giải:
Đáp án đúng là: B
Hoạt động của tìm kiếm nhị phân: Tìm trên danh sách đã sắp xếp, bắt đầu từ giữa danh sách, chừng nào chưa tìm thấy hoặc chưa tìm hết thì còn tìm tiếp.
Câu 15.4 trang 53 SBT Tin học 7: Thuật toán tìm kiếm nhị phân cần bao nhiêu bước để tìm thấy Mai trong danh sách [“Hoa”, “Lan”, “Mai”, “Phong”, “Vy”]
A. 1 B. 2
C. 3 D. 4
Lời giải:
Đáp án đúng là: C
Thuật toán tìm kiếm nhị phân cần 4 bước để tìm thấy Mai trong danh sách [“Hoa”, “Lan”, “Mai”, “Phong”, “Vy”].
Câu 15.5 trang 53 SBT Tin học 7: Thuật toán tìm kiếm nhị phân cần thực hiện bao nhiêu bước lặp để thông báo không tìm thấy số 15 trong danh sách [3, 5, 7, 11, 12, 25].
A. 2 B. 3
C. 4 D. 5
Lời giải:
Đáp án đúng là: C
Thuật toán tìm kiếm nhị phân cần thực hiện 4 bước lặp để thông báo không tìm thấy số 15 trong danh sách [3, 5, 7, 11, 12, 25].
Câu 15.6 trang 53 SBT Tin học 7: Thực hiện thuật tìm kiếm nhị phân để tìm số 10 trong danh sách [2, 4, 6, 8, 10, 12]. Đầu ra của thuật toán là?
A. Thông báo “Không tìm thấy”
B. Thông báo “Tìm thấy”
C. Thông báo “Tìm thấy”, giá trị cần tìm tại vị trí thứ 5 của danh sách.
D. Thông báo “Tìm thấy”, giá trị cần tìm tại vị trí thứ 6 của danh sách.
Lời giải:
Đáp án đúng là: C
Khi thực hiện thuật tìm kiếm nhị phân để tìm số 10 trong danh sách [2, 4, 6, 8, 10, 12] thì: Đầu ra của thuật toán là: Thông báo “tìm thấy”, giá trị cần tìm tại vị trí thứ 5 của danh sách.
Câu 15.7 trang 53 SBT Tin học 7: Hãy ghép mỗi nội dung ở cột A với mỗi nội dung ở cột B để xác định đầu vào và đầu ra của thuật toán tìm kiếm nhị phân.
Lời giải:
1 – c, d
2 – a, b
Câu 15.8 trang 53 SBT Tin học 7: Em hãy điền các cụm từ: giá trị cần tìm xuất hiện ở vị trí giữa, nửa sau, “Không tìm thấy”, nửa trước vào chỗ chấm (…..) được đánh số trong các câu sau để được mô tả chính xác về thuật toán tìm kiếm nhị phân.
Bước 1. Nếu vùng tìm kiếm không có phần tử nào thì kết luận ………(1)…….và thuật toán kết thúc.
Bước 2. Xác định vị trí giữa vùng tìm kiếm. Vị trí này chia vùng tìm kiếm thành hai nửa: nửa trước và nửa sau vị trí giữa.
Bước 3. Nếu giá trị cần tìm bằng giá trị của vị trí giữa thì kết luận…….(2)……và thuật toán kết thúc.
Bước 4. Nếu giá trị cần tìm nhỏ hơn giá trị của vị trí giữa thì cùng tìm kiếm mới được thu hẹp lại, chỉ còn ……..(3)……của dãy.
Ngược lại (nếu giá trị cần tìm lớn hơn giá trị của vị trí giữa thì vùng tìm kiếm mới được thu hẹp lại, chỉ còn …………(4)………… của dãy.
Bước 5. Lặp lại Bước 1 đến Bước 5 cho đến vùng tìm kiếm không khi còn phần tử nào (Bước 1) hoặc tìm thấy giá trị cần tìm (Bước 3).
Lời giải:
(1) “Không tìm thấy”
(2) giá trị cần tìm xuất hiện ở vịt trí giữa.
(3) nửa trước
(4) nửa sau
Câu 15.9 trang 54 SBT Tin học 7: Cho bảng điểm môn Tin học của học của tổ một như sau:
a) Em hãy sắp xếp lại danh sách theo thứ tự tăng dần của Điểm.
b) Em hãy liệt kê các bước lặp thực hiện thuật toán tìm kiếm nhị phân để tìm học sinh được 9,5 môn Tin học. Hãy cho biết tên học sinh đó.
Lời giải:
a) Danh sách học sinh sắp xếp theo thứ tự tăng dần của Điểm là:
b) Các bước thực hie thuật toán tìm kiếm nhị phân để tìm học sinh được điểm 9,5 môn Tin:
Vùng tìm kiếm là dãy số: 7,5 8,0 8,5 9,0 9,5 10
Bước 1. Chọn phần tử ở giữa, đó là 8,5. So sánh ta có 9,5 > 8,5, do đó vùng tìm kiếm thu hẹp chỉ còn nửa sau của danh sách.
Bước 2. Chọn phần tử ở giữa, đó là 9,5. So sánh ta có 9,5 = 9,5, tìm thấy giá trị cần tìm nên thuật toán dừng lại.
Thông báo: Bạn Ngô Phương Thảo được điểm 9,5 môn Tin học.
Câu 15.10 trang 54 SBT Tin học 7: Thực hành: Em hãy tìm kiếm thông tin trên internet để lập bảng danh sách khoảng 10 cuốn sách mà em yêu thích và đơn giá của mỗi cuốn sách. Sau đó thực hiện thuật toán tìm kiếm nhị phân để tìm cuốn sách mà em thích nhất trong sanh sách vừa tìm được và cho biết đơn giá của cuốn sách đó.
Lời giải:
Hướng dẫn:
Bước 1. Tìm kiếm thông tin trên Internet, lập bảng danh sách khoảng 10 cuốn sách và đơn giá của mỗi cuốn sách.
Bước 2. Sắp xếp tên sách theo thứ tự của bảng chữ cái.
Bước 3. Chỉ ra tên một cuốn sách mà em thích nhất.
Bước 4. Liệt kê các bước thực hiện thuật toán tìm kiếm nhị phân đề tìm tên cuốn sách mà em thích nhất trong danh sách ở Bước 2.
Bước 5. Ghi ra đơn giá của cuốn sách tìm thấy ở Bước 4.
Xem thêm các bài giải SBT Tin học lớp 7 Kết nối tri thức hay, chi tiết khác:
Bài 12: Định dạng đối tượng trên trang chiếu
Bài 13: Thực hành tổng hợp: Hoàn thiện bài trình chiếu
Bài 14: Thuật toán tìm kiếm tuần tự
Bài 15: Thuật toán tìm kiếm nhị phân
Bài 16: Thuật toán sắp xếp