Em và bạn hãy thực hiện trò chơi mô phỏng thuật toán tìm kiếm nhị phân
Tin học 7 Bài 13: Thực toán tìm kiếm
Khám phá trang 74 Tin học 7: Em và bạn hãy thực hiện trò chơi mô phỏng thuật toán tìm kiếm nhị phân theo hướng dẫn sau:
a) Chuẩn bị 10 thẻ, mỗi thẻ ghi một số khác nhau. Sắp xếp các thẻ số thành một dãy trên mặt bàn theo thứ tự giá trị tăng dần của số ghi trên thẻ. Đặt úp mặt ghi số để không nhìn thấy số ghi trên các thẻ.
b) Em đề nghị bạn thực hiện thuật toán tìm kiếm nhị phân để tìm một số do em đưa ra.
c) Hoán đổi vai trò, em thực hiện tìm kiếm theo đề nghị của bạn.
Trả lời:
Các em tham khảo hướng dẫn sau:
a) Chuẩn bị 10 thẻ được đánh số tương ứng 2, 3, 5, 7, 9, 13, 15, 18, 23, 25 xếp sắp theo thứ tự tăng dần. Đặt úp mặt ghi số để không nhìn thấy số ghi trên các thẻ.
b) Thẻ số tăng dần: Tìm số 18
Thứ tự
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
Số ghi trên thẻ
|
2
|
3
|
5
|
7
|
9
|
13
|
15
|
18
|
23
|
25
|
Hình 2: Thẻ số tăng dần
Gọi số cần tìm là x = 18.
Bước 1. Lật thẻ ở vị trí giữa của dãy (thẻ thứ 5)
Bước 2. So sánh số cần tìm với số ghi trên thẻ số 5 là 9. Do 9 < 18 nên ta chỉ cần tìm ở nữa sau của dãy thẻ (gồm các thẻ thứ 6, 7, 8, 9, 10).
Bước 3. Lật thẻ vị trí ở giữa của nửa sau (thẻ thứ 7)
Bước 4. So sánh số cần tìm với số ghi trên thẻ số 5 là 18. Kết quả tìm thấy số 18 trong dãy ở vị trí thứ 7 và kết thúc quá trình tìm kiếm.
c) Thay đổi vai trò
Gọi số cần tìm là x = 5.
Bước 1. Lật thẻ ở vị trí giữa của dãy (thẻ thứ 5)
Bước 2. So sánh số cần tìm với số ghi trên thẻ số 5 là 9. Do 9 >5 nên ta chỉ cần tìm ở nữa trước của dãy thẻ (gồm các thẻ thứ 1, 2, 3, 4).
Bước 3. Lật thẻ vị trí ở giữa của nửa trước (thẻ thứ 2)
Bước 4. So sánh số cần tìm với số ghi trên thẻ số 2 là 3. Do 3 < 5 nên ta chỉ cần tìm ở nửa sau của dãy thẻ (gồm các thẻ thứ 3, 4).
Bước 5. Lật thẻ ở vị trí giữa của dãy (thẻ thứ 3)
Bước 4. So sánh số cần tìm với số ghi trên thẻ số 3 là 5. Kết quả tìm thấy số 5 trong dãy ở vị trí thứ 3 và kết thúc quá trình tìm kiếm.
Lời giải bài tập Tin học 7 Bài 13: Thực toán tìm kiếm hay khác: