Đề thi giữa kì 2 Tin học 10 Kết nối tri thức có đáp án - Đề 2
Đề thi

Đề thi giữa kì 2 Tin học 10 Kết nối tri thức có đáp án - Đề 2

A
Admin
Tin họcLớp 1037 lượt thi
25 câu hỏi
1. Trắc nghiệm
• 1 điểm

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?

10.

12.

15.

14.

Xem đáp án

Đáp án đúng là A

2. Trắc nghiệm
• 1 điểm

Cho đoạn lệnh sau:

for i in range(1,10,2):

print(i)

Trên màn hình i có các giá trị là

1,3,5,7,9.

1,2,3,4,5,6,7,8,9,10.

1,3,5,7,9,10.

1,3,5,7,10.

Xem đáp án

Đáp án đúng là A

3. Trắc nghiệm
• 1 điểm

Số công việc cần phải lặp với số lần xác định?

1) Đếm số học sinh của lớp.

2) Đếm số chia hết cho 5 trong đoạn từ 10 tới 100.

3) Đọc tên lần lượt từng học sinh của một lớp có 30 em.

4) Chạy 5 vòng sân bóng.

5) Tính tổng các số có 2 chữ số.

3.

4.

5.

2.

Xem đáp án

Đáp án đúng là B

4. Trắc nghiệm
• 1 điểm

Cho biết kết quả khi chạy đoạn chương trình sau:

s = 0

for i in range(3):

s = s+2*i

print(s)

12.

10.

8.

6.

Xem đáp án

Đáp án đúng là D

5. Trắc nghiệm
• 1 điểm

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?

1.

2.

0.

Tất cả đều sai.

Xem đáp án

Đáp án đúng là A

6. Trắc nghiệm
• 1 điểm

Để khai báo một danh sách rỗng ta dùng cú pháp sau

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

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

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

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

Xem đáp án

Đáp án đúng là C

7. Trắc nghiệm
• 1 điểm

Phương thức nào sau đây dùng để thêm phần tử vào list trong python?

abs().

link().

append().

add().

Xem đáp án

Đáp án đúng là C

8. Trắc nghiệm
• 1 điểm

Để xóa 2 phần tử ở vị trí 1 và 2 trong danh sách a hiện tại ta dùng lệnh nào?

del a[1:2].

del a[0:2].

del a[0:3].

del a[1:3].

Xem đáp án

Đáp án đúng là D

9. Trắc nghiệm
• 1 điểm

Chương trình sau thực hiện công việc gì?

A=[]

for i in range(1, 1001):

if(i % 7 == 0) and (i % 5 !=0):

A.append(str(i))

print(','.join(A))

Tìm tất cả các số chia hết cho 7 nhưng không phải bội số của 5, nằm trong đoạn 1 và 1000.

Tìm tất cả các số chia hết cho 7 nhưng không phải bội số của 5, nằm trong đoạn 1 và 1000 và chuỗi thu được in trên một dòng, có dấu “,” ngăn cách giữa các số.

Tìm tất cả các số chia hết cho 7 và là bội số của 5, nằm trong đoạn 1 và 1000.

Tìm tất cả các số không chia hết cho 7 nhưng là phải bội số của 5, nằm trong đoạn 1 và 1000.

Xem đáp án

Đáp án đúng là B

10. Trắc nghiệm
• 1 điểm

Đâu là kiểu dữ liệu danh sách?

list.

bool.

str.

int.

Xem đáp án

Đáp án đúng là A

11. Trắc nghiệm
• 1 điểm

Sau khi thực hiện lệnh sau, biến s sẽ có kết quả là

s1 ="3986443"

s2 = ""

for ch in s1:

if int(ch) % 2 == 0:

s2 = s2 + ch

print(s2)

3986443.

8644.

39864.

443.

Xem đáp án

Đáp án đúng là B

12. Trắc nghiệm
• 1 điểm

Trong Python, câu lệnh nào dùng để tính độ dài của xâu s?

len(s).

length(s).

s.len().

s. length().

Xem đáp án

Đáp án đúng là A

13. Trắc nghiệm
• 1 điểm

Chương trình sau bị lỗi ở dòng thứ bao nhiêu ?

def tinh(a, b):

if(b != 0):

return a // b

s = tinh(1, m)

print(s)

2.

3.

4.

5.

Xem đáp án

Đáp án đúng là C

14. Trắc nghiệm
• 1 điểm

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’)

str.

float.

int.

Không xác định.

Xem đáp án

Đáp án đúng là A

15. Trắc nghiệm
• 1 điểm

Đoạn chương trình sau sẽ in ra số nào?

>>> def f(x,y):

z = x + y

return x*y*z

>>> f(1,4)

10.

18.

20.

30

Xem đáp án

Đáp án đúng là C

16. Trắc nghiệm
• 1 điểm

Đâu là ưu điểm của chương trình con?

Cấu trúc rõ ràng.

Dễ hiểu hơn.

Cả A, B đều đúng.

Cả A, B đều sai.

Xem đáp án

Đáp án đúng là C

17. Trắc nghiệm
• 1 điểm

Giá trị của m là bao nhiêu sau biết kết quả là 5:

def tinhSum(a, b):

return a + b

s = tinhSum(1, m)

print(s)

1.

4.

2.

3.

Xem đáp án

Đáp án đúng là B

18. Trắc nghiệm
• 1 điểm

Các khối lệnh trong cấu trúc tuần tự sẽ được thực hiện như thế nào?

Khối các câu lệnh chỉ được thực hiện tuy thuộc vào đỉều kiện nào đó là đúng hay sai.

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.

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.

Khối gồm các lệnh được thực hiện theo trình tự từ trên xuống dưới.

Xem đáp án

Đáp án đúng là D

19. Trắc nghiệm
• 1 điểm

Cho đoạn chương trình python sau:

Tong = 0

while Tong < 10:

Tong = Tong + 1

Sau khi đoạn chương trình trên được thực hiện, giá trị của tổng bằng bao nhiêu:

9.

10.

11.

12.

Xem đáp án

Đáp án đúng là B

20. Trắc nghiệm
• 1 điểm

Kết quả của chương trình sau là gì?

x = 8

y = 9

if x > y:

          print('x lớn hơn y')

elif x==y:

          print('x bằng y')

else:

          print('x nhỏ hơn y')

x lớn hơn y.

x bằng y.

x nhỏ hơn y.

y nhỏ hơn x

Xem đáp án

Đáp án đúng là C

21. Đúng sai
• 1 điểm

Dựa vào đoạn mã dưới đây, hãy xác định xem các phát biểu sau là đúng hay sai:

Dựa vào đoạn mã dưới đây, hãy xác định xem các phát biểu sau là đúng hay sai:  a) Vòng lặp for trong đoạn mã sẽ chạy đúng bằng số phần tử trong danh sách A. b) Điều kiện A[i] > 0 trong đoạ (ảnh 1)

a

Vòng lặp for trong đoạn mã sẽ chạy đúng bằng số phần tử trong danh sách A.

ĐúngSai
b

Điều kiện A[i] > 0 trong đoạn mã trên chỉ cho phép cộng những số dương vào biến S.

ĐúngSai
c

Giá trị của biến S sau khi thực hiện đoạn mã trên sẽ là tổng của tất cả các phần tử trong A.

ĐúngSai
d

Nếu danh sách A chứa ít nhất một giá trị dương, thì giá trị của S sẽ không bằng 0 sau khi đoạn mã được thực hiện.

ĐúngSai
Xem đáp án

a). Đ. Vì range(len(A)) tạo ra một dãy số có độ dài bằng với số phần tử trong danh sách A, vì vậy vòng lặp sẽ chạy đúng số lần tương đương với số phần tử trong A.

b). Đ. Điều kiện A[i] > 0 đảm bảo chỉ những số dương mới được cộng vào biến S, các giá trị âm và bằng 0 sẽ bị bỏ qua.

c). S. Biến S chỉ là tổng của các phần tử dương trong danh sách A, không phải là tổng của tất cả các phần tử.

d). Đ. Nếu có ít nhất một giá trị dương trong A, thì giá trị đó sẽ được cộng vào S, làm cho S không bằng 0.

22. Đúng sai
• 1 điểm

Cho xâu ký tự G = "Programming". Hãy xác định các câu sau đúng hay sai:

a

Ký tự đầu tiên trong xâu G là 'P', và có thể truy cập bằng G[0].

ĐúngSai
b

Lệnh G[5] = 'a' sẽ thay đổi ký tự thứ 5 trong xâu thành 'a'.

ĐúngSai
c

Xâu G có thể được coi như một danh sách các ký tự nhưng không thể thay đổi các ký tự đó.

ĐúngSai
d

Độ dài của xâu G là 11, có thể tính bằng lệnh len(G).

ĐúngSai
Xem đáp án

a). Đ. Vì chỉ số 0 truy cập ký tự đầu tiên trong xâu, nên G[0] sẽ trả về 'P'.

b). S. Vì xâu trong Python là bất biến, không thể thay đổi ký tự trong xâu bằng cách này.

c). Đ. Vì mặc dù có thể truy cập các ký tự trong xâu như danh sách, nhưng không thể thay đổi chúng.

d). Đ. Vì lệnh len(G) trả về số lượng ký tự trong xâu, và xâu "Programming" có 11 ký tự.

23. Đúng sai
• 1 điểm

Dựa vào kiến thức về biểu thức logic và các phép toán logic trong Python, hãy xác định các ý sau đây là đúng hay sai:

a

Biểu thức 10 > 5 and 8 < 12 sẽ cho kết quả là True.

ĐúngSai
b

Biểu thức 15 == 15 or 3 > 7 sẽ cho kết quả là False.

ĐúngSai
c

Biểu thức not (20 <= 10) sẽ cho kết quả là True.

ĐúngSai
d

Biểu thức 5 != 5 and 7 == 7 sẽ cho kết quả là True.

ĐúngSai
Xem đáp án

a) Đ (True and True trả về True)

b) S (True or False trả về True)

c) Đ (not (true) False

d) S (False and True False)

24. Tự luận
• 1 điểm

Em hãy nêu cú pháp về câu lệnh lặp với số lần chưa biết trước? Lấy ví dụ minh hoạ.

Xem đáp án

Cú pháp

while <điều kiện>:

    <khối lệnh lặp>

Ví dụ

mat_khau = ""

while mat_khau != "1234":

    mat_khau = input("Nhập mật khẩu: ")

 

print("Đăng nhập thành công!")
25. Tự luận
• 1 điểm

Cho chương trình sau:

n = 20

C = 0

for k in range(n):

if k%3 = 0: # Điều kiện k là bội của 3 là k%3 = 0

C = C + 1

print(C)

Em hãy xác định các lỗi của chương trình và sửa lại cho đúng để được chương trình đếm số lượng số chia hết cho 3 trong khoảng từ 1 đến n.

Xem đáp án

- Lỗi so sánh (k%3 = 0): Trong lập trình, dấu = là phép gán. Để so sánh bằng, ta phải dùng dấu ==.

- Lỗi thụt lề (Indentation): Các lệnh bên trong vòng lặp for và câu lệnh if phải được thụt lề vào trong.

- Lỗi logic phạm vi (range(n)): Đề bài yêu cầu tính trong khoảng từ 1 đến $n$. Hàm range(20) chỉ chạy từ 0 đến 19. Để bao gồm cả số 20, ta cần dùng range(1, n + 1).