Thực hành mô phỏng thuật toán tìm kiếm, sắp xếp trang 90 SGK Tin Học lớp 7 – Cánh Diều, mời các em tham khảo cùng Bumbii.
Chủ đề F. Giải quyết vấn đề với sự trợ giúp của máy tính. Bài 5. Thực hành mô phỏng các thuật toán tìm kiếm, sắp xếp.
Bài 1
Cho dãy số ban đầu
a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 |
8 | 17 | 23 | 1 | 12 | 7 | 5 | 1 | 13 | 10 |
Hãy mô phỏng thuật toán tìm kiếm tuần tự một số trong dãy số bằng cách trình bày diễn biến các bước thực hiện dưới dạng bảng.
1) Tìm x = 5;
2) Tìm x = 6.
Đáp án: Mô phỏng thuật toán tìm kiếm tuần tự
1) Tìm x = 5;
Dãy xuất phát
a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 |
8 | 17 | 23 | 1 | 12 | 7 | 5 | 1 | 13 | 10 |
Tìm x = 5. Các bước thực hiện tìm kiếm như sau:
Bước | Thực hiện |
1 | So sánh số ở đầu với x: Vì a1 = 8 ≠ x nên chuyển sang xét số tiếp theo a2 trong dãy |
2 | So sánh số đang xét với x: Vì a2 = 17 ≠ x nên chuyển sang xét số tiếp theo a3 trong dãy |
3 | So sánh số đang xét với x: Vì a3 = 23 ≠ x nên chuyển sang xét số tiếp theo a4 trong dãy |
4 | So sánh số đang xét với x: Vì a4 = 1 ≠ x nên chuyển sang xét số tiếp theo a5 trong dãy |
5 | So sánh số đang xét với x: Vì a5 = 12 ≠ x nên chuyển sang xét số tiếp theo a6 trong dãy |
6 | So sánh số đang xét với x: Vì a6 = 7 ≠ x nên chuyển sang xét số tiếp theo a7 trong dãy |
7 | So sánh số đang xét với x: Vì a7 = 5 = x Kết luận: Tìm thấy x ở vị trí thứ bảy trong dãy; kết thúc thuật toán. |
2) Tìm x = 6.
Dãy xuất phát
a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 |
8 | 17 | 23 | 1 | 12 | 7 | 5 | 1 | 13 | 10 |
Tìm x = 5. Các bước thực hiện tìm kiếm như sau:
Bước | Thực hiện |
1 | So sánh số ở đầu với x: Vì a1 = 8 ≠ x nên chuyển sang xét số tiếp theo a2 trong dãy |
2 | So sánh số đang xét với x: Vì a2 = 17 ≠ x nên chuyển sang xét số tiếp theo a3 trong dãy |
3 | So sánh số đang xét với x: Vì a3 = 23 ≠ x nên chuyển sang xét số tiếp theo a4 trong dãy |
4 | So sánh số đang xét với x: Vì a4 = 1 ≠ x nên chuyển sang xét số tiếp theo a5 trong dãy |
5 | So sánh số đang xét với x: Vì a5 = 12 ≠ x nên chuyển sang xét số tiếp theo a6 trong dãy |
6 | So sánh số đang xét với x: Vì a6 = 7 ≠ x nên chuyển sang xét số tiếp theo a7 trong dãy |
7 | So sánh số đang xét với x: Vì a7 = 5 ≠ x nên chuyển sang xét số tiếp theo a8 trong dãy |
8 | So sánh số đang xét với x: Vì a8 = 1 ≠ x nên chuyển sang xét số tiếp theo a9 trong dãy |
9 | So sánh số đang xét với x: Vì a9 = 13 ≠ x nên chuyển sang xét số tiếp theo a10 trong dãy |
10 | So sánh số cuối dãy với x: Vì a10 = 10 ≠ x Kết luận: Không tìm thấy x ở trong dãy; kết thúc thuật toán. |
Bài 2
Cho dãy số ban đầu như trong Bài 1. Bằng cách trình bày thông tin dưới dạng bảng, hãy mô phỏng diễn biến các bước thuật toán sắp xếp chọn để sắp xếp dãy số theo chiều không tăng.
Gợi ý: Dựa theo cách làm trong Bài “Sắp xếp chọn”.
Đáp án:
Dãy (a) | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | Giải thích |
Ban đầu | 8 | 17 | 23 | 1 | 12 | 7 | 5 | 1 | 13 | 10 | Tiếp theo: đổi chỗ 23 và a1. |
Sau bước 1 | 23 | 17 | 8 | 1 | 12 | 7 | 5 | 1 | 13 | 10 | Tiếp theo: không đổi chỗ |
Sau bước 2 | 23 | 17 | 8 | 1 | 12 | 7 | 5 | 1 | 13 | 10 | Tiếp theo: đổi chỗ 13 và a3. |
Sau bước 3 | 23 | 17 | 13 | 1 | 12 | 7 | 5 | 1 | 8 | 10 | Tiếp theo: đổi chỗ 12 và a4. |
Sau bước 4 | 23 | 17 | 13 | 12 | 1 | 7 | 5 | 1 | 8 | 10 | Tiếp theo: đổi chỗ 10 và a5. |
Sau bước 5 | 23 | 17 | 13 | 12 | 10 | 7 | 5 | 1 | 8 | 1 | Tiếp theo: đổi chỗ 8 và a6. |
Sau bước 6 | 23 | 17 | 13 | 12 | 10 | 8 | 5 | 1 | 7 | 1 | Tiếp theo: đổi chỗ 7 và a7. |
Sau bước 7 | 23 | 17 | 13 | 12 | 10 | 8 | 7 | 1 | 5 | 1 | Tiếp theo: đổi chỗ 5 và a8. |
Sau bước 8 | 23 | 17 | 13 | 12 | 10 | 8 | 7 | 5 | 1 | 1 | Tiếp theo: Không đổi chỗ |
Sau bước 9 | 23 | 17 | 13 | 12 | 10 | 8 | 7 | 5 | 1 | 1 | Tiếp theo: Không đổi chỗ |
Dãy kết quả | 23 | 17 | 13 | 12 | 10 | 8 | 7 | 5 | 1 | 1 |
Bài 3
Cho dãy số ban đầu như trong Bài 1. Bằng cách trình bày thông tin dưới dạng bảng, hãy mô phỏng diễn biến các bước của thuật toán sắp xếp nổi bọt để sắp xếp dãy số theo chiều không tăng.
Gợi ý: Dựa theo cách làm trong Bài “Sắp xếp nổi bọt”.
Đáp án:
Lượt thứ nhất:
a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | Giải thích |
8 | 17 | 23 | 1 | 12 | 7 | 5 | 1 | 13 | 10 | |
8 | 17 | 23 | 1 | 12 | 7 | 5 | 1 | 13 | 10 | |
8 | 17 | 23 | 1 | 12 | 7 | 5 | 1 | 13 | 10 | Đổi chỗ |
8 | 17 | 1 | 23 | 12 | 7 | 5 | 1 | 13 | 10 | Đổi chỗ |
8 | 17 | 1 | 12 | 23 | 7 | 5 | 1 | 13 | 10 | Đổi chỗ |
8 | 17 | 1 | 12 | 7 | 23 | 5 | 1 | 13 | 10 | Đổi chỗ |
8 | 17 | 1 | 12 | 7 | 5 | 23 | 1 | 13 | 10 | Đổi chỗ |
8 | 17 | 1 | 12 | 7 | 5 | 1 | 23 | 13 | 10 | Đổi chỗ |
8 | 17 | 1 | 12 | 7 | 5 | 1 | 13 | 23 | 10 | Đổi chỗ |
8 | 17 | 1 | 12 | 7 | 5 | 1 | 13 | 10 | 23 | Hết lượt 1 |
Lượt thứ hai:
a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | Giải thích |
8 | 17 | 1 | 12 | 7 | 5 | 1 | 13 | 10 | 23 | |
8 | 17 | 1 | 12 | 7 | 5 | 1 | 13 | 10 | 23 | Đổi chỗ |
8 | 1 | 17 | 12 | 7 | 5 | 1 | 13 | 10 | 23 | Đổi chỗ |
8 | 1 | 12 | 17 | 7 | 5 | 1 | 13 | 10 | 23 | Đổi chỗ |
8 | 1 | 12 | 7 | 17 | 5 | 1 | 13 | 10 | 23 | Đổi chỗ |
8 | 1 | 12 | 7 | 5 | 17 | 1 | 13 | 10 | 23 | Đổi chỗ |
8 | 1 | 12 | 7 | 5 | 1 | 17 | 13 | 10 | 23 | Đổi chỗ |
8 | 1 | 12 | 7 | 5 | 1 | 13 | 17 | 10 | 23 | Đổi chỗ |
8 | 1 | 12 | 7 | 5 | 1 | 13 | 10 | 17 | 23 | |
8 | 1 | 12 | 7 | 5 | 1 | 13 | 10 | 17 | 23 | Hết lượt 2 |
Lượt thứ ba:
a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | Giải thích |
8 | 1 | 12 | 7 | 5 | 1 | 13 | 10 | 17 | 23 | Đổi chỗ |
1 | 8 | 12 | 7 | 5 | 1 | 13 | 10 | 17 | 23 | |
1 | 8 | 12 | 7 | 5 | 1 | 13 | 10 | 17 | 23 | Đổi chỗ |
1 | 8 | 7 | 12 | 5 | 1 | 13 | 10 | 17 | 23 | Đổi chỗ |
1 | 8 | 7 | 5 | 12 | 1 | 13 | 10 | 17 | 23 | Đổi chỗ |
1 | 8 | 7 | 5 | 1 | 12 | 13 | 10 | 17 | 23 | |
1 | 8 | 7 | 5 | 1 | 12 | 13 | 10 | 17 | 23 | Đổi chỗ |
1 | 8 | 7 | 5 | 1 | 12 | 10 | 13 | 17 | 23 | |
1 | 8 | 7 | 5 | 1 | 12 | 10 | 13 | 17 | 23 | |
1 | 8 | 7 | 5 | 1 | 12 | 10 | 13 | 17 | 23 | Hết lượt 3 |
Lượt thứ tư:
a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | Giải thích |
1 | 8 | 7 | 5 | 1 | 12 | 10 | 13 | 17 | 23 | |
1 | 8 | 7 | 5 | 1 | 12 | 10 | 13 | 17 | 23 | Đổi chỗ |
1 | 7 | 8 | 5 | 1 | 12 | 10 | 13 | 17 | 23 | Đổi chỗ |
1 | 7 | 5 | 8 | 1 | 12 | 10 | 13 | 17 | 23 | Đổi chỗ |
1 | 7 | 5 | 1 | 8 | 12 | 10 | 13 | 17 | 23 | |
1 | 7 | 5 | 1 | 8 | 12 | 10 | 13 | 17 | 23 | Đổi chỗ |
1 | 7 | 5 | 1 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 7 | 5 | 1 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 7 | 5 | 1 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 7 | 5 | 1 | 8 | 10 | 12 | 13 | 17 | 23 | Hết lượt 4 |
Lượt thứ năm:
a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | Giải thích |
1 | 7 | 5 | 1 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 7 | 5 | 1 | 8 | 10 | 12 | 13 | 17 | 23 | Đổi chỗ |
1 | 5 | 7 | 1 | 8 | 10 | 12 | 13 | 17 | 23 | Đổi chỗ |
1 | 5 | 1 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 5 | 1 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 5 | 1 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 5 | 1 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 5 | 1 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 5 | 1 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 5 | 1 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | Hết lượt 5 |
Lượt thứ sáu:
a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | Giải thích |
1 | 5 | 1 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 5 | 1 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | Đổi chỗ |
1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | Hết lượt 6 |
Lượt thứ bảy:
a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | Giải thích |
1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | |
1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 | Hết lượt 7 |
Dãy đã sắp xếp xong; thuật toán kết thúc.
Bài 4
Hãy mô phỏng thuật toán tìm kiếm nhị phân trong dãy số đã sắp thứ tự là kết quả của Bài 2 và Bài 3.
1) Tìm x = 5;
2) Tìm x = 6.
Đáp án:
1) Tìm x = 5;
Dãy (a) | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 |
Ban đầu | 1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 |
Bước 1 | 1 | 1 | 5 | 7 | ||||||
Bước 2 | 5 | 7 | ||||||||
Bước 3 | 5 |
Chia đôi lần 1: số giữa dãy là a5 = 8.
Vì x = 5 < 8 nên chọn nửa dãy phía trước là 1, 1, 5, 7.
Chia đôi lần 2: số giữa dãy mới là a2 = 1.
Vì x = 5 > 1 nên chọn nửa dãy phía sau là 5, 7.
Chia đôi lần 3: số giữa dãy mới là a3 = 5.
Vì x = 5 =5 (a3). Thuật toán kết thúc với kết quả: Tìm thấy x ở vị trí thứ ba trong dãy.
1) Tìm x = 6;
Dãy (a) | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 |
Ban đầu | 1 | 1 | 5 | 7 | 8 | 10 | 12 | 13 | 17 | 23 |
Bước 1 | 1 | 1 | 5 | 7 | ||||||
Bước 2 | 5 | 7 | ||||||||
Bước 3 | 5 |
Chia đôi lần 1: số giữa dãy là a5 = 8.
Vì x = 6 < 8 nên chọn nửa dãy phía trước là 1, 1, 5, 7.
Chia đôi lần 2: số giữa dãy mới là a2 = 1.
Vì x = 6 > 1 nên chọn nửa dãy phía sau là 5, 7.
Chia đôi lần 3: số giữa dãy mới là a3 = 5.
Vì x = 6 >5 (a3). Phạm vi tìm kiếm chỉ còn một số.
Thuật toán kết thúc với kết quả: Không tìm thấy x ở vị trí thứ ba trong dãy.
Xem thêm các bài khác tại Giải bài tập sách giáo khoa Tin học lớp 7 – NXB Cánh Diều
Thông tin liên hệ & mạng xã hội:
Website: https://bumbii.com/
Facebook: https://www.facebook.com/bumbiiapp
Pinterest: https://www.pinterest.com/bumbiitech
Không bao giờ từ bỏ hy vọng. Cố gắng mỗi ngày.