Lý thuyết Tin học 7 Cánh diều Bài 5: Thực hành mô phỏng các thuật toán tìm kiếm, sắp xếp
Với tóm tắt lý thuyết Tin học lớp 7 Bài 5: Thực hành mô phỏng các thuật toán tìm kiếm, sắp xếp sách Cánh diều hay nhất, ngắn gọn sẽ giúp học sinh nắm vững kiến thức trọng tâm, ôn luyện để học tốt môn Tin học 7.
Lý thuyết Tin học 7 Cánh diều Bài 5: Thực hành mô phỏng các thuật toán tìm kiếm, sắp xếp
Chỉ từ 100k mua trọn bộ lý thuyết Tin 7 Cánh diều (cả năm) bản word trình bày đẹp mắt, dễ dàng chỉnh sửa:
- B1: gửi phí vào tk:
0711000255837
- NGUYEN THANH TUYEN - Ngân hàng Vietcombank (QR) - B2: Nhắn tin tới Zalo VietJack Official - nhấn vào đây để thông báo và nhận giáo án
Bài 1: Cho dãy số ban đầu
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.
Hướng dẫn:
1) Đối với bài này ta sẽ sử dụng thuật toán tìm kiếm tuần tự để trình bày.
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 |
So sánh số ở đầu dãy với x. Vì a1 = 8 khác x nên chuyển sang xét số tiếp theo a2 trong dãy. |
Sau bước 1 |
8 |
17 |
23 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
So sánh số ở đầu dãy với x. Vì a2 = 17 khác x nên chuyển sang xét số tiếp theo a3 trong dãy. |
Sau bước 2 |
8 |
17 |
23 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
So sánh số ở đầu dãy với x. Vì a3 = 23 khác x nên chuyển sang xét số tiếp theo a4 trong dãy. |
Sau bước 3 |
8 |
17 |
23 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
So sánh số ở đầu dãy với x. Vì a4 = 1 khác x nên chuyển sang xét số tiếp theo a5 trong dãy. |
Sau bước 4 |
8 |
17 |
23 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
So sánh số ở đầu dãy với x. Vì a5 = 12 khác x nên chuyển sang xét số tiếp theo a6 trong dãy. |
Sau bước 5 |
8 |
17 |
23 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
So sánh số ở đầu dãy với x. Vì a6 = 7 khác x nên chuyển sang xét số tiếp theo a7 trong dãy. |
Sau bước 6 |
8 |
17 |
23 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
So sánh số ở đầu dãy với x. Vì a7 = 5 bằng 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. |
2) Đối với bài này ta sẽ sử dụng thuật toán tìm kiếm tuần tự để trình bày.
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 |
So sánh số ở đầu dãy với x. Vì a1 = 8 khác x nên chuyển sang xét số tiếp theo a2 trong dãy. |
Sau bước 1 |
8 |
17 |
23 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
So sánh số ở đầu dãy với x. Vì a2 = 17 khác x nên chuyển sang xét số tiếp theo a3 trong dãy. |
Sau bước 2 |
8 |
17 |
23 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
So sánh số ở đầu dãy với x. Vì a3 = 23 khác x nên chuyển sang xét số tiếp theo a4 trong dãy. |
Sau bước 3 |
8 |
17 |
23 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
So sánh số ở đầu dãy với x. Vì a4 = 1 khác x nên chuyển sang xét số tiếp theo a5 trong dãy. |
Sau bước 4 |
8 |
17 |
23 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
So sánh số ở đầu dãy với x. Vì a5 = 12 khác x nên chuyển sang xét số tiếp theo a6 trong dãy. |
Sau bước 5 |
8 |
17 |
23 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
So sánh số ở đầu dãy với x. Vì a6 = 7 khác x nên chuyển sang xét số tiếp theo a7 trong dãy. |
Sau bước 6 |
8 |
17 |
23 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
So sánh số ở đầu dãy với x. Vì a7 = 5 khác x nên chuyển sang xét số tiếp theo a8 trong dãy. |
Sau bước 7 |
8 |
17 |
23 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
So sánh số ở đầu dãy với x. Vì a8 = 1 khác x nên chuyển sang xét số tiếp theo a9 trong dãy. |
Sau bước 8 |
8 |
17 |
23 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
So sánh số ở đầu dãy với x. Vì a9 = 13 khác x nên chuyển sang xét số tiếp theo a10 trong dãy. |
Sau bước 9 |
8 |
17 |
23 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
So sánh số ở đầu dãy với x. Vì a10 = 10 khác x, ta đã duyệt đến cuối dãy những không tìm thấy x = 6. Kết luận: Không tìm thấy phần tử x = 6. |
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.
Hướng dẫn:
Cánh làm: tìm số lớn dãy trong dãy đưa lên đầu dãy. Chọn số lớn nhất trong dãy số còn lại và đổi chỗ nó với số đứng đầu dãy này cho đến khi hết dãy ban đầu.
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 vì 23 là số lớn nhất trong dãy |
Sau bước 1 |
23 |
17 |
8 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
Tiếp theo không đổi chỗ vì từ a2 thì số lớn nhất là 17 đang ở vị trí a2. |
Sau bước 2 |
23 |
17 |
8 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
Tiếp theo đổi chỗ 13 và a3 vì từ vị trí a3 thì số lớn nhất là 13 đang ở vị trí a9 nên cần đổi chỗ a3 và a9. |
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.
Hướng dẫ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 so sánh a1 và a2, a2 > a1 đổi chỗ a1 và a2 |
Sau bước 1 |
17 |
8 |
23 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
Tiếp theo so sánh a2 và a3, a3 > a2 đổi chỗ a2 và a3 |
Sau bước 2 |
17 |
23 |
8 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
Tiếp theo so sánh a3 và a4, a3 > a4 giữ nguyên vị trí |
Sau bước 3 |
17 |
23 |
8 |
1 |
12 |
7 |
5 |
1 |
13 |
10 |
Tiếp theo so sánh a4 và a5, a5 > a4 đổi chỗ a4 và a5 |
Sau bước 4 |
17 |
23 |
8 |
12 |
1 |
7 |
5 |
1 |
13 |
10 |
Tiếp theo so sánh a5 và a6, a6 > a5 đổi chổ a5 và a6 |
Sau bước 5 |
17 |
23 |
8 |
12 |
7 |
1 |
5 |
1 |
13 |
10 |
Tiếp theo so sánh a6 và a7, a7 > a6 đổi chỗ a6 và a7 |
Sau bước 6 |
17 |
23 |
8 |
12 |
7 |
5 |
1 |
1 |
13 |
10 |
Tiếp theo so sánh a7 và a8, a7 = a8 giữ nguyên vị trí |
Sau bước 7 |
17 |
23 |
8 |
12 |
7 |
5 |
1 |
1 |
13 |
10 |
Tiếp theo so sánh a8 và a9, a9 > a8 đổi chỗ a8 và a9 |
Sau bước 8 |
17 |
23 |
8 |
12 |
7 |
5 |
1 |
13 |
1 |
10 |
Tiếp theo so sánh a9 và a10, a10 > a9 đổi chỗ a9 và a10 |
Sau bước 9 |
17 |
23 |
8 |
12 |
7 |
5 |
1 |
13 |
10 |
1 |
Tiếp theo ta quay lại lại bước 1và thực hiện vòng lặp tương tự. |
Dãy kết quả |
23 |
17 |
13 |
12 |
10 |
8 |
7 |
5 |
1 |
1 |
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.
Hướng dẫn:
a1 |
a2 |
a3 |
a4 |
a5 |
a6 |
a7 |
a8 |
a9 |
a10 |
|
Dãy kết quả |
23 |
17 |
13 |
12 |
10 |
8 |
7 |
5 |
1 |
1 |
1) Dãy đã được sắp xếp bài 2 và bài 3:
Bước 1. Chia đôi phạm vi tìm kiếm từ đầu dãy a1 đến a10.
Bước 2. Lấy a5 là vị trí cần chia đôi. Vì a5 > x. Ta sẽ thu hẹp được phạm vi tìm kiếm. Từ a1 đến a5 chắc chắn sẽ không chứa x cần tìm. Tìm ở nửa còn lại từ a6 – a10.
Bước 3. Lấy a8 là vị trí cần chia đôi. Khi ta chia đôi ở a8 ta thấy vị trí số x.
Kết thúc thuật toán với kết quả: Tìm thấy x ở vị trí a8.
2) Dãy đã được sắp xếp bài 2 và bài 3:
Bước 1. Chia đôi phạm vi tìm kiếm từ đầu dãy a1 đến a10.
Bước 2. Lấy a5 là vị trí cần chia đôi. Vì a5 > x. Ta sẽ thu hẹp được phạm vi tìm kiếm. Từ a1 đến a5 chắc chắn sẽ không chứa x cần tìm. Tìm trong nửa còn lại.
Bước 3. Lấy a8 là vị trí cần chia đôi của nửa còn lại. Ta sẽ thu hẹp được phạm vi tìm kiếm. Từ a8 đến a10 chắc chắn sẽ không chứa x cần tìm vì a8 < x. Khi đó chỉ còn vị trí a6 và a7, thì ta kiểm tra không có số x cần tìm.
Kết thúc thuật toán: Không tìm thấy số x.
Xem thêm tóm tắt lý thuyết Tin học lớp 7 Cánh diều hay khác:
Xem thêm các tài liệu học tốt lớp 7 hay khác:
- Giải sgk Tin học 7 Cánh diều
- Giải SBT Tin học 7 Cánh diều
- Giải lớp 7 Cánh diều (các môn học)
- Giải lớp 7 Chân trời sáng tạo (các môn học)
- Giải lớp 7 Kết nối tri thức (các môn học)
Tủ sách VIETJACK shopee lớp 6-8 cho phụ huynh và giáo viên (cả 3 bộ sách):
Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.
Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:Loạt bài Giải bài tập Tin học lớp 7 của chúng tôi được biên soạn bám sát nội dung sgk Tin học lớp 7 Cánh diều (NXB Đại học Sư phạm).
Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.
- Soạn văn 7 (hay nhất) - Cánh diều
- Soạn văn 7 (ngắn nhất) - Cánh diều
- Giải sgk Toán 7 - Cánh diều
- Giải Tiếng Anh 7 Global Success
- Giải Tiếng Anh 7 Friends plus
- Giải sgk Tiếng Anh 7 Smart World
- Giải Tiếng Anh 7 Explore English
- Giải sgk Khoa học tự nhiên 7 - Cánh diều
- Giải sgk Lịch Sử 7 - Cánh diều
- Giải sgk Địa Lí 7 - Cánh diều
- Giải sgk Giáo dục công dân 7 - Cánh diều
- Giải sgk Công nghệ 7 - Cánh diều
- Giải sgk Tin học 7 - Cánh diều
- Giải sgk Hoạt động trải nghiệm 7 - Cánh diều
- Giải sgk Âm nhạc 7 - Cánh diều