Bài 16. Thuật toán sắp xếp SGK Tin học 7 kết nối tri thức

Em hãy viết vào vở cụ thể các bước của vòng lặp thứ 2, 3, 4 được mô tả trong hình 16.5.

Quảng cáo
Lựa chọn câu để xem lời giải nhanh hơn

Hoạt động 1

Trả lời câu hỏi Hoạt động 1 trang 80 SGK Tin học 7

Em hãy thực hiện thuật toán sắp xếp nổi bọt để sắp xếp 5 số sau đây theo thứ tự tăng dần. Hãy mô phỏng các bước sắp xếp bằng hình vẽ minh họa tương tự như Hình 16.2, Hình 16.3, Hình 16.4.

https://baivan.net/sites/default/files/styles/giua_bai/public/d/m/Y/65_-_b15_0.png?itok=WWDEz0fq

Phương pháp giải:

Quan sát Hình 16.2, Hình 16.3, Hình 16.4.

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ự

Lời giải chi tiết:

https://baivan.net/sites/default/files/styles/giua_bai/public/d/m/Y/66_-_b16_0.png?itok=p-H-GTsZ

- Xét vị trí đầu tiên, vòng lặp thứ nhất thực hiện như sau:

https://baivan.net/sites/default/files/styles/giua_bai/public/d/m/Y/67_-_b16_0.png?itok=4bJs-7RH

- Xét vị trí thứ hai:

 

https://baivan.net/sites/default/files/styles/giua_bai/public/d/m/Y/68_-_b16_0.png?itok=beAFm1dU

- Xét vị trí thứ ba:

https://baivan.net/sites/default/files/styles/giua_bai/public/d/m/Y/69_-_b16_0.png?itok=FESXMgfC

? mục 1

Trả lời câu hỏi mục 1 trang 80 SGK Tin học 7

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 phần tử 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 sắp xếp theo đúng thứ tự.

Phương pháp giải:

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ự

Lời giải chi tiết:

Thuật toán sắp xếp nổi bọt sắp xếp danh sách bằng cách.
C. 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ự.

Hoạt động 2

Trả lời câu hỏi Hoạt động 2 trang 82 SGK Tin học 7

Chọn năm học sinh, mỗi học sinh viết ra tờ giấy một con số mà mình yêu thích. Các em đứng thành một hàng ngang và cầm tờ giấy có ghi con số để cả lớp có thể quan sát được.

Ví dụ:

https://baivan.net/sites/default/files/styles/giua_bai/public/d/m/Y/70_-_b16_0.png?itok=dGWi9391

Học sinh thứ sáu thực hiện thuật toán sắp xếp chọn để sắp xếp các con số của năm bạn theo thứ tự tăng dần

Phương pháp giải:

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ự

Lời giải chi tiết:

https://baivan.net/sites/default/files/styles/giua_bai/public/d/m/Y/72_-_b16.png?itok=iyFSF_u0

https://baivan.net/sites/default/files/styles/giua_bai/public/d/m/Y/71_-_b16_0.png?itok=H4abD_dU

? mục 2

Trả lời câu hỏi mục 2 trang 82 SGK Tin học 7

Em hãy viết vào vở cụ thể các bước của vòng lặp thứ 2, 3, 4 được mô tả trong hình 16.5.

Phương pháp giải:

Quan sát Hình 16.5 để mô tả.

Lời giải chi tiết:

https://baivan.net/sites/default/files/styles/giua_bai/public/d/m/Y/73_-_b16.png?itok=-7F4YTv1

https://baivan.net/sites/default/files/styles/giua_bai/public/d/m/Y/74_-_b16.png?itok=7Pk2IdE-

https://baivan.net/sites/default/files/styles/giua_bai/public/d/m/Y/75_-_b16_0.png?itok=SJ2svnhX

? mục 3

Trả lời câu hỏi mục 3 trang 82 SGK Tin học 7

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.

Phương pháp giải:

Chia một 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

Lời giải chi tiết:

Chúng ta chia bài toán thành những bài toán nhỏ hơn vì:
C. Để bài toán dễ giải quyết hơn.

Luyện tập

Trả lời câu hỏi Luyện tập trang 82 SGK Tin học 7

1. Em hãy liệt kê các bước của thuật toán sắp xếp nổi bọt để sắp xếp các số 3, 2, 4, 1, 5, theo thứ tự tăng dần.

Phương pháp giải:

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ự

Lời giải chi tiết:

https://baivan.net/sites/default/files/styles/giua_bai/public/d/m/Y/83_-_b16_0.png?itok=B00UqhxP

https://baivan.net/sites/default/files/styles/giua_bai/public/d/m/Y/76_-_b16.png?itok=4_gIKJe9

2. Em hãy liệt kê các bước của thuật toán sắp xếp chọn để sắp xếp các số 3, 2, 4, 1, 5 theo thứ tự tăng dần.

Phương pháp giải:

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ự

Lời giải chi tiết:

 

https://baivan.net/sites/default/files/styles/giua_bai/public/d/m/Y/82_-_b16.png?itok=hboYemJz

Giải bài 16 Thuật toán sắp xếp

Giải bài 16 Thuật toán sắp xếp

https://baivan.net/sites/default/files/styles/giua_bai/public/d/m/Y/80_-_b16.png?itok=X0UNo9fA

Giải bài 16 Thuật toán sắp xếp

Vận dụng

Trả lời câu hỏi Vận dụng trang 82 SGK Tin học 7

Em hãy ghi lại kết quả điểm học tập môn Tin học của các bạn trong tổ. Thực hiện thuật toán sắp xếp chọn hoặc sắp xếp nổi bọt để sắp xếp điểm theo thứ tự giảm dần. Dựa trên kết quả sắp xếp, hãy cho biết danh sách tên các bạn tương ứng theo kết quả sắp xếp đó.

Phương pháp giải:

Lời giải chi tiết:

Ví dụ minh họa sử dụng thuật toán sắp xếp chọn đểthực hiện sắp xếp điểm học tập môn Tin học của các bạn trong tổ theo thứ tự không giảm.

Bài đọc >> Xem chi tiết: Lý thuyết thuật toán sắp xếp - Tin học 07
+

BÀI 16: THUẬT TOÁN SẮP XẾP

1. Thuật toán sắp xếp nổi bọt

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ự

Mô tả thuật toán sắp xếp nổi bọt bằng ngôn ngữ tự nhiên: Sắp xếp dãy số theo thứ tự tăng bằng thuật toán sắp xếp nổi bọt.

(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 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 sẽ nhận được 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 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 sẽ nhận được dãy số với phần tử nhỏ thứ nhì nổi lên vị trí thứ hai

(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

(4). Kết thúc, sẽ nhận được dãy số đã được sắp xếp theo thứ tự từ nhỏ đến lớ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í 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ự

Mô tả thuật toán sắp xếp chọn bằng ngôn ngữ tự nhiên: 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). 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, sẽ nhận được dãy số với phần tử nhỏ nhất được đưa về vị trí đầu tiên.

(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, sẽ nhận được dãy số với phần tử nhỏ thứ nhì được đưa về vị trí thứ hai.

(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 

(4). Kết thúc, sẽ nhận được dãy số đã được sắp xếp theo thứ tự từ nhỏ đến lớn.

(3). Chia bài toán thành những bài toán nhỏ hơn

Chia một 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

- Thu gọn
BÌNH LUẬN

Danh sách bình luận

Đang tải bình luận...
close