1. NỘI DUNG:
Bài 16. Ngôn ngữ lập trình bậc cao và Python.
Bài 17. Biến và lệnh gán.
Bài 18. Các câu lệnh vào ra đơn giản.
Bài 19. Câu lệnh rẽ nhánh if.
Bài 20. Câu lệnh lặp for.
Bài 21. Câu lệnh lặp while.
Bài 22. Kiểu dữ liệu danh sách.
Bài 23. Một số lệnh làm việc với kiểu dữ liệu danh sách.
2. HÌNH THỨC:
PHẦN I. Câu trắc nghiệm nhiều phương án lựa chọn. Thí sinh trả lời từ câu 1 đến câu 24. Mỗi câu hỏi thí sinh chỉ chọn một phương án.
PHẦN II. Câu trắc nghiệm đúng sai. Thí sinh trả lời từ câu 1 đến câu 4. Trong mỗi ý a), b), c), d) ở mỗi câu, thí sinh chọn đúng hoặc sai.
3. MỘT SỐ CÂU HỎI TRẮC NGHIỆM (THAM KHẢO)
Bài 16. Ngôn ngữ lập
trình bậc cao và Python
Câu 1: Ai đã phát triển Ngôn ngữ lập trình Python?
A. Wick van Rossum
B. Rasmus Lerdorf
*C. Guido van Rossum
D. Niene Stom
Câu 2: Ngôn ngữ Python được ra mắt lần đầu vào năm
nào?
A. 1995
B. 1972
C. 1981
*D. 1991
Câu 3: Ngôn ngữ nào sau đây không phải ngôn ngữ bậc
cao?
A. C/C++
*B. Assembly
C. Python
D. Java
Câu 4: Phần mở rộng nào sau đây là đúng của tệp
Python?
A. .python
B. .pl
*C. .py
D. .p
Câu 5: Trong môi trường lập trình Python, để mở ra
màn hình soạn thảo chương trình, ta chọn:
A. File/Save
*B. File/New File
C. File/New
D. File/Open
Câu 6: Phát biểu nào sau đây là sai?
*A. Khi nhập giá trị số hoặc xâu kí tự từ dòng lệnh, Python không nhận biết kiểu
dữ liệu.
B. Lệnh print() có chức năng in dữ liệu ra màn hình, có thể in ra một hoặc nhiều
giá trị đồng thời.
C. Khi nhập giá trị số hoặc xâu kí tự từ dòng lệnh, Python tự nhận biết kiểu dữ
liệu.
D. Python có thể thực hiện các phép toán thông thường với số, phân biệt số thực
và số nguyên.
Câu 7: Môi trường lập trình Python có hai chế độ là:
*A. Chế độ gõ lệnh trực tiếp và chế độ soạn thảo.
B. Chế độ gõ lệnh trực tiếp và chế độ con trỏ.
C. Chế độ con trỏ và chế độ dấu nhắc.
D. Chế độ soạn thảo và chế độ con trỏ.
Bài 17. Biến và lệnh
gán
Câu 1: Cú pháp của lệnh gán nào sau đây là đúng?
A. <biến> : <giá trị>
B. <biến> := <giá trị>
C. <giá trị> = <biến>
*D. <biến> = <giá trị>
Câu 2: Tên biến nào sau đây hợp lệ?
A. True
B. global
C. return
*D. if
Câu 3: Phát biểu nào sau đây là đúng nhất?
A. Tên biến trong Python chỉ gồm chữ cái tiếng Anh, các chữ số từ 0 đến 9 và kí
tự gạch dưới.
B. Tên biến trong Python không bắt đầu bằng chữ số và có phân biệt chữ hoa và
chữ thường.
C. Tên biến trong Python chỉ gồm chữ cái tiếng Anh.
*D. Tên biến trong Python chỉ gồm chữ cái tiếng Anh, các chữ số từ 0 đến 9 và
kí tự gạch dưới, không bắt đầu bằng chữ số và có phân biệt chữ hoa và chữ thường.
Câu 4: Sau các lệnh dưới đây, các biến x, y nhận giá
trị bao nhiêu?
>>> x = 10
>>> y = x**2 – 1
>>> x = x//2 + y%2
A. x = 54, y= 99
*B. x = 6, y= 99
C. x = 10, y= 19
D. x = 6, y= 6
Câu 5: Câu lệnh sau cho kết quả là dãy số nào?
>>> "10"+"0"*5
A. '1000001'
B. '100000'
C. '100100100100100'
*D. ‘1000000'
Câu 6: Trong Python, 3 mũ 4 được viết là:
*A. 3**4
B. 3//4
C. 33+3*3
D. 3%4
Câu 7: Để tính diện tích đường tròn bán kính R, với
pi = 3.14, biểu thức nào sau đây trong Python là đúng?
A. S:=2(R)pi
B. S:=RRpi
*C. S=RRpi
D. S:=R^2*pi
Bài 18. Các lệnh
vào ra đơn giản
Câu 1: Lệnh nào trong các lệnh sau đây sẽ báo lỗi?
A. str(12345)
B. float(“12345.5")
C. float(123.56)
*D. int(“12+45”)
Câu 2: Phát biểu nào sau đây là sai?
A. Lệnh int() có chức năng chuyển đổi số thực hoặc xâu chứa số nguyên thành số
nguyên.
B. Các lệnh int(), float() không thực hiện xâu là biểu thức toán.
*C. Lệnh int() có chức năng chuyển đổi số thực hoặc xâu chứa số thực thành số
nguyên.
D. Lệnh float() dùng để chuyển đổi số nguyên và xâu kí tự thành số thực.
Câu 3: Phát biểu nào sau đây là đúng nhất?
A. Lệnh input() có chức năng đưa dữ liệu ra từ thiết bị ra chuẩn, thường là màn
hình.
*B. Lệnh input() có chức năng nhập dữ liệu từ thiết bị vào chuẩn, thường là bàn
phím.
C. Lệnh input() có chức năng đưa dữ liệu ra từ thiết bị ra chuẩn.
D. Lệnh input() có chức năng nhập dữ liệu từ thiết bị vào chuẩn.
Câu 4: Để nhập số tự nhiên n là số nguyên, lệnh nào
sau đây là đúng?
A. n = float(input(“Nhập số tự nhiên n: "))
*C. n = int(input(“Nhập số tự nhiên n: "))
B. n = input(“Nhập số tự nhiên n: ")
D. n = str(input(“Nhập số tự nhiên n: "))
Câu 5: Các lệnh vào ra đơn giản của Python bao gồm:
A. Python không có lệnh vào ra
*B. Lệnh input và lệnh print
C. Lệnh input và lệnh output
D. Lệnh print và lệnh output
Câu 6: Một số kiểu dữ liệu cơ bản của Python bao gồm:
A. int (số nguyên), float (số thực), str (lôgic), bool (xâu kí tự)
B. int (số thực), float (số nguyên), str (xâu kí tự), bool (lôgic)
*C. int (số nguyên), float (số thực), str (xâu kí tự), bool (lôgic)
D. int (số nguyên), float (số thực), str (xâu kí tự), boole (lôgic)
Câu 7: Lệnh nào sau đây dùng để nhận biết kiểu dữ liệu
của biến trong Python?
*A. Lệnh type
B. Lệnh input
C. Trong Python không có lệnh dùng để nhận biết kiểu dữ liệu
D. Lệnh print
Bài 19. Câu lệnh rẽ
nhánh if
Câu 1: Tìm giá trị m và n thoả mãn (m+4) % 5 = 0 và
n*2//3=5:
*A. m = 1, n = 8
B. m = 2, n = 9
C. m = 3, n = 10,
D. m = 0, n = 7
Câu 2: Biểu thức lôgic đúng thể hiện số a nằm trong
[3,8] là:
A. a < 3 and a >= 8
*B. 3 <= a <=8
C. a >=3 and a <= 8
D. a<3 or a>8
Câu 3: Xét chương trình sau:
soky=int(input("Nhập số lượng mua: "))
if soky < 5:
thanhtien=soky*12000
else:
thanhtien=soky*10000
print("Số tiền phải trả là: ",thanhtien, "đồng")
Khi chạy chương trình,
nếu nhập soky = 4 thì kết quả hiển thị là:
A. 40000 đồng
B. 48000 đồng
C. Số tiền phải trả là: 40000 đồng
*D. Số tiền phải trả là: 48000 đồng
Câu 4: Trong Python, cú pháp của câu lệnh rẽ nhánh dạng
thiếu là?
A. if <điều kiện>;
<khối lệnh>
B. if <điều kiện>,
<khối lệnh>
C. if <điều kiện>
<khối lệnh>
*D. if <điều kiện>:
<khối lệnh>
Câu 5: Trong Python, cú pháp của câu lệnh rẽ nhánh dạng
đủ là?
A. if
<điều kiện>
<khối lệnh 1>
else:
<khối lệnh 2>
*B. if
<điều kiện>:
<khối lệnh 1>
else:
<khối lệnh 2>
C. if
<điều kiện>;
<khối lệnh 1>
else:
<khối lệnh 2>
D. if
<điều kiện>
<khối lệnh 1>
else
<khối lệnh 2>
Câu 6: Phát biểu nào sau đây là đúng?
A. Trong Python, biểu thức lôgic là biểu thức chỉ nhận một giá trị True (đúng).
B. Trong Python, biểu thức lôgic là biểu thức chỉ nhận một giá trị False (sai).
C. Trong Python, biểu thức lôgic là biểu thức nhận hai giá trị True (đúng) và
False (sai).
*D. Trong Python, biểu thức lôgic là biểu thức chỉ nhận giá trị True (đúng) hoặc
False (sai).
Câu 7: Cho x = True, y = False. Cho biết giá trị của
biểu thức sau: not((x or y ) and x )
A. True
*B. False
C. x
D. 1
Bài 20. Câu lệnh lặp
for
Câu 1: Phát biểu nào sau đây là đúng?
A. Lệnh range(start,stop) trả lại vùng giá trị gồm các số nguyên liên tiếp từ
start đến stop + 1.
B. Lệnh range(start,stop) trả lại vùng giá trị gồm các số nguyên liên tiếp từ
start đến stop.
C. Lệnh range(start,stop) trả lại vùng giá trị gồm các số nguyên liên tiếp từ
start + 1 đến stop.
*D. Lệnh range(start,stop) trả lại vùng giá trị gồm các số nguyên liên tiếp từ
start đến stop – 1.
Câu 2: Cho biết kết quả sau khi thực hiện đoạn chương
trình sau?
Đếm các số nguyên nhỏ hơn n (n=10) và là
bội của 3
n=10
c=0
for k in range(n):
if k % 3 == 0:
c = c + 1
print(c)
*A. 4
B. 3
C. 5
D. 6
Câu 3: Lệnh range(n) trả lại vùng giá trị gồm n số từ:
*A. 0 đến n – 1
B. 1 đến n
C. 0 đến n+1
D. 0 đến n
Câu 4: Đoạn chương trình sau cho kết quả là dãy số
nào?
for k in range(3,10):
print(k,end=" ")
A. 4 5 6 7 8 9 10
B. 3 4 5 6 7 8 9 10
*C. 3 4 5 6 7 8 9
D. 4 5 6 7 8 9
Câu 5: Xét đoạn chương trình dưới đây:
n=int(input("Nhập số nguyên n: "))
s=0
for k in range(1,n+1):
s=s+k
print(s)
Khi chạy chương trình,
nếu nhập n=4 thì kết quả là:
A. 9
*B. 10
C. 8
D. 7
Câu 6: Cho đoạn chương trình sau:
for j in range(10):
j=j+2
print(j)
Khi kết thúc câu lệnh
trên, câu lệnh print(j) được thực hiện bao nhiêu lần?
*A. 10 lần
B. 1 lần
C. 5 lần
D. Không thực hiện
Câu 7: Biến chạy trong vòng lặp for i in range(n):
tăng lên mấy đơn vị sau mỗi lần lặp?
*A. 1
B. 2
C. 0
D. 3
Bài 21. Câu lệnh lặp
while
Câu 1: Chọn phương án đúng nhất:
A. Lệnh lặp while thực hiện khối lệnh với số lần không biết trước.
B. Lệnh lặp while thực hiện khối lệnh với số lần biết trước.
C. Lệnh lặp while thực hiện khối lệnh với số lần không biết trước. Khối lệnh lặp
được thực hiện cho đến khi <điều kiện> = True.
*D. Lệnh lặp while thực hiện khối lệnh với số lần không biết trước. Khối lệnh lặp
được thực hiện cho đến khi <điều kiện> = False.
Câu 2: Cấu trúc câu lệnh while?
*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>
<khối lệnh>.
Câu 3: Trong các phát biểu sau, phát biểu nào chưa
chính xác?
A. while là lệnh lặp với số lần không biết trước.
B. for là lệnh lặp với số lần xác định trước.
*C. while là lệnh lặp với số lần xác định trước.
D. Khối lệnh lặp while được thực hiện cho đến khi <điều kiện> = False.
Câu 4: Lệnh while sẽ dừng khi nào?
A. Khi điều kiện đúng
*B. Khi điều kiện sai
C. Khi gặp từ khóa continue
D. Khi không có vòng lặp nào
Câu 5: Cho đoạn chương trình sau:
tong=0
while tong<10:
tong=tong+1
print(tong)
Sau khi đoạn chương
trình trên được thực hiện thì kết quả của biến tong là:
A. 9
*B. 10
C. 11
D. 12
Câu 6: Các khối lệnh trong cấu trúc tuần tự sẽ được
thực hiện như thế nào?
A. Khối các câu lệnh chỉ được thực hiện tùy thuộc vào điều kiện nào đó là đúng
hay sai.
B. Khối lệnh này tương ứng với cấu trúc rẽ nhánh và được thể hiện bằng câu lệnh
điều kiện if.
C. Khối các câu lệnh được thực hiện lặp đi lặp lại tùy theo điều kiện nào đó vẫn
còn đúng hay sai.
*D. Khối gồm các lệnh được thực hiện theo trình tự từ trên xuống dưới.
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
*C. while S <= 10000
B. while S < 10000
D. while S >10000
Bài 22. Kiểu dữ liệu
danh sách - Bài 23. Một số lệnh làm việc với kiểu dữ liệu danh sách
Câu 1: Trong Python, để khởi tạo một danh sách, ta viết
lệnh?
*A. M=[ 1, 3, 5, 7, 9]
B. M=[1; 3; 5; 7; 9]
C. M=[ 1. 3. 5. 7. 9]
D. M=[1: 3: 5: 7: 9]
Câu 2: Cho danh sách A = [4, 5, 6, 7]. Hãy cho biết
giá trị của phần tử A[3]?
A. 4
B. 5
C. 6
*D. 7
Câu 3: Phương thức append() dùng để làm gì?
A. Xóa phần tử cho danh sách.
B. Thêm phần tử vào đầu danh sách.
*D. Thêm phần tử vào cuối danh sách.
C. Chèn phần tử vào giữa danh sách.
Câu 4: Lệnh tính độ dài danh sách là lệnh nào dưới
đây?
A. length()
*B. len()
C. clear()
D. insert()
Câu 5: Cho biết kết quả của đoạn lệnh sau?
A=[1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in range (1, 5):
print(A[i], end= "
")
A. 1 2 3 4 5
B. 2 3 4 5 6
*C. 2 3 4 5
D. 3 4 5 6
Câu 6: Trong Python, để kiểm tra một phần tử có nằm
trong danh sách đã cho hay không, ta sử dụng toán tử gì?
A. for
B. append
C. range
*D. in
Câu 7: Lệnh A.insert(k, x) có ý nghĩa là gì?
*A. Chèn giá trị x vào dãy A có chỉ số k.
B. Chèn giá trị k vào dãy A có chỉ số x.
C. Chèn 2 giá trị k, x vào đầu dãy A.
D. Chèn 2 giá trị k, x vào cuối dãy A.
Câu 8: Phát biểu nào sau đây là sai?
A. Lệnh clear() dùng để xoá toàn bộ danh sách
B. Lệnh remove(value) sẽ xoá phần tử đầu tiên của danh sách có giá trị value
*C. Lệnh insert có chức năng chèn phần tử vào danh sách không cần chỉ số cho
trước
D. Lệnh append() bổ sung phần tử vào cuối danh sách
Câu 9: 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. A = [2, 3, 4, 5, 6,
4]
B. A = [2, 3, 4, 5, 6]
C. A = [2, 4, 5, 6]
*D. A = [2, 3, 6, 4]
Câu 10: Đoạn lệnh sau thực hiện việc gì?
A = []
for x in range(10):
A.append(int(input()))
*A. Nhập dữ liệu từ
bàn phím cho mảng A có 10 phần tử là số nguyên.
B. Nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là số thực.
C. Nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là xâu.
D. Nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử.
Câu 11: Lệnh nào để duyệt từng phần tử của danh sách?
A. for
B. while – for
*C. for kết hợp với lệnh range()
D. while kết hợp với lệnh range()
Câu 12: Lệnh xoá một phần tử của một danh sách A có chỉ
số i là:
A. list.del(i)
B. del(i)
*C. del A[i]
D. A.del[i]
Câu 13: Hoàn thiện chương trình tính tích các phần tử
dương trong danh sách A:
A=[-3,4,-1,2,-6]
T = (...)
for i in range(len(A)):
(...)
T = T * A[i]
print(T)
*A. 1, if A[i] > 0:
B. 0, if A[i] > 0:
C. 1, if A[i] >= 0.
D. 0, if A[i] > 0.
Câu 14: Cho đoạn chương trình:
A=[2,4,6]
for i in A:
print(2*i)
Trên màn hình sẽ có
các giá trị:
A. 2 4 6
B. 4 6 8
C. 4 6 12
*D. 4 8 12