Giao diện mới của VnDoc Pro: Dễ sử dụng hơn - chỉ tập trung vào lớp bạn quan tâm. Vui lòng chọn lớp mà bạn quan tâm: Lưu và trải nghiệm

Tin học 7 Bài 4: Sắp xếp nổi bọt

Giải Tin học 7 Bài 4: Sắp xếp nổi bọt sách Cánh diều do VnDoc đăng tải dưới đây bao gồm đáp án chi tiết cho từng phần, từng mục trong SGK Tin học lớp 7, cho các em học sinh tham khảo luyện giải Tin học 7, chuẩn bị cho các bài học trên lớp được tốt hơn. Sau đây mời các bạn tham khảo chi tiết.

Khởi động

Khởi động trang 87 Tin học lớp 7: Làm thế nào để cho máy tính biết một dãy đã có thứ tự tăng dần?

Trả lời:

Để cho máy tính biết một dãy đã có thứ tự tăng dần thì máy tính phải so sánh lần lượt các cặp số liền kề cho đến khi không còn cặp liền kề nào trái thứ tự mong muốn.

1. Ý tưởng sắp xếp bằng cách đổi chỗ các phần tử liền kề

Hoạt động 1 trang 87 Tin học lớp 7: Giả sử có một hộp kẹo, mỗi hộp chứa một số kẹo nào đó. Có một chú robot chỉ biết làm hai thao tác:

- So sánh số kẹo trong hai hộp cạnh nhau.

- Hoán đổi vị trí hai hộp kẹo cạnh nhau.

Theo em, chú robot phải làm thế nào để sắp xếp lại các hộp sao cho số kẹo trong các hộp tăng dần?

Trả lời:

Chú robot đã sắp xếp lại các hộp sao cho số kẹo trong các hộp tăng dần như sau:

- Ở lượt thứ nhất, so sánh hai hộp đầu tiên, nếu số kẹo ở hộp đứng trước lớn hơn số kẹo ở hộp đứng sau thì đổi vị trí hai hộp này cho nhau. Tiếp tục làm như vậy với hộp thứ 2 và thứ 3, với hộp thứ 3 và thứ 4,... cho đến hết dãy hộp kẹo là hết một lượt. Sau khi thực hiện các thao tác như vậy, hộp cuối dãy là hộp chứa nhiều kẹo nhất.

- Tiếp tục lượt thứ 2, thứ 3 theo cách như lượt thứ nhất, cứ lặp lại như vậy cho đến khi gặp một lượt mà suốt cả lượt đó robot không phải đổi chỗ hai hộp nào thì dãy đã được sắp xếp xong, robot kết thúc công việc.

2. Thuật toán sắp xêp nổi bọt

Hoạt động 2 trang 89 Tin học lớp 7: Với dãy số đã cho ở ví dụ trên, em hãy thực hiện thuật toán được mô tả ở hình bên và cho biết đó có phải là thuật toán sắp xếp nổi bọt hay không?

Trả lời:

Các em thực hiện thuật toán và nhận thấy đây là thuật toán sắp xếp nổi bọt.

Luyện tập

Luyện tập trang 89 Tin học lớp 7: Hãy mô phỏng thuật toán sắp xếp nổi bọt cho một dãy số nguyên tùy chọn, không ít hơn 5 phần tử. Sau bao nhiêu lượt đi từ đầu đến cuối dãy để so sánh và đổi chỗ khi thuật toán kết thúc? Tổng số có bao nhiêu phần tử liền kề?

Trả lời:

Ta có dãy số: 5, 2, 4, 1, 3. Sắp xếp giảm dần.

Bước 1. So sánh số 5 và 2. Ta thấy số 5 lớn hơn 2. Nên ta giữ nguyên kết quả. Dãy số sau khi đổi: 5, 2, 4, 1, 3.

Bước 2. So sánh số 2 và 4. Ta thấy số 4 lớn hơn 2 và ta tiến hành đổi chỗ số 4 và 2. Dãy số sau khi đổi: 5, 4, 2, 1, 3.

Bước 3. So sánh số 2 và 1. Ta thấy số 2 lớn hơn 1, ta giữ nguyên dãy số: 5, 4, 2, 1, 3.

Bước 4. So sánh số 1 và 3, ta thấy số 3 lớn hơn số 1, ta tiến hành đổi chỗ số 3 và số 1. Dãy số sau khi đổi: 5, 4, 2, 3, 1.

Bước 5. Tiến hành duyệt dãy số một lần nữa để chắc chắn dãy số đã được sắp xếp giảm dần. So sánh số 5 và 4, số 5 lớn hơn 4 giữ nguyên, dãy thu được: 5, 4, 2, 3, 1.

Bước 6. So sánh số 4 và 2, số 4 lớn hơn 2 giữ nguyên.

Bước 7. So sánh số 2 và 3, số 3 lớn hơn số 2, ta tiến hành đổi vị trí số 2 và 3. Dãy số thu được: 5, 4, 3, 2, 1.

Bước 8. So sánh số 2 và 1, số 2 lớn hơn số 1, nên ta giữ nguyên.

Ta sẽ đi tám lượt đi thì thuật toán mới kết thúc.

Tổng số lần đổi vị trí phần tử là 3 lần.

Vận dụng

Vận dụng 1 trang 89 Tin học lớp 7:

1) Trong thuật toán sắp xếp nổi bọt thì dấu hiệu để biết dãy chưa sắp xếp xong là gì?

2) Theo em, có phải hình bên đã mô tả chi tiết một lượt robot thực hiện so sánh các căp phần tử liền kề và đổi chỗ khi chúng trái thứ tự mong muốn không?

Trả lời:

1) Trong thuật toán sắp xếp nổi bọt thì dấu hiệu để biết dãy chưa sắp xếp xong là: còn cặp liền kề trái thứ tự mong muốn.

2) Hình trên mô tả chi tiết một lượt robot thực hiện so sánh các cặp phần tử liền kề và đổi chỗ khi chúng trái thứ tự mong muốn.

Vận dụng 2 trang 89 Tin học lớp 7: Theo em, vì sao thuật toán sắp xếp trên lại được gọi là sắp xếp nổi bọt?

Trả lời:

Thuật toán sắp xếp trên lại được gọi là sắp xếp nổi bọt vì nó thực hiện nhiều phép so sánh và đổi chỗ các cặp phần tử liền kề cho đến khi không còn bất kì cặp phần tử liền kề nào trái thứ tự mong muốn.

Câu hỏi tự kiểm tra

Câu 1 trang 89 Tin học lớp 7: Trong thuật toán sắp xếp nổi bọt, khi nào hai phần tử liền kề được đổi chỗ.

Trả lời:

Trong thuật toán sắp xếp nổi bọt, hai phần tử liền kề được đổi chỗ khi trái thứ tự mong muốn.

Câu 2 trang 89 Tin học lớp 7: Thuật toán nổi bọt kết thúc khi nào?

Trả lời:

Thuật toán nổi bọt kết thúc khi không còn bất cứ cặp liền kề (ai, ai+1) nào trái thứ tự mong muốn, tức là trong một lượt không còn xảy ra đổi chỗ lần nào nữa.

Câu 3 trang 89 Tin học lớp 7: Khi nào thực hiện thuật toán sắp xếp nổi bọt chỉ cần một lượt so sánh các cặp liền kề và đổi chỗ?

Trả lời:

Thực hiện thuật toán sắp xếp nổi bọt chỉ cần một lượt so sánh các cặp liền kề và đổi chỗ khi dãy chỉ có một cặp liền kề trái thứ tự mong muốn.

...............................

Trên đây VnDoc đã gửi tới các bạn lời giải Tin học 7 Bài 4: Sắp xếp nổi bọt sách Cánh diều. Hy vọng thông qua tài liệu này, các em biết cách trả lời các câu hỏi trong SGK Tin học 7, từ đó học tốt môn Tin học hơn.

Để tham khảo lời giải các bài tiếp theo, mời các bạn vào chuyên mục Giải Tin học 7 CD trên VnDoc nhé. Chuyên mục tổng hợp lời giải theo từng đơn vị bài học, giúp các em luyện giải Tin học 7 hiệu quả.

Đánh giá bài viết
1 139
Sắp xếp theo

    Tin học 7 CD

    Xem thêm