Chủ đề F. Bài 1. Tìm kiếm tuần tự

Bài 1. Tìm kiếm tuần tự trang 35 SBT Tin Học lớp 7Cá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 1. Tìm kiếm tuần tự.

Câu F1

Hãy cho mỗi khẳng định sau đây là đúng hay sai và giải thích lí do.

Nếu trong dãy có nhiều số bằng x thì thuật toán tìm kiếm tuần tự:

1) Tìm thấy tất cả các số đó.

2) Tìm thấy số đầu tiên trong dãy bằng x.

3) Tìm thấy số cuối cùng trong dãy bằng x.

Đáp án:

1) Sai. Thuật toán dừng ngay khi tìm thấy một số bằng x mà không tiếp tục kiểm tra thêm.

2) Đúng. Thuật toán dùng ngay khi tìm thấy một số bằng x nên đó là số đầu tiên trong dãy bằng x.

3) Sai, vì 2), 3) không thể cũng đúng nếu như có nhiều hơn một số trong dãy bằng x.

Câu F2

Theo em, việc gán Kết quả = Chưa tìm thấy trước khi lặp và sửa lại thành Kết quả = Tìm thấy khi phát hiện có số trong dãy bằng x có tác dụng gì? Tại sao cần làm thế?

Đáp án:

Trước khi lặp đáng dấu Kết quả = Chưa tìm thấy thì điều kiện dùng vòng lặp chưa thỏa mãn. Khi phát hiện có số trong dãy bằng x sau thì lại thành Kết quả = Tìm thấy thì điều kiện dùng vòng lặp thỏa mãn. Thuật toán kết thúc.

Nếu không làm thế thì thuật toán vẫn tiếp tục lặp, kiểm tra đến hết dãy, dù đã tìm thấy số bằng x. Đó là việc làm vô ích.

Câu F3

Bài toán yêu cầu tìm kiếm số cuối cùng trong dãy bằng x. Em hãy nêu ý tưởng sửa thuật toán trong bài học để giải bài toán này.

Đáp án:

Bắt đầu từ cuối dãy và kiểm tra lùi dần về đầu dãy. Chỉ cần sửa ở hai chỗ:

1) Số đang xét là số ở cuối dãy.

2) Nếu Số đang xét khác x: Chuyển sang xét số đứng trước trong dãy.

Câu F4

Dựa theo bảng mô phỏng các bước tìm kiếm tuần tự trong sách giáo khoa, hãy mô phỏng ý tưởng em vừa đề xuất áp dụng cho bài toán tìm số cuối cùng trong dãy bằng 44 với dãy đầu vào là {18, 94, 42, 44, 06, 44, 55, 67}

Đáp án:

BướcThực hiện
1So sánh số ở cuối dãy với x: Vì a8 = 67 khác x nên chuyển sang xét số đứng trước là a7 trong dãy
2So sánh số ở cuối dãy với x: Vì a7 = 55 khác x nên chuyển sang xét số đứng trước là a6 trong dãy
3So sánh số ở cuối dãy với x: Vì a6 = 44 = x Kết luận: Tìm thấy x ở vị trí thứ 6 trong dãy; kết thúc thuật toán

Câu F5

(*) Em hãy nêu ý tưởng sửa đổi thuật toán tìm kiếm tuần tự cho bài toán yêu cầu đếm ở trong dãy có bao nhiêu số bằng x.

Đáp án:

Cần sửa thuật toán để:

1) Không dừng ngay khi tìm thấy số đầu tiên bằng x mà vẫn tiếp tục kiểm tra đến cuối dãy.

2) Thêm biến đếm, bắt đầu với đếm = 0; Mỗi khi thấy số đang xét = x thì tăng đếm lên 1 đơn vị.

Chi tiết cụ thể ý 1): Không cần có biến kết quả để đánh dấu đã Tìm thấy hay Chưa tìm thấy. Tất cả các thao tác kiểm tra Kết quả đều xóa bỏ. Không còn Bước 3.

BướcThực hiện
1Đếm = 0, Số đang xét là số ở đầu dãy
2Lặp khi (chưa xét hết dãy số) Nếu số đang xét = x: tăng đếm lên 1 đơn vị Hết nhánh Lấy Số đang xét là số tiếp theo trong dãy Hết lặp
3Thông báo tìm thấy trong dãy số có đếm số x

Câu F6

Thực hiện các yêu cầu sau:

1) Nêu một bài toán thực tế dẫn đến bài toán tìm kiếm.

2) Nêu một bài toán thực tế dẫn đến bài toán tìm kiếm trong dãy đã sắp thứ tự.

Đáp án:

1) Nhân viên lễ tân khách sạn tìm một chìa khóa phòng của một phòng trong khách sạn để đưa cho khách.

2) Trong bảng kết quả một cuộc thi, tìm họ tên và kết quả thi của một thí sinh khi biết số báo danh của thí sinh đó.

Xem thêm các bài khác tại Giải sách bài tập 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

0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest

0 Bình luận
Phản hồi nội tuyến
Xem tất cả bình luận
0
Cùng chia sẻ bình luận của bạn nào!x