
TRƯỜNG THPT CHUYÊN BẢO LỘC
TỔ LÝ TIN
ĐỀ CƯƠNG KIỂM TRA GIỮA KÌ II – MÔN TIN HỌC 10 CƠ BẢN
NĂM HỌC: 2024 – 2025
Học sinh ôn tập nội dung trong chủ đề 5: Giải quyết vấn đề với sự trợ giúp của máy tính.
PHẦN I. Câu trắc nghiệm nhiều phương án lựa chọn.
CÂU 1: Cấu trúc lặp với số lần biết trước là:
A. for .. in range(n,m) B. while <điu kin>:
C. for .. in range(n,m): D. for <điu kin>
CÂU 2: Cấu trúc lặp với số lần không biết trước là:
A. for in range(n,m) B. while <điu kin>:
C. while in range(n,m): D. for <điu kin>
CÂU 3: Trong NNLT Python ta có thể gọi mt hay nhiu phần tử trong list bằng các đối số trong ngoặc
A. { } B. ( ) C. [ ] D. < >
CÂU 4: Trong NNLT Python, nếu nhập số lượng list là (n = 10) phần tử thì chỉ số đầu, cuối trong list
là
A. 1, 10 B. 0, 10 C. 1, 9 D. 0, 9
Câu 5: Toán tử nào dùng để kiểm tra mt giá trị có nằm trong danh sách không?
A. in B. int C. range D. append
Câu 6: Toán tử nào dùng để thêm phần tử vào danh sách
A. in B. remove C. clear D. append
CÂU 7: Mt xâu trong Python được đánh chỉ số cho từng ký tự bắt đầu từ
A. 0 B. 1 C. 2 D. 3
CÂU 8: Để truy cập vào phần tử xâu ta sử dụng tham số chỉ số trong ngoặc nào?
A. { } B. < > C. [ ] D. ( )
CÂU 9: Đoạn chương trình Python sau sẽ hin ra mà n hình như thế nào?
str = “Tin học”
print(str * 2)
A. Tin học B. Tin học*2
C. str*2 D. Tin họcTin học
Câu 10: Kết quả của đoạn lnh sau là gì?
s= “Tinhoc”
print(len(s))
A. 2 B. 4 C. 6 D. 7
Câu 11: Lnh nào sau đây dùng để tách xâu
A. split() B. join() C. remove() D. copy()
Câu 12: Trong Python, câu lnh nào dùng để tính đ dài của xâu s?
A. len(s) B. length(s) C. s.len() D. s. length()
Câu 13: Số phát biểu đúng trong số các phát biểu sau
1) Lnh int() chuyển đổi đối tượng đã cho thành kiểu số nguyên
2) Lnh str() chuyển đổi đối tượng đã cho thành kiểu xâu

3) Lnh float() chuyển đổi đối tượng đã cho thành kiểu số thực
4) Python cung cấp sẵn nhiu hàm thực hin các công vic khác nhau cho người dùng tùy ý sử
dụng
5) Người dùng không thể xây dựng thêm hàm mới
A. 2 B. 3 C. 4 D. 5
Câu 14 : Chọn phát biểu SAI trong các phát biểu sau
A. Lnh print() thực hin vic in ra màn hình
B. Lnh input() thực hin yêu cầu nhập vào mt biểu thức, số hay mt xâu bất kì
C. Lnh type() trả lại kiểu dữ liu của biểu thức trong ngoặc
D. Lnh str() chuyển đối tượng đã cho thành chuỗi
Câu 15: Từ khóa dùng tạo Hàm trong python là
A. input B. def C. print D. int
Câu 16. Chọn phát biểu SAI trong các phát biểu sau
A. Để thiết lập hàm trả lại giá trị câu lnh return trong khai báo hàm cần có <giá trị> kèm theo.
B. Để thiết lập hàm trả lại giá trị có thể có hoặc không có return
C. Để thiết lập hàm không trả lại giá trị có thể dùng lnh return không có <giá trị>
D. Để thiết lập hàm không trả lại giá trị có thể không dùng lnh return
Câu 17: Kết quả chương trình sau là
def vd(so):
return so*2
print(vd(10))
A. 10 B. 20 C. 30 D. 40
Câu 18: Kết quả chương trình sau là
def test(n,m):
return n+m
print(test(10,20))
A. 10 B. 20 C. 30 D. 40
Câu 19: Hàm sau có chức năng gì?
def sum(a, b):
print("sum = " + str(a + b))
A. Trả v tổng của hai số a và b được truyn vào
B. Trả v hai giá trị a và b
C. Tính tổng hai số a và b
D. Tính tổng hai số a và b và hiển thị ra màn hình
Câu 20: Khi gọi hàm f(1, 2, 3), khi định nghĩa hàm f có bao nhiêu tham số?
A. 1 B. 2 C. 3 D. 4
Câu 21: Khi khai báo hàm, thành phần nào được định nghĩa và được dùng như biến trong hàm?
A. Tham số B. Đối số C. Dữ liu D. Giá trị
Câu 22: Chọn phát biểu đúng trong các phát biểu sau
A. Lời gọi hàm không có lỗi nếu tham số được truyn chưa có giá trị
B. Số lượng giá trị được truyn vào hàm bằng số tham số trong khai báo của hàm
C. Tham số là giá trị được truyn vào khi gọi hàm
D. Khi gọi hàm có thể thêm các đối số
Câu 23: Phát biểu nào bị SAI?
A. Mt hàm khi khai báo có mt tham số nhưng khi gọi hàm có thể có 2 đối số.
B. Tham số được định nghĩa khi khai báo hàm.
C. Tham số và đối số có mt số điểm khác nhau.
D. Khi gọi hàm, các tham số sẽ được truyn bằng giá trị thông qua đối số của hàm.

Câu 24: Giá trị của m là bao nhiêu sau biết kết quả là 5:
def tinhSum(a, b):
return a + b
s = tinhSum(1, m)
print(s)
A. 5 B. 4 C. 2 D. 3
Câu 25. Kết quả nào được in ra khi thực hiện các câu lệnh sau
x=10
def add(y):
x=10
x=x+1
return x+y
s= add(10)
print(s,x)
A. 21, 11 B. 20, 10 C. 21, 10 D. 20, 11
CÂU 26: Cho danh sách a=[10,20,30,40,50] chỉ số của các phần tử trong a được đánh là
A. 1 2 3 4 5 B. 0 1 2 3 4 C. 0 2 4 6 8 D. 1 3 5 7 9
CÂU 27: Dưới đây có bao nhiêu khai báo biến thuc kiểu dữ liu XÂU KÍ TỰ là hợp l?
1) a=“”
2) b=“Tin hoc”
3) c=123456
4) d=3.14
5) h=“34ab23”
A. 2 B. 3 C. 4 D. 5
CÂU 28: Đoạn lệnh dưới đây hiện ra màn hình giá trị bao nhiêu?
s= “Python”
print(len(s))
A. 3 B. 4 C. 5 D. 6
CÂU 29: Chương trình sau hiện ra màn hình giá trị là
def vidu(so):
return so*3
print(vidu(20))
B. 3 B. 60 C. 20 D. 23
CÂU 30: Khi gọi hàm f(a,b) thì hàm f đã được định nghĩa với bao nhiêu tham số?
A. 0 B. 2 C. 3 D. 1
CÂU 31: Để hiện ra màn hình giá trị 15 thì giá trị của m ở dòng 3 phải là bao nhiêu?

1. def Sum(a, b):
2. return a + b
3. s = Sum(5, m)
4. print(s)
A. 5 B. 10 C. 15 D. 20
CÂU 32: Chọn phát biểu ĐÚNG NHẤT khi sử dụng Hàm tự định nghĩa trong chương trình
A. Có thể gọi Hàm ở bất kì đâu trong chương trình
B. Chỉ được gọi Hàm ở đầu chương trình
C. Chỉ được gọi Hàm ở cuối chương trình
D. Chỉ được gọi Hàm bên dưới các lnh của Hàm đã được định nghĩa
PHẦN II. Câu trắc nghiệm đúng sai. Trong mỗi ý a), b), c), d) ở mỗi câu, thí sinh chọn
đúng hoặc sai
Câu 1: Dựa trên kiến thức về lệnh lặp for trong Python, hãy xác định các ý sau đây là đúng hay sai:
a). Biến k trong lệnh for k in range(n): sẽ lần lượt nhận các giá trị từ 0 đến n-1.
b). Vùng giá trị của lệnh range(n) gồm n số nguyên liên tiếp từ 1 đến n.
c). Câu lệnh if k%2 == 0 được sử dụng để kiểm tra xem k có phải là số chẵn hay không.
d). Đoạn mã sau sẽ tính tổng các số là bội của 3 nhỏ hơn n.
n = 20
C = 0
for k in range(n):
if k%3 == 0: # Điều kiện k là bội của 3 là k%3 = 0
C = C + 1
print(C)
Câu 2: Hãy xác định các câu sau về cách sử dụng lệnh for trong Python là đúng hay sai:
a). Vùng giá trị của lệnh range(1, n+1) sẽ bao gồm các số từ 1 đến n.
b). Tổng giá trị của S trong đoạn mã S = 0; for k in range(1, n+1): S = S + k sẽ bằng tổng của 1+2+...+n.
c). Đoạn mã for k in range(1, n+1): S = S + k sẽ tính tổng của các số từ 0 đến n-1..
d). Lệnh range(1, n+1) và lệnh range(n) sẽ trả về cùng một vùng giá trị nếu n=1.
Câu 3: Dựa trên kiến thức về lệnh range trong Python, hãy xác định các ý sau đây là đúng hay sai:
a) Lệnh range(1, 51) sẽ tạo ra vùng giá trị gồm các số từ 1 đến 50.
b) Lệnh range(5, 11) sẽ tạo ra vùng giá trị gồm các số từ 5 đến 10.
c) Lệnh range(0, 2) sẽ tạo ra vùng giá trị gồm các số 0 và 1.
d) Lệnh range(10) sẽ tạo ra vùng giá trị gồm số 10.
Câu 4: Xem xét đoạn mã sau và trả lời các câu hỏi là đúng hay sai:
i = 1
while i < 5:
print(i)
i += 1
a). Vòng lặp while sẽ lặp lại cho đến khi điều kiện i < 5 trở thành sai.
b). Giá trị của i sẽ không bao giờ lớn hơn hoặc bằng 5 trong vòng lặp này.
c). Vòng lặp while này có thể trở thành một vòng lặp vô hạn nếu điều kiện i < 5 luôn đúng.
d). Sau khi vòng lặp kết thúc, giá trị của i sẽ là 4.
Câu 5: Xem xét đoạn mã sau và trả lời các câu hỏi là đúng hay sai:

sum = 0
n = 2
while n <= 100:
sum += n
n += 2
a). Đoạn mã trên tính tổng các số chẵn từ 2 đến 100.
b). Nếu n không được tăng thêm 2 trong mỗi lần lặp, vòng lặp có thể bị lặp vô hạn.
c). Tổng cuối cùng sẽ được lưu trong biến sum sau khi vòng lặp kết thúc.
d). Đoạn mã trên sẽ chạy vô hạn vì không có điều kiện để thoát vòng lặp.
Câu 6: Sử dụng các kiến thức về các cấu trúc lập trình cơ bản: cấu trúc tuần tự, cấu trúc rẽ nhánh, cấu
trúc lặp và cho biết mỗi câu sau đây là đúng hay sai:
a). Cấu trúc tuần tự là cấu trúc mà các lệnh được thực hiện theo thứ tự từ trên xuống dưới, không có
bất kỳ sự rẽ nhánh hay lặp nào.
b). Câu lệnh if là một ví dụ về cấu trúc tuần tự trong lập trình.
c). Cấu trúc rẽ nhánh cho phép chương trình thực hiện các khối lệnh khác nhau dựa trên các điều kiện
cụ thể.
d). Cấu trúc lặp là cấu trúc chỉ thực hiện các lệnh một lần và không lặp lại.
Câu 7: Dựa vào đoạn mã dưới đây, hãy cho biết các phát biểu sau là đúng hay sai:
a). Vòng lặp for trong đoạn mã sẽ thực hiện từ i = 2 đến i = 5.
b). Kết quả in ra từ đoạn mã sẽ là: 1 5 6.
c). Đoạn mã sẽ in ra các giá trị tại các vị trí 2, 3 và 4 của danh sách A.
d). Nếu thay đổi range(2, 5) thành range(1, 4), kết quả in ra sẽ là: 2 1 5.
Câu 8: Dựa vào đoạn mã dưới đây, hãy xác định xem các phát biểu sau là đúng hay sai:
a) Vòng lặp for trong đoạn mã sẽ chạy đúng bằng số phần tử trong danh sách A.
b) Điều kiện A[i] > 0 trong đoạn mã trên chỉ cho phép cộng những số dương vào biến S.
c) Giá trị của biến S sau khi thực hiện đoạn mã trên sẽ là tổng của tất cả các phần tử trong A.
d) Nếu danh sách A chứa ít nhất một giá trị dương, thì giá trị của S sẽ không bằng 0 sau khi đoạn mã
được thực hiện.
Câu 9: Cho danh sách D = [3, 6, 9, 12, 15]. Hãy xác định các câu sau đúng hay sai:
a). Lệnh D.clear() sẽ xóa toàn bộ danh sách và khi kiểm tra lại, D sẽ là [].
b). Sau khi thực hiện D.remove(9), danh sách sẽ trở thành [3, 6, 12, 15].

