wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Đề Cương Ôn Thi Giữa Học Kỳ II

Total questions: 60

Worksheet time: 40mins

Name
Class
Date
1.

Trong Python có mấy loại cấu trúc lập trình?

a)

3

b)

4

c)

5

d)

2

2.

Hoạt động nào sau đây lặp với số lần lặp chưa biết trước?

a)

Ngày ăn cơm 3 lần

b)

Chạy quanh trường trong 2 tiếng

c)

Mỗi tuần đi xem phim 1 lần

d)

Ngày đi học 2 buổi

3.

Tính tổng S = 1 + 2 + 3 + 4 +… + n + … cho đến khi S>500. Điều kiện nào sau đây cho vòng lặp while là đúng:

a)

while S >= 500.

b)

while S < 500.

c)

while S <= 500.

d)

While S >500.

4.

Cho biết kết quả của đoạn chương trình dưới đây: x = 100 while x < 200: print(x)

a)

Trên màn hình xuất hiện một số 100.

b)

Trên màn hình xuất hiện 100 chữ x.

c)

Trên màn hình xuất hiện một số 200.

d)

Chương trình bị lặp vô tận.

5.

Chọn phát biểu đúng khi nói về dữ liệu kiểu danh sách trong python.

a)

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.

b)

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.

c)

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)

Dữ liệu kiểu danh sách là tập hợp các kí tự có thứ tự và mỗi một kí tự trong danh sách có thể có các kiểu dữ liệu khác nhau.

6.

Đối tượng dưới đây thuộc kiểu dữ liệu nào? A = [1, 2, '3', "Hà Nội", "mùa thu"]

a)

list.

b)

int.

c)

float.

d)

string.

7.

Cho arr = ['ngày', 'nắng', 1. 4, 'thu', '3', 4.5, 7]. Đâu là giá trị của arr[3]?

a)

1.4.

b)

thu.

c)

ngày.

d)

7.

8.

Lệnh xoá một phần tử của một danh sách A

4 lines
9.

Cho arr = ['ngày', 'nắng', 1. 4, 'thu', '3', 4.5, 7]. Đâu là giá trị của arr[3]?

a)

1.4

b)

thu

c)

ngày

d)

7

10.

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)

A.del(i)

c)

del A[i]

d)

A.del[i]

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

12.

Giả sử A = ['x', 'y', 'z', 10, 5, 3, 4]. Các biểu thức sau trả về giá trị True hay False?

a)

True, True

b)

True, False

c)

False, True

d)

False, False

13.

Ngoài việc kết hợp lệnh for và range để duyệt phần tử trong danh sách, có thể sử dụng câu lệnh nào khác?

a)

int

b)

while

c)

in range

d)

in

14.

Lệnh nào sau đây xoá toàn bộ danh sách?

a)

clear()

b)

exit()

c)

remove()

d)

del()

15.

Có bao nhiêu xâu kí tự nào hợp lệ?

a)

5

b)

6

c)

4

d)

3

16.

Xâu "Thanhxuanrucro2025" có độ dài bằng bao nhiêu?

a)

18

b)

17

c)

16

d)

15

17.

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

a)

Có thể truy cập từng kí tự của xâu thông qua chỉ số.

b)

Chỉ số bắt đầu từ 0.

c)

Có thể thay đổi từng kí tự của một xâu.

d)

Python không có kiểu dữ liệu kí tự

18.

Kết quả của chương trình sau là gì? >>> s = "FSCHOOL" >>> print(s[2])

a)

'C'

b)

'S'

c)

'H'

d)

'O'

19.

Sử dụng lệnh nào để tìm vị trí của một xâu con trong xâu khác không?

a)

test()

b)

in()

c)

find()

d)

split()

20.

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

21.

Lệnh nào sau đây dùng để tách xâu:

a)

split()

b)

join()

c)

remove()

d)

copy()

22.

find("cd", 4)

a)

2, 6

b)

3, 3

c)

2, 2

d)

2, 7

23.

Lệnh nào sau đây dùng để tách xâu:

a)

split()

b)

join()

c)

remove()

d)

copy()

24.

Chọn phát biểu sai trong các phát biểu sau:

a)

Lệnh join() nối các phần tử của một danh sách thành một xâu, ngăn cách bởi dấu cách.

b)

Trong lệnh join, kí tự nối tuỳ thuộc vào câu lệnh.

c)

split() có tác dụng tách xâu.

d)

Kí tự mặc định để phân cách split() là dấu cách.

25.

Kết quả của chương trình sau là: def PhepNhan(Number): return Number * 10; print(PhepNhan(5))

a)

5

b)

10

c)

Chương trình bị lỗi.

d)

50

26.

Chương trình sau bị lỗi ở dòng lệnh thứ bao nhiêu? def add(a, b): x = a + b return(x) add(1, 2) add(5, 6)

a)

2

b)

3

c)

1

d)

Không bị lỗi.

27.

Mệnh đề nào dưới đây mô tả đúng về hàm tự định nghĩa không trả lại giá trị?

a)

Trong mô tả hàm không có từ khóa return.

b)

Trong mô tả hàm chỉ có một từ khóa return.

c)

Trong mô tả hàm phải có tối thiểu hai từ khóa return.

d)

Trong mô tả hàm hoặc không có return hoặc có return nhưng không có giá trị sau từ khóa return.

28.

Trong ngôn ngữ lập trình python, hàm có phải thủ tục hay không? Mệnh đề nào dưới đây mô tả đúng quan hệ giữa hàm và thủ tục?

a)

Hàm và thủ tục là hai khái niệm hoàn toàn khác nhau.

b)

Hàm là thủ tục nhưng thủ tục có thể không phải là hàm.

c)

Trong Python, hàm và thủ tục là hai khái niệm đồng nhất.

d)

Thủ tục là hàm nhưng hàm có thể không là thủ tục.

29.

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ị.

30.

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ố.

31.

Các tham số của f có kiểu dữ liệu gì nếu hàm f được gọi như sau: f( '5.0')

a)

str

b)

float

c)

int

d)

Không xác định

32.

Hoàn thiện (…) trong phát biểu sau: "Trong Python tất cả các biến khai báo bên trong hàm đều có tính …, không có hiệu lực ở bên … hàm".

a)

địa phương, trong

b)

cục bộ, ngoài

c)

địa phương, ngoài

d)

toàn cục, ngoài

33.

Chọn phát biểu sai trong các phát biểu sau:

a)

Chương trình chính có thể sử dụng biến cục bộ bên trong hàm.

b)

Biến bên trong hàm có thể trùng tên với biến đã khai bao trước đó bên ngoài hàm.

c)

Tất cả các biến trong hàm đều có tính cục bộ.

d)

Các biến bên trong hàm không có hiệu lực ở bên ngoài hàm.

34.

Nếu muốn biến bên ngoài vẫn có tác dụng bên trong hàm thì cần khai báo lại biến này bên trong hàm với từ khoá nào

a)

global

b)

def

c)

Không thể thực hiện

d)

all

35.

Kết quả của chương trình sau là bao nhiêu? >>>def f(a,b): return a + b + N >>> N = 5 >>>f(3, 3)

a)

5

b)

6

c)

11

d)

Chương trình bị lỗi

36.

Giá trị của x, y là bao nhiêu khi thực hiện lệnh f(1, 3) x, y = 3, 4 def f(x, y): x = x + y y = y + 2 return x f(1,3) print(x) print(y)

a)

2, 3

b)

4, 5

c)

5, 4

d)

3, 4

37.

Kết quả nào được in ra khi thực hiện các câu lệnh sau: def f(x, y): a = x + y print(a + n) n = 5 f(2, 3)

a)

5

b)

10

c)

2

d)

Chương trình bị lỗi

38.

Chọn phát biểu sai trong các phát biểu sau:

a)

Có thể phân biệt lỗi chương trình Python làm ba loại.

b)

Khi có lỗi sai cú pháp, chương trình lập tức dừng và thông báo lỗi.

c)

Lỗi ngoại lệ là lỗi không thể thực hiện một lệnh trong chương trình.

d)

Cách xử lí các loại lỗi giống n

39.

Chương trình sau thông báo lỗi gì? for i in range(10) print(i)

a)

Type Error.

b)

NameError.

c)

SyntaxError.

d)

ValueError.

40.

Mã lỗi nào được đưa ra khi lệnh thực hiện phép chia cho giá trị 0

a)

ZeroDivisionError.

b)

TypeError.

c)

ValueError.

d)

SyntaxError.

41.

Khi dòng lệnh thụt vào không thẳng hàng chương trình đưa ra mã lỗi ngoại lệ nào?

a)

ZeroDivisionError.

b)

TypeError.

c)

IndentationError.

d)

SyntaxError.

42.

Hoàn thành phát biểu sau: "Có rất nhiều công cụ và phương pháp khác nhau để kiểm thử chương trình. Các công cụ có mục đích … của chương trình và …, … các lỗi phát sinh trong tương lai"

a)

Tìm ra lỗi, phòng ngừa, ngăn chặn.

b)

Tìm ra lỗi, phòng ngừa, xử lí.

c)

Phòng ngừa, ngăn chặn, xử lí lỗi.

d)

Xử lí lỗi, phòng ngừa, ngăn chặn.

43.

Đâu không là công cụ để kiểm thử chương trình?

a)

Công cụ in biến trung gian.

b)

Công cụ sinh các bộ dữ liệu test.

c)

Công cụ thống kê dữ liệu

d)

Công cụ điểm dừng trong phần mềm soạn thảo lập trình.

44.

Chương trình chạy phát sinh lỗi ngoại lệ ZeroDivision, nên xử lí như thế nào?

a)

Kiểm tra lại giá trị số chia.

b)

Kiểm tra lại chỉ số trong mảng.

c)

Kiểm tra giá trị của số bị chia.

d)

Kiểm tra kiểu dữ liệu nhập vào.

45.

Chương trình chạy phát sinh lỗi ngoại lệ IndexError, nên xử lí như thế nào?

a)

Kiểm tra lại giá trị số chia.

b)

Kiểm tra lại chỉ số trong mảng.

c)

Kiểm tra giá trị của số bị chia.

d)

Kiểm tra kiểu dữ liệu nhập vào.

46.

Chương trình chạy phát sinh lỗi ngoại lệ TypeError, nên xử lí như thế nào?

a)

Kiểm tra lại chỉ số trong mảng.

b)

Kiểm tra lại giá trị số chia.

c)

Kiểm tra giá trị của số bị chia.

d)

Kiểm tra kiểu dữ liệu nhập vào.

47.

nên xử lí như thế nào?

a)

Kiểm tra lại chỉ số trong mảng.

b)

Kiểm tra lại giá trị số chia.

c)

Kiểm tra giá trị của số bị chia.

d)

Kiểm tra kiểu dữ liệu nhập vào.

48.

Câu 1. (5.1;B,B,H,H). Cho đoạn chương trình sau: x = 1 while (x <= 10): print("python") x = x + 1 a) Chương trình trên có số vòng lặp biết trước b) x được khởi tạo với giá trị ban đầu bằng 10 c) Điều kiện vòng lặp while dừng là x>10 d) Kết quả của đoạn chương trình trên in ra 10 dòng python

a)

Chương trình trên có số vòng lặp biết trước

b)

x được khởi tạo với giá trị ban đầu bằng 10

c)

Điều kiện vòng lặp while dừng là x>10

d)

Kết quả của đoạn chương trình trên in ra 10 dòng python

49.

Câu 2. (5.1;B,B,H,H). Cho chương trình sau: a = 1 b = 5 while a < b: print(a, end = " ") a = a + 2 a) Chương trình trên có 2 biến là a và b. b) Vòng lặp được thực hiện khi a

a)

Chương trình trên có 2 biến là a và b.

b)

Vòng lặp được thực hiện khi a

c)

Giá trị của biến a tăng lên 1 sau mỗi vòng lặp.

d)

Kết quả của đoạn chương trình trên là: 1 3.

50.

Câu 3. (5.2;B,B,H,H) Cho chương trình sau: >>>A = [1, 5, 9, "lâm nghiệp", 10, 3] >>>A.append(6) >>>A.append(2) >>>A.append("x") >>>del(A[9]) >>>print(len(A)) a) A là xâu kí tự. b) A.append ("x") là thêm phần tử có giá trị "x" vào cuối A c) Lệnh del(A[9]) là xóa phần tử có giá trị 9 khỏi A d) Kết quả của chương trình trên bằng 9.

a)

A là xâu kí tự.

b)

A.append ("x") là thêm phần tử có giá trị "x" vào cuối A

c)

Lệnh del(A[9]) là xóa phần tử có giá trị 9 khỏi A

d)

Kết quả của chương trình trên bằng 9.

51.

Câu 4. (B.5.2;B,B,H,H). Cho chương trình sau: A=[10,20,6,4,3] for i in range(len(A)): print(A[i], end = " ") a) A[3] bằng 6 b) Biến i chạy trên vùng có chỉ số từ 0 đến len(A)-1 c) end = " " giúp in kết quả theo hàng dọc d) Kết quả của chương trình là 10 20 6 4 3

a)

A[3] bằng 6

b)

Biến i chạy trên vùng có chỉ số từ 0 đến len(A)-1

c)

end = " " giúp in kết quả theo hàng dọc

d)

Kết quả của chương trình là 10 20 6 4 3

52.

Câu 5. (5.4;B,B,H,H) Cho chương trình sau: s1 ="23456439" s2 = "" for ch in s1: if int(ch) % 2 != 0: s2 = s2 + ch print(s2) a) s2 có 1 kí tự là dấu cách. b) Chương trình trên sẽ kiểm tra từng kí tự trong xâu s1. c) Xâu s2 sẽ lưu tất cả các kí tự lẻ của xâu s1. d) Kết quả của chương trình là: "2464"

a)

s2 có 1 kí tự là dấu cách.

b)

Chương trình trên sẽ kiểm tra từng kí tự trong xâu s1.

c)

Xâu s2 sẽ lưu tất cả các kí tự lẻ của xâu s1.

d)

Kết quả của chương trình là: "2464"

53.

Câu 6. (5.4;B,B,H,H). Cho đoạn chương trình sau: s1 = "Trường" s2 = "THPT Lâm nghiệp" s = s1+s2 for i in range (len(s)): print(s[i], end = " ") a) Xâu s là kết quả của phép nối xâu s1 và s2. b) Vòng lặp for

a)

Xâu s là kết quả của phép nối xâu s1 và s2.

b)

Vòng lặp for

54.

Cho đoạn chương trình sau: s1 = "Trường" s2 = "THPT Lâm nghiệp" s = s1+s2 for i in range (len(s)): print(s[i], end = " ")

a)

Xâu s là kết quả của phép nối xâu s1 và s2.

b)

Vòng lặp for duyệt qua tất cả ký tự trong xâu s2.

c)

len(s) = 21.

d)

Kết quả của chương trình trên là Trường THPT Lâm nghiệp.

55.

Cho đoạn chương trình sau: def f(x,y): z = x+y return x*y*z f(1,4)

a)

Chương trình trên là hàm.

b)

Hàm trên có 2 tham số là x, y.

c)

Hàm trên có đối số là x, y, 1, 2.

d)

Kết quả của chương trình trên là 20

56.

Cho đoạn chương trình sau: def func(m,n): return 3*m+n m=10 n=1 print(func(n,m))

a)

Tên của hàm trên là func.

b)

Hàm có 2 tham số là m, n.

c)

2 đối số của hàm lần lượt là n, m có giá trị là 1, 10.

d)

Hàm trên là hàm trả về giá trị và kết quả in ra là 13.

57.

Câu lệnh lặp while là lệnh lặp như thế nào? Viết cú pháp câu lệnh lặp while. Lấy 1 ví dụ đơn giản về câu lệnh lặp while.

4 lines
58.

Cho danh sách sau: A = [1, 3, 5, 8, "TUỔI", "HỒNG", "THƠ", 10, 2, "NGÂY"]

a)

Viết lệnh tham chiếu tới phần tử có chỉ số 3 trong danh sách A.

b)

Viết lệnh xóa phần tử có giá trị 5 trong danh sách A.

c)

Viết lệnh chèn phần tử có giá trị 4 vào vị trí có chỉ số 6 trong danh sách A.

d)

Viết lệnh in ra danh sách A và cho biết kết quả sau khi thực hiện các lệnh trên.

59.

Giả sử hàm f có hai tham số x, y khi khai báo, hàm sẽ trả lại giá trị x+2y. Lời gọi hàm f(10,a) có lỗi hay không? Vì sao?

4 lines
60.

Để kiểm thử chương trình, nếu chỉ bằng việc kiểm tra thông qua các bộ dữ liệu test thì có đảm bảo tìm ra hết lỗi của chương trình hay không? Vì sao?

4 lines