
Anonymous
0
0
Giải Tin học 7 Bài 3 (Cánh diều): Sắp xếp chọn
- asked 4 months agoVotes
0Answers
0Views
Giải Tin học 7 Bài 3: Sắp xếp chọn
Khởi động
Khởi động trang 84 Tin học 7: Có một bó que tính dài ngắn khác nhau, em hãy sắp xếp các que tính thành dãy từ trái qua phải theo thứ tự ngắn dần?
Trả lời:
Muốn sắp xếp được các que tính theo thứ tự ngắn dần, ta phải đổi chỗ các que tính. Quê tính dài nhất ở bên trái, que tính ngắn nhất ở bên phải.
2. Thuật toán sắp xếp chọn
Hoạt động
Hoạt động trang 85 Tin học 7: Bài toán sắp xếp ở mục 1 trên dãy có gì giống và khác với bài toán sắp xếp nêu ở phần khởi động? Ý tưởng sắp xếp ở mục 1 có gì giống và khác với ý tưởng sắp xếp em đã sử dụng ở phần khởi động?
Trả lời:
Giống nhau: đều phải chọn là sắp lại thứ tự que tính hoặc số.
Giống nhau về ý tưởng: Chọn lấy que dài nhất/số lớn nhất trong dãy số và đổi chỗ nó lên đầu dãy. Lặp lại với dãy que tính/số còn lại (bỏ qua các que tính/số đã sắp xếp lại) cho đến khi hết dẫy ban đầu.
Luyện tập
Luyện tập trang 86 Tin học 7: Trình bày diễn biến từng bước của thuật toán sắp xếp chọn cho dãy số 11, 70, 18, 39, 63, 52, 41, 5 theo mẫu ở Hình 1.
Dãy a |
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
A7 |
A8 |
Giải thích |
Ban đầu |
11 |
70 |
18 |
39 |
63 |
52 |
41 |
5 |
70 đổi chỗ với A1 |
Sau bước 1 |
70 |
11 |
18 |
39 |
63 |
52 |
41 |
5 |
63 đổi chỗ cho A2 |
Sau bước 2 |
70 |
63 |
18 |
39 |
11 |
52 |
41 |
5 |
52 đổi chỗ cho A3 |
Sau bước 3 |
70 |
63 |
52 |
39 |
11 |
18 |
41 |
5 |
41 đổi chỗ cho A4 |
Sau bước 4 |
70 |
63 |
52 |
41 |
11 |
18 |
39 |
5 |
39 đổi chỗ cho A5 |
Sau bước 5 |
70 |
63 |
52 |
41 |
39 |
18 |
11 |
5 |
Không đổi chỗ |
Dãy kết quả |
70 |
63 |
52 |
41 |
39 |
18 |
11 |
5 |
Vận dụng
Vận dụng 1 trang 86 Tin học 7: Trong thuật toán sắp xếp chọn, khi nào không cần thực hiện thao tác “Đổi chỗ am cho ai” mà kết quả sắp xếp vẫn đúng?
Trả lời:
Trong thuật toán sắp xếp chọn, khi am < ai thì không cần thực hiện thao tác “Đổi chỗ am cho ai” mà kết quả sắp xếp vẫn đúng.
Vận dụng 2 trang 86 Tin học 7: Trong thuật toán sắp xếp chọn, nếu thay “Tìm giá trị lớn nhất bằng” “Tìm giá trị nhỏ nhất” thì kết quả nhận được là dãy số có giá trị ra sao?
Trả lời:
Trong thuật toán sắp xếp chọn, nếu thay “Tìm giá trị lớn nhất bằng” “Tìm giá trị nhỏ nhất” thì kết quả nhận được là dãy số có giá trị tăng dần.
Câu hỏi tự kiểm tra
Câu 1 trang 86 Tin học 7: Hãy nêu vài ví dụ bài toán sắp xếp trong thực tế và nói rõ tiêu chí sắp xếp.
Trả lời:
Ví dụ 1: Sắp xếp điểm trung bình môn Tin theo thứ tự giảm dần.
Ví dụ 2: Sắp xếp chiều cao của các bạn trong lớp theo thứ tự giảm dần.
Ví dụ 3: Sắp xếp thu nhập bình quân của các hộ dân theo thứ tự giảm dần.
Câu 2 trang 86 Tin học 7: Hãy tóm tắt bằng một câu trả lời cho câu hỏi: Thế nào là sắp xếp chọn?
Trả lời:
Sắp xếp chọn là chọn phần tử lớn nhất trong dãy chưa sắp xếp còn lại và sắp xếp vào đầu dãy đó.
Lý thuyết Tin Học 7 Bài 3: Sắp xếp chọn
1. Ý tưởng sắp xếp bằng cách chọn dần
Ý tưởng giải quyết bài toán được thể hiện qua ví dụ sau:
Ví dụ: Giả sử cần đổi chỗ các số hạng trong dãy số 55, 19, 42, 94, 18, 67 để tạo ra được dãy có thứ tự giảm dần.
Bước 1. Số lớn nhất trong dãy số (94) cần được chuyển về vị trí thứ nhất trong dãy, do đó đổi chỗ 94 và 55, dãy còn lại là: 19, 42, 55, 18, 67.
Bước 2. Số lớn nhất trong dãy là 67 chuyển về đầu dãy này, do đó đổi chỗ 67 với 19, dãy còn lại chưa được sắp xếp là 42, 55, 18, 19.
Tiếp tục lặp lại việc “Chọn số lớn nhất và đổi chỗ cho nói với số đứng đầu dãy”, cho đến khi hết dãy ban đầu.
Hình 3.1: Minh họa ý tưởng sắp xếp bằng cách chọn dần
2. Thuật toán sắp xếp chọn
Bài toán sắp xếp đặt ra như sau:
Đầu vào: Dãy số a1, a2, …, an gọi là dãy (a).
Đầu ra: Dãy số gồm các dãy số (a) những thứ tự giảm dần.
Thuật toán gồm một vòng lặp n – 1 lần, mỗi lần lặp nhằm đưa số của dãy vào đúng vị trí mong muốn.
Hình 3.2: Một mô tả thuật toán sắp xếp chọn
Trong các bước trên có yêu cầu tìm số lớn nhất trong dãy số cho trước (a).
Các bước để tìm được số lớn nhất của một dãy số nằm ở vị trí nào:
Bước 1. Tạm ghi nhận vị trí của số lớn nhất là 1.
Hình 3.3: Minh họa cách tìm số lớn nhất trong dãy số
Bước 2. So sánh a2 với số lớn nhất, nếu a2 lớn hơn số lớn nhất thì ghi nhận lại vị trị số lớn nhất là 2.
Cứ tiếp tục như vậy, đến khi so sánh xong an với số lớn nhất và ghi nhận lại vị trí của số lớn nhất thì số lớn nhất chính là số lớn nhất trong toàn bộ dãy và tìm được vị trí m của số lớn nhất trong dãy.
3. Bài toán sắp xếp
Sắp xếp là bài toán cơ sở trong tin học. Duy trì dữ liệu được sắp xếp đúng thứ tự sẽ làm giảm đáng kể thời gian tìm kiếm dữ liệu.
Khi phát biểu bài toán cần xác định rõ:
- Dãy đầu vào: Sắp xếp những gì?
- Tiêu chí: Sắp xếp theo cái gì? Thứ tự tăng dần hay giảm dần?