Đề thi giữa học kì 2 Tin học 10 thi có lời giải chi tiết. Thông qua Đề thi giữa kì 2 Tin học 10 giúp các em học sinh nhanh chóng làm quen với cấu trúc đề thi và ôn tập để đạt kết quả cao trong kì thi giữa kì 2 lớp 10 sắp tới. Đồng thời, đây cũng là tài liệu tham khảo để quý thầy cô soạn đề thi cho học sinh của mình.
Mục lục bài viết
1. Đề thi giữa học kì 2 Tin học 10 năm học 2024 – 2025:
1.1. Bộ đề số 1:
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 >:
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?
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)
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ì?
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ì?
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ì?
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.
I. Trắc nghiệm (7 điểm)
– Mỗi câu đúng tương ứng với 0,25 điểm.
1. B | 2. B | 3. A | 4. D | 5. D | 6. C | 7. D | 8. B | 9. A | 10. A |
11. A | 12. C | 13. A | 14. D | 15. C | 16. A | 17. C | 18. B | 19. B | 20. D |
21. C | 22. C | 23. C | 24. D | 25. C | 26. C | 27. A | 28. A |
II. Tự luận (3 điểm)
Câu | Đáp án | Điểm |
Câu 1 (1 điểm) | Các câu lệnh đó có thể viết như sau: B = [] for k in A: if k % 2 == 0: B.append(k) print(“Danh sách các số chẵn có trong A là: “, B) |
0,25 0,5
0,25 |
Câu 2 (1 điểm) | hoten = input(“Nhập họ tên đầy đủ: “) A = hoten.split() ten = A[len(A) – 1] hodem = ” “.join(A[0:len(A) – 1]) print(“Tên bạn là: ” , ten) Print(“Họ đệm là: ” , hodem) | 1,0 |
Câu 3 (1 điểm) | Chương trình có thể viết như sau: n = int(input(“Nhập số tự nhiên n: “)) c = 0 for i in range(1, n+1): if UCLN(i, n) == 1: c = c + 1 |
1.2. Bộ đề số 2:
I. PHẦN TRẮC NGHIỆM (7,0 điểm)
Câu 1. Cho biết kết quả của đoạn chương trình dưới đây:
a = 10
while a < 11:
print(a)
A. Trên màn hình xuất hiện một số 10.
B. Trên màn hình xuất hiện 10 chữ a.
C. Trên màn hình xuất hiện một số 11.
D. Chương trình bị lặp vô tận.
Câu 2. 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ả ba cấu trúc trên.
Câu 3. Cho khai báo mảng sau:
A = list(“3456789”)
Để in giá trị phần tử thứ 2 của mảng một chiều A ra màn hình ta viết:
A. print(A[2]).
B. print(A[1]).
C. print(A[3]).
D. print(A[0]).
Câu 4. Danh sách A sẽ như thế nào sau các lệnh sau?
>>> A = [2, 3, 5, 6]
>>> A. append(4)
>>> del (A[2])
A. 2, 3, 4, 5, 6, 4.
B. 2, 3, 4, 5, 6.
C. 2, 4, 5, 6.
D. 2, 3, 6, 4.
Câu 5. Kết quả của chương trình sau là gì?
A = [2, 3, 5, “python”, 6]
A.append(4)
A.append(2)
A.append(“x”)
del(A[2])
print(len(A))
A. 5.
B. 6.
C. 7.
D. 8.
Câu 6. Toán tử nào dùng để kiểm tra một giá trị có nằm trong danh sách không?
A. in.
B. int.
C. range.
D. append.
Câu 7. Giả sử A = [‘a’, ‘b’, ‘c’, ‘d’, 2, 3, 4]. Các biểu thức sau trả về giá trị đúng hay sai?
6 in A
‘a’ in A
A. True, False.
B. True, False.
C. False, True.
D. False, False.
Câu 8. Lệnh nào sau đây xoá toàn bộ danh sách?
A. clear()
B. exit()
C. remove()
D. del()
Câu 9. Phát biểu nào sau đây là sai?
A. Sau khi thực hiện lệnh clear(), danh sách gốc trở thành rỗng.
B. Lệnh remove () có chức năng xoá một phần tử có giá trị cho trước
C. Lệnh remove() xoá tất cả các phần tử có giá trị cho trước trong list.
D. Clear() có tác dụng xoá toàn bộ các danh sách.
Câu 10. Trong Python, câu lệnh 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 11. Có bao nhiêu xâu kí tự nào hợp lệ?
1) “123_@##” 2) “hoa hau”
3) “346h7g84jd” 4) python
5) “01028475” 6) 123456
A. 5.
B. 6.
C. 4.
D. 3
Câu 12. Chương trình trên 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 13. Chuỗi sau được in ra mấy lần?
s = “abcdefghi”
for i in range(10):
if i % 4 == 0:
print(s)
A. 0.
B. 1.
C. 2.
D. 3.
Câu 14. Sử dụng lệnh nào để tìm vị trí của một xâu con trong xâu khác không?
A. test().
B. in().
C. find().
D. split().
Câu 15. Kết quả của các câu lệnh sau là gì?
s = “12 34 56 ab cd de “
print(s. find(” “))
print(s.find(“12”))
print(s. find(“34”))
A. 2, 0, 3.
B. 2, 1, 3.
C. 3, 5, 2.
D. 1, 4, 5.
Câu 16. Lệnh nào sau đây dùng để tách xâu:
A. split()
B. join()
C. remove()
D. copy()
Câu 17. Kết quả của chương trình sau là gì?
a = “Hello”
b = “world”
c = a + ” ” + b
print(c)
A. hello world.
B. Hello World.
C. Hello word.
D. Helloword.
Câu 18. Muốn nối danh sách gồm các từ thành một xâu 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 19. Chọn phát biểu sai trong các phát biểu sau:
A. Lệnh print() thực hiện việc in ra màn hình.
B. Lệnh input() thực hiện yêu cầu nhập vào một biểu thức, số hay một xâu bất kì.
C. Lệnh type() trả lại kiểu dữ liệu của biểu thức trong ngoặc.
D. Lệnh str() chuyển đối tượng đã cho thành chuỗi.
Câu 20. Phát biểu đúng trong các phát biểu sau là:
A. Lệnh float() trả về số nguyên từ số hoặc chuỗi biểu thức.
B. Có ít hàm có sẵn được xây dựng trong python.
C. Lệnh bool() chuyển một giá trị sang Boolean.
D. Lệnh input() có thể nhập vào một số nguyên mà không cần chuyển đổi kiểu.
Câu 21. Mệnh đề nào dưới đây mô tả đúng về hàm tự định nghĩa không trả lại giá trị?
A. Trong mô tả hàm không có từ khóa return.
B. Trong mô tả hàm chỉ có một từ khóa return.
C. Trong mô tả hàm phải có tối thiểu hai từ khóa return.
D. Trong mô tả hàm hoặc không có return hoặc có return nhưng không có giá trị sau từ khóa return.
Câu 22. Khi gọi hàm f(1, 2, 3, 4), khi định nghĩa hàm f có bao nhiêu tham số?
A. 2
B. 3
C. 4
D. 5
Câu 23. 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ố
II. PHẦN TỰ LUẬN (3 điểm)
Câu 1. (1 điểm) Cho dãy số [1, 2, -5, 5, 8, -8]. Em hãy viết chương trình chèn xâu “Số âm” vào sau phần tử nhỏ hơn 0 đầu tiên của dãy đã cho.
Câu 2. (1 điểm) Viết chương trình nhập nhiều số (số nguyên hoặc số thực) từ bàn phím, các số cách nhau bởi dấu cách. Sau đó in ra màn hình tổng các số đã nhập.
Câu 3. (1 điểm) Viết hàm UCLN(m, n) để tính ước chung lớn nhất của hai số nguyên âm m và n.
I. Trắc nghiệm (7 điểm)
– Mỗi câu đúng tương ứng với 0,25 điểm.
1. D | 2. D | 3. B | 4. B | 5. D | 6. C | 7. A | 8. C | 9. A | 10. C |
11. A | 12. C | 13. B | 14. D | 15. C | 16. A | 17. A | 18. C | 19. A | 20. B |
21. C | 22. D | 23. C | 24. D | 25. C | 26. C | 27. D | 28. C |
|
|
II. Tự luận (3 điểm)
Câu | Đáp án | Điểm |
Câu 1 (1 điểm) | Chương trình có thể viết như sau: A = [1, 2, -5, 5, 8, -8] i = 0 while i < len(A): if A[i] < 0: A.insert(i + 1,”Số âm”) break i = i + 1 print(A) |
0,25
0,25
0,25
0,25 |
Câu 2 (1 điểm) | s = input(“Nhập các số cách nhau bởi dấu cách: “) A = s.split() for i in range(len(A)): A[i] = float(A[i]) print(“Tổng các số đã nhập: ” , sum(A)) | 1,0 |
Câu 3 (1 điểm) | Hàm có thể viết như sau: def UCLN(m,n): while m! = n: if m > n: m = m – n else n = n – m return m | 1,0 |
2. Ma trận đề thi tin học thi giữa học kì 2 Tin học 10:
TT | Nội dung kiến thức/kĩ năng | Mức độ nhận thức | Tổng số câu | Tổng% điểm | ||||||||
Nhận biết | Thông hiểu QUẢNG CÁO
| Vận dụng | Vận dụng cao | |||||||||
TN | TL | TN | TL | TN | TL | TN | TL | TN | TL |
| ||
1 | Chủ đề 1. Máy tính và xã hội tri thức (Bài 1, 2, 7) | 2 | 2 | 4 | 10,0 % (1,0 điểm) | |||||||
2 | Chủ đề 2. Mạng máy tính và Internet | 4 | 3 | 7 | 17,5 % (1,75 điểm) | |||||||
3 | Chủ đề 3. Đạo đức, pháp luật và văn hóa trong môi trường số | 2 | 2 | 1 | 4 | 1 | 20,0 % (2,0 điểm) | |||||
4 | Chủ đề 4. Ứng dụng tin học | 3 | 3 | 6 | 15,0 % (1,5 điểm) | |||||||
5 | Chủ đề 5. Giải quyết vấn đề với sự trợ giúp của máy tính (Bài 16 – 20) | 4 | 3 | 1 | 1 | 7 | 2 | 37,5 % (3,75 điểm) | ||||
Tổng | 15 | 0 | 13 | 0 | 0 | 2 | 0 | 1 | 28 | 3 | 100% (10,0 điểm) | |
Tỉ lệ % | 37,5% | 32,5% | 20% | 10% | 70% | 30% | ||||||
Tỉ lệ chung | 70% | 30% |