Đề thi cuối kì 2 Tin học 10 Kết nối tri thức có đáp án - Đề 2
24 câu hỏi
PHẦN I: Câu trắc nghiệm nhiều phương án lựa chọn (20 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 lệnh sau cho kết quả là gì?
for i in range(10):
if i%2==0:
print(i,end='''')
02468
13579
2468
246810
Đáp án đúng là: A
Câu lệnh sau cho kết quả là gì?
D=0
for i in range(10):
if i%2==1:
D=D+1
print(D)
02468
13579
5
1357
Đáp án đúng là: C
Trong Python, cấu trúc lặp với số lần biết trước có dạng như thế nào?
for < biến đếm >:
<khối lệnh >
for < biến đếm > in range(< vùng giá trị>) :
<khối lệnh >
for < biến đếm >:
for < biến đếm > do <khối lệnh >
Đáp án đúng là: B
Trong Python, lệnh nào sau đây xoá phần tử của danh sách có giá trị là x?
clear()
exit()
remove(x)
del(x)
Đáp án đúng là: C
Kết quả sau khi thực hiện câu lệnh sau là:
>>> “101” in “ 00101”
true
True
False
false
Đáp án đúng là: B
Hàm trong python được định nghĩa bằng từ khóa nào?
global
def
del
return
Đáp án đúng là: B
Mục đích của kiểm thử chương trình là gì?
Để tự động sửa lỗi chương trình.
Để tìm ra lỗi của chương trình.
Để tìm ra lỗi và tự động sửa lỗi chương trình.
Để tìm ra lỗi và phòng ngừa, ngăn chặn các lỗi phát sinh trong tương lai.
Đáp án đúng là: D
Giả sử hàm f có bốn tham số khi khai báo. Khi gọi hàm, 4 giá trị đối số nào truyền vào sẽ gây lỗi?
2, 3,4,5.
10, c,d,3.
"a", "b", "c", "d",
"a","4","a", "3".
Đáp án đúng là:B
Phương án nào sau đây không phải là một yếu tố cần thiết của bộ test khi kiểm thử chương trình?
Cần có nhiều bộ test theo các tiêu chí khác nhau.
Cần có bộ test ngẫu nhiên dữ liệu đầu vào.
Cần có bộ test dữ liệu ở vùng biên hoặc cận biên.
Cần có bộ test trên tất cả các ngôn ngữ lập trình.
Đáp án đúng là: D
Phương án nào sau đây nêu đúng thông báo lỗi cú pháp?
SyntaxError.
ValueError.
IndexError.
TypeError.
Đáp án đúng là: A
Chọn phát biểu đúng khi nói về dữ liệu kiểu danh sách(List) trong python.
Dữ liệu kiểu danh sách là tập hợp các phần tử không có thứ tự và mọi phần tử có cùng một kiểu dữ liệu.
Dữ liệu kiểu danh sách là tập hợp các phần tử có thứ tự và mỗi một phần tử trong danh sách có thể có các kiểu dữ liệu khác nhau.
Dữ liệu kiểu danh sách là tập hợp các phần tử có thứ tự và mọi phần tử phải có cùng một kiểu dữ liệu.D
Tất cả ý trên đều sai.
Đáp án đúng là: B
Đối tượng dưới đây thuộc kiểu dữ liệu nào? A = [1, 2, ‘3’]
list
int
float
string
Đáp án đúng là: A
Hoàn thiện chương trình tính tích các phần tử dương trong danh sách A. vào dấu (…)
S = (…)
for i in range(len(A)):
(…)
S = S * A[i]
print(S)
1, if A[i] > 0:
0, if A[i] > 0:
1, if A[i] >= 0.
0, if A[i] > 0.
Đáp án đúng là: A
Trong python, để khai báo một danh sách và khởi tạo sẵn một số phần tử ta dùng cú pháp nào?
<tên danh sách> = [<danh sách phần tử, phân cách bởi dấu phẩy>]
<tên danh sách> = []
[<danh sách phần tử, phân cách bởi dấu phẩy>]
<tên danh sách> = [0]
Đáp án đúng là: A
Phát biểu nào sau đây là sai?
Sau khi thực hiện lệnh clear(), danh sách gốc trở thành rỗng.
Lệnh remove () có chức năng xoá một phần tử có giá trị cho trước.
Lệnh remove() xoá tất cả các phần tử có giá trị cho trước trong list.
Clear() có tác dụng xoá toàn bộ các danh sách.
Đáp án đúng là: C
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)[1, 2, 3, 4].
[2, 3, 4, 5].
[1, 2, 4, 5].
[1, 3, 4, 5].
Đáp án đúng là: D
Cho dãy số A, bạn An viết chương trình tính giá trị và chỉ số 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.
max,CS=A[0], 0
for i in range(len(A)):
if(A[i]>max):
max=A[i]
CS=i
print("Giá trị lớn nhất của dãy A: ", max)
print("Chỉ số là: ", CS)
max=A[1]
for i in range(len(A)):
if(A[i]>max):
max=A[i]
print("Giá trị lớn nhất của dãy A: ", max)
print("Chỉ số là: ", i)
max=A[3]
for i in range(len(A)):
if(A[i]>max):
max=A[i]
print("Giá trị lớn nhất của dãy A: ", max)
print("Chỉ số là: ", i)
max=A[2]
for i in range(len(A)):
if(A[i]>max):
max=A[i]
print("Giá trị lớn nhất của dãy A: ", max)
print("Chỉ số là: ", i)
Đáp án đúng là: A
SaaS là viết tắt của:
Việc cho thuê phần mềm ứng dụng.
Việc cho thuê phần mềm lưu trữ.
Việc cho thuê nền tảng.
Việc cho thuê phần mềm dịch vụ.
Đáp án đúng là:A
Đâu không phải là sản phẩm của nghề thiết kế đồ họa?
Giống vật nuôi.
Logo, bảng hiệu.
Bao bì sản phẩm.
Áp phích quảng cáo.
Đáp án đúng là: A
Tiếp xúc với khách hàng, tìm hiểu về yêu cầu nghiệp vụ, xây dựng hồ sơ yêu cầu của hệ thống là nội dung công đoạn nào trong sản xuất phần mềm?
Lập trình.
Kiểm thử.
Chuyển giao.
Điều tra khảo sát.
Đáp án đúng là: D
Phần II. Câu trắc nghiệm đúng sai (2 câu) Trong mỗi ý a, b, c, d ở mỗi câu, thí sinh chọn đúng hoặc sai
Cho chương trình:
a = input(“Nhập số a: ”)
b = input(“Nhập số b: ”)
print(“Tổng hai số đã nhập là: ”, a+b)
Chương trình không phát sinh lỗi
Nếu nhập a=50 và b=5 thì kết quả của chương trình là 55
Có thể sửa lại hai lệnh đầu như sau:
a=int(input(“Nhập số a: ”))
b=int(input(“Nhập số b: ”))
Có thể sửa lại hai lệnh đầu như sau:
a=float(input(“Nhập số a: ”))
b=float(input(“Nhập số b: ”))
a) S, vì chương trình có lỗi do khi nhập dữ liệu từ bàn phím chưa thực hiện chuyển đổi sang dạng số.
b) S, vì nếu nhập a=50 và b=5 thì kết quả của chương trình là 505 do thực hiện nối 2 xâu 50 và 5 lại với nhau.
c) Đ, chuyển nhập a, b sang dạng nhập số nguyên và kết quả a+b vẫn ra dạng số đúng.
d) Đ, chuyển nhập a, b sang dạng nhập số thực và kết quả a+b vẫn ra dạng số đúng.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);
# Tìm bội số chung nhỏ nhất (BSCNN)
def bscnn(a, b):
return int((a * b) / uscln(a, b));
Biến a, b là biến cục bộ
Các biến a, b không được phép nhập giá trị a=b
Nếu ta nhập a=50 và b=30 thì kết quả của chương trình bscnn(a, b) là 30
Biến a, b là biến có tác dụng trong toàn bộ chương trình
Đáp án:
a) Đ, vì a, b được khai báo trong thân hàm.
b) S, vì được phép nhập giá trị a=b
c) S, vì nếu ta nhập a=50 và b=30 thì kết quả của chương trình là bscnn(50, 30)=150.
d) S, vì a, b là biến cục bộ chỉ có tác dụng trong hàm khai báo nó.Phần III. Tự luận
Cho dãy gồm các số nguyên A được nhập từ bàn phím. Viết chương trình tìm giá trị và chỉ số của phần từ nhỏ nhất của dãy A.
input_str = input("Nhập dãy các số nguyên, cách nhau bởi khoảng trắng: ")
A = [int(x) for x in input_str.split()]
if len(A) == 0:
print("Dãy số không có phần tử nào.")
else:
min_val = A[0]
min_index = 0
for i in range(1, len(A)):
if A[i] < min_val:
min_val = A[i]
min_index = i
print("Giá trị nhỏ nhất: “,min_val)
print("Chỉ số của phần tử nhỏ nhất:”,min_index)Viết hàm tìm bội chung nhỏ nhất của 2 số nguyên a, b. Áp dụng hàm để tính tổng 2 phân số 
import math
def bcnn(a, b):
if a == 0 or b == 0:
return 0
return abs(a * b) // math.gcd(a, b)
def tong_2_ps(tu1, mau1, tu2, mau2):
if mau1 == 0 or mau2 == 0:
print("Mẫu số không được bằng 0.")
mc = bcnn(mau1, mau2)
tu_moi = tu1 * (mc // mau1) + tu2 * (mc // mau2)
ucln = math.gcd(tu_moi, mc)
tu_toi_gian = tu_moi // ucln
mau_toi_gian = mc // ucln
print(“tổng 2 phân số là:”,tu_toi_gian, “/”, mau_toi_gian)
x=int(input(“nhập x:”))
y=int(input(“nhập y:”))
z=int(input(“nhập z:”))
t=int(input(“nhập t:”))
tong_2_ps(x,y,z,t)







