ĐỀ CƯƠNG KIỂM TRA CUỐI KỲ II – NĂM HỌC: 2024 – 2025
MÔN: TIN HỌC 10
I. Phần trắc nghiệm nhiều lựa chọn
[kiemtraquiz]
Câu 1. Kết quả khi thực hiện biểu thức: $10111_2$ or $10001_2$
A. $11011_2$
B. $11001_2$
*C. $10111_2$
D. $11111_2$
Câu 2. Kết quả khi thực hiện biểu thức: $10111_2$ and $10001_2$
A. $11001_2$
*B. $10001_2$
C. $11011_2$
D. $11111_2$
Câu 3. Kết quả khi thực hiện phép tính: $101_2 + 101_2$ là:
A. $0110_2$
B. $1011_2$
*C. $1010_2$
D. $1101_2$
Câu 4. Mục đích của việc kiểm thử chương trình là gì?
*A. Tìm ra lỗi, phòng ngừa và ngăn chặn các lỗi phát sinh trong tương lai
B. Tìm ra lỗi và ngăn chặn các lỗi xảy ra với chương trình
C. Phòng ngừa và ngăn chặn các lỗi phát sinh trong tương lai
D. Tìm ra lỗi và sửa để chương trình có thể chạy được
Câu 5. Kết quả sau khi thực hiện đoạn chương trình sau:
[nhom]
def f(x, y): n = x + y m = x - y return 2 * m * (n + 1) n, m = 3, 5 f(2, 1) print(n, m)
[/nhom]
*A. 3 5
B. Báo lỗi
C. -48
D. 8 -2
Câu 6. Mệnh đề “(1 and 1) or 0” có giá trị nào?
A. 0
*B. 1
C. True
D. False
Câu 7. Kết quả sau khi thực hiện đoạn chương trình sau:
[nhom]
def f(s):
m = 'train'
return m + s
m = 'baby'
s = f(' go')
print(s)
[/nhom]
A. go
B. Báo lỗi
*C. train go
D. traingo
Câu 8. Kết quả sau khi thực hiện đoạn chương trình sau:
[nhom]
def f(a): k = n + m + a return k m, n = 10, 4 print(f(5))
[/nhom]
A. Báo lỗi
*B. 19
C. 5
D. 0
Câu 9. Kết quả hiển thị sau khi thực hiện đoạn chương trình sau:
[nhom]
def func(a, b): a = a + b return a a, b = 10, 5 print(func(a, b))
[/nhom]
A. 10
B. Báo lỗi
C. 5
*D. 15
Câu 10. Trong tin học, dữ liệu gồm các loại nào?
A. Hình ảnh, số và âm thanh
*B. Văn bản, số, lôgic và đa phương tiện
C. Văn bản, số, âm thanh và lôgic
D. Số, hình ảnh, âm thanh và văn bản
Câu 11. Kết quả sau khi thực hiện đoạn chương trình sau:
[nhom]
def f(a): n = a + 1 n = (3 * n + 1) ** 2 return n f(1) print(n)
[/nhom]
A. 49
*B. Báo lỗi
C. 12
D. 36
Câu 12. Biến được khai báo và sử dụng bên trong một hàm được gọi là gì?
A. Biến tổng thể
B. Biến riêng
*C. Biến địa phương
D. Biến nguyên cục
Câu 13. Khi một chương trình bị lỗi tại một lệnh nào đó, điều gì sẽ xảy ra với chương trình đó?
A. Dừng lại và hiển thị tất cả các mã lỗi cùng lúc
B. Vừa chạy vừa thông báo mã lỗi
*C. Dừng lại và thông báo mã lỗi
D. Đưa ra kết quả và dừng lại
Câu 14. Khi chương trình thông báo mã lỗi “NameError:” thì đây là loại lỗi nào?
A. Cú pháp
B. Cấu trúc
C. Hợp lệ
*D. Ngoại lệ
Câu 15. Đâu là cách dùng để biểu diễn số nguyên dương trong máy tính?
*A. Đổi biểu diễn sang hệ nhị phân rồi đưa vào bộ nhớ máy tính
B. Đổi sang số tự nhiên rồi biểu diễn dưới dạng nhị phân
C. Chuyển sang hệ thập phân rồi đưa vào máy tính
D. Đưa trực tiếp vào bộ nhớ máy tính
Câu 16. Khẳng định nào đúng, khi nói về biến đã khai báo bên ngoài hàm?
A. Trong hàm không được sử dụng lại biến đó
B. Biến đó chỉ sử dụng được bên ngoài hàm
C. Bên trong hàm không thể truy cập để sử dụng giá trị của biến đó
*D. Bên trong hàm có thể truy cập để sử dụng giá trị của biến đó
Câu 17. Nếu chương trình thông báo ZeroDivisionError thì đó là gì và phải làm sao? Chọn phương án trả lời đúng nhất.
A. Lỗi không thể sửa được
B. Lỗi chia cho 0, cần xoá lệnh này
C. Chỉ là thông báo cẩn thận khi chạy chương trình
*D. Lỗi chia cho 0, tìm nguyên nhân gây lỗi
Câu 18. Kết quả khi thực hiện phép tính: $11_2 \times 11_2$ là:
A. $1111001_2$
*B. $1001_2$
C. $1111000_2$
D. $1111_2$
Câu 19. Khẳng định nào đúng, khi chương trình thực thi và xảy ra lỗi lôgic?
A. Không chạy và thông báo lỗi
B. Thông báo lỗi và đưa ra mã lỗi tương ứng
C. Vẫn chạy nhưng không đưa ra kết quả
*D. Không báo lỗi, nhưng kết quả đưa ra sai, không chính xác
Câu 20. Mệnh đề “(not p) and q” có giá trị True (1) khi nào?
A. p = 1, q = 0
B. p = 1, q = 1
C. p = 0, q = 0
*D. p = 0, q = 1
Câu 21. Khẳng định nào đúng, khi nói về biến khai báo bên trong hàm?
*A. Có tính địa phương và không có hiệu lực ở bên ngoài hàm
B. Có hiệu lực cả ở bên trong và ngoài hàm
C. Mang tính cục bộ và có hiệu lực ở bên ngoài hàm
D. Chỉ sử dụng ở ngoài hàm, không có tác dụng bên trong hàm
Câu 22. Một biến đã khai báo ngoài hàm, nếu muốn có tác dụng sửa đổi bên trong hàm thì cần khai báo lại biến này trong hàm với từ khoá nào?
A. int
B. float
*C. global
D. type
Câu 23. Kết quả khi thực hiện biểu thức: $10111_2$ xor $10001_2$
A. $1010_2$
*B. $110_2$
C. $111_2$
D. $101_2$
Câu 24. Khẳng định nào đúng khi nói về đại lượng lôgic?
A. Có giá trị chân lý là “Đúng” và “Sai”
B. Thường biểu diễn với các giá trị “1” và “0” (hoặc True/False)
C. Là đại lượng có thể vừa “Đúng” vừa “Sai”
*D. Là đại lượng chỉ nhận giá trị “Đúng” hoặc “Sai”
Câu 25. Số $250_{10}$ được biểu diễn là $11111010_2$. Khi đưa vào bộ nhớ số $250_{10}$ phải dùng bao nhiêu byte? Biết rằng 1 byte = 8 bit
*A. 1
B. 2
C. 5
D. 8
Câu 26. Khẳng định nào sau đây đúng khi nói về các biến khai báo bên trong hàm?
*A. Thường không có tác dụng bên ngoài hàm
B. Có tác dụng cả trong và ngoài hàm
C. Có thể trùng tên nhưng giá trị không được bằng nhau
D. Không được trùng tên với biến khai báo ngoài hàm
Câu 27. Mệnh đề “p or q” có giá trị False (sai) khi nào?
A. p đúng, q đúng
B. p đúng, q sai
C. p sai, q đúng
*D. p sai, q sai
Câu 28. Để biểu diễn dữ liệu lôgic, máy tính cần bao nhiêu bit?
A. 8
B. 2
C. 4
*D. 1
Câu 29. Khẳng định nào sau đây đúng khi nói về hệ nhị phân?
A. Dùng chủ đạo là hai chữ số 0 và 1
B. Chỉ bằng cách sử dụng một trong hai chữ số 0 hoặc 1
C. Hai chữ số hay dùng là 0 và 1
*D. Chỉ dùng hai chữ số 0 và 1
Câu 30. Khai báo biến bên trong hàm trùng tên với biến đã khai báo trước đó ngoài hàm được không?
A. Vừa được, vừa không
*B. Được
C. Không
D. Được khi giá trị khác nhau
Câu 31. Mệnh đề “p and q” có giá trị True (đúng) khi nào?
*A. p đúng, q đúng
B. p sai, q sai
C. p đúng, q sai
D. p sai, q đúng
Câu 32. Khẳng định nào đúng khi nói về việc biểu diễn thông tin trong máy tính?
A. Biến đổi thông tin bên ngoài thành dữ liệu
B. Chuyển hoá dữ liệu thành thông tin
*C. Là việc mã hoá thông tin thành dữ liệu nhị phân
D. Mã hoá, biến đổi dữ liệu thành thông tin
II. Phần trắc nghiệm đúng / sai
Câu Đ/S 1: Xét đoạn chương trình sau:
def f(a, b): x = a + b y = x * 2 return x + y - c a, b, c = 3, 2, -2 print(f(a, b))
a) Hàm f() có 3 biến cục bộ (Sai - có a, b, x, y là cục bộ nếu c được truyền vào; c hiện tại không phải cục bộ của f)
b) Khi thực hiện chương trình hiển thị: 13 (Sai)
c) Khi gọi hàm f(1, 0), giá trị trả về của hàm f() là: Báo lỗi NameError (Sai)
d) Hàm f() là hàm có trả về giá trị. (Đúng - có lệnh return)
Câu Đ/S 2: Xét đoạn chương trình sau:
def f(): x = a - 2 y = x * 2 print(x + y) return a, b = -3, 0 f() print(a, b)
a) Hàm f() là hàm không có giá trị trả về. (Đúng)
b) Khi thực hiện chương trình hiển thị: –3 0 (Sai)
c) Khi thực hiện việc gọi hàm f() kết quả hiển thị là: None (Sai – không có print(f()))
d) Thay dòng 7 bằng lệnh c = f() thì kết quả khi thực hiện chương trình là: 2 (Sai - Giá trị c sẽ là None, chương trình in -15 và -3 0)
Câu Đ/S 3: Cho hai số a, b tương ứng là $33_{10}$ và $55_{10}$.
a) Hai số a, b đang được biểu diễn ở hệ thập phân. (Đúng)
b) Kết quả khi đổi số b sang hệ nhị phân là: $110111_2$ (Đúng)
c) Kết quả sau khi đổi hai số a, b sang hệ nhị phân và thực hiện phép toán a or b là: $111111_2$ (Sai, a=$100001_2$, b=$110111_2$, a or b = $110111_2$)
d) Kết quả khi đổi số a sang hệ nhị phân là: $100001_2$ (Đúng)
Câu Đ/S 4: Cho hai số a, b tương ứng là $1101_2$ và $111_2$.
a) Hai số a, b đang được biểu diễn ở hệ thập phân. (Sai, hệ nhị phân)
b) Kết quả khi đổi số b sang hệ thập là: $7_{10}$ (Đúng)
c) Kết quả sau khi thực hiện phép toán a + b là: $10100_2$ (Đúng, a=13, b=7, a+b=20 = $10100_2$)
d) Kết quả sau khi thực hiện phép toán a x b là: $1011011_2$ (Đúng, 13 * 7 = 91 = $1011011_2$)
III. Phần tự luận
Câu TL 1: Xét đoạn chương trình dùng để tách các ký tự chữ cái thường trong danh sách A và đưa vào danh sách B. Tìm các dòng có lỗi, đưa ra mã lỗi và hướng khắc phục lỗi đó.
| Dòng | Chương trình | Dòng lỗi | Mã lỗi | Phương án khắc phục |
|---|---|---|---|---|
| 1 | A = ['a', '1', 'c', 'd', '-4'] |
|||
| 2 | B = [] |
|||
| 4 | for i in range(len(A)) |
SyntaxError | for i in range(len(A)): |
|
| 5 | if a <= A[i] <= z: |
5 | NameError: name 'a' is not defined NameError: name 'z' is not defined |
if 'a' <= A[i] <= 'z': |
| 6 | B.append(A[i]) |
6 | ||
| 7 | print(‘Kết quả:′, B) |
7 |
Câu TL 2: Xét đoạn chương trình in ra màn hình các số nguyên không âm trong xâu s trên một hàng và các số cách nhau một khoảng trắng. Tìm các dòng có lỗi, đưa ra mã lỗi và hướng khắc phục lỗi đó.
| Dòng | Chương trình | Dòng lỗi | Mã lỗi | Phương án khắc phục |
|---|---|---|---|---|
| 1 | s = '3 -3 5 0 9 8 -2 7' |
|||
| 2 | A = s.split() |
|||
| 4 | for i in range(A): |
4 | TypeError: 'list' object cannot be interpreted as an integer | for i in A: |
| 5 | if i >= 0: |
5 | TypeError: '>=' not supported between instances of 'str' and 'int' |
if int(i) >= 0: |
| 6 | print(i, end = ' ') |
6 | Logic (Khi in ra không có khoảng trắng) | print(i, end = ' ') |
Câu TL 3: Viết hàm với đầu vào là một danh sách A chứa các số nguyên và đầu ra là danh sách B chứa các số nguyên trong danh sách A là bội của 3.
Đang cập nhật...
Câu TL 4: Viết hàm với đầu vào là hai số nguyên dương M, N và đầu ra là một danh sách chứa các ước chung của M, N.
Đang cập nhật...