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

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

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

PHẦN I: Câu trắc nghiệm nhiều phương án lựa chọn (20 câu)

Thí sinh trả lời từ câu 1 đến câu 24. Mỗi câu hỏi thí sinh chỉ chọn 1 phương án.

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

s=0

for i in range(5): 

s=s+i*i

Sau khi thực hiện, giá trị của s bằng bao nhiêu?

10

30

20

5

Xem đáp án

Đáp án đúng là: B

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

Câu lệnh sau cho kết quả là gì?

for i in range(1,5):

print(i,end='''')

1234

12345

01234

012345

Xem đáp án

Đáp án đúng là: A

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

 Câu lệnh sau cho kết quả là gì?

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

print(i,end='' '')

1 11 21 31 41 51 61 71 81 91

1 11 21 31 41 51 61 71 81 91 101

1112131415161718191

1112131415161718191101

Xem đáp án

Đáp án đúng là: B

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

Xâu “1234TFRESDRG” có độ dài bằng bao nhiêu?

12.

14.

13.

15.

Xem đáp án

Đáp án đúng là: A

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

Kết quả khi thực hiện chương trình sau?

>>> A = [1, 2, 3, 4, 5]

>>> del A[3]

>>> print(A)

[1, 2, 3, 5]

[1, 3, 4, 5]

[1, 2, 5]

[1, 2, 4, 5]

Xem đáp án

Đáp án đúng là: A

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

Mã lỗi nào được đưa ra khi lệnh thực hiện các lệnh sau:

>>> A = [1,2,3,4]

>>>print( A[4])

IndexError

TypeError

ValueError

SyntaxError

Xem đáp án

Đáp án đúng là: A

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

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

Kiểm tra lại chỉ số trong danh sách.

Kiểm tra lại tên các biến và hàm.

Kiểm tra giá trị của số chia có bằng 0 hay không.

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

Xem đáp án

Đáp án đúng là: A

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

Cho danh sách A= [ 2, 4, 6, True]

Câu lệnh nào sau đây thực hiện xoá giá trị True trong dánh sách A

del A[4]

del A[3]

del A[1]

del A[2]

Xem đáp án

Đáp án đúng là: B

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

Đoạn lệnh sau làm nhiệm vụ gì?

A = []

for x in range(10): A.append(float(input()))

Nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là số nguyên.

Nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là số thực.

Nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là xâu.

Không có đáp án đúng.

Xem đáp án

Đáp án đúng là: B

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

Cho A = [‘xuan’, ‘hạ’, 1.4, ‘đông’, ‘3’, 4.5, 7]. Đâu là giá trị của A[2]?

1.4

đông

hạ

3

Xem đáp án

Đáp án đúng là: A

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

Lệnh nào để duyệt tự động từng phần tử của danh sách?

if.

while.

for kết hợp với lệnh range()

while kết hợp với lệnh range()

Xem đáp án

Đáp án đúng là: C

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

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 for và từ khoá nào khác?

int.

while

in range

in

Xem đáp án

Đáp án đúng là: D

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

Giả sử A = [‘a’, ‘b’, ‘c’, ‘d’, 2, 3, 4]. Các biểu thức sau trả về giá trị đúng hay sai? 6 in A

‘a’ in A

True, False

True, False

False, True

False, False

Xem đáp án

Đáp án đúng là: C

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

Lệnh sau, chèn phần tử cần thêm vào vị trí thứ mấy trong danh sách A gồm 10 phần tử?

>>>A. insert(-5, 3)

3.

1

5

6

Xem đáp án

Đáp án đúng là: D

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

Danh sách A trước và sau lệnh insert() là [1, 3, 5, 0] và [1, 3, 4, 5, 0]. Lệnh đã dùng là lệnh gì?

insert(2,4)

insert(4, 2)

insert(3,4)

insert(4,3)

Xem đáp án

Đáp án đúng là: A

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

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

Việc chia sẻ các tài nguyên mạng theo nhu cầu qua Internet miễn phí hoặc trả phí theo hạn mức sử dụng được gọi là dịch vụ gì?

Dịch vụ số.

Dịch vụ điện toán đám mây.

Dịch vụ điện toán số.

Dịch vụ big data.

Xem đáp án

Đáp án đúng là: B

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

Kĩ năng, tố chất nào cần thiết nhất cho người thiết kế đồ họa?

Có hiểu biết sâu về toán học.

Có khả năng sử dụng thành thạo phần mềm đồ họa máy tính và có kiến thức về công nghệ.

Biết chơi nhiều nhạc cụ.

Có khả năng nhìn nhận cái đẹp.

Xem đáp án

Đáp án đúng là: B

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

Đâu không là phần mềm mà người thiết kế đồ hoạ sử dụng để chỉnh sửa ảnh, tạo ra các thiết kế đồ hoạ?

Word.

Inkscape.

Adobe Photoshop.

Paint.

Xem đáp án

Đáp án đúng là: A

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

Hoạt động có tính bao trùm lên toàn bộ các công việc cơ bản của sản xuất phần mềm là gì?

Sản xuất phần mềm.

Quản trị dự án phần mềm.

Quản trị phần mềm.

Dự án phần mềm.

Xem đáp án

Đáp án đúng là: B

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

Phần II. Câu trắc nghiệm đúng sai (2 câu) Trong mỗi ý a, b, c, d ở mỗi câu, thí sinh chọn đúng hoặc sai

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

>>>def Ham(x,y):

 z=15

 x=x*3

      y=x+y

 return x+y+z

    >>>x=5

    >>>y=6

    >>>Ham(x,y)

    51

    >>>z

a

Trong đoạn chương trình

>>>def Ham(x,y):

z=15

x=x*3

y=x+y

return x+y+z

Thì các biến x, y, z là các biến cục bộ của chương trình

ĐúngSai
b

Trong đoạn chương trình

>>>x=5

>>>y=6

Thì x, y là các biến ngoài hàm. Sau khi chạy hàm các biến x, y không thay đổi giá trị.

ĐúngSai
c

Kết quả 51 không phải là kết quả của lệnh return x+y+z

ĐúngSai
d

Khi thực hiện lệnh >>>z cho kết quả là 26

ĐúngSai
Xem đáp án

a) Đ, Các biến x, y, z là các biến cục bộ của chương trình, vì x, y, z được khai báo bên trong thân hàm.

b) Đ, vì x, y được khai báo ngoài hàm.

c) S. Ta có z=15;x=x*3=5*3=15;y=x+y=15+6=21; vì return x+y+z=15+15+21=51.

d) S, khi thực hiện lệnh >>>z  thì máy sẽ báo lỗi vì biến z chỉ có tác dụng bên trong hàm Ham, gọi bên ngoài hàm này sẽ bị báo lỗi.

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

Cho chương trình sau:

# Tìm ước số chung lớn nhất (USCLN)

def  uscln(a, b):

    if (b == 0):

        return a;

    return uscln(b, a % b);

# Tìm bội số chung nhỏ nhất (BSCNN)

def bscnn(a, b):

    return int((a * b) / uscln(a, b));

a

Các tham số của chương trình là a, b

ĐúngSai
b

Nếu ta gọi bscnn(x, y) thì chương trình sẽ trả kết quả là x

ĐúngSai
c

Nếu ta gọi bscnn(9, 6, 3) thì chương trình sẽ trả kết quả là 9

ĐúngSai
d

Trong câu lệnh return int(……………/ uscln(a, b)); thì a, b là đối số

ĐúngSai
Xem đáp án

a) Đ, vì trong hàm uscln(a, b) hay bscnn(a, b) thì các tham số đều là a, b. Nó được khai báo ngay sau tên hàm trong phần khai báo hàm.

b) S, vì chương trình sẽ báo lỗi, do các biến  x, y chưa có giá trị.

c) S, vì lời gọi hàm lỗi do có 3 đối số 9, 6, 3 trong khi khai báo hàm chỉ khai báo 2 tham số a, b.

d) Đ, vì a, b nằm sau tên hàm trong lời gọi hàm.

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

Phần III. Tự luận

Viết chương trình nhập vào một dãy gồm N số nguyên. In ra màn hình các số dương trong dãy đã cho.

Xem đáp án

n = int(input("Nhập số lượng phần tử N: "))

input_str = input("Nhập dãy gồm N số nguyên: ")

A = [int(x) for x in input_str.split()]

print("Các số dương trong dãy là: ")

found = False

for x in A:

  if x > 0:

print(x, end=" ")

         found = True

if not found:

    print("Không có số dương nào trong dãy.")
24. Tự luận
• 1 điểm

Các lệnh sau có sinh ra lỗi chương trình không? Nếu có thì mã lỗi là gì? Hãy nêu cách sửa lỗi đó.

>>>A=[1, 3, 5, 10, 0]

>>>for k in range(1,len(A) + 1):

print(A[k])

Xem đáp án

Có, chương trình này có sinh ra lỗi khi chạy.

Mã lỗi

Khi vòng lặp chạy đến giá trị cuối cùng của range, chương trình sẽ báo lỗi: IndexError: list index out of range.

Nguyên nhân gây ra lỗi

- Dãy A có 5 phần tử, nên len(A) = 5.

- Hàm range(1, len(A) + 1) sẽ tạo ra các giá trị cho k từ 1 đến 5 (bao gồm: 1, 2, 3, 4, 5)

- Trong Python, chỉ số (index) của danh sách (list) bắt đầu từ 0 đến len(A) - 1 (tức là từ 0 đến 4)

- Khi k = 5, câu lệnh print(A[k]) trở thành print(A[5]), lúc này chỉ số 5 nằm ngoài phạm vi cho phép của danh sách A.

Cách sửa lỗi: bạn có thể sửa lại hàm range() theo các cách sau: Nếu muốn in các phần tử từ vị trí chỉ số 1 đến hết danh sách (bỏ qua phần tử đầu tiên A[0])

Sửa range(1, len(A) + 1) thành range(1, len(A)) để k chỉ chạy từ 1 đến 4.