Trắc Nghiệm Tin Học 11 Cánh Diều Khoa Học Máy Tính Chủ đề FCS Bài 10 Có Đáp Án

Môn Học: Tin học 11
Trường: Trường THPT Trần Hữu Trang
Năm thi: 2024
Hình thức thi: Trắc nghiệm
Người ra đề thi: cô Lý Minh Tâm
Đối tượng thi: Học sinh lớp 11
Loại đề thi: Đề ôn tập
Trong bộ sách: Cánh Diều
Số lượng câu hỏi: 30
Thời gian thi: 45 phút
Độ khó: Trung bình
Làm bài thi

Trắc Nghiệm Tin Học 11 Cánh Diều Khoa Học Máy Tính Chủ đề FCS Bài 10: Thiết kế chương trình từ trên xuống và phương pháp mô đun hoá là nội dung thuộc môn Tin học, được biên soạn dưới dạng đề ôn tập tham khảo dành cho học sinh lớp 11 theo chương trình sách giáo khoa Cánh Diều. Bộ đề tập trung vào các kiến thức quan trọng như tư duy thiết kế chương trình từ trên xuống (top–down), cách phân rã bài toán, xây dựng sơ đồ mô đun và vai trò của mô đun hoá trong phát triển phần mềm. Nội dung mở đầu có sử dụng định dạng trắc nghiệm Tin học 11 Khoa học máy tính Cánh Diều, được biên soạn năm 2024 bởi cô Lý Minh Tâm – giáo viên Tin học Trường THPT Trần Hữu Trang (TP. Hồ Chí Minh). Tài liệu được đăng tải trên detracnghiem.edu.vn nhằm hỗ trợ học sinh ôn luyện thuận tiện và hiệu quả.

Trắc nghiệm môn Tin học 11 ở bài học này bao gồm hệ thống câu hỏi từ cơ bản đến vận dụng, giúp học sinh hiểu rõ quy trình thiết kế chương trình theo hướng tiếp cận từ trên xuống, biết cách chia bài toán thành các mô đun nhỏ, xây dựng mã nguồn dễ quản lý và tái sử dụng. Khi luyện tập trên detracnghiem.edu.vn, học sinh được xem đáp án chi tiết, theo dõi tiến bộ và rèn luyện khả năng tư duy thiết kế phần mềm một cách khoa học. Bộ đề là tài liệu quan trọng hỗ trợ chuẩn bị cho các bài kiểm tra định kỳ Trắc nghiệm lớp 11.

Trắc Nghiệm Tin Học 11 Cánh Diều Khoa Học Máy Tính

Chủ đề FCS: Giải quyết vấn đề với sự trợ giúp của máy tính

           Bài 10: Thiết kế chương trình từ trên xuống và phương pháp mô đun hoá

Câu 1: Phương pháp thiết kế “từ trên xuống” (Top-down design) trong lập trình là phương pháp giải quyết bài toán theo hướng nào?
A. Giải quyết các chi tiết nhỏ nhất rồi ghép lại.
B. Viết mã lệnh ngay lập tức từ dòng đầu tiên.
C. Phân rã bài toán lớn thành các bài toán nhỏ hơn.
D. Sao chép mã nguồn từ các bài toán tương tự.

Câu 2: Trong ngôn ngữ lập trình Python, cấu trúc nào được sử dụng chủ yếu để cài đặt các mô đun (module) xử lý các bài toán con?
A. Vòng lặp (Loop).
B. Danh sách (List).
C. Lớp (Class).
D. Hàm (Function).

Câu 3: Lợi ích nào sau đây không phải là ưu điểm chính của việc lập trình theo phương pháp mô đun hóa?
A. Giúp chương trình dễ đọc và dễ hiểu hơn.
B. Dễ dàng kiểm thử và bảo trì từng phần.
C. Làm tăng đáng kể dung lượng bộ nhớ máy tính.
D. Có thể tái sử dụng mã lệnh cho bài toán khác.

Câu 4: Khi chia một bài toán lớn thành các bài toán con, mối quan hệ giữa các mô đun thường được thể hiện qua yếu tố nào?
A. Tên của các biến cục bộ.
B. Số dòng lệnh của mỗi hàm.
C. Màu sắc của các dòng lệnh.
D. Tham số đầu vào và giá trị trả về.

Câu 5: Trong Python, từ khóa nào được sử dụng để bắt đầu định nghĩa một hàm (một mô đun)?
A. func
B. def
C. function
D. module

Câu 6: Cho đoạn mã sau:
def tinh_tong(a, b): return a + b
Biến a và b trong định nghĩa hàm được gọi là gì?
A. Tham số thực sự.
B. Biến toàn cục.
C. Tham số hình thức.
D. Hằng số.

Câu 7: Một chương trình quản lý học sinh cần chức năng “Sắp xếp danh sách”. Theo tư duy mô đun hóa, chức năng này nên được xử lý như thế nào?
A. Viết chung vào khối lệnh nhập dữ liệu đầu vào.
B. Viết lặp lại nhiều lần ở bất cứ đâu cần dùng.
C. Tách thành một hàm riêng biệt để gọi khi cần.
D. Bỏ qua vì chức năng này quá phức tạp.

Câu 8: Khi thiết kế thuật toán sắp xếp nhanh (QuickSort), việc tách thao tác “Phân đoạn” (Partition) thành một hàm riêng thể hiện tư duy gì?
A. Tư duy quy hoạch động.
B. Tư duy làm mịn dần.
C. Tư duy vét cạn.
D. Tư duy tham lam.

Câu 9: Trong một hàm Python, lệnh return có tác dụng gì?
A. In kết quả ra màn hình và dừng chương trình.
B. Nhập dữ liệu từ bàn phím cho hàm xử lý.
C. Khai báo các biến sẽ sử dụng trong hàm.
D. Trả về kết quả cho nơi gọi và kết thúc hàm.

Câu 10: Biến được khai báo bên trong một hàm (biến cục bộ) có phạm vi hoạt động như thế nào?
A. Chỉ có tác dụng trong nội bộ hàm đó.
B. Có tác dụng trong toàn bộ chương trình.
C. Có tác dụng ở tất cả các hàm khác.
D. Có tác dụng sau khi hàm đã kết thúc.

Câu 11: Để gọi một hàm có tên là xuly và truyền vào giá trị 10, câu lệnh nào sau đây là đúng?
A. call xuly(10)
B. def xuly(10)
C. xuly(10)
D. xuly[10]

Câu 12: Việc chia chương trình thành các mô đun độc lập giúp ích gì cho việc làm việc nhóm (teamwork)?
A. Giúp mọi người dùng chung một máy tính.
B. Mỗi người có thể phát triển một mô đun riêng.
C. Giảm bớt số lượng người cần thiết trong nhóm.
D. Không cần phải họp nhóm để trao đổi.

Câu 13: Cho đoạn mã:
def tang_gap_doi(x): x = x * 2
n = 5
tang_gap_doi(n)
print(n)
Kết quả in ra màn hình là gì?
A. 10
B. 5
C. 2
D. Báo lỗi.

Câu 14: Nếu một hàm trong Python không có lệnh return, hàm đó sẽ trả về giá trị gì khi kết thúc?
A. 0
B. False
C. None
D. Chuỗi rỗng.

Câu 15: Trong thiết kế từ trên xuống, “Giao diện” của một mô đun bao gồm những thông tin gì?
A. Cách thức cài đặt chi tiết bên trong mô đun.
B. Tên người lập trình viết ra mô đun đó.
C. Số lượng dòng lệnh có trong mô đun.
D. Tên mô đun, input cần thiết và output trả về.

Câu 16: Khi gỡ lỗi (debug) một chương trình lớn đã được mô đun hóa, ta nên thực hiện theo cách nào?
A. Kiểm tra toàn bộ chương trình cùng một lúc.
B. Xóa hết đi viết lại từ đầu cho chắc chắn.
C. Kiểm tra tính đúng đắn của từng hàm riêng lẻ.
D. Chỉ kiểm tra hàm chính (main) của chương trình.

Câu 17: Cho hàm def f(ds): ds.append(1). Nếu truyền một danh sách L = [] vào hàm, sau khi gọi hàm, L sẽ như thế nào?
A. Vẫn là danh sách rỗng [].
B. Trở thành danh sách [1].
C. Biến L bị xóa khỏi bộ nhớ.
D. Báo lỗi vì không thể thay đổi tham số.

Câu 18: Khái niệm “hộp đen” (black box) trong phương pháp mô đun hóa ám chỉ điều gì?
A. Màu sắc giao diện của chương trình là màu đen.
B. Chương trình bị lỗi không thể nhìn thấy mã nguồn.
C. Người dùng chỉ quan tâm đầu vào/ra, không cần biết chi tiết bên trong.
D. Dữ liệu của chương trình được mã hóa bảo mật.

Câu 19: Một bài toán quản lý thư viện gồm: Nhập sách, Mượn sách, Trả sách. Cấu trúc chương trình hợp lý nhất là:
A. Viết tất cả lệnh trong một file dài liên tục.
B. Viết 3 chương trình riêng biệt không liên quan.
C. Viết một chương trình chính gọi 3 hàm tương ứng.
D. Chỉ viết hàm Nhập sách, các việc khác làm thủ công.

Câu 20: Trong Python, cú pháp if name == “main”: thường được dùng để làm gì?
A. Khai báo tên của chương trình.
B. Phân tách phần định nghĩa hàm và phần chương trình chính.
C. Kiểm tra lỗi chính tả của chương trình.
D. Kết thúc chương trình ngay lập tức.

Câu 21: Khi truyền tham số cho hàm, thuật ngữ “tham số mặc định” (default argument) nghĩa là gì?
A. Tham số bắt buộc người dùng phải nhập.
B. Tham số không thể thay đổi giá trị.
C. Tham số luôn nhận giá trị bằng 0.
D. Tham số tự nhận giá trị định trước nếu người gọi không truyền.

Câu 22: Để tái sử dụng các hàm đã viết trong tệp mylib.py sang tệp main.py, ta dùng câu lệnh nào?
A. include mylib
B. using mylib
C. import mylib
D. copy mylib

Câu 23: Giả sử hàm KiemTra(n) trả về True nếu n là số nguyên tố. Để in ra các số nguyên tố từ 1 đến 100, ta viết:
A. if KiemTra(100): print(100)
B. for i in range(100): print(KiemTra(i))
C. while KiemTra(i): print(i)
D. for i in range(1, 101): if KiemTra(i): print(i)

Câu 24: Một hàm có thể trả về bao nhiêu giá trị trong Python?
A. Chỉ duy nhất một giá trị.
B. Tối đa hai giá trị.
C. Có thể trả về nhiều giá trị (dưới dạng tuple).
D. Không thể trả về giá trị nào.

Câu 25: Tại sao nên đặt tên hàm gợi nhớ (ví dụ tinh_dien_tich) thay vì tên vô nghĩa (ví dụ f1, xuly)?
A. Để máy tính chạy nhanh hơn.
B. Để tiết kiệm dung lượng ổ cứng.
C. Để người đọc code dễ hiểu chức năng của hàm.
D. Để tuân thủ quy tắc bắt buộc của Python.

Câu 26: Trong quá trình làm mịn dần, khi một bước xử lý vẫn còn quá phức tạp, ta nên làm gì?
A. Viết mã lệnh ngay cho bước đó.
B. Tiếp tục chia nhỏ bước đó thành các bước con.
C. Gộp bước đó với bước trước đó.
D. Bỏ qua bước đó và làm bước khác.

Câu 27: Cho hàm:
def phep_chia(a, b):
if b == 0: return None
return a / b
Hàm này đảm bảo nguyên tắc gì?
A. Tối ưu hóa tốc độ tính toán.
B. Bảo mật thông tin người dùng.
C. Xử lý ngoại lệ để tránh lỗi chương trình.
D. Tự động sửa lỗi dữ liệu đầu vào.

Câu 28: Cho đoạn chương trình sau:
x = 10
def thay_doi():
global x
x = 20
thay_doi()
print(x)
Kết quả in ra màn hình là gì?
A. 10
B. 0
C. Báo lỗi cú pháp.
D. 20

Câu 29: Khi thiết kế chương trình quản lý bán hàng, việc tách phần “Kết nối CSDL” và phần “Giao diện người dùng” thành hai mô đun riêng biệt nhằm mục đích chính là gì?
A. Để tăng số lượng dòng code tính tiền công.
B. Để dễ dàng thay đổi giao diện mà không ảnh hưởng dữ liệu.
C. Để bắt buộc người dùng phải cài hai phần mềm.
D. Để dữ liệu tự động sao lưu hàng ngày.

Câu 30: Phát biểu nào sau đây đúng nhất về mối quan hệ giữa “Thuật toán” và “Chương trình mô đun hóa”?
A. Thuật toán chỉ dùng cho chương trình không mô đun.
B. Mô đun hóa làm thay đổi bản chất logic của thuật toán.
C. Thuật toán là kết quả sau khi đã viết chương trình.
D. Mô đun hóa là cách tổ chức cài đặt thuật toán một cách khoa học.

×

Bạn ơi!!! Để xem được kết quả
bạn vui lòng làm nhiệm vụ nhỏ xíu này nha

LƯU Ý: Không sử dụng VPN hoặc 1.1.1.1 khi làm nhiệm vụ

Bước 1: Mở tab mới, truy cập Google.com

Bước 2: Tìm kiếm từ khóa: Từ khóa

Bước 3: Trong kết quả tìm kiếm Google, hãy tìm website giống dưới hình:

(Nếu trang 1 không có hãy tìm ở trang 2, 3, 4... nhé )

Bước 4: Cuộn xuống cuối bài viết rồi bấm vào nút GIỐNG HÌNH DƯỚI và chờ 1 lát để lấy mã:

Bạn ơi!!! Để xem được kết quả
bạn vui lòng làm nhiệm vụ nhỏ xíu này nha

LƯU Ý: Không sử dụng VPN hoặc 1.1.1.1 khi làm nhiệm vụ

Bước 1: Click vào liên kết kế bên để đến trang review maps.google.com

Bước 2: Copy tên mà bạn sẽ đánh giá giống như hình dưới:

Bước 3: Đánh giá 5 sao và viết review: Từ khóa

Bước 4: Điền tên vừa đánh giá vào ô nhập tên rồi nhấn nút Xác nhận