Bài giảng Steam Tin học Lớp 7 - Chủ đề F: Giải quyết vấn đề với sự trợ giúp của máy tính một số thuật toán sắp xếp và tìm kiếm cơ bản - Bài 3: Sắp xếp chọn
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 sang phải theo thứ tự ngắn dần.
Ý tưởng sắp xếp bằng cách chọn dần
- Ví dụ: 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
- Minh họa ý tưởng
- Giải thích:
Bước 1. Số lớn nhất trong dãy (94) cần được chuyển về vị trí thứ 1 trong dãy => đổi chỗ 94 và a1.
Bước 2. Số lớn nhất trong dãy còn lại (67) cần được chuyển về vị trí thứ 1 trong dãy còn lại => đổi chỗ 67 và a2.
Tiếp tục lặp lại việc “Chọn lấy số lớn nhất trong dãy số còn lại và đổi chỗ nó với số đứng đầu dãy này” cho đến khi hết dãy ban đầu.
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Steam Tin học Lớp 7 - Chủ đề F: Giải quyết vấn đề với sự trợ giúp của máy tính một số thuật toán sắp xếp và tìm kiếm cơ bản - Bài 3: Sắp xếp chọn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
- bai_giang_steam_tin_hoc_lop_7_chu_de_f_giai_quyet_van_de_voi.pptx
- 29. Sắp xếp chọn.mp4
Nội dung text: Bài giảng Steam Tin học Lớp 7 - Chủ đề F: Giải quyết vấn đề với sự trợ giúp của máy tính một số thuật toán sắp xếp và tìm kiếm cơ bản - Bài 3: Sắp xếp chọn
- BÀI 3 SẮP XẾP CHỌN
- 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 sang phải theo thứ tự ngắn dần.
- 1. Ý tưởng sắp xếp bằng cách chọn dần - Ví dụ: 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 - Minh họa ý tưởng
- - Giải thích: Bước 1. Số lớn nhất trong dãy (94) cần được chuyển về vị trí thứ 1 trong dãy => đổi chỗ 94 và a1. Bước 2. Số lớn nhất trong dãy còn lại (67) cần được chuyển về vị trí thứ 1 trong dãy còn lại => đổi chỗ 67 và a2. Tiếp tục lặp lại việc “Chọn lấy số lớn nhất trong dãy số còn lại và đổi chỗ nó với số đứng đầu dãy này” cho đến khi hết dãy ban đầu.
- Minh họa Lượt 1. Xét a1; Tìm số lớn nhất trong dãy a1 đến a6 rồi đổi chỗ với a1. 55 19 42 94 18 67 i j
- Lượt 2. Xét a2; Tìm số lớn nhất trong dãy a2 đến a6 rồi đổi chỗ với a2. 94 19 42 55 18 67 i max
- Lượt 3. Xét a3; Tìm số lớn nhất trong dãy a3 đến a6 rồi đổi chỗ với a3. 94 67 42 55 18 19 i max
- Lượt 4. Xét a4; Tìm số lớn nhất trong dãy a4 đến a6 rồi đổi chỗ với a4. 94 67 55 42 18 19 i
- Lượt 5. Xét a5; Tìm số lớn nhất trong dãy a5 đến a6 rồi đổi chỗ với a5. 94 67 55 42 18 19 i max
- Lượt 6. Xét a6; Đã xét xong dãy 94 67 55 42 19 18 i Ta thu được dãy sắp xếp theo chiều giảm dần
- TÌNH HUỐNG Bài toán sắp xếp ở mục 1 trên đâ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 Điểm giống và khác của bài toán ở mục 1 với bài toán sắp xếp nêu ở phần khởi động là: • Giống: đều sắp xếp theo thứ tự giảm dẩn. • Khác: • Bài toán ở phần khởi động không có ý tưởng sắp xếp bằng cách chọn dần mà chỉ sắp xếp để phù hợp với yêu cầu của đề bài. • Bài toán ở mục 1 là sắp xếp theo các bước, đổi chỗ các số cho nhau để được kết quả phù hợp.
- Trả lời Điểm giống và khác của ý tưởng sắp xếp ở mục 1 với ý tưởng sắp xếp em đã sử dụng ở phần khởi động là: • Giống: đều đặt những que tính dài trước giống như chọn ra số lớn nhất ở bài toán mục 1. • Khác: • Bài toán ở phần khởi động: chỉ cần sắp xếp để được các que tính thành dãy theo thứ tự ngắn dần. • Bài toán ở mục 1: đổi chỗ các số hạng để được dãy có thứ tự giảm dần.
- 2. THUẬT TOÁN SẮP XẾP CHỌN - Đầu vào: Dãy số a1, a2, , an gọi là dãy (a) - Đầu ra: Dãy số a’1, a’2, , a’n gồm các số của dãy (a) nhưng thứ tự giảm dần - Thuật toán sắp xếp chọn: Lặp với i từ 1 đến n – 1: a) Tìm số lớn nhất trong dãy số ai, ai+1, , an gọi là am b) Đổi chỗ am và ai cho nhau Hết lặp
- - Trong các bước trên có yêu cầu tìm số lớn nhất (kí hiệu là am) 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 (Hình 3)
- Bước 1. Tạm ghi nhận vị trí của số lớn nhất là 1 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 (nếu cần) thì số lớn nhất chính là số lớn nhất trong toàn bộ dãy và ta đã tìm được vị trí m của số lớn nhất trong dãy.
- MINH HỌA CÁCH TÌM SỐ LỚN NHẤT a lớn nhất 4 a4 lớn Giả sử a1 hơn a1 lớn nhất MAX
- 3. Bài toán sắp xếp - Sắp xếp lài bài toán cơ sở của 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. Các bài toán sắp xếp trong thực tế rất đa dạng. Khi phát biểu bài toán cần xác định rõ: 1) Dãy đầu vào: Sắp xếp những gì? 2) Tiêu chí: Sắp xếp theo cái gì? Thứ tự tăng dần hay giảm dần? - Ví dụ: Sắp xếp danh sách kết quả điểm kiểm tra môn Tin học theo thứ tự từ cao xuống thấp là bài toán sắp xếp. - Thực tế, khi sắp xếp thủ công (không dùng máy tính), thuật toán sắp xếp chọn thường được dùng
- Bài 1. 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 Bài 2. Trong thuật toán sắp xếp chọn: 1) Khi nào không cần thực hiện thao tác “Đổi chỗ am và ai cho nhau” mà kết quả sắp xếp vẫn đúng? 2) 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ó thứ tự ra sao?
- Câu 1. 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. Câu 2. 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?