You are on page 1of 15

MA TRẬN ĐỀ KIỂM TRA GIỮA HỌC KÌ II

MÔN TIN HỌC, LỚP 10


Mức độ nhận thức
Nội dung kiến Đơn vị kiến Tổng%
TT Nhận biết Thông hiểu Vận dụng Vận dụng cao
thức/kĩ năng thức/nội dung điểm
TNKQ TL TNKQ TL TNKQ TL TNKQ TL
Bài 20. Câu lệnh 23,3%
4 1 1 1
lặp For (3,5 điểm)
23,3%
CHỦ ĐỀ F: GIẢI Bài 21. Câu lệnh
4 1 2 (1,75
QUYẾT CÁC lặp While
VẤN ĐỀ VỚI SỰ điểm)
1 TRỢ GIÚP CỦA 26,7%
MÁY TÍNH Bài 22. Kiểu dữ
5 1 1 1 (2,75
liệu danh sách
điểm)
Bài 23. Một số lệnh
26,7%
làm việc với dữ liệu 4 1 2 1
(2 điểm)
danh sách
Tổng 17 4 6 1 1 1
Tỉ lệ % từng mức độ nhận thức 56,7 13,3 23,3 6,7 10
Tỉ lệ chung 70 30 100
- Kiến thức, kĩ năng được tính cho các chủ đề và theo Chương trình GDPT 2018.
- Chủ đề lựa chọn không tham gia vào kiểm tra định kì.
- Nội dung kiểm tra cuối kì bao gồm nội dung học toàn học kì, những nội dung kiểm tra giữa kì được tính không quá 10% số điểm và chỉ kiểm
tra ở mức độ nhận biết.
- TNKQ: dành để đánh giá mức độ Biết (16 câu), Hiểu (12 câu).
- TL:Vận dụng (2 câu), vận dụng cao (1 câu)
1. XÂY DỰNG BẢN ĐẶC TẢ ĐỀ
BẢN ĐẶC TẢ ĐỀ KIỂM TRA GIỮA HỌC KÌ II
MÔN: TIN HỌC 10 – THỜI GIAN LÀM BÀI: 45 PHÚT
BỔ SUNG MÃ CÂU HỎI
Số câu hỏi theo các mức độ nhận thức
Đơn vị kiến Mức độ kiến thức, kĩ năng Vận
Thông Vận
thức/nội dung cần kiểm tra, đánh giá Nhận biết dụng
hiểu dụng
cao
Nhận biết
- Nhận biết được ý nghĩa của vùng chỉ số tạo
bởi lệnh range().
- Nhận biết được chức năng của lệnh lặp for.
Bài 20. Câu Thông hiểu
4 TN 1 TN 1 TN 1TL
lệnh lặp For
- Trình bày được cách dùng lệnh for , vùng
range() trong Python.
Nội dung Vận dụng
kiến thức/kĩ - Sử dụng vùng range(), lệnh for vào bài toán
năng trong Python.
Nhận biết
- Nhận biết lệnh lặp while với số vòng lặp
không biết trước.
Bài 21. Câu Thông hiểu 5 TN 1 TN 1 TN
lệnh lặp While
- Trình bày được cách sử dụng lệnh lặp while.
Vận dụng
- Thực hành được giải các bài toán sử dụng lệnh
lặp while.
Bài 22. Kiểu Nhận biết
1 TN
dữ liệu danh - Nhận biết được kiểu dữ liệu danh sách (list), 5 TN 1 TN
1 TL
sách
cách khởi tạo và truy cập từng phần tử của
danh sách.
- Nhận biết và thực hiện được cách duyệt các
phần tử của danh sách bằng lệnh for.
Thông hiểu
- Giải được bài toán có vận dụng kiểu danh
sách.
Vận dụng
- Thực hiện được một số phương thức đơn giản
trên dữ liệu danh sách.
Nhận biết
- Nhận biết cách duyệt danh sách bằng toán tử
in.
- Nhận biết được một số phương thức thường
dùng với danh sách.
Bài 23. Một số
lệnh làm việc Thông hiểu
- Trình bày được cách duyệt danh sách bằng 5 TN 1 TN 1 TN 1TN
với dữ liệu
danh sách toán tử in.
- Làm bài toán đơn giản liên quan với 1 số
phương thức danh sách.
Vận dụng
- Thực hiện được một số phương thức thường
dùng với danh sách.
Tổng 17 4 7 2
Tỉ lệ % 56,7% 13,3% 23,3% 6,7%
Tỉ lệ chung 70% 30%
2. XÂY DỰNG 01 ĐỀ KIỂM TRA

SỞ GDĐT BÌNH DƯƠNG ĐỀ KIỂM TRA GIỮA KỲ II - NĂM HỌC 2023 - 2024
ĐỀ SỐ …. Môn thi: Tin học, Lớp 10
Thời gian làm bài: 45 phút, không tính thời gian phát đề

Họ và tên học sinh:…………………………………... Mã số học sinh:…………………….

I. PHẦN TRẮC NGHIỆM (Sử dụng trong NNLT Python)


Câu 1 (NB F.1). Phương án nào sau đây là ĐÚNG về cú pháp lệnh lặp for trong NNLT Python?
A. for <i> in range (n) :
<khối lệnh>
B. for <i> in range (n)
<khối lệnh>
C. for <i> in range (n) ;
<khối lệnh>
D. for <i> :
<khối lệnh>
Câu 2 (NB F.2). Chọn phương án đúng điền vào chổ trống của phát biểu sau: “Lệnh tạo vùng giá trị có cú pháp range(start, stop) trả lại vùng
giá trị gồm các số nguyên liên tiếp từ … đến ...”
A. start, stop - 1
B. 0, stop -1
C. start, stop
D. 0, stop
Câu 3 (NB F.3). Chọn phương án đúng điền vào chổ trống của phát biểu sau: “Lệnh tạo vùng giá trị có cú pháp range(stop) trả lại vùng giá trị
gồm các số nguyên liên tiếp từ … đến ...”
A. 0, stop - 1
B. 1, stop -1
C. 0, stop
D. 1, stop
Câu 4 (NB F.4): Phương án nào dưới đây biểu diễn dãy số 1,2,3,…30 bằng lệnh range()
A. range(1,31)
B. range(0,31)
C. range(1,30)
D. range(0,30)
Câu 5 (TH F.5): Cho đoạn chương trình sau:
n=10
S=0
for k in range (n) :
if k%2 == 0
S=S+k
print(S)
Phương án nào dưới đây cho biết kết quả in ra màn hình của đoạn chương trình trên?
A. 20
B. 55
C. 2, 4, 6, 8, 10
D. 0, 2, 4, 6, 8, 10
Câu 6 (VD F.6): Phương án nào dưới đây cho biết kết quả in ra màn hình của đoạn chương trình sau?
n = int(input(“Nhập số tự nhiên n: “))
S =0
for k in range (n+1) :
S = S+k
print(S*S)
A. Bình phương tổng các số từ 0 đến n
B. Bình phương các số từ 0 đến n
C. Tích các số từ 0 đến n
D. Tổng các số từ 0 đến n
Câu 7 (NB F.7): Phương án nào sau đây là cú pháp của lệnh while trong NNLT Python là:
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> ;
<khối lệnh>
D. while <điều kiện> do
<khối lệnh>
Câu 8 (NB F. 8): Chọn phương án ĐÚNG điền vào chổ trống của phát biểu sau: “while là lệnh lặp với số lần ... . Số lần lặp của lệnh while phụ
thuộc vào … của lệnh”
A. không biết trước, điều kiện
B. biết trước, điều kiện
C. không biết trước, câu lệnh
D. biết trước, số lần
Câu 9 (NB F.9): Phương án nào dưới đây là cấu trúc lập trình cơ bản của ngôn ngữ lập trình bậc cao:
A. cấu trúc tuần tự, cấu trúc rẽ nhánh, cấu trúc lặp
B. cấu trúc rẽ nhánh, cấu trúc lặp
C. cấu trúc lặp, cấu trúc tuần tự
D. cấu trúc tuần tự, cấu trúc rẽ nhánh
Câu 10 (NB F.10): Cho đoạn chương trình sau:
k=1
s=0
while k<10 :
s=s+k
k=k+2
print(s)
Phương án nào sau đây cho biết kết quả in ra màn hình của đoạn chương trình trên?
A. 25
B. 35
C. 10
D. 20
Câu 11(TH F.11): Cho đoạn chương trình sau:
s=0
k=1
while k*k <100 :
s = s+k*k
k=k+1
Phương án nào sau đây cho biết ý nghĩa của biến s trong đoạn chương trình trên?
A. s chính là tổng bình phương các số tự nhiên nhỏ hơn 10
B. s chính là tổng bình phương các số tự nhiên nhỏ hơn 100
C. s chính là tích các số tự nhiên nhỏ hơn 10
D. s chính là tích các số tự nhiên nhỏ hơn 100
Câu 12 (VD F.12): Cho đoạn chương trình sau:
k=1
while k<100 :
s=k
k=k+3
print(s)
Phương án nào sau đây cho biết kết quả in ra màn hình của đoạn chương trình trên?
A. 97
B. 100
C. 3
D. 99
Câu 13 (VD F.13): Cho đoạn chương trình sau:
c=0
k=1
while k<=100 :
if k%5 == 0 or k%3 == 1:
c = c+1
k=k+1
print(c)
Phương án nào sau đây cho biết ý nghĩa của đoạn chương trình trên.
A. Đếm trong dãy số 100 số tự nhiên đầu tiên có bao nhiêu số thoã mãn điều kiện: hoặc chia hết cho 5 hoặc chia hết cho 3 dư 1.
B. Đếm trong dãy số 99 số tự nhiên đầu tiên có bao nhiêu số thoã mãn điều kiện: hoặc chia hết cho 5 hoặc chia hết cho 3 dư 1.
C. Đếm trong dãy số 100 số tự nhiên đầu tiên có bao nhiêu số thoã mãn điều kiện: hoặc chia hết cho 5 và chia hết cho 3 dư 1.
D. Đếm trong dãy số 99 số tự nhiên đầu tiên có bao nhiêu số thoã mãn điều kiện: hoặc chia hết cho 5 và chia hết cho 3 dư 1
Câu 14 (NB F.14). Phương án nào sau đây điền vào chổ trống trong phát biểu sau: “Kiểu dữ liệu danh sách là dữ liệu có …, hay là kiểu dữ liệu
bao gồm một dãy các giá trị. Các phần tử trong danh sách có thể có các kiểu dữ liệu …”
A. nhiều phần tử, khác nhau
B. một phần tử, giống nhau
C. một phần tử, khác nhau
D. nhiều phần tử, int
Câu 15 (NB F.15): Phương án nào sau đây cho biết cú pháp khởi tạo biến có kiểu dữ liệu danh sách trong Python?
A. <tên list> =[<v1, <v2>,...,<vn>]
B. <tên list> =[<v1, <v2>,...,<vn>];
C. <A> =[<v1, <v2>,...,<vn>];
D. <tên list> = <v1: <v2>:...:<vn>
Câu 16 (NB F.16): Cho danh sách sau: A=[1, 2, 3, 4, 5.5, “python”]. Phương án nào sau đây cho biết giá trị của A[4]?
A. 5.5
B. 4
C. Lỗi chỉ số
D. 3
Câu 17 (NB F.17). Chọn phương án đúng điền vào chổ trống của phát biểu sau : “Chỉ số của danh sách bắt đầu từ … đến … , trong đó … là lệnh
tính dộ dài danh sách.”
A. 0, len() – 1, len()
B. 1, len(), len()
C. 1, len() – 1, len()
D. 1, len(0) – 1, len()
Câu 18 (NB F.18): Python có một số lệnh dành riêng (phương thức) cho dữ liệu kiểu danh sách. Phương án nào cho biết cú pháp các lệnh đó?
A. <danh sách>.<phương thức>
B. <danh sách><phương thức>
C. <danh sách>:<phương thức>
D. <danh sách>.<phương thức>;
Câu 19 (TH F.19): Phương án nào dưới đây cho biết kết quả của chương trình?
A=[1, 5, 8, 13, 16, 21, 32]
for i in range(len(A)):
if A[i]%2==0:
print(A[i], end= “ ”)
A. Chương trình in ra các phần tử chẵn trong danh sách: 8, 16, 32
B. Chương trình in ra các phần tử lẻ trong danh sách: 1, 2, 13, 21
C. Chương trình in ra tất cả các phần tử trong danh sách: 1, 5, 8, 13, 16, 21,32
D. Chương trình in ra kết quả là 56.
Câu 20 (VD F.20): Phương án nào dưới đây là giá trị của danh sách A sau khi thực hiện đoạn chương trình?
>>> A = [2, 4, 10, 1, 0]
>>> A. append(100)
>>> del A[1]
A. [2, 10, 1, 0, 100]
B. [2, 4, 10, 1, 0, 100]
C. [100, 2, 4, 10, 1, 0]
D. [100, 2, 10, 1, 0]
Câu 21 (NB F.21): Chọn phương án dưới đây điền vào chỗ trống của phát biểu sau: “Toán tử “in” dùng để kiểm tra … phần tử có nằm trong
danh sách đã cho hay không. Kết quả trả lại … hoặc .... <giá trị> … <danh sách>.”
A. một, True, False, in
B. hai, True, False, in
A. nhiều, True, False, in
A. một, True, False, on
Câu 22 (NB F.22): Phương án nào dưới đây cho biết ý nghĩa của lệnh M.insert(k,x) ?
A. Chèn phần tử x vào vị trí k của danh sách M
B. Chèn phần tử k vào vị trí x của danh sách M
C. Chèn phần tử x, k vào trong danh sách M
D. Chèn phần tử k vào danh sách M
Câu 23 (NB F.23) : Phương án nào dưới đây cho biết ý nghĩa của lệnh E.remove(x) ?
A. Xoá phần tử x trong danh sách E
B. Xoá toàn bộ dữ liệu trong danh sách E
C. Bổ sung phần tử x vào trong danh sách E
D. Không thực hiện gì hết
Câu 24 (NB F.24): Phương án nào dưới đây dùng để xóa toàn bộ dữ liệu của danh sách A?
A. A.clear()
B. A.insert(k,x)
C. A.append(x)
D. A.remove(x)
Câu 25 (TH F.25): Cho đoạn chương trình:
A=[8, 7, 4, 11, 35]
for k in A:
print(k, end=' ')
Phương án nào dưới dây cho biết giá trị biến k sẽ lần lượt nhận từ dãy A?
A. 8, 7, 4, 11, 35
B. 0, 1, 2, 3, 4
C. 1, 2, 3, 4, 5
D. 8, 7, 4, 11
Câu 26 (VD F.26): Cho danh sách A=[4, 7, 8, 6, 7]. Phương án nào dưới đây cho biết kết quả sau khi gọi lệnh A.remove(8) ?
A. [4, 7, 6, 7]
B. []
C. [7, 8, 6, 7]
D. [4, 7, 8, 7]
Câu 27 (VD F.27): Cho đoạn chương trình sau
A=[2,3,4,5,6,7,8,9,10]
if len(A)%2 == 1:
del A[len(A)//2]
print(A)
Phương án nào dưới đây cho biết kết quả của đoạn chương trình trên ?
A. [2, 3, 4, 5, 7, 8, 9, 10]
B. [2, 3, 4, 5, 6, 7, 8, 9, 10]
C. [3, 5, 7, 9]
D. [2, 4, 6, 8, 10]
Câu 28 (VDC F.28): Cho đoạn chương trình sau:
n= int(input(“Nhập số tự nhiên n:”))
A=[]
for i in range(n):
A.append(2*i)
print(A)
Phương án nào dưới đây cho biết ý nghĩa của chương trình?
“Chương trình nhập n từ bàn phím, tạo và in ra màn hình…”
A. dãy số A bao gồm n số tự nhiên chẵn đầu tiên.
B. dãy số A.
C. dãy số A bao gồm n số tự nhiên.
D. dãy số A bao gồm n số tự nhiên luỹ thừa i.

II. PHẦN TỰ LUẬN


Bài 1 (VD F.29).
Cho danh sách A = [1,3,6]
Em hãy viết câu lệnh thêm phần tử 7 vào cuối danh sách A.
Bài 2 (VDC F.30).
Viết chương trình tính tích 1 x 2 x 3 x…..x n với n được nhập từ bàn phím.

Ghi chú: Có thể tách thành 2 phần tự luận và thực hành riêng hoặc đề chỉ cần TNKQ và Thực hành.
3. ĐÁP ÁN VÀ HƯỚNG DẪN CHẤM
SỞ GDĐT BÌNH DƯƠNG ĐỀ KIỂM TRA GIỮA KỲ II - NĂM HỌC 2023 - 2024
ĐỀ SỐ …. Môn thi: Tin học, Lớp 10
Thời gian làm bài: 45 phút, không tính thời gian phát đề

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


Câu 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Đáp án A A A A A A A A A A A A A A

Câu 15 16 17 18 19 20 21 22 23 24 25 26 27 28

Đáp án A A A A A A A A A A A A A A

* Mỗi câu trắc nghiệm đúng được 0.25 điểm.


II. PHẦN TỰ LUẬN/THỰC HÀNH (3 điểm)
Nội dung tự luận/thực hành Điểm
Bài 20 (Vận dụng cao)
Câu 30 2
n=int(input("Nhập số tự nhiên n")) 0,5
S=1 0,25
for n in range(1,n+1): 0,5
S=S*n 0,25
print("Tích các số từ 1 đến n là: ",S) 0,5
Bài 22 (Vận dụng)
Câu 29 1
A = [1,3,6]
A. Append (7) 1
A

You might also like