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 20: Thực hành bài toán tìm kiếm? 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 20: Thực hành bài toán tìm kiếm, 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. Dãy chưa sắp xếp dùng tìm kiếm tuần tự; dãy đã sắp xếp có thể dùng tìm kiếm nhị phân.
Câu 3. Theo phần Kiến thức trọng tâm của bài Bài 20: Thực hành bài toán tìm kiếm, phát biểu nào sau đây là đúng? A. Thực hành bài toán tìm kiếm giúp học sinh vận dụng thuật toán tìm kiếm để giải quyết bài toán cụ thể trên máy tính. 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 20: Thực hành bài toán tìm kiếm, 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. Việc thực hành rèn tư duy thuật toán và kĩ năng lập trình. 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 20: Thực hành bài toán tìm kiếm, 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 tìm kiếm tuần tự trong dãy
5, 2, 8, 1, 9, tìm giá trị8.
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 20: Thực hành bài toán tìm kiếm để giải thích hoặc thực hiện yêu cầu thực hành mở rộng sau:
day = [5, 2, 8, 1, 9] x = 8 vitri = -1 for i in range(len(day)): if day[i] == x: vitri = i break if vitri != -1: print("Tìm thấy", x, "tại vị trí", vitri) else: print("Không tìm thấy", x)
**Bài 4 (Luyện tập học kì — Mức độ Cơ bản).**
Nêu một điểm khác nhau giữa lỗi cú pháp và lỗi logic.
**Bài 5 (Luyện tập học kì — Mức độ Thông hiểu).**
Viết câu lệnh SQL đếm số học sinh trong bảng `HocSinh`.
**Bài 6 (Luyện tập học kì — Mức độ Vận dụng & Nâng cao).**
Trong Python, để dùng thư viện `math`, ta viết câu lệnh gì?
## 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: *"Dãy chưa sắp xếp dùng tìm kiếm tuần tự; dãy đã sắp xếp có thể dùng tìm kiếm nhị phân."*
- **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 tìm kiếm giúp học sinh vận dụng thuật toán tìm kiếm để giải quyết bài toán cụ thể trên máy tính."*
- **Câu 4 (B):** Khẳng định đúng theo hướng dẫn trọng tâm của bài: *"Việc thực hành rèn tư duy thuật toán và kĩ năng lập trình."*
### 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 tìm kiếm giúp học sinh vận dụng thuật toán tìm kiếm để giải quyết bài toán cụ thể trên máy tính. Nội dung thực hà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ử.; Dãy chưa sắp xếp dùng tìm kiếm tuần tự; dãy đã sắp xếp có thể dùng tìm kiếm nhị phân.; Cần chạy thử với nhiều bộ dữ liệu, kể cả trường hợp đặc biệt như dãy rỗng.
- **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 tìm kiếm tuần tự trong dãy `5, 2, 8, 1, 9`, tìm giá trị `8`.*
- **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 20: Thực hành bài toán tìm kiếm** (Thực hành gồm: phân tích, chọn thuật toán, cài đặt, chạy thử.; Dãy chưa sắp xếp dùng tìm kiếm tuần tự; dãy đã sắp xếp có thể dùng tìm kiếm nhị phân.; Cần chạy thử với nhiều bộ dữ liệu, kể cả trường hợp đặc biệt như dãy rỗng.).
- **Lời giải mẫu/Nhận xét:** ```python
day = [5, 2, 8, 1, 9]
x = 8
vitri = -1
for i in range(len(day)):
if day[i] == x:
vitri = i
break
if vitri != -1:
print("Tìm thấy", x, "tại vị trí", vitri)
else:
print("Không tìm thấy", x)
- Bài 4: Lỗi cú pháp: chương trình không chạy được do viết sai quy tắc ngôn ngữ. Lỗi logic: chương trình chạy được nhưng cho kết quả sai.
- Bài 5:
SELECT COUNT(*) FROM HocSinh; - Bài 6:
import math.
