Đề kiểm tra học kỳ hai môn Tin lớp 10 (có đáp án ) Phù hợp học sinh ôn luyện để kiểm tra môn Tin học kỳ 2
Trang 1{ THÔNG TIN TRƯỜNG } Kiem tra HK2_2025.docx
{MÔN HỌC}
Thời gian làm bài: 45 phút (Không kể thời gian giao đề)
Thí sinh:
Lớp: Tự do
Trắc nghiệm: 9.75 (30/31 câu)
Số lần thoát màn hình: 0
Số lần thoát trình duyệt: 0
Mã bài làm: 396776950
I Phần trắc nghiệm nhiều lựa chọn:
Câu 1 Khi gọi hàm, giá trị truyền vào cho tham số được gọi là gì?
A Tham biến B Đối số C Biểu thức trả về D Tên hàm phụ.
Câu 2 Cho đoạn mã sau đây:
def kiemtra(n):
if n < 2: return False
for i in range(2,n):
if n%i==0: return False
return True
Phát biểu nào sau đây nói đúng về chức năng chính của đoạn mã trên:
A Kiểm tra n có phải số nguyên tố B In ra tất cả các số lẻ nhỏ hơn n.
C Tính tổng các số từ 2 đến n D Đếm số lượng ước số của n.
Câu 3 Mã lỗi nào sau đây được sinh ra nếu chia một số cho 0?
A IndexError B NameError C ValueError D ZeroDivisionError.
Câu 4 Kết quả nào bên dưới là đúng khi thực hiện đoạn mã sau?
def say_hi(name):
print("Xin chào", name)
say_hi("Lan")
A In ra: Xin chào Lan B In ra: Xin chào name
C In ra: Xin chào say_hi D Không in ra kết quả nào.
Đáp án đúng: A ✓
D
Đáp án đúng: A ✓
Trang 2Câu 5 Cho chương trình:
n = 3
def nhan_doi():
global n
n = n * 2
nhan_doi()
print(n)
Kết quả in ra màn hình là phương án nào sau đây?
A Lỗi vì không có return B 9.
Câu 6 Cho đoạn lệnh bên dưới:
def tinh(a, b):
return a + b
x = tinh(3, 4)
print(x)
Phương án nào sau đây là kết quả sau khi thực hiện đoạn lệnh trên?
Câu 7 Phương án nào sau đây là ví dụ đúng về lời gọi hàm với đối số cụ thể?
A def cong(a, B print(a + b) C cong(2, 3) D a, b = 2, 3
Câu 8 Phát biểu nào sau đây mô tả đúng lợi ích của việc sử dụng hàm trong lập trình Python?
A Chương trình tự động kiểm tra lỗi B Tránh lặp lại mã lệnh và tái sử dụng.
C Chương trình dùng ít biến hơn D Các lệnh thực hiện nhanh hơn về tốc độ.
Câu 9 Phương án nào sau đây là kết quả đúng khi gọi hàm tong(2, 3, 4) với khai báo def tong(a, b, c): return a
+ b + c?
A Kết quả là 10 B Kết quả là 12 C Kết quả là 9 D Kết quả là 6.
Câu 10 Khi biến a được khai báo trong chương trình chính và một biến khác cùng tên a được khai báo lại trong
hàm, điều gì xảy ra?
A Hai biến được gộp lại thành một B Biến ngoài sẽ bị thay đổi theo biến trong hàm.
Trang 3C Biến ngoài bị xóa sau khi hàm chạy D Biến trong hàm và bên ngoài là độc lập.
Câu 11 Xét hàm tongduong(A) đã học ở bài 27, giả sử A = [3, -5, 7, 0, -2], kết quả của tongduong(A) là:
Câu 12 Chọn phát biểu đúng bên dưới về lỗi nhập dữ liệu sau khi thực hiện đoạn lệnh:
n = int(input("Nhập số nguyên n: "))
A Lỗi xảy ra nếu không có dấu cách sau input B Chương trình không nhận giá trị n là 0.
C Chương trình báo lỗi nếu nhập n = 1.5 D Không xảy ra lỗi với mọi giá trị nhập vào.
Câu 13 Phương án nào sau đây là đúng để định nghĩa hàm có trả lại giá trị trong Python?
A return 5: def ham() B def ham: return 5 C ham() = def: return 5 D def ham(): return 5
Câu 14 Trong câu lệnh f_sum(10, x, y), giả sử x = 5, y = 3, phát biểu nào sau đây là đúng?
A Trong lời gọi hàm có chứa 2 đối số là x, y.
B Biến x và y chưa có giá trị nên hàm không chạy được.
C Hàm f_sum chỉ nhận được một đối số duy nhất là 10.
D Hàm f_sum được gọi với ba đối số cụ thể.
Câu 15 Lỗi nào sau đây xảy ra khi cú pháp của ngôn ngữ bị viết sai?
A SyntaxError B ValueError C NameError D TypeError.
Câu 16 Cú pháp nào sau đây là cách gọi để sử dụng một hàm tự định nghĩa có một tham số?
A Tên_hàm x B Tên_hàm(x) C def Tên_hàm(x) D print(Tên_hàm = x)
Câu 17 Phát biểu nào sau đây mô tả đúng lỗi Runtime?
A Kết quả sau khi thực hiện chương trình bị sai B Xảy ra do người dùng gõ sai cú pháp.
C Xảy ra do không định nghĩa đầy đủ biến D Xuất hiện khi chương trình đang thực thi.
D
Đáp án đúng: A ✓
D
D
Đáp án đúng: A ✓
Trang 4Câu 18 Xét đoạn chương trình sau:
a = 5
def f():
a = 10
return a
f()
print(a)
Kết quả nào sau đây được in ra màn hình sau khi thực hiện đoạn chương trình trên?
A Chương trình in ra giá trị 5 B Xuất hiện lỗi do biến a bị thay đổi.
C Giá trị được in ra là 0 D Chương trình in ra giá trị 10.
Câu 19 Xét hàm f được khai báo như sau:
def f(a,b):
return a + b + N
Phát biểu nào sau đây đúng với biến N khi N = 10 được khai báo bên ngoài hàm:
A Không thể sử dụng vì N chưa là đối số B Có thể dùng vì N được khai báo trước đó.
C Gây lỗi do N không nằm trong hàm D Chỉ dùng được nếu N là tham số của hàm.
Câu 20 Tình huống nào sau đây gây ra lỗi kiểu dữ liệu (TypeError)?
A Nhập số thực cho biến số nguyên B Cộng một chuỗi với một số.
C Viết sai cú pháp vòng lặp D Gọi tên biến chưa được định nghĩa.
Câu 21 Phát biểu nào sau đây đúng về biến khai báo bên ngoài hàm?
A Sử dụng như biến trong hàm nếu khai báo lại dùng global.
B Tự động trở thành tham số truyền vào hàm khi sử dụng.
C Có thể dùng làm đối số nhưng không cần gán giá trị.
D Có thể sử dụng như một biến trong hàm mà không cần khai báo lại.
Câu 22 Phát biểu nào sau đây đúng khi nói về sự khác nhau giữa tham số và đối số?
A Tham số là giá trị được truyền vào hàm khi gọi.
B Đối số là giá trị truyền vào tham số khi gọi hàm.
C Tham số là tên hàm được định nghĩa trước.
D Đối số là biến được định nghĩa trong phần khai báo hàm.
D
Đáp án đúng: A ✓
Đáp án đúng: A ✓
Trang 5Câu 23 Xét đoạn chương trình sau:
def tinh(a):
c = 5
return a + c
c = 10
print(tinh(3))
print(c)
Khi thực hiện đoạn chương trình trên giá trị in ra màn hình là phương án nào sau đây?
A 13 và 10 B 13 và 5 C 8 và 10 D 8 và 5.
Câu 24 Phân tích nào sau đây đúng khi chạy đoạn lệnh với yêu cầu tính tổng 4 số nguyên dương đầu tiên:
s = 0
for i in range(4):
s = s + i
print(s)
A Lỗi do biến s chưa được khai báo B Gây lỗi khi thực thi vì sai kiểu dữ liệu.
C Kết quả sai do cú pháp sai D Kết quả sai yêu cầu bài toán.
Câu 25 Phạm vi hoạt động của biến khai báo trong một hàm là:
A Có thể sử dụng trong hàm và chương trình chính.
B Có thể sử dụng ở mọi vị trí trong chương trình.
C Có hiệu lực ở tất cả các hàm khác trong chương trình.
D Chỉ có tác dụng trong chính hàm nó được khai báo.
Câu 26 Đặc điểm nào sau đây là đúng với các hàm thiết kế sẵn trong Python?
A Phải khai báo lại mỗi lần dùng trong chương trình.
B Có thể sử dụng trực tiếp trong chương trình.
C Có thể được khai báo bằng từ khóa def.
D Chỉ dùng được trong phần thân hàm khi khai báo hàm.
Câu 27 Cho chương trình sau:
def loc_chan(A):
B = []
D
D
Trang 6for x in A:
if x % 2 == 0:
B.append(x)
return B
print(loc_chan([1, 4, 7, 8, 10]))
Phát biểu nào sau đây cho biết đoạn chương trình sau thực hiện tác vụ gì?
A In ra các phần tử chẵn trong danh sách B In ra các số lẻ trong danh sách.
C In ra tất cả phần tử A D In ra danh sách chứa các số lớn hơn 5.
Câu 28 Giả sử có đoạn chương trình sau:
def tinh(n):
s = 0
for i in range(1, n + 1):
s = s + i * i
return s
Kết quả của lời gọi tinh(3) là phương án nào sau đây?
II Phần trắc nghiệm Đúng – Sai:
Câu 1 Khi viết một chương trình có sử dụng hàm, bạn Nam khai báo biến a = 10 trong hàm tinh_toan() rồi gọi
biến a từ chương trình chính Tuy nhiên, chương trình báo lỗi khiến bạn thắc mắc về phạm vi hoạt động của biến Một số nhận xét được đưa ra như sau:
a) Biến khai báo trong hàm chỉ có hiệu lực trong hàm đó.
b) Biến a có thể được sử dụng ở mọi nơi trong chương trình nếu đã khai báo một lần.
c) Muốn dùng biến bên trong hàm ở bên ngoài hàm ta cần dùng thêm từ khóa total.
d) Để chương trình hết lỗi ta cần khai báo biến a bên ngoài hàm và khi khai báo bên trong hàm ta dùng từ
khóa global
Câu 2 Lan viết hàm def cong(a,b): return a+b để tính tổng hai số Sau đó, bạn ấy viết trong chương trình chính
lệnh x, y = 3, 4 và gọi cong(x,y) Tuy nhiên, bạn An lại nghĩ rằng có thể gọi hàm cong(a,b) mà không cần truyền đối số vào Một số nhận xét được đưa ra như sau:
a) Hàm cong(a,b) có hai tham số a và b.
b) Có thể gọi cong(a,b) mà không cần gán giá trị cho a và b trước.
c) Biến x và y được gán giá trị trước khi truyền vào hàm.
d) Kết quả lời gọi hàm cong(7,8) là 14.
Đáp án đúng: A ✓
Đáp án a-Đúng b-Sai c-Sai d-Đúng
✓a-Đúng
✓b-Sai
✓c-Sai
✓ d-Đúng
Trang 7Câu 3 Minh đang học cách viết chương
trình tính diện tích hình chữ nhật Bạn ấy định viết một hàm để nhận hai tham số là chiều dài và chiều rộng, sau
đó trả lại diện tích Tuy nhiên, Minh lại nhầm lẫn giữa hàm có và không có giá trị trả về, dẫn đến việc hàm không cho kết quả như mong muốn Một số nhận xét được đưa ra như sau:
a) Hàm không có lệnh return sẽ luôn trả lại giá trị khi gọi.
b) Nếu viết def tinh_dien_tich(d, r): return d * r, hàm sẽ chạy đúng yêu cầu.
c) Trong Python, có thể dùng hàm không trả giá trị để in ra kết quả trực tiếp mà không cần lệnh return d) Nếu muốn in kết quả từ hàm có trả giá trị, cần viết thêm câu lệnh như print(tinh_dien_tich(5,2)).
HẾT -Đáp án a-Đúng b-Sai c-Đúng d-Sai
✓ a-Đúng
✓b-Sai
✓ c-Đúng
✓d-Sai
Đáp án a-Sai b-Đúng c-Đúng d-Đúng
✓a-Sai
✓ b-Đúng
✓c-Đúng
✓ d-Đúng