Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 12

ĐỀ ÔN SỐ 1

I. TRẮC NGHIỆM: 7 điểm

Câu 1: s1 = "10"
s2 = "1001010"
i=s2.find(s1)
print(i)
Kết quả hiển thị của i trên màn hình là:
A. 0 B. 5 C. 1 D. 3
Câu 2: Cú pháp đúng của câu lệnh lặp for
A. for <biến chạy> in range(giá trị cố định) <Khối lệnh>
B. for <biến chạy> in range(giá trị đầu, giá trị cuối): <Khối lệnh>
C. for <biến chạy> in range(giá trị cuối); <Khối lệnh>
D. for <biến chạy> in range(giá trị đầu): <Khối lệnh>
Câu 3:
str1= "abABCDEeeef"
sub= "ab"
sub= "e"
print(str1.count(sub))
Kết quả hiển thị trên màn hình là:
A. 3 B. 60 C. 10 D. 2
Câu 4: Giá trị của a sau khi kết thúc vòng lặp là bao nhiêu:
a= 9
for i in range(1,5):
a=a+4
print(a)
A. 13 B. 4 C. 25 D. 9
Câu 5: Kết quả của x sau khi chạy đoạn chương trình sau là bao nhiêu:
x=10
while x>0:
x=x*2
print(x)
A. Không trả về kết quả B. 6
C. 12 D. 2
Câu 6: Hàm sau trả về kết quả nào trên màn hình? print(max(9,8, True))
A. 6 B. 7 C. 8 D. 9
Câu 7: Để in ra màn hình các số tự nhiên từ 1 đến 45, ta dùng câu lệnh nào sau đây:
A. for stt in range(1, 46): B. for stt in range (0, 45):
C. for stt in range(1, 45): D. for stt in range (0, 46):
Câu 8:
def func(a,b):
x=a+b
y=b-5
return y
func(13,10)
Chương trình sau in ra kết quả gì?
A. 5 B. 13 C. Không in gì D. 21
Câu 9: Cho câu lệnh lặp while <điều kiện>: Nhóm lệnh. Hãy chọn phát biểu đúng:
A. Nhóm lệnh lặp lại phải có giá trị làm cho biểu thức điều kiện đúng
B. Câu lệnh lặp sẽ kết thúc khi biểu thức điều kiện sai
C. Câu lệnh lặp sẽ kết thúc khi biểu thức điều kiện đúng
D. Điều kiện lặp là một biểu thức số học
Câu 10: Cấu trúc nào để viết hàm trong Python
A. def tên hàm [tham số] B. def tên biến (tham số)
C. def tên hàm (tham số) D. def tên hằng (tham số)
Câu 11: Trong Python, để cho ra kết quả là độ dài xâu thì ta sử dụng hàm nào sau đây?
A. len(<tên biến xâu>) B. upper(<tên biến xâu>)
C. find(<tên biến xâu>) D. lower(<tên biến xâu>)
Câu 12: s = "abc123456"
s=s[3:6]
Biến s cho giá trị bằng:
A. 234 B. c123 C. bc12 D. 123
Câu 13: s = "123456789"
s=s.replace("345","")
Biến s chứa giá trị nào sau đây:
A. "123789" B. "1256789" C. "126789" D. "345"
Câu 14: Trong Python, khi muốn ghép 2 xâu lại với nhau ta sử dụng toán tử nào sau
đây?
A. * (dấu nhân) B. + (dấu cộng) C. / (dấu chia) D. – (dấu trừ)
Câu 15: Khi sử dụng hàm có sẵn (trong một thư viện) ta cần:
A. Phải xây dựng lại hàm đó.
B. Phải khai báo và xây dựng lại.
C. Phải khai báo hàm trước khi gọi.
D. Gọi hàm có sẵn thực hiện mà không cần xây dựng lại hàm đó.
Câu 16: a="number"
Câu lệnh nào xóa kí tự cuối cùng của xâu a?
A. a=a.replace(6,"") B. a=a.replace("n","")
C. a=a.replace("r","") D. a=a.replace("","")
Câu 17: Hàm sau trả về kết quả nào trên màn hình? print(max(-3,-4))
A. False B. -3 C. -4 D. 0
Câu 18: Trong các phát biểu sau, phát biểu nào SAI?
A. Trong các ngôn ngữ lập trình bậc cao đều có câu lệnh thể hiện cấu trúc lặp.
B. Có thể sử dụng câu lệnh while để thể thiện cấu trúc lặp với số lần lặp chưa biết
trước.
C. Trong Python chỉ có câu lệnh while để thể hiện cấu trúc lặp.
D. Có thể sử dụng câu lệnh for để thể hiện cấu trúc lặp với số lần lặp biết trước.
Câu 19: a="number"
b="one"
m=len(a)+len(b)
print(m)
Giá trị biến m bằng bao nhiêu?
A. 12 B. 11 C. 10 D. 9
Câu 20: Cho đoạn chương trình sau:
while (i<10):
if i%5 ==1:
s=s+i
i=i+1
print(s)
Khi kết thúc chương trình, giá trị s hiển thị trên màn hình là?
A. 7 B. 15 C. 12 D. 10
Câu 21: Cho biết kết quả hiển thị ra màn hình của chương trình sau?
X= “LOP 10A9”
print(X[0:6])
A. SyntaxError B. 10A3 C. LOP 1 D. LOP 10
Câu 22: Hàm gcd(x,y) trả về:
A. Bội chung nhỏ nhất của x và y.
B. Trị tuyệt đối của x và y.
C. Ước chung lớn nhất của x và y.
D. Căn bậc hai của x và y.
Câu 23: Thư viện math cung cấp:
A. Hỗ trợ việc tạo ra các lựa chọn ngẫu nhiên
B. Các hằng và hàm toán học.
C. Hỗ trợ trực tiếp các định dạng nén và lưu trữ dữ liệu
D. Thủ tục vào ra của chương trình.
Câu 24: Cho biết kết quả chương trình sau?
X= “THPT THỊ XÃ QUẢNG TRỊ”
print(X[4])
A. THỊ B. “ THỊ XÃ QUẢNG TRỊ”
C. “THỊ XÃ QUẢNG TRỊ” D. THPT
Câu 25:
def func(a,b):
x=a+b
y=b-5
return y
print (func(13,10))
Chương trình sau in ra kết quả gì?
A. 21 B. 8 C. 18 D. 5
Câu 26: Cho xâu s bất kì, để đếm số lần xuất hiện không giao nhau xâu “cd” trong s ta sử
dụng phương thức nào?
A. s.count(“cd”,1) B. s.count(“cd”,6,9)
C. s.count(len(s),“cd”) D. s.count(“cd”)
Câu 27: Kết qủa hiển thị của đoạn lệnh sau ra màn hình là gì?
x=sum(range(5));
print(x)
A. 1 B. 10
C. 5 D. chương trình thông báo lỗi
Câu 28: Hàm sau trả về kết quả nào trên màn hình? print(min(False,-3,-4))
A. -4 B. False C. 0 D. -3
II. TỰ LUẬN: 3 điểm

Câu 29: (1 điểm) Cho xâu s được nhập vào từ bàn phím. Em hãy viết chương trình đếm
xem trong xâu s có bao nhiêu kí tự chữ số
Ví dụ:
INPUT OUTPUT
AAA12aab9BB7Bbaa 5
9
Câu 30: (1 điểm) Em hãy viết chương trình con kiểm tra xem Ước chung lớn nhất của 2
số nguyên dương M, N có là số chia hết cho 3 hay không? Nếu có thì trả về giá trị 1
ngược lại trả về giá trị 0
Ví dụ:
INPUT OUTPUT
M=12, N=2 0
M=15, N=3 1

Câu 31: (1điểm) Một nông trại nuôi thỏ A, ban đầu từ 1 cặp thỏ người ta đã nhân giống, số
lượng thỏ của tháng sau nhiều hơn so với thỏ tháng trước là b. Ví dụ số thỏ tháng trước là
p thì tháng sau là p+b. Em hãy dùng ngôn ngữ Python để viết chương trình tính xem sau
bao lâu thì số lượng thỏ sẽ vượt 10000000 con biết p, b là số nguyên dương được nhập
vào từ bàn phím

------ HẾT ------


Thí sinh không được phép sử dụng tài liệu. CBCT không giải thích gì thêm
ĐỀ ÔN SỐ 2
I. TRẮC NGHIỆM: 7 điểm
Câu 1: Kết quả của x sau khi chạy đoạn chương trình sau là bao nhiêu:
x=3
while x<10:
x=x*2
print(x)

A. 12 B. 6
C. 2 D. Không trả về kết quả
Câu 2: Cấu trúc lặp với số lần lặp không biết trước được thể hiện bằng câu lệnh Python
nào sau đây:
A. while <điều kiện> Nhóm lệnh B. while biến chạy:Nhóm lệnh
C. while <điều kiện>: Nhóm lệnh D. for biến chạy in range (m, n)
Câu 3: Hàm sau trả về kết quả nào trên màn hình? print(max(True,-3,-4))
A. -3 B. True C. -4 D. 0
Câu 4:
str1= "abABCDEeeef"
sub= "ab"
sub= "ee"
print(str1.count(sub))
Kết quả hiển thị trên màn hình là:
A. 60 B. 1 C. 10 D. 2
Câu 5: Để in ra màn hình các số tự nhiên từ 1 đến 46, ta dùng câu lệnh nào sau đây:
A. for stt in range (0, 47): B. for stt in range(1, 46):
C. for stt in range (0, 46): D. for stt in range(1, 47):
Câu 6: Hàm gcd(x,y) trả về:
A. Căn bậc hai của x và y.
B. Bội chung nhỏ nhất của x và y.
C. Trị tuyệt đối của x và y.
D. Ước chung lớn nhất của x và y.
Câu 7: Thư viện math cung cấp:
A. Các hằng và hàm toán học.
B. Thủ tục vào ra của chương trình.
C. Hỗ trợ việc tạo ra các lựa chọn ngẫu nhiên
D. Hỗ trợ trực tiếp các định dạng nén và lưu trữ dữ liệu
Câu 8: Trong Python, để cho ra kết quả là độ dài xâu thì ta sử dụng hàm nào sau đây?
A. upper(<tên biến xâu>) B. len(<tên biến xâu>)
C. lower(<tên biến xâu>) D. find(<tên biến xâu>)
Câu 9:
def func(a,b):
x=a+7
y=b-1
return y
func(5,6)
Chương trình trên in ra kết quả gì?
A. 13 B. 5 C. Không in gì D. 21
Câu 10: a="sister"
Câu lệnh nào xóa kí tự cuối cùng của xâu a?
A. a=a.replace("s","") B. a=a.replace("","")
C. a=a.replace(6,"") D. a=a.replace("r","")
Câu 11: Trong Python, khi muốn ghép 2 xâu lại với nhau ta sử dụng toán tử nào sau đây?
A. / (dấu chia) B. – (dấu trừ) C. * (dấu nhân) D. + (dấu
cộng)
Câu 12: Hàm sau trả về kết quả nào trên màn hình? print(max(15,9))
A. 9 B. 15 C. -3 D. True
Câu 13: Trong các phát biểu sau, phát biểu nào SAI?
A. Trong Python chỉ có câu lệnh while để thể hiện cấu trúc lặp.
B. Trong các ngôn ngữ lập trình bậc cao đều có câu lệnh thể hiện cấu trúc lặp.
C. Có thể sử dụng câu lệnh for để thể hiện cấu trúc lặp với số lần lặp biết trước.
D. Có thể sử dụng câu lệnh while để thể thiện cấu trúc lặp với số lần lặp chưa biết
trước.
Câu 14: Cho xâu s bất kì, để đếm số lần xuất hiện không giao nhau xâu s1 trong s ta sử
dụng phương thức nào?
A. s.count(s1,5,9) B. s.count(s1,len(s))
C. s.count(s1) D. s.count(s1,1)
Câu 15: Cho biết kết quả chương trình sau?
x="ABCD EFGH"
print(x[4:])
A. “D EFG” B. “EFGH” C. “ABC” D. “ EFGH”
Câu 16: Cấu trúc nào để viết hàm trong Python
A. def tên hàm (tham số) B. def tên biến (tham số)
C. def tên hằng (tham số) D. def tên hàm [tham số]
Câu 17: Cho đoạn chương trình sau:
i=1
s=0
while (i<10):
if i%3 ==1:
s=s+i
i=i+1
print(s)
Khi kết thúc chương trình, giá trị s hiển thị trên màn hình là?
A. 25 B. 45 C. 12 D. 15
Câu 18: s = "123456789"
s=s.replace("678","")
print(s)
biến s chứa giá trị nào sau đây:
A. "345" B. " 123459" C. "123789" D. "126789"
Câu 19: Cho chương trình sau:
def thongbao(msg):
print(msg, "xin chào các bạn!")
return
thongbao("Trần Quang Minh")
Kết quả hiển thị trên màn hình là:
A. Xin chào các bạn Trần Quang Minh
B. Trần Quang Minh
C. Trần Quang Minh xin chào các bạn!
D. Xin chào các bạn
Câu 20:
def func(a,b):
x=a+7
y=b-1
return y
print(func(5,6))
Chương trình trên in ra kết quả gì?
A. 8 B. 18 C. 5 D. -2
Câu 21: Cho biết kết quả hiển thị ra màn hình của chương trình sau?
x="ABCDEFGH"
print(x[:3])
A. “ABC” B. SyntaxError C. “BCD” D. “AB”
Câu 22: Kết quả hiển thị của đoạn lệnh sau ra màn hình là gì?
x=sum(range(6));
print(x)
A. 1 B. 10
C. chương trình thông báo lỗi D. 15
Câu 23: Khi sử dụng hàm có sẵn (trong một thư viện) ta cần:
A. Phải khai báo và xây dựng lại.
B. Gọi hàm có sẵn thực hiện mà không cần xây dựng lại hàm đó.
C. Phải xây dựng lại hàm đó.
D. Phải khai báo hàm trước khi gọi.
Câu 24: a="họ"
b="tên"
m=len(a)+len(b)
print(m)
Giá trị biến m bằng bao nhiêu?
A. 2 B. 5 C. 10 D. “họ tên”
Câu 25: s = "abc123456"
s=s[3:5]
print(s)
Kết quả hiển thị trên màn hình là
A. 12 B. 234 C. 123 D. bc12
Câu 26: Trong câu lệnh sau: for <biến chạy> in range(giá trị đầu, giá trị cuối): <Khối
lệnh>, số lần lặp lại khối lệnh là:
A. Số lần lặp=Giá trị cuối – giá trị đầu
B. Số lần lặp=giá trị đầu
C. Số lần lặp không xác định
D. Số lần lặp=giá trị cuối+giá trị đầu
Câu 27: s1 = "1010"
s2 = "1001010"
i=s2.find(s1)
print(i)
Kết quả hiển thị của i trên màn hình là:
A. 2 B. 1 C. 5 D. 3
Câu 28: Giá trị của a sau khi kết thúc vòng lặp là bao nhiêu:
a=2
for i in range(1,6):
a=a+5
print(a)
A. 12 B. 9 C. 27 D. 30

II. TỰ LUẬN: 3 điểm

Câu 29: (1 điểm) Cho xâu s được nhập vào từ bàn phím. Em hãy viết chương trình đếm
xem trong xâu s có bao nhiêu kí tự chữ cái
Ví dụ:
INPUT OUTPUT
AAA12aab9BB7Bbaa 12
9
Câu 30: (1 điểm) Em hãy viết chương trình con kiểm tra xem Ước chung lớn nhất của 2
số nguyên dương M, N có là số chia hết cho 9 hay không? Nếu có thì trả về giá trị 1
ngược lại trả về giá trị 0
Ví dụ:
INPUT OUTPUT
M=27, N=9 1
M=15, N=2 0

Câu 31: (1 điểm) Virus X có khả năng lây nhiễm mạnh, sau mỗi ngày số lượng người
nhiễm tăng lên gấp ba. Cụ thể nếu ngày hôm nay có p người nhiễm thì sang ngày tiếp
theo sẽ có 3p người bị lây nhiễm. Em hãy viết chương trình nhập vào từ bàn phím số
lượng người bị nhiễm. Tính và đưa ra màn hình sau bao nhiêu ngày thì số lượng người
số lượng người bị nhiễm sẽ vượt quá 1 triệu người.
ĐÁP ÁN

Mã đề 194 415
Câu 1 A A
Câu 2 B C
Câu 3 A B
Câu 4 C B
Câu 5 A D
Câu 6 D D
Câu 7 A A
Câu 8 C B
Câu 9 B C
Câu 10 C D
Câu 11 A D
Câu 12 D B
Câu 13 C A
Câu 14 B C
Câu 15 D D
Câu 16 C A
Câu 17 B C
Câu 18 C B
Câu 19 D C
Câu 20 A C
Câu 21 D A
Câu 22 C D
Câu 23 B B
Câu 24 B B
Câu 25 D A
Câu 26 D A
Câu 27 B D
Câu 28 A C

B. TỰ LUẬN:

ĐỀ NỘI DUNG ĐIỂM


Câu 29: (1 điểm) Cho xâu s được nhập vào từ bàn phím. Em
hãy viết chương trình đếm xem trong xâu s có bao nhiêu kí tự
chữ số
Ví dụ:
INPUT OUTPUT
AAA12aab9BB7Bbaa 5
194 9
s=input()
d=0 0.25
for i in range(0,len(s)): 0.25
if ('0'<=s[i]<='9'): d=d+1 0.25
print(d) 0.25
Câu 30: (1 điểm) Em hãy viết chương trình con kiểm tra xem
Ước chung lớn nhất của 2 số nguyên dương M, N có là số chia
hết cho 3 hay không? Nếu có thì trả về giá trị 1 ngược lại trả về
giá trị 0
Ví dụ:
INPUT OUTPUT
M=12, N=2 0
M=15, N=3 1

def kiemtra(m,n): 0.25


393 import math 0.25
592 if math.gcd(m,n) % 3==0: return 1 0.25
791 if math.gcd(m,n) % 3 !=0: return 0 0.25
Câu 31: (1điểm) Một nông trại nuôi thỏ A, ban đầu từ 1 cặp
thỏ người ta đã nhân giống, số lượng thỏ của tháng sau nhiều
hơn so với thỏ tháng trước là b. Ví dụ số thỏ tháng trước là p
thì tháng sau là p+b. Em hãy dùng ngôn ngữ Python để viết
chương trình tính xem sau bao lâu thì số lượng thỏ sẽ vượt
10000000 con biết p, b là số nguyên dương được nhập vào từ
bàn phím

0.25
0.25
0.25
0.25

212 Câu 29: (1 điểm) Cho xâu s được nhập vào từ bàn phím. Em
415 hãy viết chương trình đếm xem trong xâu s có bao nhiêu kí tự
613 chữ cái
814 Ví dụ:
INPUT OUTPUT
AAA12aab9BB7Bbaa 12
9
s=input() 0.25
d=0 0.25
for i in range(0,len(s)): 0.25
if ('a'<=s[i]<='z') or ('A'<=s[i]<='Z'): d=d+1 0.25
print(d)
Câu 30: (1 điểm) Em hãy viết chương trình con kiểm tra xem
Ước chung lớn nhất của 2 số nguyên dương M, N có là số chia
hết cho 9 hay không? Nếu có thì trả về giá trị 1 ngược lại trả về
giá trị 0
Ví dụ:
INPUT OUTPUT
M=27, N=9 1
M=15, N=2 0

def kiemtra(m,n): 0.25


import math 0.25
if math.gcd(m,n) % 9==0: return 1 0.25
if math.gcd(m,n) % 9 !=0: return 0 0.25

Câu 31: (1 điểm) Virus X có khả năng lây nhiễm mạnh, sau
mỗi ngày số lượng người nhiễm tăng lên gấp ba. Cụ thể nếu
ngày hôm nay có p người nhiễm thì sang ngày tiếp theo sẽ có
3p người bị lây nhiễm. Em hãy viết chương trình nhập vào từ
bàn phím số lượng người bị nhiễm. Tính và đưa ra màn hình
sau bao nhiêu ngày thì số lượng người số lượng người bị
nhiễm sẽ vượt quá 1 triệu người.

0.25
0.25
0.25
0.25

Lưu ý học sinh làm cách khác nếu đúng vẫn cho đủ điểm

You might also like