Bài giảng Tin học 7 (Cánh diều) - 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

pptx 17 trang Thu Mai 03/03/2023 1710
Bạn đang xem tài liệu "Bài giảng Tin học 7 (Cánh diều) - 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", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptxbai_giang_tin_hoc_lop_7_sach_canh_dieu_bai_5_thuc_hanh_mo_ph.pptx

Nội dung text: Bài giảng Tin học 7 (Cánh diều) - 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

  1. BÀI 5 THỰC HÀNH MÔ PHỎNG CÁC THUẬT TOÁN TÌM KIẾM, SẮP XẾP
  2. Em hãy cho cô biết chúng ta đã học mấy thuật toán tìm kiếm? Và mấy thuật toán xắp xếp? Em hãy nêu điểm giống và khác của các thuật toán đó.
  3. Bài 1. Cho dãy số ban đầu như sau: 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
  4. Lời giải Bước Thực hiện So sánh số ở đầu dãy với x 1) x = 5 1 Vì a1 = 8 ≠ x nên chuyển sang xét số tiếp theo a2 trong dãy So sánh số đang xét với x 2 Vì a2 = 17 ≠ x nên chuyển sang xét số tiếp theo a3 trong dãy So sánh số đang xét với x 3 Vì a3 = 23 ≠ x nên chuyển sang xét số tiếp theo a4 trong dãy So sánh số đang xét với x 4 Vì a4 = 1 ≠ x nên chuyển sang xét số tiếp theo a5 trong dãy So sánh số đang xét với x 5 Vì a5 = 12 ≠ x nên chuyển sang xét số tiếp theo a6 trong dãy So sánh số đang xét với x 6 Vì a6 = 7 ≠ x nên chuyển sang xét số tiếp theo a7 trong dãy So sánh số đang xét với x 7 Vì a7 = 5 = x Kết luận: Tìm thấy x ở vị trí thứ 7 trong dãy; kết thúc thuật toán
  5. 2) x = 6 Bước Thực hiện So sánh số ở đầu dãy với x 1 Vì a1 = 8 ≠ x nên chuyển sang xét số tiếp theo a2 trong dãy So sánh số đang xét với x 2 Vì a2 = 17 ≠ x nên chuyển sang xét số tiếp theo a3 trong dãy So sánh số đang xét với x 3 Vì a3 = 23 ≠ x nên chuyển sang xét số tiếp theo a4 trong dãy So sánh số đang xét với x 4 Vì a4 = 1 ≠ x nên chuyển sang xét số tiếp theo a5 trong dãy So sánh số đang xét với x 5 Vì a5 = 12 ≠ x nên chuyển sang xét số tiếp theo a6 trong dãy
  6. 2) x = 6 Bước Thực hiện So sánh số đang xét với x 6 Vì a6 = 7 ≠ x nên chuyển sang xét số tiếp theo a7 trong dãy So sánh số đang xét với x 7 Vì a7 = 5 ≠ x nên chuyển sang xét số tiếp theo a8 trong dãy So sánh số đang xét với x 8 Vì a8 = 1 ≠ x nên chuyển sang xét số tiếp theo a9 trong dãy So sánh số đang xét với x 9 Vì a9 = 13 ≠ x nên chuyển sang xét số tiếp theo a10 trong dãy So sánh số đang xét với x 10 Vì a10 = 10 ≠ x. Hết dãy đã xét Kết luận: Không Tìm thấy x trong dãy; kết thúc thuật toán
  7. 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 của 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”
  8. 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 Đổi chỗ 23 và a1 Sau bước 1 23 17 8 1 12 7 5 1 13 10 Không đổi chỗ Sau bước 2 23 17 8 1 12 7 5 1 13 10 Không đổi chỗ Sau bước 3 23 17 13 1 12 7 5 1 8 10 Đổi chỗ 12 và a3 Sau bước 4 23 17 13 12 1 7 5 1 8 10 Đổi chỗ 10 và a4 Sau bước 5 23 17 13 12 10 7 5 1 8 1 Đổi chỗ 10 và a5 Sau bước 6 23 17 13 12 10 8 5 1 7 1 Đổi chỗ 8 và a6 Sau bước 7 23 17 13 12 10 8 7 1 5 1 Đổi chỗ 7 và a7 Sau bước 8 23 17 13 12 10 8 7 5 1 1 Đổi chỗ 5 và a8 Sau bước 9 23 17 13 12 10 8 7 5 1 1 Không đổi chỗ Dãy kết quả 23 17 13 12 10 8 7 5 1 1
  9. 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”
  10. Lượt thứ nhất 8 17 23 1 12 7 5 1 13 10 17 8 23 1 12 7 5 1 13 10 17 23 8 1 12 7 5 1 13 10 17 23 8 1 12 7 5 1 13 10 17 23 8 12 1 7 5 1 13 10 17 23 8 12 7 1 5 1 13 10 17 23 8 12 7 5 1 1 13 10 17 23 8 12 7 5 1 1 13 10 17 23 8 12 7 5 1 13 1 10 17 23 8 12 7 5 1 13 10 1
  11. Lượt thứ hai 17 23 8 12 7 5 1 13 10 1 23 17 8 12 7 5 1 13 10 1 23 17 8 12 7 5 1 13 10 1 23 17 12 8 7 5 1 13 10 1 23 17 12 8 7 5 1 13 10 1 23 17 12 8 7 5 1 13 10 1 23 17 12 8 7 5 1 13 10 1 23 17 12 8 7 5 13 1 10 1 23 17 12 8 7 5 13 10 1 1 23 17 12 8 7 5 13 10 1 1
  12. Lượt thứ ba 23 17 12 8 7 5 13 10 1 1 23 17 12 8 7 5 13 10 1 1 23 17 12 8 7 5 13 10 1 1 23 17 12 8 7 5 13 10 1 1 23 17 12 8 7 5 13 10 1 1 23 17 12 8 7 5 13 10 1 1 23 17 12 8 7 13 5 10 1 1 23 17 12 8 7 13 10 5 1 1 23 17 12 8 7 13 10 5 1 1 23 17 12 8 7 13 10 5 1 1
  13. Tiếp tục quá trình cho đến khi thu được dãy giảm dần
  14. 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
  15. Giải 1) Tìm x = 5 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 Xuất 23 17 13 12 10 8 7 5 1 1 phát Bước 1 10 8 7 5 1 1 Bước 2 5
  16. 2) Tìm x = 6 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 Xuất phát 23 17 13 12 10 8 7 5 1 1 Bước 1 10 8 7 5 1 1 Bước 2 8 7 5 Bước 3 8
  17. Bài 1. Nếu được yêu cầu sắp xếp một dãy số, em lựa chọn thuật toán sắp xếp chọn hay sắp xếp nổi bọt? giải thích tại sao.