Với tóm tắt lý thuyết Tin học lớp 7 Bài 16: Thuật toán sắp xếp sách Kết nối tri thức hay, chi tiết cùng với bài tập trắc nghiệm chọn lọc có đáp án 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ọc7.
Tin học lớp 7 Bài 16: Thuật toán sắp xếp
Video giải Tin học 7 Bài 16: Thuật toán sắp xếp - Kết nối tri thức
A. Lý thuyết Tin học 7 Bài 16: Thuật toán sắp xếp
1. Thuật toán sắp xếp nổi bọt
- Sắp xếp nổi bọt là hoán đổi nhiều lần các phần tử liền kề nếu giá trị của chúng không đúng thứ tự.
- Mô tả bằng ngôn ngữ tự nhiên:
1. Với phần tử đầu tiên, thực hiện vòng lặp:
1.1. So sánh hai phần tử đứng cạnh nhau theo thứ tự từ cuối dãy lên phần tử đầu tiên.
1.2. Nếu phần tử đứng sau nhỏ hơn phần tử đứng trước thì đổi chỗ chúng cho nhau.
1.3. Cuối vòng lặp em sẽ nhận được một dãy số với phần tử nhỏ nhất nổi lên vị trí đầu tiên.
2. Với phần tử thứ hai, thực hiện vòng lặp như trên:
2.1. So sánh hai phần tử đứng cạnh nhau theo thứ tự từ cuối dãy lên phần tử đầu tiên.
2.2. Nếu phần tử đứng sau nhỏ hơn phần tử đứng trước thì đổi chỗ chúng cho nhau.
2.3. Cuối vòng lặp em sẽ nhận được một dãy số với phần tử nhỏ thứ nhì nổi lên vị trí thứ hai.
3. Tương tự với các phần tử còn lại
4. Kết thúc thu được dãy số sắp xếp theo thứ tự tăng dần
- Ví dụ
Đầu vào
Xét vị trí đầu tiên, vòng lặp thứ nhất:
Hình 1. Vòng lặp thứ nhất
Xét vị trí thứ hai
Hình 2. Vòng lặp thứ hai
Xét vị trí thứ 3
Hình 3. Vòng lặp thứ 3
Sau vòng lặp thứ 3, không có sự hoán đổi nào nữa nên kết thúc thuật toán
2. Thuật toán sắp xếp chọn
- Thuật toán sắp xếp chọn xét từng vị trí đầu tiên từ cuối dãy, so sánh trực tiếp phần tử ở vị trí được xét với phần tử ở vị trí sau nó và hoán đổi nếu chưa đúng thứ tự.
- Mô tả bằng ngôn ngữ tự nhiên:
Yêu cầu: Sắp xếp dãy số theo thứ tự từ nhỏ đến lớn bằng thuật toán sắp xếp chọn.
1. Phần tử đầu tiên, thực hiện vòng lặp sau:
1.1. So sánh từng phần tử còn lại với phần tử đầu tiên.
1.2. Nếu phần tử được xét nhỏ hơn phần tử đầu tiên thì hoán đổi.
1.3. Cuối vòng lặp, nhận được dãy số với phần tử nhỏ nhất ở vị trí đầu tiên.
2. Phần tử thứ hai, thực hiện vòng lặp tương tự
2.1. So sánh từng phần tử còn lại (kể từ vị trí thứ 3) với phần tử thứ hai.
2.2. Nếu phần tử được xét nhỏ hơn phần tử thứ hai thì hoán đổi.
2.3. Cuối vòng lặp, nhận được dãy số với phần tử nhỏ thứ nhì ở vị trí thứ hai.
3. Tương tự với các phần tử còn lại.
4. Kết thúc thu được dãy số sắp xếp theo thứ tự tăng dần.
- Ví dụ: sắp xếp dãy 3, 4, 1, 5, 2 theo thứ tự tăng dần
+ Đầu vào dãy các phần tử chưa được sắp xếp
+ Các vòng lặp:
Đầu ra: Dãy các phần tử đã được sắp xếp
3. Chia bài toán thành những bài toán nhỏ hơn
- Việc chia một bài toán thành những bài toán nhỏ hơn, đồng thời việc mô tả thuật toán dễ hiểu và dễ thực hiện hơn.
B. Bài tập trắc nghiệm Tin học 7 Bài 16: Thuật toán sắp xếp
Câu 1. Trong thuật toán sắp xếp nổi bọt kết thúc khi nào?
A. Khi các phần tử đã nằm đúng thứ tự mong muốn.
B. Không còn bất kì cặp liền kề trái thứ tự mong muốn.
C. Không còn xảy ra đổi chỗ lần nào nữa.
D. Cả A, B và C.
Đáp án đúng là: D
Thuật toán sắp xếp nổi bọt kết thúc khi các phần tử đã nằm đúng thứ tự mong muốn trong dãy, không còn bất kì cặp liền kề nào trái thứ tự mong muốn, tức là không còn xảy ra đổi chỗ lần nào nữa.
Câu 2. Cho dãy số: 6, 4, 5, 3. Nếu sử dụng thuật toán sắp xếp nổi bọt để sắp xếp dãy tăng dần thì sau bao nhiêu vòng lặp thì thuật toán kết thúc?
A. 2
B. 3
C. 4
D. 5
Đáp án đúng là: C
Sau 4 vòng lặp:
Câu 3. Thuật toán sắp xếp nổi chọn xét từng vị trí phần tử từ:
A. Đầu đến cuối
B. Cuối đến đầu
C. Giữa đến đầu
D. Giữa đến cuối
Đáp án đúng là: A
Thuật toán sắp xếp nổi chọn xét từng vị trí phần tử từ đầu đến cuối.
Câu 4. Tại sao chúng ta chia bài toán thành những bài toán nhỏ hơn?
A. Để thay đổi đầu vào của bài toán.
B. Để thay đổi yêu cầu đầu ra của bài toán.
C. Để bài toán dễ giải quyết hơn.
D. Để bài toán khó giải quyết hơn.
Đáp án đúng là: C
Chia bài toán thành những bài toán nhỏ hơn giúp thuật toán dễ hiểu và dễ thực hiện hơn.
Câu 5. Mô tả thuật toán sắp xếp chọn bằng ngôn ngữ tự nhiên gồm có mấy bước?
A. 2
B. 3
C. 4
D. 5
Đáp án đúng là: C
Mô tả thuật toán sắp xếp chọn bằng ngôn ngữ tự nhiên gồm có 4 bước.
Sắp xếp dãy số theo thứ tự từ nhỏ đến lớn bằng thuật ngữ sắp xếp chọn.
Bước 1. Với phần tử đầu tiên, thực hiện một vòng lặp như sau:
1.1. So sánh từng phần tử (kể từ phần tử thứ hai đến phần tử cuối cùng) với phần tử đầu tiên.
1.2. Nếu phần tử được xét nhỏ hơn phần tử đầu tiên thì hoán đổi nó với phần tử đầu tiên.
1.3. Cuối vòng lặp nhận được dãy số với phần tử nhỏ nhất được đưa về vị trí đầu tiên.
Bước 2. Với phần tử thứ hai, thực hiện một vòng lặp tương tự như trên.
2.1. So sánh từng phần tử (kể từ phần tử thứ ba đến phần tử cuối cùng) với phần tử thứ hai.
2.2. Nếu phần tử được xét nhỏ hơn phần tử thứ hai thì hoán đổi nó với phần tử thứ hai.
2.3. Cuối vòng lặp nhận được dãy số với phần tử từ nhỏ thứ nhì được đưa về vị trí thứ hai.
Bước 3. Tương tự như trên với các phần tử thứ ba, thứ tư, …đến phần tử trước phần tử cuối cùng.
Bước 4. Kết thúc nhận được dãy số đã được sắp xếp theo thứ tự từ nhỏ đến lớn.
Câu 6. Thuật toán sắp xếp nổi bọt sắp xếp danh sách bằng cách nào?
A. Thay thế.
B. Thay đổi.
C. Hoán đổi.
D. Cả A, B và C.
Đáp án đúng là: C
Thuật toán sắp xếp nổi bọt sắp xếp danh sách bằng cách hoán đổi các phần tử liền kề.
Câu 7. Thuật toán sắp xếp nổi bọt sắp xếp danh sách bằng cách hoán đổi các phần tử liền kề bao nhiêu lần?
A. Một lần.
B. Hai lần.
C. Mười lần.
D. Nhiều lần.
Đáp án đúng là: D
Thuật toán sắp xếp nổi bọt sắp xếp danh sách bằng cách hoán đổi các phần tử liền kề nhiều lần.
Câu 8. Trong thuật toán sắp xếp nổi bọt, ta thực hiện hoán đổi giá trị các phần tử liền kề khi nào?
A. Giá trị của chúng tăng.
B. Giá trị của chúng giảm.
C. Giá trị của chúng không đúng thứ tự.
D. Giá trị của chúng không bằng nhau.
Đáp án đúng là: C
Thuật toán sắp xếp nổi bọt sắp xếp danh sách bằng cách hoán đổi các phần tử liền kề nhiều lần các phần tử liền kề nếu giá trị của chúng không đúng thứ tự.
Câu 9. 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ì?
A. Vẫn còn cặp phần tử liền kế không đúng thứ tự mong muốn.
B. Dãy chưa được sắp xếp tăng dần.
C. Dãy chưa được sắp xếp giảm dần.
D. Cả A, B và C.
Đáp án đúng là: A
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à vẫn còn cặp phần tử liền kế không đúng thứ tự mong muốn.
Câu 10. Cho dãy số: 15, 1, 31, 9, 78, 42. Nếu sử dụng thuật toán sắp xếp nổi bọt để sắp xếp dãy trên tăng dần thì sau bao nhiêu lượt đổi chỗ thì thuật toán kết thúc?
A. 2
B. 3
C. 4
D. 5
Đáp án đúng là: C
Có 4 lần đổi chổ hai phần tử liền kề.
Câu 11. Cho dãy số a như hình dưới đây
Sử dụng thuật toán sắp xếp chọn để sắp xếp dãy số theo thứ tự giảm dần thì sau bao nhiêu lượt đổi chỗ thì thuật toán kết thúc?
A. 2
B. 3
C. 4
D. 5
Đáp án đúng là: D
Có 5 lần đổi chổ.
Câu 12. Thuật toán sắp xếp nổi bọt sắp xếp danh sách bằng cách?
A. Chọn phần tử có giá trị bé nhất đặt vào đầu danh sách
B. Chọn phần tử có giá trị lớn nhất đặt vào đầu danh sách
C. Hoán đổi nhiều lần các giá trị liền kề nếu giá trị của chúng không đúng thứ tự.
D. Chèn phần tử vào vị trí thích hợp để đảm bảo danh sách theo đúng thứ tự.
Đáp án đúng là: C
Thuật toán sắp xếp nổi bọt sắp xếp danh sách bằng cách hoán đổi nhiều lần các giá trị liền kề nếu giá trị của chúng không đúng thứ tự.
Câu 13. Thuật toán sắp xếp chọn sẽ so sánh các phần tử ở vị trí nào?
A. So sánh phần tử ở vị trí được xét với các phần tử phía trước.
B. So sánh phần tử ở vị trí được xét với các phần tử phía sau.
C. So sánh phần tử ở vị trí được xét với các phần tử liền kề.
D. So sánh phần tử ở vị trí được xét với các phần tử đầu tiên.
Đáp án đúng là: B
Thuật toán sắp xếp chọn sẽ so sánh phần tử ở vị trí được xét với các phần tử phía sau.
Câu 14. Mô tả thuật toán sắp xếp nổi bọt bằng ngôn ngữ tự nhiên gồm có mấy bước?
A. 2
B. 3
C. 4
D. 5
Đáp án đúng là: C
Mô tả thuật toán sắp xếp nổi bọt bằng ngôn ngữ tự nhiên gồm có 4 bước.
Bước 1. Với phần tử đầu tiên, thực hiện vòng lặp như sau:
1.1. So sánh hai phần tử đứng cạnh nhau theo thứ tự từ cuối dãy lên phần tử đầu tiên.
1.2. Nếu phần tử đứng sau nhỏ hơn phần tử đứng trước thì đổi chỗ chúng cho nhau.
1.3. Cuối vòng lặp em sẽ nhận được dãy số với phần tử nhỏ nhất nổi lên vị trí đầu tiên.
Bước 2. Với phần tử thứ hai, thực hiện một vòng lặp tương tự như trên.
2.1. So sánh hai phần tử đứng cạnh nhau theo thứ tự từ cuối dãy ngược lên phần tử thứ hai.
2.2. Nếu phần tử đứng sau nhỏ hơn phần tử đứng trước thì đổi chỗ chúng cho nhau.
2.3. Cuối vòng lặp em sẽ nhận được dãy số với phần tử nhỏ thứ nhì nổi lên vị trí thứ hai.
Bước 3. Tương tự như trên với các phần tử thứ ba, thứ tư, …đến các phần tử cuối cùng.
Bước 4. Kết thúc nhận được dãy số đã được sắp xếp theo thứ tự từ nhỏ đến lớn.
Câu 15. Thuật toán sắp xếp nổi bọt có thể sắp xếp danh sách theo thứ tự?
A. Tăng dần
B. Giảm dần
C. Tăng dần hoặc giảm dần
D. Cả A, B, C đều sai.
Đáp án đúng là: C
Thuật toán sắp xếp nổi bọt có thể sắp xếp danh sách theo thứ tự tăng dần hoặc giảm dần.
Xem thêm các bài tóm tắt lý thuyết Tin học lớp 7 Kết nối tri thức hay, chi tiết khác:
Lý thuyết Tin học 7 Bài 12: Định dạng đối tượng trên trang chiếu
Lý thuyết Tin học 7 Bài 13 : Thực hành tổng hợp: Hoàn thiện bài trình chiếu
Lý thuyết Tin học 7 Bài 14: Thuật toán tìm kiếm tuần tự
Lý thuyết Tin học 7 Bài 15: Thuật toán tìm kiếm nhị phân
Lý thuyết Tin học 7 Bài 16: Thuật toán sắp xếp