10+ Đề thi Tin học 10 Giữa kì 2 năm 2026 (cấu trúc mới, có đáp án)

Để ôn luyện và làm tốt các bài thi Tin học 10, dưới đây là 10+ Đề thi Tin học 10 Giữa kì 2 năm 2026 theo cấu trúc mới sách mới có đáp án, cực sát đề thi chính thức. Hi vọng bộ đề thi này sẽ giúp bạn ôn tập & đạt điểm cao trong các bài thi Tin 10.

10+ Đề thi Tin học 10 Giữa kì 2 năm 2026 (cấu trúc mới, có đáp án)

Giáo viên & Phụ huynh quan tâm Đề thi Giữa kì 2 Tin 10 bản word có lời giải chi tiết, dễ dàng chỉnh sửa và cập nhật hàng năm mời Xem thử.

Quảng cáo

Đề thi Giữa kì 2 Tin học 10 (cả nước)

Sở Giáo dục và Đào tạo ...

Đề thi Giữa kì 2 - Kết nối tri thức

Năm học ...

Môn: Tin học 10

Thời gian làm bài: 45 phút

(không kể thời gian phát đề)

PHẦN I: Câu trắc nghiệm nhiều phương án lựa chọn (24 câu)

Thí sinh trả lời từ câu 1 đến câu 24. Mỗi câu hỏi thí sinh chỉ chọn 1 phương án.

Câu 1. Trong Python, đoạn chương trình sau đưa ra kết quả gì?

for i in range(10, 0, -1):

print(i, ‘’)

A. 10, 9, 8, 7, 6, 5, 4, 3, 2, 1.

B. Đưa ra 10 dấu cách.

C. 1 2 3 4 5 6 7 8 9 10.

D. Không đưa ra kết quả gì.

Câu 2. Lệnh range (n) cho vùng gồm các số nào?

A. 0, 1, ...., n -  1.

B. 1, ...., n -  1.

C. 0, 1, ...., n + 1.

D. Chương trình báo lỗi.

Câu 3. Trong câu lệnh lặp:

j = 0

for j in range(10):

print("A")

Khi kết thúc câu lệnh trên lệnh có bao nhiêu chữ “A” xuất hiện?

A. 10 lần.

B. 1 lần.

C. 5 lần.

D. Không thực hiện.

Câu 4. Cho các câu lệnh sau, hãy chỉ ra câu lệnh đúng?

A. x = 0

for i in range(10): x = x + 1

B. x = 0

for i in range(10): x:= x + 1

C. x = 0

for i in range(10) x = x + 1

D. x:= 0

for i in range(10): x = x + 1

Câu 5. Cho các câu lệnh sau, hãy chỉ ra câu lệnh đúng:

A. x = 0

for i in range(10): x = x + 1

B. x = 0

for i in range(10): x:= x + 1

C. x = 0

for i in range(10) x = x + 1

D. x:= 0

for i in range(10): x = x + 1

Câu 6. Có mấy kiểu duyệt phần tử của danh sách?

A. 1.

B. 2.

C. 3.

D. 4.

Câu 7. Lệnh nào sau đây được dùng để tính độ dài của phần tử?

A. del().

B. len().

C. append().

D. leng().

Câu 8. Đoạn lệnh sau làm nhiệm vụ gì?

A = []

for x in range(10):

A.append(int(input()))

A. Nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là số nguyên.

B. Nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là số thực.

C. Nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là xâu.

D. Nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là số thực.

Câu 9 Chương trình sau thực hiện công việc gì?

>>> S = 0

>>> for i in range(len(A)):

if A[i] > 0:

S = S + A[i]

>>> print(S)

A. Duyệt từng phần tử trong A.

B. Tính tổng các phần tử trong A.

C. Tính tổng các phần tử không âm trong A.

D. Tính tổng các phần tử dương trong A.

Câu 10. Cho dãy số A, bạn An viết chương trình tính giá trị của phần tử lớn nhất của A. Tương tự với bài toán tìm phần tử nhỏ nhất.

Chọn cách viết đúng nhất:

A. m=A[0]

for i in range(len(A)):

         if(A[i]>m):

                    m=A[i]

print("Giá trị lớn  nhất của dãy A: ", m)

B. m=A[1]

for i in range(len(A)):

         if(A[i]>m):

                    m=A[i]

print("Giá trị lớn  nhất của dãy A: ", m)

C. m=A[3]

for i in range(len(A)):

         if(A[i]>m):

                  max=A[i]

print("Giá trị lớn  nhất của dãy A: ", m)

D. m=A[2]

for i in range(len(A)):

         if(A[i]>m):

                   m=A[i]

print("Giá trị lớn  nhất của dãy A: ", m)

Câu 11. Xâu kí tự được đặt trong cặp dấu:

A. Nháy đơn (‘’) hoặc nháy kép (“”).

B. Ngoặc đơn ().

C. Ngoặc vuông [].

D. Ngoặc nhọn {}.

Câu 12. Xâu rỗng là xâu có độ dài bằng bao nhiêu?

A. 1.

B. 2.

C. 0.

D. 3.

Câu 13. Chương trình sau giải quyết bài toán gì?

s = ""

for I in range(10)

         s = s + str(i)

print(s)

A. In một chuỗi kí tự từ 0 tới 10.

B. In một chuỗi kí tự từ 0 tới 9.

C. In một chuỗi kí tự từ 1 tới 10.

D. In một chuỗi kí tự từ 1 đến 9.

Câu 14. Phát biểu nào sau đây là đúng khi nói về chương trình con?

A. Chương trình con là một lệnh mô tả một thao tác nhất định và có thể được thực hiện (được gọi) từ nhiều vị trí trong chương trình.

B. Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và được thực hiện (được gọi) từ 1 vị trí trong chương trình.

C. Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và không thể thực hiện từ nhiều vị trí trong chương trình.

D. Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện (được gọi) từ nhiều vị trí trong chương trình.

Câu 15. Khẳng định nào sau đây là đúng về chương trình con?

A. Tất cả các hàm đều có thể có tham số hình thức.

B. Chỉ có  hàm không trả về giá trị mới có thể có tham số hình thức.

C. Chỉ có hàm trả về giá trị mới có thể có tham số hình thức.

D. Hàm nào cũng phải có tham số hình thức.

Câu 16. 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 truyền chưa có giá trị.

B. Số lượng giá trị được truyền vào hàm bằng số tham số trong khai báo của hàm.

C. Tham số là giá trị được truyền vào khi gọi hàm.

D. Cả A, B, C đều đúng.

Câu 17. Khối các câu lệnh được thực hiện lặp đi lặp lại tuỳ theo điều kiện nào đỏ vẫn còn đúng hay sai thuộc dạng cấu trúc nào?

A. Cấu trúc tuần tự.

B. Cấu trúc lặp.

C. Cấu trúc rẽ nhánh.

D. Cấu trúc tuần hoàn.

Câu 18. Mọi quá trình tính toán đều có thể mô tả và thực hiện dựa trên cấu trúc cơ bản là:

A. Cấu trúc tuần tự.

B. Cấu trúc rẽ nhánh.

C. Cấu trúc lặp.

D. Cả A, B, C đều đúng.

Câu 19: Điều kiện trong câu lệnh while là biểu thức dạng dữ liệu gì?

A. str.

B. int.

C. bool.

D. float.

Câu 20. Kết quả của đoạn chương trình sau:

x=2021

print((x%4==0 and x%100!=0) or x%400==0)

A. 55.

B. True.

C. 5.

D. False.

Phần II. Câu trắc nghiệm đúng sai (4 câu) Trong mỗi ý a, b, c, d ở mỗi câu, thí sinh chọn đúng hoặc sai

Câu 1. 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:

7+ Đề thi Giữa kì 2 Tin học 10 Kết nối tri thức (có đáp án)

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 2. Cho xâu ký tự t = "hello world". Hãy xác định các câu sau đúng hay sai:

a). Biểu thức "world" in t sẽ trả về giá trị True.

b). Biểu thức "WORLD" in t sẽ trả về giá trị True.

c). Đoạn mã sau sẽ in ra từng ký tự của xâu trên một dòng mới:

7+ Đề thi Giữa kì 2 Tin học 10 Kết nối tri thức (có đáp án)

d). Biểu thức "hello" + " " + "world" in t sẽ trả về giá trị True.

Câu 3. Cho chương trình sau:

# Tìm ước số chung lớn nhất (USCLN)

def uscln(a, b):

    if (b == 0):

        return a;

    return uscln(b, a % b);

a). Trong câu lệnh def uscln(a, b): hàm uscln(a, b)có đối số là a, b

b). Nếu ta gọi uscln(m, n): thì chương trình sẽ báo lỗi

c). Hàm uscln(a, b) có chức năng tìm ước số chung lớn nhất của a và b

d). Nếu ta gọi uscln(9, 12): thì chương trình sẽ thu được kết quả là 9

Phần III. Phần tự luận

Câu 1. (1 điểm) Viết cú pháp câu lệnh rẽ nhánh dạng đủ. Lấy ví dụ minh hoạ.

Câu 2. (1 điểm) Viết chương trình nhập vào một dãy số nguyên. Tính và in ra màn hình tổng các số chẵn trong dãy.

7+ Đề thi Giữa kì 2 Tin học 10 Kết nối tri thức (có đáp án)

7+ Đề thi Giữa kì 2 Tin học 10 Kết nối tri thức (có đáp án)

7+ Đề thi Giữa kì 2 Tin học 10 Kết nối tri thức (có đáp án)

Sở Giáo dục và Đào tạo ...

Đề thi Giữa kì 2 - Kết nối tri thức

Năm học ...

Môn: Tin học 10

Thời gian làm bài: 45 phút

(không kể thời gian phát đề)

(Đề số 1)

Quảng cáo

I. PHẦN TRẮC NGHIỆM (7,0 điểm)

Câu 1. Cho đoạn chương trình python sau:

Tong = 0

while Tong < 10:

    Tong = Tong + 1

Sau khi đoạn chương trình trên được thực hiện, giá trị của tổng bằng bao nhiêu:

A. 9.

B. 10.

C. 11.

D. 12.

Câu 2. Hoạt động nào sau đây lặp với số lần lặp chưa biết trước?

A. Ngày tắm hai lần.

B. Học bài cho tới khi thuộc bài.

C. Mỗi tuần đi nhà sách một lần.

D. Ngày đánh răng hai lần.

Câu 3. Cấu trúc lặp với số lần chưa biết trước có dạng như thế nào?

A. while < điều kiện >: 

<khối lệnh >

B.  while < điều kiện >

<khối lệnh >

C. while < điều kiện >:

D. while < điều kiện > to <khối lệnh >

Quảng cáo

Câu 4. Để khởi tạo danh sách b có 5 phần tử 1, 2, 3, 4, 5 ta dùng cú pháp:

A. b = 1, 2, 3, 4, 5

B. b = (1, 2, 3, 4, 5)

C. b = [1,5]

D. b = [1, 2, 3, 4, 5]

Câu 5. Để xóa 2 phần tử ở vị trí 1 và 2 trong danh sách a hiện tại ta dùng lệnh nào?

A. del a[1:2]

B. del a[0:2] 

C. del a[0:3]

D. del a[1:3] 

Câu 6. Vòng lặp nào trả về kết quả dưới đây?

Đề thi Giữa kì 2 Tin học 10 Kết nối tri thức có đáp án (3 đề)

A. for i in range(1,6):

print(i,i,i,i,i)

B. for i in range(1,5):

print(str(i)*5)

C. for i in range(1,6):

print(str(i)*5)

D. for i in range(0,5):

print(str(i)*5)

Quảng cáo

Câu 7. Sau khi thực hiện các câu lệnh sau, mảng A như thế nào?

>>> A = [1, 2, 3, 4, 5]

>>> A. remove(2)

>>> print(A)

A. [1, 2, 3, 4].

B. [2, 3, 4, 5].

C. [1, 2, 4, 5].

D. [1, 3, 4, 5].

Câu 8. Kết quả khi thực hiện chương trình sau?

>>> A = [1, 2, 3, 5]

>>> A.insert(2, 4)

>>> print(A)

A. 1, 2, 3, 4.

B. 1, 2, 4, 3, 5.

C. 1, 2, 3, 4, 5.

D. 1, 2, 4, 5.

Câu 9. Giả sử A = [2, 4, '5', 'Hà Nội', 'Việt Nam', 9]. Hãy cho biết kết quả của câu lệnh 4 in A là gì?

A. True

B. False

C. true

D. false

Câu 10. Số phát biểu đúng là:

1) Sau khi thực hiện lệnh clear(), các phần tử trả về giá trị 0.

2) Lệnh remove trả về giá trị False nếu không có trong danh sách.

3) remove() có tác dụng xoá một phần tử có giá trị cho trước trong list.

4) Lệnh remove() có tác dụng xoá một phần tử ở vị trí cho trước.

A. 1.

B. 2.

C. 0.

D. 3.

Câu 11. Kết quả của chương trình sau là bao nhiêu?

>>> s = “abcdefg”

>>> print(s[2])

A. c

B. b

C. a

D. d

Câu 12. Để chuyển s về xâu kí tự ta dùng hàm gì?

A. length(s)            

B. len(s)

C. str(s)

D. s.len()

Câu 13. Xâu “1234%^^%TFRESDRG” có độ dài bằng bao nhiêu?

A. 16.

B. 17.

C. 18.

D. 15.

Câu 14. Nếu S = "1234567890" thì S[0:4] là gì?

A. "123"

B. "0123"

C. "01234"

D. "1234"

Câu 15. Để tạo xâu in hoa từ toàn bộ xâu hiện tại ta dùng hàm nào?

A. lower()              

B. len()

C. upper()

D. srt()

Câu 16. Để thay thế kí tự 'a' trong xâu s bằng một xâu mới rỗng ta dùng lệnh nào?

A. s=s.replace('a', "")

B. s=s.replace('a')

C. s=replace(a, "")

D. s=s.replace()

Câu 17. Kết quả của các câu lệnh sau là gì?

Đề thi Giữa kì 2 Tin học 10 Kết nối tri thức có đáp án (3 đề)

A. 2, 6

B. 1, 3

C. 0, 4

D. 1, 4

Câu 18. Kết quả của các câu lệnh sau là gì?

Đề thi Giữa kì 2 Tin học 10 Kết nối tri thức có đáp án (3 đề)

A. 'Ngôn ngữ lập trình Python'

B. ['Ngôn', 'ngữ', 'lập', 'trình', 'Python']

C. 'Ngôn', 'ngữ', 'lập', 'trình', 'Python'

D. [Ngôn, ngữ, lập, trình, Python]

Câu 19. Để tách một xâu thành danh sách các từ ta dùng lệnh nào?

A. Lệnh join()

B. Lệnh split()

C. Lệnh len()

D. Lệnh find()

Câu 20. Trong định nghĩa của hàm có thể có bao nhiêu từ khóa return?

A. 1

B. 2

C. 5

D. Không hạn chế

Câu 21. Mệnh đề nào dưới đây mô tả đúng quan hệ giữa hàm và thủ tục?

A. Hàm và thủ tục là hai khái niệm hoàn toán khác nhau.

B. Hàm là thủ tục nhưng thủ tục có thể không phải là hàm.

C. Trong Python, hàm và thủ tục là hai khái niệm đồng nhất.

D. Thủ tục là hàm nhưng hàm có thể không là thủ tục.

Câu 22. Kết quả của các câu lệnh sau là gì?

Đề thi Giữa kì 2 Tin học 10 Kết nối tri thức có đáp án (3 đề)

A. -2

B. 4

C. 2

D. 6

Câu 23. Cú pháp thiết lập hàm có trả lại giá trị là gì?

A. def < tên hàm >([tham số]):

return < dãy giá trị trả về >

B. def< tên hàm > ([tham số]):

< dãy các lệnh >

C. def < tên hàm >([tham số]):

< khối lệnh >

return < dãy giá trị trả về >

D. def < tên hàm >: [< khối lệnh >]

return < dãy giá trị trả về >

Câu 24. Hàm tự định nghĩa trong Python có thể có bao nhiêu tham số?

A. 0

B. 1

C. 2

D. Không hạn chế

Câu 25. Khi gọi hàm, dữ liệu được truyền vào hàm được gọi là gì?

A. Tham số

B. Hiệu số

C. Đối số

D. Hàm số

Câu 26. Đoạn chương trình sau sẽ in ra số nào?

>>> def f(x, y):

z = x + y

return x*y*z

>>> f(1, 4)

A. 10

B. 18

C. 20

D. 30

Câu 27. Hàm f được khai báo như sau f(a, b, c). Số lượng đối số truyền vào là:

A. 3.

B. 2.

C. 1.

D. 4.

Câu 28. Phát biểu nào bị sai?

A. Một hàm khi khai báo có một 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ó một số điểm khác nhau.

D. Khi gọi hàm, các tham số sẽ được truyền bằng giá trị thông qua đối số của hàm.

II. PHẦN TỰ LUẬN (3 điểm)

Câu 1. (1 điểm) Cho A là một danh sách gồm các số nguyên. Em hãy viết các câu lệnh tạo và in ra danh sách B chỉ gồm các số chẵn có trong A.

Câu 2. (1 điểm) Viết chương trình nhập họ tên đầy đủ của người dùng, sau đó in thông báo tên và họ đệm của người đó.

Câu 3. (1 điểm) Hai số tự nhiên m, n được gọi là nguyên tố cùng nhau nếu UCLN(m, n) = 1.

Viết chương trình thực hiện công việc sau:

Nhập từ bàn phím số tự nhiên n và đếm số các số nguyên tố cùng nhau với n tính trong khoảng từ 1 đến n.

………………….. Hết ……………………




Lưu trữ: Đề thi Giữa kì 2 Tin học 10 (sách khác)

Giáo viên & Phụ huynh quan tâm Đề thi Giữa kì 2 Tin 10 bản word có lời giải chi tiết, dễ dàng chỉnh sửa và cập nhật hàng năm mời Xem thử.

Xem thêm bộ đề thi Tin học 10 mới chọn lọc khác:

Xem thêm đề thi lớp 10 các môn học có đáp án hay khác:

Tài liệu giáo án lớp 10 các môn học chuẩn khác:


Đề thi, giáo án lớp 10 các môn học