Chủ đề 5. Bài 16. Thuật toán sắp xếp

Mời các em cùng Bumbii tham khảo hướng dẫn giải các bài tập bài 16 thuật toán sắp xếp trang 55 sách bài tập tin học lớp 7NXB Kết nối tri thức với cuộc sống

CHỦ ĐỀ 5. GIẢI QUYẾT VẤN ĐỀ VỚI SỰ TRỢ GIÚP CỦA MÁY TÍNH. BÀI 16. THUẬT TOÁN SẮP XẾP

Câu 16.1

Em hãy sắp xếp các bước sau đây theo đúng thứ tự để hoàn thành công việc hoán đổi chất lỏng đựng trong hai cốc A và B (sử dụng cốc C không đựng gì là cốc trung gian).

a) Đổ chất lỏng từ cốc B sang cốc A.

b) Đổ chất lỏng từ cốc C sang cốc B.

c) Đổ chất lỏng trong cốc A sang cốc C.

Đáp án: c -> a -> b.

Câu 16.2

Hoán đổi vị trí hai phần tử liên tiếp khi chúng không đúng thứ tự là cách sắp xếp của thuật toán nào?

A. Nổi bọt.             B. Chọn.

Đáp án: A.

Nổi bột là thuật toán sắp xếp được thực hiện bằng cách 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ự.

Câu 16.3

Tìm phần tử nhỏ nhất trong dãy và đổi chỗ phần tử này với phần tử đầu tiên của dãy chưa được sắp xếp là ý tưởng của thuật toán nào?

A. Nổi bọt.             B. Chọn.

Đáp án: B.

Thuật toán sắp xếp chọn xét từng vị trí từ đầu đến cuối dãy, so sánh trực tiếp phần tử ở vị trí được xét với những phần tử ở phía sau nó và hoán đổi nếu chúng chưa đúng thứ tự.

Câu 16.4

Dùng thuật toán sắp xếp nổi bọt để sắp xếp một dãy số tăng dần. Mỗi vòng lặp sẽ duyệt các phần tử từ cuối danh sách đến đầu danh sách. Kết thúc vòng lặp thứ nhất, phần tử đầu tiên sẽ có giá trị:

A. Nhỏ nhất trong dãy số.

B. Lớn nhất trong dãy số.

C. Không thay đổi.

D. Bằng giá trị của phân tử liền trước.

Đáp án: A. Nhỏ nhất trong dãy số.

Với vị trí đầu tiên, em thực hiện một vòng lặp như sau:

  • So sánh hai phần đứng cạnh nhau theo thứ tự từ cuối dãy lên vị trí đầu tiên.
  • Nếu phần tử đứng sau nhỏ hơn phần tử đứng trước thì đổi chỗ chúng cho nhau.
  • Cuối vòng lặp em sẽ nhận được dãy số với phần tử nhỏ nhất lên vị trí đầu tiên.

Câu 16.5

Sau vòng lặp thứ nhất của thuật toán sắp xếp chọn, phương án nào đúng?

A. Phần tử có giá trị nhỏ nhất trong dãy được tìm thấy và đổi chỗ cho phần tử đứng đầu dãy.

B. Phần tử có giá trị lớn nhất trong dãy được tìm thấy và đổi chỗ cho phần tử đứng đầu dãy.

C. Các phần tử liền kề được hoán đổi.

D. Phần tử có giá trị nhỏ nhất sẽ đổi vị trí cho phần tử cuối dãy.

Đáp án: A.

Câu 16.6

Các nhiệm vụ để thực hiện việc sắp xếp gồm:

A. So sánh.

B. Đổi chỗ.

C. So sánh và đổi chỗ.

D. Đổi chỗ và xoá.

Đáp án: C. So sánh và đổi chỗ.

Sắp xếp được chia thành hai nhiệm vụ nhỏ là so sánh và đổi chỗ.

Câu 16.7

Cho một dãy các quân bài như sau:

Bạn An sắp xếp các quân bài bằng cách tráo đổi vị trí theo các vòng lặp như trong các hình sau:

Hình 16.2. Vòng lặp thứ nhất

Hình 16.4. Vòng lặp thứ ba

a) Em hãy cho biết bạn An dùng thuật toán nào để sắp xếp?

b) Em hãy mô phỏng lại thuật toán trên với các quân bài trong Hình 16.5.

Đáp án:

a) An sắp xếp theo thuật toán sắp xếp nổi bọt.

b) Mô phỏng lại thuật toán sắp xếp nổi bọt với các quân bài:

Vòng lặp thứ nhất:

  • So sánh quân 6 và quân 9, vì 9 > 6 không đúng thứ tự nên quân 6 đổi chỗ cho quân 9.
  • So sánh quân 6 và quân 10, vì 10 > 6 không đúng thứ tự nên quân 6 đổi chỗ cho quân 10.
  • So sánh quân 6 và quân 4, vì 4 < 6 đúng thứ tự nên giữ nguyên vị trí.
  • Kết thúc vòng lặp thứ tự các quân bài như sau: quân 4, quân 6, quân 10, quân 9.

Vòng lặp thứ hai:

  • So sánh quân 9 và quân 10, vì 10 > 9 không đúng thứ tự nên quân 9 đổi chỗ cho quân 10.
  • So sánh quân 9 và quân 6, vì 6 > 9 đúng thứ tự nên giữ nguyên vị trí.
  • Kết thúc vòng lặp thứ tự các quân bài như sau: quân 4, quân 6, quân 9, quân 10.

Vòng lặp thứ ba:

  • So sánh quân 10 và quân 9, vì 9 < 10 đúng thứ tự nên giữ nguyên vị trí.
  • Vậy dãy đã được sắp xếp.

Câu 16.8

Nếu sử dụng thuật toán sắp xếp chọn để sắp xếp dãy số 8, 22, 7, 19, 5 theo thứ tự tăng dần thì số lần thực hiện thao tác hoán đổi giá trị trong vòng lặp thứ nhất là:

A. 2.

B. 3.

C. 4.

D. 5.

Đáp án: A. 2 lần.

Dãy số:

8227195

Vòng lặp thứ nhất:

Lần 17228195
Lần 25228197

Câu 16.9

Cho dãy số sau: 15, 20, 10, 18.

Bạn Minh sử dụng thuật toán sắp xếp nổi bọt để sắp xếp dãy số tăng dần. Mỗi vòng lặp sẽ duyệt từ phần tử cuối đến phần tử đầu tiên. Em hãy chọn phương án mô tả đúng dãy số sắp xếp sau mỗi vòng lặp.

A. 15, 20, 10, 18 -> 10, 15, 18, 20 -> 10, 15, 18, 20

B. 15, 20, 10, 18 -> 10, 20, 15, 18 -> 10, 15, 20, 18 -> 10, 15, 18, 20.

C. 15, 20, 10, 18 -> 15, 10, 20, 18 -> 10, 15, 18, 20.

D. 15, 20, 10, 18 -> 10, 15, 20, 18 -> 10, 15, 18, 20.

Đáp án: D. 15, 20, 10, 18 -> 10, 15, 20, 18 -> 10, 15, 18, 20.

Vòng lặp 1:

15201018
15201018
15102018
10152018

Vòng lặp 2:

10152018
10151820
10151820

Vòng lặp 3:

10151820
10151820

Câu 16.10

Em hãy dùng thuật toán sắp xếp nổi bọt sắp xếp dãy số dưới đây theo thứ tự tăng dần, mỗi vòng lặp duyệt từ phần tử cuối về đầu: 83, 5, 8, 12, 65, 72, 71.

Đáp án:

Mô phỏng các bước sắp xếp dãy số 83, 5, 8, 12, 65, 72, 71 theo thuật toán nổi bọt:

  • Vòng lặp 1: 83, 5, 8, 12, 65, 72, 71 -> 5, 83, 8, 12, 65, 71, 72.
  • Vòng lặp 2: 5, 83, 8, 12, 65, 71, 72 -> 5, 8, 83, 12, 65, 71, 72.
  • Vòng lặp 3: 5, 8, 83, 12, 65, 71, 72 -> 5, 8, 12, 83, 65, 71, 72.
  • Vòng lặp 4: 5, 8, 12, 83, 65, 71,72 -> 5, 8, 12, 65, 83, 71, 72.
  • Vòng lặp 5: 5, 8, 12, 65, 83, 71, 72 -> 5, 8, 12, 65, 71, 83, 72.
  • Vòng lặp 6: 5, 8, 12, 65, 71, 83, 72 -> 5, 8, 12, 65, 71, 72, 83.

Sau 6 vòng lặp thì dãy số mới được sắp xếp đúng theo yêu cầu.

Câu 16.11

Em hãy quan sát Hình 16.6 và cho biết đó là cách sắp xếp theo thuật toán nào?

Vòng lặp thứ nhất:

Vòng lặp thứ hai:

Vòng lặp thứ ba:

Vòng lặp thứ tư:

Hình 16.6. Các bước sắp xếp

Đáp án: Thuật toán sắp xếp chọn.

Câu 16.12

An và Khoa chơi trò chơi sắp xếp các que tính từ ngắn đến dài. Mỗi bạn có một cách sắp xếp khác nhau:

An: Tớ chọn que ngắn nhất rồi đổi vị trí với que ở vị trí đầu tiên. Tiếp tục chọn các que ngắn nhất trong các que chưa được xếp và sắp xếp chúng lần lượt vào các vị trí thứ hai, thứ ba….

Khoa: Tớ cầm que cuối cùng, nếu que trước ngắn hơn tớ sẽ chuyển sang cầm que ngắn, ngược lại nếu que trước dài hơn tớ sẽ đổi vị trí hai que tính. Lần lượt làm như vậy đến que tính đầu tiên. Sau lượt đầu, que tính ngắn nhất sẽ được đưa về vị trí đầu tiên. Ở lượt thứ hai, que tính ngắn thứ hai sẽ được đưa đúng vào vị trí, cứ như vậy đến khi các que tính được sắp xếp theo đúng thứ tự.

a) Em hãy cho biết bạn An và Khoa dùng thuật toán gì để sắp xếp?

b) Em hãy thực hiện theo cách của An và Khoa để sắp xếp các que tính trong Hình 16.7 theo thứ tự từ ngắn đến dài. Theo em, cách sắp xếp của bạn nào nhanh hơn?

Đáp án:

a) An dùng thuật toán sắp xếp chọn, Khoa dùng thuật toán sắp xếp nổi bọt.

b) Theo cách của bạn An:

Theo cách của bạn Khoa:

Vậy cách sắp xếp của An nhanh hơn cách sắp xếp của Khoa.

Câu 16.13

Em hãy sử dụng thuật toán sắp xếp chọn để sắp xếp bốn thành viên trong gia đình bạn Hải (bao gồm: bố, mẹ, Hải và em gái) (Hình 16.8) theo thứ tự tăng dần của chiều cao.

Đáp án:

  • Vòng lặp thứ nhất: Em gái là người thấp nhất nên đổi chỗ em gái với bố. Thứ tự mới là em gái, bố, mẹ, Hải.
  • Vòng lặp thứ hai: Hải là người thấp nhất trong dãy còn lại nên Hải đổi chỗ với bố. Thứ tự mới là em gái, Hải, mẹ, bố.
  • Vòng lặp thứ ba: Mẹ ở đúng vị trí nên thứ tự sắp xếp đã đúng.

Câu 16.14

Em hãy quan sát dãy gồm các số 10, 7, 3, 13, 2, 8, 5 được thay đổi vị trí theo từng bước như trong Hình 16.9.

a) Em hãy cho biết dãy số đã được sắp xếp theo thuật toán nào?

b) Em hãy sắp xếp dãy số ban đầu theo một thuật toán khác mà em đã được học. So sánh xem cách sắp xếp của thuật toán nào nhanh hơn?

Đáp án:

a) Dãy số đã được sắp xếp theo thuật toán sắp xếp chọn.

b) Dãy số có thể sắp xếp theo thuật toán nổi bọt như sau:

Vòng lặp thứ nhất:

Vòng lặp thứ hai:

Vòng lặp thứ ba:

Vòng lặp thứ tư:

Vòng lặp thứ năm:

Vậy sắp xếp theo thuật toán nổi bọt sẽ cần 5 vòng lặp, trong khi đó sắp xếp theo thuật toán chọn sẽ cần 8 vòng lặp. Vậy thuật toán nổi bọt trong trường hợp này nhanh hơn.

Câu 16.15

Điểm môn Tin học của học sinh tổ một lớp 7A được ghi trong bảng sau:

TTHọ tênĐiểm
1Nguyễn Châu Anh7,5
2Nguyễn Phương Chi9,0
3Hà Minh Đức8,0
4Văn Minh Hằng8,5
5Lê Đức Huy7,0

Em hãy sắp xếp lại danh sách theo thứ tự tăng dần của điểm bằng cách dùng thuật toán sắp xếp nổi bọt và sắp xếp chọn.

Đáp án:

Kết quả các vòng lặp thực hiện sắp xếp nổi bọt để sắp xếp điểm theo thứ tự tăng dần:

Kết quả các vòng lặp thực hiện sắp xếp chọn để sắp xếp điểm theo thứ tự tăng dần:

Danh sách sẽ đươc sắp xếp lại như bảng sau:

__________***__________

Xem các bài giải khác tại link https://bumbii.com/giai-sach-bai-tap-tin-hoc-lop-7-nxb-ket-noi-tri-thuc-voi-cuoc-song/

Thông tin liên hệ & mạng xã hội:

Website: https://bumbii.com/

Diễn đàn hỏi đáp: https://hoidap.bumbii.com

Facebook: https://www.facebook.com/bumbiihome

Pinterest: https://www.pinterest.com/bumbiihome/

0 0 đánh giá
Article Rating
guest

0 Bình luận
Phản hồi nội tuyến
Xem tất cả bình luận
0
Rất thích suy nghĩ của bạn, hãy bình luận.x