Tin học 10: Đề cương kiểm tra học kỳ I năm học 2025-2026

Web Publisher User

ĐỀ CƯƠNG ÔN TẬP KIỂM TRA CUỐI KÌ I NĂM HỌC 2025 – 2026

Phần I: trắc nghiệm nhiều lựa chọn

BÀI 16: NGÔN NGỮ LẬP TRÌNH BẬC CAO VÀ PYTHON

Câu 1: Chế độ nào trong Python thích hợp để viết các chương trình dài, nhiều dòng và cần lưu lại để sử dụng nhiều lần?

A. Chế độ thực thi ngay lập tức.

B. Chế độ soạn thảo (File/New File).

C. Chế độ gõ lệnh trực tiếp.

D. Chế độ Shell.

Câu 2: Điền từ còn thiếu vào chỗ trống “Ngôn ngữ lập trình bậc cao có các câu lệnh được viết gần với (1)……… giúp cho việc đọc, hiểu chương trình (2)……… hơn”:

A. (1) ngôn ngữ tự nhiên; (2) dễ dàng.

B. (1) ngôn ngữ tự nhiên; (2) chuyên nghiệp.

C. (1) ngôn ngữ máy; (2) của máy dễ dàng.

D. (1) ngôn ngữ máy; (2) chuyên nghiệp.

Câu 3: Một ô tô đi từ A đến B với vận tốc \( v (km/h) \), để tính và in ra màn hình ‘Thời gian ô tô đó đi hết quãng đường \( k (km) \)’. (Giả sử giá trị v, k được nhập từ bàn phím). Sử dụng ngôn ngữ lập trình Python, ta viết câu lệnh nào sau đây?

A. print k/v.

B. print (“k/v”).

C. print (‘k/v’).

D. print (k/v).

Câu 4: Tính kết quả của biểu thức sau trong Python: >>> \( 13 + 10 * 3 / 2 - 3 * 2 \)

A. 37.0

B. 22.0

C. 37

D. 25.0

Câu 5: Ngôn ngữ nào sau đây không phải ngôn ngữ bậc cao?

A. Assembly.

B. C/C++.

C. Java.

D. Python.

Câu 6: Python không dùng để làm việc gì sau đây?

A. Xử lí ảnh, phân tích dữ liệu.

B. Phát triển các ứng dụng web, phần mềm ứng dụng.

C. Lập trình game, điều khiển robot.

D. Thao tác trực tiếp với phần cứng.

BÀI 17: BIẾN VÀ LỆNH GÁN

Câu 7: Trong Python, kí hiệu nào được sử dụng làm lệnh gán giá trị cho biến?

A. ==

B. ->

C. :=

D. =

Câu 8: Trường hợp nào sau đây không phải lệnh gán trong python?

A. \( cd = 50 \)

B. \( a + b = 100 \)

C. \( a = a * 2 \)

D. \( a = 10 \)

Câu 9: Quy tắc nào sau đây không phải quy tắc đặt tên biến trong Python?

A. Không trùng với từ khóa.

B. Bắt đầu bằng chữ cái hoặc dấu “_”.

C. Không bắt đầu bằng chữ in hoa.

D. Chỉ chứa chữ cái, chữ số và dấu “_”.

Câu 10: Trong các tên sau, tên nào là biến hợp lệ nhưng không phải từ khóa trong Python?

A. for

B. while

C. if

D. tong_so

Câu 11: Cho \( x = 2 \). Lệnh nào sau đây thay đổi giá trị của x thành 8?

A. \( x + 6 \)

B. print(\( x + 6 \))

C. \( x = x + 6 \)

D. print(‘\( x + 6 \)’)

Câu 12: Cho đoạn lệnh sau: \( a = 5 \); \( b = a * 2 \); \( a = b + 3 \). Giá trị cuối cùng của a là bao nhiêu?

A. 10

B. 13

C. 5

D. 15

BÀI 18: CÁC LỆNH VÀO RA ĐƠN GIẢN

Câu 13: Nếu thực hiện lệnh >>> print(type(int("123"))), kết quả trả về là gì?

A. 123

B. '123'

C.

D.

Câu 14: Viết lệnh để nhập vào một số nguyên n từ bàn phím?

A. n = input()

B. n = int(input())

C. n = float(input())

D. n = str(input())

Câu 15: Cho đoạn lệnh:
>> str(3+4//3)
Kết quả in ra là kết quả nào sau đây?

A. “3+4//3”.

B. “4”.

C. 4.

D. ‘4’.

Câu 16: Câu lệnh nào sau đây không báo lỗi?

A. float(4)

B. int(“1+3”)

C. int(“3.0”)

D. float(“1+2+3”)

Câu 17: Phát biểu nào sau đây là sai?

A. Lệnh input() có chức năng nhập dữ liệu từ thiết bị nhập chuẩn.

B. Lệnh print() dùng để nhập dữ liệu từ bàn phím vào chương trình.

C. Dữ liệu nhập vào bằng lệnh input() có thể được in ra màn hình bằng lệnh print().

D. Kết quả của lệnh input() là một xâu kí tự.

BÀI 19: CÂU LỆNH RẼ NHÁNH IF

Câu 18: Cho \( x = 5, y = 15 \). Tính giá trị của biểu thức: \( (x > 5 \text{ or } x < 10) \text{ and } y == 15 \)

A. False

B. True

C. 0

D. Lỗi

Câu 19: Trong các phát biểu sau, phát biểu nào đúng khi sử dụng câu lệnh rẽ nhánh dạng đủ trong Python?

A. Nếu a chia hết cho 2 thì a là số chẵn, ngược lại a là số lẻ.

B. Số a chia hết cho 2 thì a là số chẵn.

C. a là số chẵn khi a chia hết cho 2.

D. Điều kiện cần để a là số chẵn là a chia hết cho 2.

Câu 20: Cho đoạn chương trình:
\( x = 5 \)
\( y = 6 \)
if \( x > y \):
    print('Max:', x)
else:
    print('Max:', y)
Chương trình trả về kết quả nào sau đây?

A. Max:5.

B. Max:6.

C. Max: 5.

D. Max: 6.

Câu 21: Năm nhuận là năm chia hết cho 400 hoặc n chia hết cho 4 đồng thời không chia hết cho 100. Biểu thức biểu diễn kiểm tra năm nhuận là biểu thức nào sau đây?

A. \( n \% 400 == 0 \) or (\( n \% 4 == 0 \) and \( n \% 100 != 0 \))

B. \( n \% 4 == 0 \) or (\( n \% 400 == 0 \) and \( n \% 100 != 0 \))

C. \( n \% 400 == 0 \) and (\( n \% 4 == 0 \) or \( n \% 100 != 0 \))

D. \( n \% 4 == 0 \) and \( n \% 100 != 0 \)

BÀI 20: CÂU LỆNH LẶP FOR

Câu 22: Trong lệnh for i in range(10), biến lặp i sẽ nhận các giá trị bắt đầu từ bao nhiêu (mặc định)?

A. 1

B. 0

C. 10

D. 9

Câu 23: Trong lệnh for i in range(3, 10), giá trị cuối cùng mà biến i nhận được trước khi vòng lặp kết thúc là bao nhiêu?

A. 3

B. 9

C. 8

D. 10

Câu 24: Cho đoạn code:
\( C = 1 \)
for i in range(1, 4):
    \( C = C * i \)
Giá trị cuối cùng của C là bao nhiêu?

A. 1

B. 3

C. 6

D. 24

Câu 25: Biến chạy trong vòng lặp for i in range() tăng lên mấy đơn vị sau mỗi lần lặp?

A. 1.

B. 2.

C. 0.

D. -1.

Câu 26: Đoạn chương trình sau giải bài toán nào sau đây?
\( 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.

BÀI 21: CÂU LỆNH LẶP WHILE

Câu 27: Phương án nào dưới đây là kết quả của chương trình?
\( x = 8 \)
\( y = 2 \)
while \( y < x \):
    \( x = x - 2 \)
    print(x, end = " ")

A. 8 6 4 2

B. 8 6 4

C. 8 6 4 2 0

D. 6 4 2

Câu 28: Phương án nào sau đây liệt kê đúng về các cấu trúc lập trình cơ bản?

A. Cấu trúc rẽ nhánh, cấu trúc lặp while, cấu trúc lặp for

B. Cấu trúc if, cấu trúc if-else

C. Cấu trúc lặp while, cấu trúc lặp for

D. Cấu trúc tuần tự, cấu trúc lặp, cấu trúc rẽ nhánh

Câu 29: Lệnh nào được sử dụng để tạo vòng lặp khi không biết trước số lần lặp?

A. for

B. while

C. if

D. range

Câu 30: Hãy nhận biết cú pháp đúng của lệnh while trong Python.

A. while (điều kiện) {khối lệnh}

B. while <điều kiện>:
    

C. loop <điều kiện>:

D. while do <điều kiện>

Câu 31: Nếu điều kiện của vòng lặp while luôn đúng (ví dụ: while 1 > 0:), điều gì sẽ xảy ra?

A. Vòng lặp chỉ chạy 1 lần.

B. Chương trình tự động dừng.

C. Vòng lặp vô hạn.

D. Python tự động sửa điều kiện thành False.

Câu 32: Cho đoạn mã:
\( i = 10 \)
while \( i > 0 \):
    \( i = i - 3 \)
    print(i)
Giá trị cuối cùng của i là bao nhiêu?

A. 1

B. 0

C. -2

D. 4

Câu 33: Cho đoạn mã:
\( i = 1 \)
while True:
    if \( i > 5 \):
        break
    print(i, end=" ")
    \( i = i + 2 \)
Kết quả hiển thị trên màn hình là gì?

A. 1 3 5

B. 1 3

C. 1 2 3 4 5

D. Báo lỗi

Câu 34: Trong câu lệnh while khối lệnh sẽ thực hiện khi nào?

A. Điều kiện sai.

B. Điều kiện đúng.

C. Khi tìm được output.

D. Khi đủ số vòng lặp.

Câu 35: 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 tuỳ 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 tuỳ 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.

BÀI 22: KIỂU DỮ LIỆU DANH SÁCH (LIST)

BÀI 23: MỘT SỐ LỆNH LÀM VIỆC VỚI DANH SÁCH

Câu 36: Chỉ số (index) của phần tử đầu tiên trong danh sách Python là bao nhiêu?

A. 1

B. 0

C. -1

D. 2

Câu 37: Cho danh sách \( A = [1, 9, 15, 6] \). Lệnh nào sau đây sẽ truy cập vào giá trị 15?

A. A[1]

B. A[2]

C. A[3]

D. A[15]

Câu 38: Để xác định số lượng phần tử trong một danh sách A, ta sử dụng lệnh nào?

A. size(A)

B. len(A)

C. count(A)

D. sizeof(A)

Câu 39: Cho \( A = [5, 10, 15] \). Lệnh nào sẽ thay đổi giá trị của phần tử 15 thành 100?

A. \( A[1] = 100 \)

B. A.update(100)

C. A.insert(1, 100)

D. \( A[2] = 100 \)

Câu 40: Điểm nào sau đây là đúng về List trong Python?

A. List chỉ có thể chứa các phần tử cùng một kiểu dữ liệu.

B. List là kiểu dữ liệu bất biến, không thể thay đổi các phần tử bên trong.

C. List có thể chứa các phần tử thuộc các kiểu dữ liệu khác nhau (số, chuỗi, logic).

D. Các phần tử trong List không được sắp xếp theo thứ tự.

Câu 41: Cho \( A = [1, 2, 5] \). Sau khi thực hiện lệnh del A[0], danh sách A còn lại những phần tử nào?

A. [1, 2]

B. [2, 5]

C. [1, 5]

D. [1, 2, 5]

Câu 42: Cho \( A = [1, 2, 3] \). Vận dụng vòng lặp for, đoạn code nào tính tổng các phần tử trong danh sách A?

A.
\( S = 0 \)
for i in range(len(A)):
    \( S = S + i \)

B.
\( S = 0 \)
while \( i < len(A) \):
    \( S = S + A[i] \)

C.
\( S = 0 \)
for i in A:
    \( S = S + i \)

D. \( S = A.sum() \)

(Lưu ý: Hình ảnh trong đề bài tương ứng với các lựa chọn trên, chọn đáp án đúng nhất về mặt ngữ nghĩa tính tổng giá trị phần tử)

Câu 43: Toán tử nào được sử dụng để kiểm tra sự tồn tại của một phần tử trong danh sách?

A. exist

B. in

C. find

D. ==

Câu 44: Cho \( A = [1, 2, 3] \). Lệnh nào sau đây sẽ thêm giá trị 10 vào cuối danh sách A?

A. A.insert(10)

B. \( A = A + 10 \)

C. A.append(10)

D. \( A[len(A)] = 10 \)

Câu 45: Lệnh nào dùng để xóa phần tử đầu tiên có giá trị bằng x trong danh sách?

A. del x

B. A.remove(x)

C. del A[x]

D. A.clear(x)

Câu 46: Nếu \( A = [1, 2, 3, 2] \), kết quả của A.remove(2) là gì?

A. [1, 3, 2] (Xóa số 2 đầu tiên)

B. [1, 2, 3] (Xóa số 2 cuối cùng)

C. [1, 3] (Xóa hết số 2)

D. Lỗi.

Câu 47: Đoạn chương trình trên thực hiện nhiệm vụ 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ử là số thực.

Câu 48: 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 sau đây?

A. < tên danh sách > = [< danh sách phần tử phân cách bởi dấu phẩy >].

B. < tên danh sách > = [].

C. [< danh sách phần tử, phân cách bởi dấu phẩy >].

D. < tên danh sách > = [0].

Câu 49: Chương trình sau thực hiện công việc gì?
\( A = [5, 4, -3, 6, 4, -6] \)
\( S = 0 \)
for i in range(len(A)):
    if \( A[i] > 0 \):
        \( S = S + A[i] \)
print(S)

A. Duyệt từng phần tử trong A.

B. Tính tổng các phần tử trong A.

C. Tính tổng các phần tử không âm trong A.

D. Tính tổng các phần tử dương trong A.

Câu 50: Cho dãy số A, em hãy hoàn thiện chương trình để tìm giá trị của phần tử lớn nhất của A.
\( A = [5, 4, -3, 6, 4, -6] \)
\( max = ...(1)... \)
for i in range(len(A)):
    if(......(2).......):
        \( max = A[i] \)
print("Giá trị lớn nhất của dãy A: ", max)

A. (1) 0 và (2) A[i] > max

C. (1) A[0] và (2) A[i] > max

B. (1) A[0] và (2) A[i] < max

D. (1) 0 và (2) A[i] != max

Phần II: trắc nghiệm đúng sai

Câu 51: Theo em, các nhận định dưới đây trong Python đúng hay sai?

a) Ngôn ngữ lập trình Python cho phép thực hiện ngay lập tức từng câu lệnh đơn giản trong môi trường tương tác (IDLE Shell - chế độ gõ lệnh trực tiếp >>>).

b) Trong Python, phép toán lũy thừa có độ ưu tiên cao và thực hiện từ phải sang trái. Ví dụ biểu thức \( 4**2**3 = 65536 \).

c) Để nhập một số thực từ bàn phím và gán cho biến x, ta sử dụng lệnh \( x = \text{float}(\text{input}(\text{"Nhập số: "})) \).

d) Trong quy tắc đặt tên biến của Python, False là một tên biến hợp lệ vì nó bắt đầu bằng chữ cái in hoa.

Câu 52: Cho đoạn code sau:
\( n = 20 \)
\( C = 0 \)
for k in range(1, n):
    if \( k \% 3 == 0 \):
        \( C = C + 1 \)
print(C)
Theo em những nhận định sau đây đúng hay sai?

a) Lệnh range(1, n) tạo ra vùng giá trị từ 0 đến n-1.

b) Câu lệnh \( C = C + 1 \) được thực hiện với mọi giá trị của k trong phạm vi từ 1 đến n-1.

c) Khi \( k = 3 \) thì \( C = 1 \)

d) Chương trình trên thực hiện tính tổng số lượng các số là bội của 3.

Câu 53: Cho đoạn code như trên:
\( S = 0 \)
\( i = 1 \)
while \( i < 5 \):
    \( S = S + i \)
    \( i = i + 1 \)
for k in range(S):
    if \( k > 2 \):
        break
    print(k, end=' ')
Theo em những nhận định sau đây đúng hay sai?

a) Sau khi kết thúc vòng lặp while, giá trị của biến S bằng 10.

b) Nếu thay điều kiện \( i < 5 \) bằng \( i <= 4 \) trong vòng lặp while, giá trị cuối cùng của S sẽ thay đổi.

c) Vòng lặp for sẽ in ra màn hình dãy số: 0 1 2 3.

d) Lệnh break trong đoạn mã trên có tác dụng ngắt vòng lặp for ngay khi biến k có giá trị lớn hơn 2.


Photo by Cup of  Couple: Hình minh họa


Câu 54: Cho đoạn code sau:
\( A = [4, 6, 1, 5, 8] \)
\( B = [] \)
\( tong\_chan = 0 \)
for x in A:
    if \( x \% 2 == 0 \):
        \( tong\_chan = tong\_chan + x \)
        B.append(x)
print(tong_chan)
print(B)
Theo em những nhận định sau đây đúng hay sai?

a) Trong quá trình thực hiện vòng lặp for x in A: biến x lần lượt nhận các giá trị 4, 6, 1, 5, 8.

b) Lệnh append cho phép thêm 1 phần tử vào cuối danh sách.

c) Giá trị cuối cùng của biến tong_chan sau khi kết thúc vòng lặp for là 21.

d) Danh sách B sau khi in ra màn hình là [4, 6, 8]

Phần III: tự luận

Câu 55: Nhập vào số nguyên dương N, đếm và in ra số ước của N.

Câu 56: Cho dãy số A. Viết chương trình tìm 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.

Câu 57: Viết chương trình nhập n từ bàn phím, tạo và in ra màn hình dãy số A bao gồm n số tự nhiên chẵn đầu tiên.

Câu 58: Viết chương trình đếm trong dãy 100 số tự nhiên đầu tiên có bao nhiêu số thỏa mãn điều kiện: hoặc chia hết cho 5 hoặc chia cho 3 dư 1.

Post a Comment

Chúng tôi rất vui khi bạn muốn đóng góp ý kiến. Để đảm bảo môi trường trao đổi lành mạnh, vui lòng tuân thủ các quy định sau:

1. Sử dụng tiếng Việt có dấu đầy đủ, tránh viết tắt.
2. Bình luận sẽ được kiểm duyệt trước khi công khai.
3. Tôn trọng người khác và đóng góp ý kiến xây dựng.
4. Tuân thủ chính sách của Google và TTKT.

Cảm ơn bạn đã đồng hành cùng chúng tôi!

CẢNH BÁO

Gần đây, chúng tôi phát hiện nội dung bị chụp màn hình và chia sẻ trái phép. TTKT khuyến cáo bạn không nên chụp màn hình mà hãy chia sẻ link đến bài viết để tôn trọng tác giả và tránh bị vô hiệu hóa tài khoản.

Yêu cầu Đăng nhập

Để tiếp tục sử dụng, vui lòng đăng nhập.