Phần 1: Câu hỏi Trắc nghiệm (Nhận biết & Thông hiểu)
Câu 1. Nội dung nào sau đây phản ánh đúng kiến thức cần ghi nhớ trong bài Bài 22: Thực hành bài toán sắp xếp? A. Bỏ qua các khái niệm cơ bản và chỉ học thuộc lòng kết quả cuối cùng mà không cần hiểu bản chất. B. Chỉ áp dụng kiến thức trong một trường hợp duy nhất, không cần kiểm tra điều kiện hay đơn vị. C. Thực hành gồm: phân tích, chọn thuật toán, cài đặt, chạy thử. D. Các nội dung trong bài hoàn toàn độc lập và không có mối liên hệ nào với thực tiễn hay các bài học khác.
Câu 2. Khi học và vận dụng bài Bài 22: Thực hành bài toán sắp xếp, khẳng định nào dưới đây là chính xác? A. Không cần đọc kĩ đề bài hay phân tích dữ kiện trước khi thực hiện các bước giải. B. Mọi khái niệm trong bài đều có thể thay thế tùy ý cho nhau mà không làm thay đổi kết quả. C. Chỉ cần ghi đáp số ngắn gọn, bỏ qua toàn bộ bước lập luận, giải thích và kiểm tra lại. D. Sắp xếp nổi bọt dùng hai vòng lặp lồng nhau, so sánh và đổi chỗ các cặp kề nhau.
Câu 3. Theo phần Kiến thức trọng tâm của bài Bài 22: Thực hành bài toán sắp xếp, phát biểu nào sau đây là đúng? A. Thực hành bài toán sắp xếp giúp học sinh biến kiến thức về thuật toán sắp xếp thành chương trình chạy được. B. Kết luận ngay kết quả khi chưa đối chiếu với quy tắc hoặc định nghĩa trong bài học. C. Thay đổi toàn bộ quy tắc trọng tâm của bài học theo cảm tính cá nhân. D. Bỏ qua việc rèn luyện qua ví dụ minh họa và bài tập thực hành của tiết học.
Câu 4. Để nắm vững và vận dụng tốt bài Bài 22: Thực hành bài toán sắp xếp, học sinh cần lưu ý điều nào sau đây? A. Không cần ghi nhớ các lưu ý trọng tâm vì chúng không ảnh hưởng đến việc làm bài tập. B. Học sinh cần xác định rõ yêu cầu: sắp xếp tăng dần hay giảm dần, dãy là số hay chuỗi, kết quả in toàn bộ dãy hay chỉ một phần. C. Áp dụng ngược lại hoàn toàn so với quy tắc và hướng dẫn trong phần kiến thức trọng tâm. D. Chỉ cần đọc lướt tiêu đề bài học mà không cần nắm vững nội dung chi tiết từng mục.
Phần 2: Bài tập Tự luận & Thực hành theo tiết học
Bài 1 (Cơ bản — Hệ thống hóa kiến thức trọng tâm). Dựa vào phần Kiến thức trọng tâm của bài Bài 22: Thực hành bài toán sắp xếp, em hãy trình bày các khái niệm, quy tắc hoặc nội dung cốt lõi của tiết học và nêu ý nghĩa của chúng.
Bài 2 (Thực hành — Phân tích & Giải mẫu theo ví dụ tiết học). Đọc kĩ tình huống/ví dụ trọng tâm của tiết học dưới đây, sau đó tự trình bày lại các bước thực hiện và nêu nhận xét rút ra:
Ví dụ: viết chương trình sắp xếp nổi bọt dãy
4, 3, 1theo thứ tự tăng dần bằng Python.
Bài 3 (Vận dụng — Áp dụng quy tắc ghi nhớ vào bài tập). Vận dụng các điểm ghi nhớ trọng tâm của bài Bài 22: Thực hành bài toán sắp xếp để giải thích hoặc thực hiện yêu cầu thực hành mở rộng sau:
day = [4, 3, 1] n = len(day) for i in range(n - 1): for j in range(n - 1 - i): if day[j] > day[j + 1]: day[j], day[j + 1] = day[j + 1], day[j] print(day)
**Bài 4 (Luyện tập học kì — Mức độ Cơ bản).**
Viết chương trình Python sắp xếp mảng một chiều tăng dần bằng thuật toán sắp xếp chọn, đồng thời đếm số lần đổi chỗ đã thực hiện.
**Bài 5 (Luyện tập học kì — Mức độ Thông hiểu).**
Giải thích vì sao trước khi xóa hàng loạt dữ liệu trong cơ sở dữ liệu, cần sao lưu. Nêu hai tình huống cụ thể có thể gây mất dữ liệu nếu không sao lưu. ---
**Bài 6 (Luyện tập học kì — Mức độ Vận dụng & Nâng cao).**
Cho danh sách `a = [6, 2, 9, 4]`. Giá trị của `a[0]` và `a[3]` là bao nhiêu?
## Phần 3: Đáp án & Hướng dẫn giải chi tiết
### 1. Đáp án phần Trắc nghiệm
- **Bảng đáp án:** **1-C**, **2-D**, **3-A**, **4-B**.
- **Giải thích chi tiết:**
- **Câu 1 (C):** Khẳng định đúng theo mục *Ghi nhớ* của bài: *"Thực hành gồm: phân tích, chọn thuật toán, cài đặt, chạy thử."*
- **Câu 2 (D):** Khẳng định đúng theo nội dung cốt lõi của tiết học: *"Sắp xếp nổi bọt dùng hai vòng lặp lồng nhau, so sánh và đổi chỗ các cặp kề nhau."*
- **Câu 3 (A):** Khẳng định chuẩn xác theo phần *Kiến thức trọng tâm*: *"Thực hành bài toán sắp xếp giúp học sinh biến kiến thức về thuật toán sắp xếp thành chương trình chạy được."*
- **Câu 4 (B):** Khẳng định đúng theo hướng dẫn trọng tâm của bài: *"Học sinh cần xác định rõ yêu cầu: sắp xếp tăng dần hay giảm dần, dãy là số hay chuỗi, kết quả in toàn bộ dãy hay chỉ một phần."*
### 2. Hướng dẫn giải phần Tự luận & Thực hành
- **Bài 1:**
- **Nội dung cốt lõi cần trình bày:** Thực hành bài toán sắp xếp giúp học sinh biến kiến thức về thuật toán sắp xếp thành chương trình chạy được. Quy trình gồm: phân tích yêu cầu, chọn thuật toán, cài đặt chương trình, chạy thử và kiểm tra kết quả.
- **Tổng kết ghi nhớ:** Thực hành gồm: phân tích, chọn thuật toán, cài đặt, chạy thử.; Sắp xếp nổi bọt dùng hai vòng lặp lồng nhau, so sánh và đổi chỗ các cặp kề nhau.; Sắp xếp chọn tìm phần tử nhỏ nhất rồi đổi chỗ lên đầu.
- **Bài 2:**
- **Hướng dẫn phân tích & trình bày:** Dựa trực tiếp vào dữ kiện trong ví dụ minh họa của tiết học: *Ví dụ: viết chương trình sắp xếp nổi bọt dãy `4, 3, 1` theo thứ tự tăng dần bằng Python.*
- **Lưu ý khi trình bày:** Xác định rõ yêu cầu, áp dụng đúng quy tắc/khái niệm trong mục 1 và kiểm tra lại kết quả cuối cùng.
- **Bài 3:**
- **Phương pháp giải:** Áp dụng các quy tắc ghi nhớ của bài **Bài 22: Thực hành bài toán sắp xếp** (Thực hành gồm: phân tích, chọn thuật toán, cài đặt, chạy thử.; Sắp xếp nổi bọt dùng hai vòng lặp lồng nhau, so sánh và đổi chỗ các cặp kề nhau.; Sắp xếp chọn tìm phần tử nhỏ nhất rồi đổi chỗ lên đầu.).
- **Lời giải mẫu/Nhận xét:** ```python
day = [4, 3, 1]
n = len(day)
for i in range(n - 1):
for j in range(n - 1 - i):
if day[j] > day[j + 1]:
day[j], day[j + 1] = day[j + 1], day[j]
print(day)
- Bài 4:
python a = [5, 2, 4, 1] dem = 0 n = len(a) for i in range(n): vi_tri_min = i for j in range(i + 1, n): if a[j] < a[vi_tri_min]: vi_tri_min = j if vi_tri_min != i: a[i], a[vi_tri_min] = a[vi_tri_min], a[i] dem += 1 print("Mảng đã sắp xếp:", a) print("Số lần đổi chỗ:", dem) - Bài 5: Vì thao tác xóa hàng loạt không thể hoàn tác dễ dàng; nếu xóa nhầm hoặc điều kiện xóa sai, dữ liệu bị mất vĩnh viễn. Hai tình huống: (1) Điều kiện
WHEREsai khiến xóa nhầm nhiều bản ghi hơn dự kiến. (2) Xóa nhầm bảng hoặc xóa cả cơ sở dữ liệu do thao tác nhầm. Bản sao lưu giúp khôi phục dữ liệu trong cả hai trường hợp. - Bài 6:
a[0] = 6,a[3] = 4.
