Giải Tin học 7 Bài 16 (Kết nối tri thức): Thuật toán sắp xếp

Với soạn, giải bài tập 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 nhất, chi tiết sẽ giúp học sinh dễ dàng trả lời câu hỏi và làm bài tập Tin học 7 Bài 16.

1 3,710 11/10/2024
Tải về


Giải bài tập Tin học 7 Bài 16: Thuật toán sắp xếp

Video giải bài tập Tin học 7 Bài 16: Thuật toán sắp xếp

Khởi động trang 78 Bài 16 Tin học 7: Có hai chất lỏng khác màu là xanh và đỏ, lần lượt được chứa trong hai chiếc cốc A và B (Hình 16.1a). Chúng ta cần đổi chỗ hai chất lỏng này, sao cho cốc A đựng chất lỏng màu đỏ, còn cốc B đựng chất lỏng màu xanh. Để thực hiện công việc này, chúng ta sử dụng thêm một chiếc cốc thứ ba (cốc C) không đựng gì. Em hãy quan sát Hình 16.1b, Hình 16. 1c, Hình 16.1d để biết cách thực hiện.

Có hai chất lỏng khác màu là xanh và đỏ

Trả lời:

Các bước thực hiện:

- Đổ nước trong cốc A (hoặc cốc B) sang cốc C.

- Đổ nước trong cốc B (hoặc A) còn lại sang cốc trống.

- Đổ nước trong cốc C vào cốc còn trống.

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

Hoạt động 1 trang 80 Tin học 7: Mô phỏng thuật toán sắp xếp nổi bọt

Câu hỏi trang 80 Tin học lớp 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 hoạ tương tự như Hình 16.2, Hình 16.3, Hình 16.4

3

5

4

1

2

Trả lời:

Vòng lặp thứ nhất

3

5

4

1

2

2 > 1 ⇒ KHÔNG hoán đổi

3

5

4

1

2

1 < 4 ⇒ hoán đổi

3

5

1

4

2

1 < 5 ⇒ hoán đổi

3

1

5

4

2

1 < 3 ⇒ hoán đổi

Kết quả vòng lặp thứ nhất

1

3

5

4

2

Vòng lặp thứ hai

1

3

5

4

2

2 < 4 ⇒ hoán đổi

1

3

5

2

4

2 < 5 ⇒ hoán đổi

1

3

2

5

4

2 < 3 ⇒ hoán đổi

Kết quả vòng lặp thứ hai

1

2

3

5

4

Vòng lặp thứ ba

1

2

3

5

4

4 < 5 ⇒ hoán đổi

1

2

3

4

5

4 > 3 ⇒ KHÔNG hoán đổi

1

2

3

4

5

3 > 2 ⇒ KHÔNG hoán đổi

1

2

3

4

5

2 > 1 ⇒ KHÔNG hoán đổi

Kết quả vòng lặp thứ ba

1

2

3

4

5

Câu hỏi 2 trang 80 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ự.

Trả lời:

Đáp án đúng là: C

Thuật toán sắp xếp nổi bọt sắp xếp danh sách đượ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ự.

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

Hoạt động 2 trang 82 Tin học 7:Sắp xếp chọn

Câu hỏi trang 82 Tin học lớp 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ụ:

41

15

17

32

18

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.

Trả lời:

Vòng lặp thứ nhất

41

15

17

32

18

15 < 41 ⇒ hoán đổi

15

41

17

32

18

17 > 15 ⇒ KHÔNG hoán đổi

15

41

17

32

18

32 > 15 ⇒ KHÔNG hoán đổi

15

41

17

32

18

18 > 15 ⇒ KHÔNG hoán đổi

Kết quả vòng lặp thứ nhất

15

41

17

32

18

Vòng lặp thứ hai

15

41

17

32

18

17 < 41 ⇒ hoán đổi

15

17

41

32

18

32 > 17 ⇒ KHÔNG hoán đổi

15

17

41

32

18

18 > 17 ⇒ KHÔNG hoán đổi

Kết quả vòng lặp thứ hai

15

17

41

32

18

Vòng lặp thứ ba

15

17

41

32

18

32 < 41 ⇒ hoán đổi

15

17

32

41

18

18 < 32 ⇒ hoán đổi

15

17

18

41

32

Kết quả vòng lặp thứ ba

15

17

18

41

32

Vòng lặp thứ tư

15

17

18

41

32

32 < 41 ⇒ hoán đổi

Kết quả vòng lặp thứ tư

15

17

18

32

41

Đầu ra dãy các phần tử đã sắp xếp tăng dần:

15

17

18

32

41

Câu hỏi trang 82 Tin học 7: Em hãy viết vào vở cụ thể các bước 2, 3, 4 được mô tả trong Hình 16.5

Trả lời:

Vòng lặp thứ hai

1

4

3

5

2

3 < 4 ⇒ hoán đổi

1

3

4

5

2

KHÔNG hoán đổi

1

3

4

5

2

2 < 3 ⇒ hoán đổi

Kết quả vòng lặp thứ hai

1

2

4

5

3

Vòng lặp thứ ba

1

2

4

5

3

5 > 4 ⇒ KHÔNG hoán đổi

1

2

4

5

3

3 < 4 ⇒ hoán đổi

1

2

3

5

4

Kết quả vòng lặp thứ ba

Vòng lặp thứ tư

1

2

3

5

4

4 < 5 ⇒ hoán đổi

1

2

3

4

5

Kết quả vòng lặp thứ tư

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

Câu hỏi trang 82 Tin học 7: Chọn phương án đúng.

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

D. Để bài toán khó giải quyết hơn

Trả lời:

Đáp án đúng là: C

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.

Luyện tập

Luyện tập 1 trang 82 Tin học 7: 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.

Trả lời:

Vòng lặp thứ nhất

3

2

4

1

5

5 > 1 ⇒ KHÔNG hoán đổi

3

2

4

1

5

1 < 4 ⇒ hoán đổi

3

2

1

4

5

1 < 2 ⇒ hoán đổi

Kết quả vòng lặp thứ nhất

3

1

2

4

5

1 < 3 ⇒ hoán đổi

1

3

2

4

5

Kết quả vòng lặp thứ nhất

Vòng lặp thứ hai

1

3

2

4

5

5 > 4 ⇒ KHÔNG hoán đổi

1

3

2

4

5

4 < 2 ⇒ KHÔNG hoán đổi

1

3

2

4

5

2 < 3 ⇒ hoán đổi

1

2

3

4

5

Kết quả vòng lặp thứ hai

Luyện tập 2 trang 82 Tin học 7: 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.

Trả lời:

Vòng lặp thứ nhất

3

2

4

1

5

2 < 3 ⇒ hoán đổi

2

3

4

1

5

KHÔNG hoán đổi

2

3

4

1

5

1 < 2 ⇒ hoán đổi

Kết quả vòng lặp thứ nhất

1

3

4

2

5

Vòng lặp thứ hai

1

3

4

2

5

KHÔNG hoán đổi

1

3

4

2

5

2 < 3 ⇒ hoán đổi

1

2

4

3

5

Kết quả vòng lặp thứ hai

Vòng lặp thứ ba

1

2

4

3

5

3 < 4 ⇒ hoán đổi

1

2

3

4

5

Kết quả vòng lặp thứ ba

Vòng lặp thứ tư

1

2

3

4

5

KHÔNG hoán đổi

1

2

3

4

5

Kết quả vòng lặp thứ tư

Vận dụng

Vận dụng trang 82 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 đó.

Trả lời:

- Bảng điểm môn Tin học

Họ và tên

Điểm

Đỗ Ngọc Anh

7

Lê Mỹ Duyên

4

Trần Quốc Đạt

9

Lê Hà My

5

Nguyễn Bảo Trâm

6

- Thực hiện thuật toán sắp xếp nổi bọt:

Vòng lặp thứ nhất

7

4

9

5

6

6 > 5 ⇒ hoán đổi

7

4

9

6

5

6 < 9 ⇒ KHÔNG hoán đổi

7

4

9

6

5

9 > 4 ⇒ hoán đổi

7

9

4

6

5

9 > 7 ⇒ hoán đổi

9

7

4

6

5

Kết quả vòng lặp thứ nhất

Vòng lặp thứ hai

9

7

4

6

5

5 < 6 ⇒ KHÔNG hoán đổi

9

7

4

6

5

6 > 4 ⇒ hoán đổi

9

7

6

4

5

7 < 9 ⇒ KHÔNG hoán đổi

9

7

6

4

5

Kết quả vòng lặp thứ hai

Vòng lặp thứ ba

9

7

6

4

5

5 > 4 ⇒ hoán đổi

9

7

6

5

4

5 < 6 ⇒ KHÔNG hoán đổi

9

7

6

5

4

7 < 9 ⇒ KHÔNG hoán đổi

9

7

6

5

4

7 < 9 ⇒ KHÔNG hoán đổi

9

7

6

5

4

Kết quả vòng lặp thứ hai

- Bảng điểm môn Tin học sau khi sắp xếp:

Họ và tên

Điểm

Trần Quốc Đạt

9

Đỗ Ngọc Anh

7

Nguyễn Bảo Trâm

6

Lê Hà My

5

Lê Mỹ Duyên

4

Lý thuyết Tin học 7 Bài 16: Thuật toán sắp xếp - Kết nối tri thức

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ụ

Lý thuyết Bài 16: Thuật toán sắp xếp – Tin học lớp 7 - Kết nối tri thức (ảnh 1)

Đầu vào

Xét vị trí đầu tiên, vòng lặp thứ nhất:

Lý thuyết Bài 16: Thuật toán sắp xếp – Tin học lớp 7 - Kết nối tri thức (ảnh 1)

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

Xét vị trí thứ hai

Lý thuyết Bài 16: Thuật toán sắp xếp – Tin học lớp 7 - Kết nối tri thức (ảnh 1)

Hình 2. Vòng lặp thứ hai

Xét vị trí thứ 3

Lý thuyết Bài 16: Thuật toán sắp xếp – Tin học lớp 7 - Kết nối tri thức (ảnh 1)

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

Lý thuyết Bài 16: Thuật toán sắp xếp – Tin học lớp 7 - Kết nối tri thức (ảnh 1)

+ Các vòng lặp:

Lý thuyết Bài 16: Thuật toán sắp xếp – Tin học lớp 7 - Kết nối tri thức (ảnh 1)

Đầu ra: Dãy các phần tử đã được sắp xếp

Lý thuyết Bài 16: Thuật toán sắp xếp – Tin học lớp 7 - Kết nối tri thức (ảnh 1)

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.

Xem thêm lời giải bài tập Tin học lớp 7 Kết nối tri thức với cuộc sống hay, chi tiết khác:

Bài 1: Thiết bị vào - ra

Bài 2: Phần mềm máy tính

Bài 3: Quản lí dữ liệu trong máy tính

Bài 4: Mạng xã hội và một số kênh trao đổi thông tin trên internet

Bài 5: Ứng xử trên mạng

1 3,710 11/10/2024
Tải về


Xem thêm các chương trình khác: