You are on page 1of 10

ĐỀ CƯƠNG CUỐI KÌ 2 KHỐI 11 NĂM HỌC 2022 - 2023

Câu 1. Biến chạy trong vòng lặp for i in range(<giá trị cuối>) tăng lên mấy
đơn vị sau mỗi lần lặp?
A. 1.
B. 2.
C. 0.
D. Tất cả đều sai.
Câu 2. 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 3. Cho đoạn chương trình:
j=0
for i in range(5):
j=j+i
print(j)
Sau khi thực hiện chương trình giá trị của biến j bằng bao nhiêu?
A. 10.
B. 12.
C. 15.
D. 14.
Câu 4. Đoạn chương trình sau giải bài toán nào?
t=0
for i in range(1, 101):
if i % 3 == 0 and i % 5 == 0:
t=t+i
print(t)
A. Tính tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến 100.
B. Tính tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến 101.
C. Tính tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến 101.
D. Tính tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến 100.

Câu 5. Cú pháp của lệnh lặp với số lần biết trước for là:
A. for <i> in range(n):
<khối lệnh>
B. for <i> in range(n)
<khối lệnh>
C. for <i> on range(n):
<khối lệnh>
D. for <i> range(n):
<khối lệnh>
Câu 6. Câu lệnh sau giải bài toán nào:
while M != N:
if M > N:
M=M–N
else:
N=N–M
A. Tìm UCLN của M và N.
B. Tìm BCNN của M và N.
C. Tìm hiệu nhỏ nhất của M và N.
D. Tìm hiệu lớn nhất của M và N.
Câu 7. Tính tổng S = 1 + 2 + 3 + 4 +… + n + … cho đến khi S>10000. Điều
kiện nào sau đây cho vòng lặp while là đúng:
A. while S >= 10000.
B. while S < 10000.
C. while S <= 10000.
D. While S >10000.
Câu 8. 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 9. Đối tượng dưới đây thuộc kiểu dữ liệu nào?
A = [1, 2, ‘3’]
A. list.
B. int.
C. float.
D. string.
Câu 10. 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 11. 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 12. Kết quả của chương trình sau là gì?
A = [1, 2, 3, 4, 5, 6, 5]
for k in A:
print(k, end = " ")
A. 1 2 3 4 5 6
B. 1 2 3 4 5 6 5
C. 1 2 3 4 5
D. 2 3 4 5 6 5.
Câu 13. 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 14. Cú pháp của lệnh lặp với số lần chưa biết trước 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> in range(n):
<khối lệnh>
Câu 15. Cho biết kết quả khi chạy đoạn chương trình sau:
s=0
for i in range (100):
s = s+1/i
print(s)
A. Hiển thị tổng của 1+ 2 + 3 + ...+ 100
B. Hiển thị tổng của 1+ 1/2 + 1/3 +...+1/101
C. Hiển thị tổng của 1+ 1/2 + 1/3 +...+1/100
D. Hiển thị tổng của 1+ 1/2 + 1/3 +...+1/99
Câu 16. Đoạn chương trình sau cho kết quả thế nào:
i=1
while i<5:
print(i+3, end= ' ')
i=i+1
A. 4 5 6 7
B.
4
5
6
7
C. 4567
D. 1
Câu 17. Kết quả của chương trình sau là bao nhiêu?
>>> s = “0123145”
>>> s[0] = ‘8’
>>> print(s[0])
A. ‘8’.
B. ‘0’.
C. ‘1’.
D. Chương trình bị lỗi.
Câu 18. 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 19. Cách khởi tạo danh sách:


A. <tên list>=[<v1>; <v2>;.....;<vn>]
B. <tên list>={[<v1>; <v2>;.....;<vn>}
C. <tên list>={<v1>, <v2>,.....,<vn>]}
D. <tên list>=[<v1>, <v2>,.....,<vn>]
Câu 20. Cách khởi tạo danh sách c gồm 100 số 0 là:
A. c=[0]*100
B. c=0*[100]
C. c = 0*100
D. c= [0]*[100]
Câu 21. Dùng lệnh nào sau đây để lấy ra phần tử cuối cùng trong danh sách
A. pop (a)
B. a.pop()
C. pop (len(a))
D. pop()
Câu 22. Lệnh nào sau đây xoá toàn bộ danh sách E?
A. E.clear().
B. E.exit().
C. E.remove().
D. E.del().
Câu 23. Lệnh sau trả lại giá trị gì?
>> “abcdabcd”. find(“cd”)
>> “abcdabcd”. find(“cd”, 4)
A. 2, 6.
B. 3, 3.
C. 2, 2.
D. 2, 7.
Câu 24. Lệnh nào sau đây dùng để tách xâu:
A. split()
B. join()
C. remove()
D. copy().
Câu 25. Để xóa 2 phần tử đầu tiên trong danh sách a, phương án nào sau đây
đúng?
A. del(a[1:1])
B. del(a[1:2])
C. del(a[0:1])
D. del(a[0:2])
Câu 26. Cho biết kết quả của chương trình sau?
A=[1,3,-3,0,6,7,0,2]
for i in range(len(A)):
if A[i]!=0:
print (A[i], end=' ')
A. 1 3 -3 6 7 2
B. 0 0
C. 0 6 0 2
D. 1 3 -3 7
Câu 27. Chương trình sau cho kết quả thế nào?
a=[7,3,8,1,9]
del(a[3])
print (a)
A. [7, 3, 8, 9]
B. [7, 3, 1, 9]
C. [7, 8, 1, 9]
D. [1, 9]
Câu 28. Chương trình sau cho kết quả thế nào?
a=[5, 7, 3, 4, 1]
a.insert(2,5)
print (a)
A. [5, 7, 5, 3, 4, 1]
B. [5, 7, 3, 2, 4, 1]
C. [5, 5, 7, 3, 4, 1]
D. [5, 7, 3, 4, 2, 1]
Câu 29. Phát biểu nào ĐÚNG về kiểu dữ liệu xâu?
A. Là dãy các ký tự
B. Là dãy các ký tự chữ
C. Là dãy các ký tự dấu
D. Là dãy các ký tự số
Câu 30. Khi khai báo hàm, thành phần nào được định nghĩa và được dùng như
biến trong hàm?
A. Tham số.
B. Đối số.
C. Dữ liệu.
D. Giá trị.
Câu 31. 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ả 3 phát biểu trên đều đúng.
Câu 32. 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.

Câu 33. Sử dụng lệnh nào để tìm vị trí của xâu '3' con trong xâu s?
A. s.test('3').
B. s.in('3').
C. s.find('3').
D. s.split('3').
Câu 34. Hàm chuyển đổi kiểu dữ liệu khác về xâu là:
A. list()
B. int
C. str()
D. abs()
Câu 35. Cho s='THPT chuyên Nguyễn Trãi'. Muốn tạo xâu in thường toàn bộ
xâu s. Ta dùng lệnh:
A. s.find()
B. s.upper()
C. s.capitalize()
D. s.lower()
Câu 36. Nếu s = '1234567890' thì s[0:4] là gì
A. '123'
B. '0123'
C. '01234'
D. '1234'
Câu 37. Kết quả của chương trình sau là gì?
s='fhư23hjfs223'
for i in s:
if i in '0123456789':
print(i,end='')
A. '23223'
B. '2 3 2 2 3'
C. 'fhưhjfs'
D. 23223
Câu 38. . Kết quả của câu lệnh:
s='2022 2023'
s.split()
A. ['2022', '2023']
B. 2022 2023
C. [2022, 2023]
D. 2022, 2023
Câu 39. Lệnh sau trả lại giá trị gì?
'abcde'.find('')
A. -1
B. 0
C. 1
D. Báo lỗi
Câu 40. Cú pháp mở tệp để đọc dữ liệu:
A. open(<tên tệp>, ["r"], [endcoding = "xxx"])
B.<tên biến tệp> = (<tên tệp>, ["r"], [endcoding = "xxx"])
C.(<tên tệp>, ["r"], [endcoding = "xxx"])
D. <tên biến tệp> = open(<tên tệp>, ["r"], [endcoding = "xxx"])
Câu 41. Để mở tệp để ghi dữ liệu ta dùng cú pháp:
A. <tên biến tệp> = open(<tên tệp>,"r",[endcoding = "xxx"] )
B. <tên biến tệp> = open(<tên tệp>,"w",[endcoding = "xxx"] )
C. <tên biến tệp> = open(<tên tệp>,[endcoding = "xxx"] )
D. <tên biến tệp>: = open(<tên tệp>,"w",[endcoding = "xxx"] )
Câu 42. Để đọc dữ liệu từ tệp VD.TXT gồm nhiều dòng, mỗi dòng chứa 3 số
thực a, b, c và các số cách nhau bởi dấu cách, ta viết câu lệnh
A.
f=open('VD.TXT')
while True:
s=f.readline().strip()
if not s:
break
a, b, c = map(float,s.split())
B.
f=open('VD.TXT', 'w')
while True:
s=f.readline().strip()
if not s:
break
a, b, c = map(float,s.split())
C.
f=open('VD.TXT')
while True:
s=f.readline().strip()
if not s:
break
a, b, c = map(int,s.split())
D.
f=open('VD.TXT')
while True:
s=f.readline().strip()
if not s:
break
a, b, c = map(s.split())

Câu 43. Đoạn chương trình tính tổng 2 số a, b. Kết quả ghi vào tệp
KQTONG2SO.DAT. Biết a,b được đọc từ tệp TONG2SO.DAT gồm các cặp số
nguyên liên tiếp cách nhau bởi dấu cách
TONG2SO.DAT:
12 3
34
23
KQTONG2SO.DAT:
15
7
5
A.
f1=open ('KQTONG2SO.DAT','w')
while True:
.......
a=list(map(int,s.split()))
n=len(a)
for i in range(0,n,2):
x=a[i] + a[i+1]
k=str(x)
f1.write(k)
f1.write ('\n')
B.
f1=open ('KQTONG2SO.DAT')
while True:
.......
a=list(map(int,s.split()))
n=len(a)
for i in range(0,n,2):
x=a[i] + a[i+1]
k=str(x)
f1.write(k)
f1.write ('\n')
C.
f1=open ('KQTONG2SO.DAT','w')
while True:
.......
a=list(map(int,s.split()))
n=len(a)
for i in range(0,n,2):
x=a[i] + a[i+1]
f1.write(x)
f1.write ('\n')
D.
f1=open ('KQTONG2SO.DAT','w')
while True:
.......
a=list(map(int,s.split()))
n=len(a)
for i in range(0,n,2):
x=a[i] + a[i+1]
k=str(x)
f1.write(k)
f1.write(' ')
Câu 44. Cú pháp câu lệnh gọi hàm là:
A. <tên hàm>.(<danh sách tham số hàm>)
B. <tên hàm>(<danh sách tham số hàm>)
C. <tên hàm> + (<danh sách tham số hàm>)
D. <tên hàm> - (<danh sách tham số hàm>)
Câu 45. Hàm tự định nghĩa có thể có bao nhiêu tham số
A. 0
B. 1
C. 2
D. Không hạn chế
Câu 46. Hàm sau có ý nghĩa gì?
def h(n):
c=0
for k in range(1,n):
if n%k ==0:
c=c+k
return c
A. Hàm trả lại tổng các ước số thực sự của n, tính cả 1
B. Hàm trả lại số ước số thực sự của n, tính cả 1
C. Hàm trả lại tổng các số bé hơn n chia kết cho k
D. Hàm trả lại tổng các số bằng 0
Câu 47. Kết quả in ra số nào?
def f(x,y):
z=x+y
return x*y*z
x=10
y=1
print (f(x,y))
A. 110
B. 100
C. 10
D. 1
TỰ LUẬN

Câu 1.1. Viết chương trình nhập vào 1 danh sách các số nguyên, hiển thị và
tính tổng các số chẵn trong danh sách
Câu 1.2. Viết chương trình nhập vào 1 danh sách các số nguyên. Tìm giá trị
lớn nhất và đưa ra chỉ số bé nhất nếu có nhiều phần tử có giá trị bằng giá trị
lớn nhất
Câu 1.3. Viết chương trình nhập vào 1 danh sách các số nguyên, hiển thị và
tính tổng các số lẻ trong danh sách
Câu 1.4. Viết chương trình nhập vào 1 danh sách các số nguyên. Tìm giá trị bé
nhất và đưa ra chỉ số lớn nhất nếu có nhiều phần tử có giá trị bằng giá trị bé
nhất
Câu 2.1. Viết chương trình tìm UCLN của 2 số nguyên dương m, n. Kết quả
được ghi vào tệp KQUCLN.DAT. Biết m, n được đọc từ tệp UCLN.DAT gồm
các cặp số nguyên liên tiếp cách nhau bởi dấu cách
UCLN.DAT:
12 3
25 35
40 30
KQUCLN.DAT:
3 5 10
Câu 2.2. Viết chương trình tìm UCLN của 2 số nguyên dương m, n. Kết quả
được ghi vào tệp KQUCLN.DAT. Biết m, n được đọc từ tệp UCLN1.DAT gồm
các cặp số nguyên liên tiếp cách nhau bởi dấu cách
UCLN1.DAT:
12 1 25 35 40 30
KQUCLN.DAT:
1
5
10
Câu 3.1. Viết chương trình giải phương trình ax + b = 0 (có sử dụng hàm)
Câu 3.2. Viết chương trình giải phương trình ax 2 + bx + c = 0 ( a ≠ 0 ¿ (có sử
dụng hàm)
Câu 3.3. Viết chương trình giải phương trình ax2 + bx + c = 0 (có sử dụng
hàm)

You might also like