Đề thi Giữa kì 2 Tin học 10 Cánh diều có đáp án (4 đề)


Haylamdo biên soạn và sưu tầm lời giải bộ 4 Đề thi Giữa kì 2 Tin học lớp 10 Cánh diều năm học 2023 có đáp án, chọn lọc được sưu tầm từ đề thi Tin học 10 của các trường THPT trên cả nước.

Đề thi Giữa kì 2 Tin 10 Cánh diều có đáp án (4 đề)

Phòng Giáo dục và Đào tạo ...

Đề thi Giữa kì 2 - Cánh diều

Năm học 2023

Môn: Tin học lớp 10

Thời gian làm bài: 45 phút

(không kể thời gian phát đề)

(Đề số 1)

I. PHẦN TRẮC NGHIỆM (7,0 điểm)

Câu 1. Trong quá trình thực hiện thuật toán, khi nào cần dùng cấu trúc rẽ nhánh?

A. Khi phải dựa trên một điều kiện cụ thể nào đó để xác định bước thực hiện tiếp theo.

B. Khi có các phép tính toán.

C. Khi lặp đi lặp lại một công việc nào đó.

D. Khi sử dụng các hàm toán học.

Câu 2. Chọn phát biểu không đúng?

A. x and y cho kết quả là True khi và chỉ khi x và y đều nhận giá giá trị True.

B. x or y cho kết quả False khi và chỉ khi x hoặc y nhận giá trị False.

C. not x cho kết quả đảo lại giá trị logic của x.

D. Kết nối các biểu thức logic với nhau bằng các phép toán logic sẽ được một biểu thức logic.

Câu 3. Cho A = 5, B = 10, điều kiện nào nhận giá trị False?

A. (3*A>B) or (2*A == B)

B. not(A*A + B*B <= 100)

C. (A < B) and (A + 5 != B)

D. (2*A == B) and (3*A < 2*B)

Câu 4. Kí hiệu so sánh “khác” trong Python là:

A. !=

B. #

C. ≠

D. =!

Câu 5. Python cung cấp mấy câu lệnh rẽ nhánh?

A. 4

B. 3

C. 2

D. 1

Câu 6. Trong câu lệnh rẽ nhánh, sau <điều kiện> là kí hiệu gì?

A. dấu hai chấm “:”

B. dấu chấm “.”

C. dấu chấm phẩy “;”

D. dấu phẩy “,”

Câu 7. Cho cấu trúc câu lệnh rẽ nhánh if – else như sau:

Đề thi Giữa kì 2 Tin học 10 Cánh diều có đáp án (4 đề)

Chọn khẳng định đúng?

A. Nếu điều kiện “Đúng” thì thực hiện “Câu lệnh hay nhóm câu lệnh 2”.

B. Nếu điều kiện “Sai” thì thực hiện “Câu lệnh hay nhóm câu lệnh 1”.

C. Câu lệnh hoặc các câu lệnh trong cùng nhóm phải được viết lùi vào trong một số vị trí so với dùng chứa điều kiện và viết thẳng hàng với nhau.

D. Lệnh else phải lùi vào trong so với if.

Câu 8. Hàm range(101, 1, -1) sẽ tạo ra:

A. một dãy số từ 101 về 1

B. một dãy số từ 100 về -1

C. một dãy số từ 100 về 2

D. một dãy số từ 101 về 2

Câu 9. Cú pháp đầy đủ của hàm range() là:

A. range(end, step)

B. range(start, end, step)

C. range(start, step)

D. range(1, end, step)

Câu 10. Vòng lặp với số lần không biết trước kết thúc khi:

A. <Điều kiện> sai.

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

C. <Điều kiện> lớn hơn 0.

D. <Điều kiện> bằng 0.

Câu 11. Kết quả của đoạn chương trình sau:

s = 0

for i in range(1, 10):

s = s + i

print(s)

A. 55

B. 45

C. 11

D. 10

Câu 12. Cho đoạn chương trình sau:

i=0

while i<=5:

s=s+i

i=i+1

Trong đoạn chương trình trên vòng lặp được thực hiện bao nhiêu lần?

A. 1

B. 2

C. 6

D. 5

Câu 13. Hoạt động nào là chưa biết trước số lần lặp trong các hoạt động sau:

A. Tính tổng các số tự nhiên từ 1 đến 100.

B. Mỗi ngày tập thể dục 2 lần.

C. Làm 1000 bưu thiếp.

D. Lấy ca múc nước đổ vào thùng cho đến khi đầy thùng nước.

Câu 14. Đoạn chương trình sau thực hiện công việc gì?

t=0

for i in range(1,m):

if (i %3 ==0) and (i %5 ==0):

t= t + i

A. Tính tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến m -1

B. Tính tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến m - 1

C. Tính tổng các số chia hết cho 3 trong phạm vi từ 1 đến m - 1

D. Tính tổng các số chia hết cho 5 trong phạm vi từ 1 đến m - 1

Câu 15. Chọn phát biểu không đúng?

A. Sử dụng chương trình con sẽ làm chương trình dễ hiểu, dễ tìm lỗi hơn.

B. Theo sau tên hàm có thể có hoặc không có các tham số.

C. Python chỉ cho phép chương trình gọi một hàm xây dựng sẵn trong các thư viện của Python.

D. Chương trình con là một đoạn câu lệnh thực hiện một việc nào đó được đặt tên.

Câu 16. Từ khóa dùng để khai báo hàm trong Python là?

A. function

B. procedure

C. return

D. def

Câu 17. Vị trí không thể viết hàm trong chương trình là:

A. Viết ở cuối chương trình.                  

B. Viết trong chương trình chính, trước khi có lời gọi tới nó.

C. Viết ở bên trong một chương trình khác.

D. Viết ở đầu chương trình.

Câu 18. Chọn phát biểu không đúng?

A. Phần thân hàm (gồm các lệnh mô tả hàm) phải viết lùi vào theo quy định của Python.

B. Theo sau tên hàm có thể có hoặc không có các tham số.

C. Không thể gọi một chương trình con trong Python là một hàm.

D. Để sử dụng hàm cần khai báo hàm và viết lời gọi thực hiện.

Câu 19. Output của chương trình dưới đây là gì?

def sayHello():

print(‘Hello World!’)

sayHello()
sayHello()

A. ‘Hello World!’ ‘Hello World!’

B. Hello World!

Hello World!

C. Hello Hello

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

Câu 20. Hàm nào có sẵn trong thư viện math?

A. print()

B. input()

C. list()

D. sqrt()

Câu 21. Trong Python, một hàm có thể trả về một giá trị qua tên của nó nêu như có lệnh nào trước khi ra khỏi hàm?

A. return <Giá trị>

B. return <Giá trị>:

C. elif:

D. elif <Giá trị>

Câu 22. Python cung cấp hàm nào để đếm số kí tự trong một xâu kể cả kí tự dấu cách?

A. type()

B. len()

C. list()

D. bool()

Câu 23. Các kí tự trong xâu được đánh từ bắt đầu từ:

A. 0

B. 1

C. 2

D. 3

Câu 24. Hàm y.cout(x) cho biết:

A. Vị trí xuất hiện đầu tiên của x trong y.

B. Vị trí xuất hiện cuối cùng của x trong y.

C. Cho biết số kí tự của xâu x+y

D. Đếm số lần xuất hiện không giao nhau của x trong y.

Câu 25. Hàm y.find(x) cho biết điều gì?

A. Trả về vị trí xuất hiện cuối cùng của xâu x trong xâu y.

B. Trả về số nguyên xác định vị trí đầu tiên trong xâu y mà từ đó xâu x xuất hiện như một xâu con của xâu y.

C. Trả về số nguyên xác định vị trí đầu tiên trong xâu x mà từ đó xâu y xuất hiện như một xâu con của xâu x.

D. Trả về vị trí xuất hiện cuối cùng của xâu y trong xâu x.

Câu 26. Cho xâu s1=’ha noi’, xâu s2=’ha noi cua toi’. Khẳng định nào sau đây là đúng?

A. Xâu s2 lớn hơn xâu s1.

B. Xâu s1 bằng xâu s2.

C. Xâu s2 nhỏ hơn xâu s1.

D. Xâu s2 lớn hơn hoặc bằng xâu s1.

Câu 27. Cho đoạn chương trình sau:

s=’abcde’

print(s[1:4])

Trên màn hình máy tính sẽ xuất hiện xâu:

A. abc

B. bcde

C. bcd

D. abcd

Câu 28. Cho đoạn chương trình sau:

y=’abcae’

x1=’a’

x2=’d’

print(y.replace(x1,x2))

Trên màn hình máy tính sẽ xuất hiện xâu:

A. bce

B. adbcade

C. dbcde

D. dbcae

II. PHẦN TỰ LUẬN (3 điểm)

Câu 1. (1 điểm) Sử dụng câu lệnh if để viết chương trình cho nhập vào một số thực x từ bàn phím và đưa ra giá trị tuyệt đối của x (|x|).

Câu 2. (1 điểm) Cho xâu s = 'Vietnamese', y = 'e'. Em hãy viết câu lệnh thực hiện các công việc sau:

a) Đưa ra kí tự thứ ba của xâu s.

b) Đưa ra độ dài của xâu s.

c) Xác định vị trí đầu tiên trong xâu s mà từ đó xâu y xuất hiện như một xâu con của s.

d) Xác định xâu con của xâu s từ vị trí 4 đến trước vị trí 7.

Câu 3. (1 điểm) Xây dựng hàm sum_ digits tính tổng các chữ số của số nguyên dương n. Viết chương trình nhập số nguyên không âm n từ bản phím, sử dụng hàm đã xây dựng đưa ra màn hình tổng các chữ số của n.

Gợi ý:

Hàm được xây dựng dựa trên cơ sở hai phép xử lí:

- Trích chữ số hàng đơn vị của n: n % 10.

- Xoá chữ số hàng đơn vị của n: n // 10.

Việc xử lí kết thúc khi có n bằng 0

Ma trận đề thi giữa học kì II môn Tin học lớp 10, năm học 2023, bộ sách Cánh Diều

Chủ đề

Nội dung kiến thức/kĩ năng

Mức độ nhận thức

Tổng số câu

Tổng% điểm

Nhận biết

Thông hiểu

Vận dụng

Vận dụng cao

TN

TL

TN

TL

TN

TL

TN

TL

TN

TL

 

Chủ đề F. Giải quyết vấn đề với sự trợ giúp của máy tính

1. Câu lệnh rẽ nhánh

4

 

3

 

 

1

 

 

7

1

27,5 %

(2,75 đ)

2. Câu lệnh lặp

4

 

3

 

 

 

 

 

7

 

17,5 %

(1,75 đ)

3. Chương trình con và thư viện các chương trình con có sẵn

4

 

3

 

 

 

 

1

7

1

27,5 %

(2,75 đ)

4. Kiểu dữ liệu xâu kí tự - Xử lí xâu kí tự

4

 

3

 

 

1

 

 

7

1

27,5 %

(2,75 đ)

Tổng

16

0

12

0

0

2

0

1

28

3

100%

(10,0 điểm)

Tỉ lệ %

40%

30%

20%

10%

70%

30%

Tỉ lệ chung

70%

30%

100%

Phòng Giáo dục và Đào tạo ...

Đề thi Giữa kì 2 - Cánh diều

Năm học 2023

Môn: Tin học lớp 10

Thời gian làm bài: 45 phút

(không kể thời gian phát đề)

(Đề số 2)

I. PHẦN TRẮC NGHIỆM (7,0 điểm)

Câu 1. Câu lệnh rẽ nhánh if-else trong chương trình Python có dạng:

A. if <điều kiện>:

<câu lệnh hay nhóm câu lệnh>

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

<câu lệnh hay nhóm câu lệnh 1>

    else

<câu lệnh hay nhóm câu lệnh 2>

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

<câu lệnh hay nhóm câu lệnh 1>

    else:

<câu lệnh hay nhóm câu lệnh 2>

D. if <điều kiện>

<câu lệnh hay nhóm câu lệnh 1>

    else:

<câu lệnh hay nhóm câu lệnh 2>

Câu 2. Trong Python, với cấu trúc if – else thì <câu lệnh hay nhóm câu lệnh 1> được thực hiện khi:

A. Điều kiện sai.

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

C. Điều kiện bằng 0.

D. Điều kiện khác 0.

Câu 3. Trong Python, đối với cấu trúc if hoặc if-else thì câu lệnh hoặc nhóm câu lệnh phải được viết như thế nào?

A.Viết thẳng hàng so với điều kiện.

B. Lùi vào trong một số vị trí so với dòng chứa điều kiện và không cần viết thẳng hàng với nhau.

C. Chỉ lùi vào trong một số vị trí so với dòng chứa điều kiện khi có nhóm lệnh.

D. Lùi vào trong một số vị trí so với dòng chứa điều kiện và viết thẳng hàng với nhau.

Câu 4. <Điều kiện> trong câu lệnh rẽ nhánh là:

A. Biểu thức tính toán.

B. Biểu thức logic.

C. Biểu thức quan hệ.

D. Các hàm toán học.

Câu 5. Cho biểu thức logic x and y. Biểu thức nhận giá trị True khi nào?

A. Cả x và y đều nhận giá trị True.

B. x nhận giá trị True, y nhận giá trị False.

C. x nhận giá trị False, y nhận giá trị True.

D. Cả x và y đều nhận giá trị False.

Câu 6. Cho x = 5, y = 10. Hãy cho biết biểu thức logic nào nhận giá trị True?

A. 4*x=2*y

B. (x%5==0) and (y%2==0)

C. (x>2*y) or (x+y >20)

D. x+10 >= y+7

Câu 7. Em hãy cho biết kết quả của chương trình sau:

>>>a=5

>>>b=10

>>>if a < b:

print(‘True’)

A. 5

B. 10

C. True

D. Flase

Câu 8. Hàm range(101) sẽ tạo ra:

A. một dãy số từ 0 đến 100

B. một dãy số từ 1 đến 101

C. 101 số ngẫu nhiên

D. một dãy số ngẫu nhiên 101

Câu 9. Kết quả của đoạn chương trình sau:

for i in range(3, 10):

print(i)

A. in ra màn hình các số từ 3 đến 10

B. in ra màn hình các số từ 1 đến 10

C. in ra màn hình các số từ 0 đến 10

D. in ra màn hình các số từ 3 đến 9

Câu 10. Hoạt động nào là chưa biết trước số lần lặp trong các hoạt động sau:

A. Tính tổng các số tự nhiên từ 1 đến 100.

B. Mỗi ngày tập thể dục 2 lần.

C. Làm 1000 bưu thiếp.

D. Lấy ca múc nước đổ vào thùng cho đến khi đầy thùng nước.

Câu 11. Trong vòng lặp While, câu lệnh được thực hiện khi?

A. Điều kiện sai     

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

C. Điều kiện không xác định

D. Không cần điều kiện

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

for i in range(6):

print(i,end='' '')

A. 1 2 3 4 5

B. 0123456

C. 0 1 2 3 4 5

D. 12345

Câu 13. Chọn phát biểu sai?

A. Trong các ngôn ngữ lập trình bậc cao đều có câu lệnh thể hiện cấu trúc lặp.

B. Có thể sử dụng câu lệnh “while” để thể hiện cấu trúc lặp với số lần lặp biết trước.

C. Câu lệnh “for” dùng để thể hiện cấu trúc lặp với số lần lặp chưa biết trước.

D. Trong Python chỉ có câu lệnh “while” để thể hiện cấu trúc lặp.

Câu 14. Chọn cụm từ còn thiếu trong câu sau:

“Câu lệnh thể hiện lặp với số lần không biết trước phải sử dụng một … làm điều kiện lặp.”

A. biểu thức logic

B. biểu thức toán học

C. phép so sánh toán học

D. lệnh

Câu 15. “Các lệnh mô tả hàm” phải viết:

A. Thẳng hàng với lệnh def.

B. Lùi vào theo quy định của Python.

C. Ngay sau dấu hai chấm (:) và không xuống dòng.

D. Viết thành khối và không được lùi vào.

Câu 16. Thư viện math cung cấp:

A. Thủ tục vào ra của chương trình.

B. Hỗ trợ việc tạo ra các lựa chọn ngẫu nhiên

C. Các hằng và hàm toán học.

D. Hỗ trợ trực tiếp các định dạng nén và lưu trữ dữ liệu.

Câu 17. Hàm trong Python được khai báo theo mẫu:

A. def tên_hàm(tham số):

Các lệnh mô tả hàm

B. def tên_hàm(tham số)

Các lệnh mô tả hàm

C. def tên_hàm()

Các lệnh mô tả hàm

D. def (tham số):

Các lệnh mô tả hàm

Câu 18. Khi sử dụng hàm sqrt() ta cần khai báo thư viện:

A. ramdom

B. math

C. zlib

D. datetime

Câu 19. Cho các câu sau, số câu đúng là:

1) Sử dụng chương trình con sẽ làm chương trình dễ hiểu, dễ tìm lỗi hơn.

2) Hàm chỉ được gọi một lần duy nhất ở chương trình chính.

3) Hàm luôn trả một giá trị qua tên của hàm.

4) Python chỉ cho phép chương trình gọi một hàm xây dựng sẵn trong các thư viện của Python.

5) Khai báo hàm trong Python luôn có danh sách tham số.

A. 1.

B. 2

C. 3.

D. 4.

Câu 20. Trong Python, lời gọi hàm thực hiện phải đặt ở vị trí nào?

A. Sau khi đã khai báo hàm

B. Trước khi khai báo hàm

C. Trong thân hàm

D. Không cần gọi hàm

Câu 21. Hàm gcd(x,y) trả về:

A. Ước chung lớn nhất của x và y.

B. Căn bậc hai của x và y.

C. Bội chung nhỏ nhất của x và y.

D. Trị tuyệt đối của x và y.

Câu 22. Xâu kí tự trong Python là:

A. Một kí tự           

B. Một dãy các số

C. Một dãy các kí tự

D. Một giá trị bất kì.

Câu 23. Độ dài của xâu được tính thông qua lệnh:

A. len()

B. range()

C. append()

D. replace()

Câu 24. Cho chương trình sau:

y = “Trúc xin trúc mọc sân đình”

x1 = “sân đình”

x2 = “bờ ao”

print(y.replace(x1,x2))

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

A. Trúc xinh trúc mọc sân đình

B. Trúc xinh trúc mọc sân đình bờ ao

C. Trúc xinh trúc mọc bờ ao

D. Trúc xinh trúc mọc bờ ao sân đình

Câu 25. Để cho ra kết quả là vị trí xuất hiện đầu tiên của một xâu hoặc ký tự có trong xâu, ta sử dụng hàm nào sau đây?

A. <tên biến xâu>.lower(<xâu hoặc ký tự cần tìm>)

B. <tên biến xâu>.find(<xâu hoặc ký tự cần tìm>)

C. <tên biến xâu>.len(<xâu hoặc ký tự cần tìm>)

D. <tên biến xâu>.upper(<xâu hoặc ký tự cần tìm>)

Câu 26. Cho biết chương trình sau thực hiện công việc gì?

Đề thi Giữa kì 2 Tin học 10 Cánh diều có đáp án (4 đề)

A. Thay thế xâu “anh” bằng xâu “em”

B. Thay thế xâu “em” bằng xâu “anh”

C. Tìm vị trí xâu “anh”

D. Tìm vị trí xâu “em”

Câu 27. Cho đoạn chương trình sau:

s1=’a’

s2=’b’

print(s1+s2)

Kết quả trên màn hình là:

A. a

B. b

C. ab

D. ba

Câu 28. Hàm y.find(x) cho biết điều gì?

A. Trả về vị trí xuất hiện cuối cùng của xâu x trong xâu y.

B. Trả về số nguyên xác định vị trí đầu tiên trong xâu y mà từ đó xâu x xuất hiện như một xâu con của xâu y.

C. Trả về số nguyên xác định vị trí đầu tiên trong xâu x mà từ đó xâu y xuất hiện như một xâu con của xâu x.

D. Trả về vị trí xuất hiện cuối cùng của xâu y trong xâu x.

II. PHẦN TỰ LUẬN (3 điểm)

Câu 1. (1 điểm) Chương trình sau đây cho nhập vào ba số nguyên a, b, c sau đó đưa ra số nghiệm phân biệt của phương trình: (x - a)(xb)(x - c) = 0 (với a, b, c là hằng số). Tuy nhiên, chương trình vẫn có lỗi, em hãy tìm và sửa lỗi đó.

Đề thi Giữa kì 2 Tin học 10 Cánh diều có đáp án (4 đề)

Câu 2. (1 điểm) Cho xâu s = 'AA11aa22BB33bb44CC55cc', y = 'AA'. Em hãy viết câu lệnh thực hiện các công việc sau:

a) Đưa ra kí tự thứ ba của xâu s.

b) Đưa ra độ dài của xâu s.

c) Tạo xâu z bằng cách ghép xâu s và xâu y.

d) Xác định xâu con của xâu s từ vị trí 5 đến trước vị trí 10.

Câu 3. (1 điểm) Với hàm BCNN được xây dựng ở chương sau đây (Hình 1), trong những dòng lệnh có sử dụng hàm BCNN, dòng lệnh nào đúng, dòng lệnh nào sai và tại sao?

Đề thi Giữa kì 2 Tin học 10 Cánh diều có đáp án (4 đề)

Ma trận đề thi giữa học kì II môn Tin học lớp 10, năm học 2023, bộ sách Cánh Diều

Chủ đề

Nội dung kiến thức/kĩ năng

Mức độ nhận thức

Tổng số câu

Tổng% điểm

Nhận biết

Thông hiểu

Vận dụng

Vận dụng cao

TN

TL

TN

TL

TN

TL

TN

TL

TN

TL

 

Chủ đề F. Giải quyết vấn đề với sự trợ giúp của máy tính

1. Câu lệnh rẽ nhánh

4

 

3

 

 

 

 

 

7

 

17,5 %

(1,75 đ)

2. Câu lệnh lặp

4

 

3

 

 

1

 

 

7

1

27,5 %

(2,75 đ)

3. Chương trình con và thư viện các chương trình con có sẵn

4

 

3

 

 

 

 

1

7

1

27,5 %

(2,75 đ)

4. Kiểu dữ liệu xâu kí tự - Xử lí xâu kí tự

4

 

3

 

 

1

 

 

7

1

27,5 %

(2,75 đ)

Tổng

16

0

12

0

0

2

0

1

28

3

100%

(10,0 điểm)

Tỉ lệ %

40%

30%

20%

10%

70%

30%

Tỉ lệ chung

70%

30%

100%

Phòng Giáo dục và Đào tạo ...

Đề thi Giữa kì 2 - Cánh diều

Năm học 2023

Môn: Tin học lớp 10

Thời gian làm bài: 45 phút

(không kể thời gian phát đề)

(Đề số 3)

I. PHẦN TRẮC NGHIỆM (7,0 điểm)

Câu 1. Cho biểu thức logic x and y. Biểu thức nhận giá trị True khi nào?

A. Cả x và y đều nhận giá trị True.

B. x nhận giá trị True, y nhận giá trị False.

C. x nhận giá trị False, y nhận giá trị True.

D. Cả x và y đều nhận giá trị False.

Câu 2. Cho x = 5, y = 10. Hãy cho biết biểu thức logic nào nhận giá trị True?

A. 4*x=2*y

B. (x%5==0) and (y%2==0)

C. (x>2*y) or (x+y >20)

D. x+10 >= y+7

Câu 3. Em hãy cho biết kết quả của chương trình sau:

>>>a=5

>>>b=10

>>>if a < b:

print(‘True’)

A. 5

B. 10

C. True

D. Flase

Câu 4. Cho A = 5, B = 10, giá trị logic của điều kiện nào là False?

A. A < B

B. 2*A == B

C. A + 5 != B

D. A + 10 > B + 1

Câu 5. Trong Python, với cấu trúc if – else thì <câu lệnh hay nhóm câu lệnh 1> được thực hiện khi:

A. Điều kiện sai.

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

C. Điều kiện bằng 0.

D. Điều kiện khác 0.

Câu 6. <Điều kiện> trong câu lệnh rẽ nhánh là:

A. Biểu thức tính toán.

B. Biểu thức logic.

C. Biểu thức quan hệ.

D. Các hàm toán học.

Câu 7. Chọn phát biểu đúng.

Cho biểu thức: x or y

A. Cho kết quả là False khi và chỉ khi x và y đều nhận giá trị False.

B. Cho kết quả là True khi x và y đều nhận giá trị True.

C. Đảo giá trị của x và y cho nhau

D. Cho kết quả là False khi và chỉ khi x hoặc y nhận giá trị False.

Câu 8. Hàm range(101) sẽ tạo ra:

A. một dãy số từ 0 đến 100

B. một dãy số từ 1 đến 101

C. 101 số ngẫu nhiên

D. một dãy số ngẫu nhiên 101

Câu 9. Cú pháp đúng của câu lệnh lặp for:

A. for <biến chạy> in range(m, n):

Khối lệnh cần lặp

B. for <biến chạy> in range(m, n).

Khối lệnh cần lặp

C. for <biến chạy> in:

Khối lệnh cần lặp

D. for <biến chạy> range(m, n):

Khối lệnh cần lặp

Câu 10. Kết quả của đoạn chương trình sau:

s = 0

for i in range(1, 10):

s = s + i

print(s)

A. 55

B. 45

C. 11

D. 10

Câu 11. Trong Python có mấy dạng lặp:

A. 1

B. 2

C. 3

D. 4

Câu 12. Cho đoạn chương trình sau:

s=0

i=1

while i<=5:

s=s+1

i=i+1

Sau khi thực hiện đoạn chương trình trên giá trị của s là:

A. 9

B. 15

C. 5

D. 10

Câu 13. <Điều kiện> trong câu lệnh lặp với số lần không biết trước là:

A. Hàm toán học.

B. Biểu thức logic.

C. Biểu thức quan hệ.

D. Biểu thức tính toán.

Câu 14. Cho đoạn chương trình sau:

for i in range(6):

print(i)

Trong đoạn chương trình trên vòng lặp được thực hiện bao nhiêu lần?

A. 3

B. 4

C. 5

D. 6

Câu 15. Từ khóa dùng để khai báo hàm trong Python là?

A. def

B. procedure

C. return

D. function

Câu 16. Phát biểu nào chính xác khi nói về hàm trong Python?

A. Mỗi hàm chỉ được gọi một lần

B. Người viết chương trình không thể tự tạo các hàm

C. Không thể gọi một hàm trong một hàm khác

D. Hàm có thể được tái sử dụng trong chương trình

Câu 17. Chọn phát biểu không đúng?

A. Phần thân hàm (gồm các lệnh mô tả hàm) phải viết lùi vào theo quy định của Python.

B. Theo sau tên hàm có thể có hoặc không có các tham số.

C. Không thể gọi một chương trình con trong Python là một hàm.

D. Để sử dụng hàm cần khai báo hàm và viết lời gọi thực hiện.

Câu 18. Hàm trong Python được khai báo theo mẫu:

A. def tên_hàm(tham số):

Các lệnh mô tả hàm

B. def tên_hàm(tham số)

Các lệnh mô tả hàm

C. def tên_hàm()

Các lệnh mô tả hàm

D. def (tham số):

Các lệnh mô tả hàm

Câu 19. Thư viện math cung cấp:

A. Thủ tục vào ra của chương trình.

B. Hỗ trợ việc tạo ra các lựa chọn ngẫu nhiên

C. Các hằng và hàm toán học.

D. Hỗ trợ trực tiếp các định dạng nén và lưu trữ dữ liệu

Câu 20. Phát biểu nào sau đây là đúng?

A. Nếu là hàm có kết quả thì trong thân hàm sẽ không có lệnh return.

B. Nếu là hàm có kết quả thì trong thân hàm sẽ có lệnh return và theo sau là dãy giá trị trả về.

C. Nếu là hàm có kết quả thì trong thân hàm sẽ là dãy các lệnh tính giá trị và không có lệnh return.

D. Nếu là hàm có kết quả thì trong thân hàm sẽ duy nhất lệnh return.

Câu 21. Khi sử dụng hàm sqrt() ta cần khai báo thư viện:

A. math

B. ramdom

C. zlib

D. datetime

Câu 22. Xâu kí tự trong Python là:

A. Một kí tự           

B. Một dãy các số

C. Một dãy các kí tự

D. Một giá trị bất kì.

Câu 23. Độ dài của xâu được tính thông qua lệnh:

A. len()

B. range()

C. append()

D. for

Câu 24. Cho chương trình sau:

y = “Trúc xin trúc mọc sân đình”

x1 = “sân đình”

x2 = “bờ ao”

print(y.replace(x1,x2))

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

A. Trúc xinh trúc mọc sân đình

B. Trúc xinh trúc mọc sân đình bờ ao

C. Trúc xinh trúc mọc bờ ao

D. Trúc xinh trúc mọc bờ ao sân đình

Câu 25. Kết quả của đoạn lệnh sau là

Đề thi Giữa kì 2 Tin học 10 Cánh diều có đáp án (4 đề)

A. c

B. h

C. à

D. o

Câu 26. Để khai báo dữ liệu kiểu xâu thì dữ liệu phải được khai báo trong cặp ngoặc nào sau đây:

A. Cặp dấu ngoặc vuông []

B. Cặp dấu ngoặc tròn ()

C. Cặp dấu ngoặc móc {}                      

D. Cặp dấu nháy đơn ‘’ hoặc cặp dấu nháy kép

Câu 27. Để thay thế từ hoặc cụm từ bằng từ hoặc cụm từ khác, ta sử dụng hàm nào?

A. find()

B. len()

C. replace()

D. remove()

Câu 28. Cho xâu st=’abc’. Hàm len(st) có giá trị là:

A. 1

B. 2

C. 3

D. 4

II. PHẦN TỰ LUẬN (3 điểm)

Câu 1. (1 điểm) Em hãy dự đoán chương trình hình bên dưới đưa ra màn hình những gì?

Đề thi Giữa kì 2 Tin học 10 Cánh diều có đáp án (4 đề)

Câu 2. (1 điểm) Xét bài toán: Cho xâu s nhập vào từ bàn phím. Người ta thay kí tự ở vị trí chẵn trong xâu bằng kí tự “*”.

Chú ý: Vị trí các kí tự trong xâu được đánh số bắt đầu từ 0.

Hãy tìm lỗi trong chương trình sau và đề xuất một cách sửa.

Đề thi Giữa kì 2 Tin học 10 Cánh diều có đáp án (4 đề)

Câu 3. (1 điểm) Với hàm BCNN được xây dựng ở chương sau đây (Hình 1), trong những dòng lệnh có sử dụng hàm BCNN, dòng lệnh nào đúng, dòng lệnh nào sai và tại sao?

Đề thi Giữa kì 2 Tin học 10 Cánh diều có đáp án (4 đề)

 

 

ĐÁP ÁN VÀ HƯỚNG DẪN CHẤM ĐỀ SỐ 3

I. Trắc nghiệm (7 điểm)

- Mỗi câu đúng tương ứng với 0,25 điểm.

1. A

2. B

3. C

4. C

5. B

6. B

7. A

8. A

9. A

10. B

11. B

12. C

13. B

14. D

15. A

16. D

17. C

18. A

19. C

20. B

21. A

22. C

23. A

24. C

25. B

26. D

27. C

28. C

 

 

 

II. Tự luận (3 điểm)

Câu

Đáp án

Điểm

Câu 1

(1 điểm)

Chương trình đưa ra cặp giá trị i và i + i, với i từ 1 đến 10, mỗi cặp số trên một dòng.

1,0

Câu 2

(1 điểm)

Câu lệnh sai là: s [i ]= '*'. Do Python không cho phép trực tiếp thay đổi giá trị kí tự trong xâu. Một trong các cách sửa là:

Thay s[i]= '*' bằng câu lệnh s = s. replace (s[i], '*')

0,5

 

0,5

Câu 3

(1 điểm)

- Câu lệnh đúng: print(‘Bội chung nhỏ nhất:’, BCNN(a, b))

Vì có truyền đủ tham số.

- Câu lệnh sai: c = a + b + BCNN()

Vì quên không truyền tham số.

0,5

 

0,5



Phòng Giáo dục và Đào tạo ...

Đề thi Giữa kì 2 - Cánh diều

Năm học 2023

Môn: Tin học lớp 10

Thời gian làm bài: 45 phút

(không kể thời gian phát đề)

(Đề số 4)

I. PHẦN TRẮC NGHIỆM (7,0 điểm)

Câu 1. Trong Python, đối với cấu trúc if-else thì <câu lệnh hay nhóm câu lệnh 2> được thực hiện khi:

A. Điều kiện sai.

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

C. Điều kiện bằng 0.

D. Điều kiện khác 0.

Câu 2. Cho đoạn chương trình sau:

x=10

y=3

d=0

if x%y==0:

d=x//y

Sau khi thực hiện đoạn chương trình trên giá trị của d là:

A. 3

B. 1

C. 0

D. Không xác định

Câu 3. Câu lệnh if trong chương trình Python có dạng:

A. if <điều kiện>

<câu lệnh hay nhóm câu lệnh>

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

<câu lệnh hay nhóm câu lệnh>

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

<câu lệnh hay nhóm câu lệnh>

D. if <điều kiện>:

Câu 4. Cho đoạn chương trình

a=5

b=7

X = (a<b or a<0) and (b<0)

Giá trị của X là

A. True

B. False

C. True hoặc False

D. Chương trình báo lỗi.

Câu 5. Cho đoạn lệnh sau:

x=20

if x%2==0:

x=x+10

else:

x=x-10;

Sau khi thực hiện đoạn chương trình x nhận giá trị bao nhiêu?

A. 10

B. 20

C. 30

D. 40

Câu 6. Để kiểm tra số nguyên n là số chẵn hay lẻ ta sử dụng điều kiện nào?

A. n//2=0

B. n%2=0

C. n//2==0

D. n%2==0

Câu 7. Cho biểu thức logic x and y. Biểu thức nhận giá trị True khi nào?

A. Cả x và y đều nhận giá trị True.

B. x nhận giá trị True, y nhận giá trị False.

C. x nhận giá trị False, y nhận giá trị True.

D. Cả x và y đều nhận giá trị False.

Câu 8. Hoạt động nào là chưa biết trước số lần lặp trong các hoạt động sau:

A. Tính tổng các số tự nhiên từ 1 đến 100.

B. Mỗi ngày tập thể dục 2 lần.

C. Làm 1000 bưu thiếp.

D. Lấy ca múc nước đổ vào thùng cho đến khi đầy thùng nước.

Câu 9. Cho đoạn chương trình sau:

a=6

s=0

while (a>0):

 s=s+a

 a=a-1

Giá trị của s khi thực hiện đoạn chương trình trên bằng bao nhiêu?

A. 5

B. 20

C. 6

D. 21

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

for i in range(6):

print(i,end='' '')

A. 1 2 3 4 5

B. 0123456

C. 0 1 2 3 4 5

D. 12345

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

A. Dùng câu lệnh while ta cũng thể hiện được cấu trúc lặp với số lần biết trước.

B. Dùng câu lệnh for ta cũng thể hiện được cấu trúc lặp với số lần không biết trước.

C. Trong Python có 2 dạng lặp: Lặp với số lần biết trước và lặp với số lần không biết trước.

D. Câu lệnh thể hiện lặp với số lần không biết trước phải sử dụng một biểu thức logic làm điều kiện lặp.

Câu 12. Đoạn chương trình sau thực hiện công việc gì?

t=0

for i in range(1,m):

if (i %3 ==0) and (i %5 ==0):

t= t + i

A. Tính tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến m -1

B. Tính tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến m - 1

C. Tính tổng các số chia hết cho 3 trong phạm vi từ 1 đến m - 1

D. Tính tổng các số chia hết cho 5 trong phạm vi từ 1 đến m - 1

Câu 13. Kết quả của đoạn chương trình sau:

for x in range(3, 10, 2):

print(x)

A. In ra màn hình các số lẻ từ 3 đến 10

B. In ra màn hình các số chẵn từ 3 đến 10

C. In ra màn hình các số từ 3 đến 10

D. In ra màn hình các số từ 0 đến 10

Câu 14. Hàm range(101, 1, -1) sẽ tạo ra:

A. một dãy số từ 101 về 1

B. một dãy số từ 100 về -1

C. một dãy số từ 100 về 2

D. một dãy số từ 101 về 2

Câu 15. Cho các câu sau, số câu đúng là:

1) Sử dụng chương trình con sẽ làm chương trình dễ hiểu, dễ tìm lỗi hơn.

2) Hàm chỉ được gọi một lần duy nhất ở chương trình chính.

3) Hàm luôn trả một giá trị qua tên của hàm.

4) Python chỉ cho phép chương trình gọi một hàm xây dựng sẵn trong các thư viện của Python.

5) Khai báo hàm trong Python luôn có danh sách tham số.

A. 1.

B. 2

C. 3.

D. 4.

Câu 16. Hàm gcd(x,y) trả về:

A. Bội chung nhỏ nhất của x và y.

B. Căn bậc hai của x và y.

C. Ước chung lớn nhất của x và y.

D. Trị tuyệt đối của x và y.

Câu 17. Phát biểu nào sau đây là sai khi nói về chương trình con?

A. Giúp việc lập trình trở lên dễ dàng hơn.

B. Tránh được việc phải viết đi viết lại cùng một dãy lệnh.

C. Chương trình dễ hiểu, dễ đọc.

D. Khó phát hiện lỗi.

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

A. Tên hàm do người lập trình đặt không cần theo quy tắc.

B. Chương trình con là một đoạn câu lệnh thực hiện một việc nào đó được đặt tên.

C. Muốn xây dựng hàm trả về giá trị xử lí, cần kết thúc hàm bằng câu lệnh return cùng với biểu thức hay biến chứa giá trị trả về.

D. Các lệnh mô tả hàm phải viết lùi vào theo quy định của Python.

Câu 19. Cho biết kết quả hiển thị ra màn hình sau khi thực hiện đoạn chương trình sau?

Đề thi Giữa kì 2 Tin học 10 Cánh diều có đáp án (4 đề)

A. 100

B. 101

C. 102

D. 99

Câu 20. 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.

Câu 21. Từ khóa dùng để khai báo hàm trong Python là?

A. def

B. procedure

C. return

D. function

Câu 22. Hàm y.cout(x) cho biết:

A. Vị trí xuất hiện đầu tiên của x trong y.

B. Vị trí xuất hiện cuối cùng của x trong y.

C. Cho biết số kí tự của xâu x+y

D. Đếm số lần xuất hiện không giao nhau của x trong y.

Câu 23. Xâu rỗng là xâu có độ dài bằng:

A. 0

B. 1

C. 2

D. 3

Câu 24. Hàm y.raplace(x1,x2) có nghĩa là:

A. Tạo xâu mới từ xâu y bằng cách thay thế xâu con x2 của y bằng xâu x1.

B. Tạo xâu mới bằng cách ghép xâu x1 và xâu x2.

C. Thay thế xâu x1 bằng xâu x1+x2.

D. Tạo xâu mới từ xâu y bằng cách thay thế xâu con x1 của y bằng xâu x2.

Câu 25. Cho xâu s1=’ha noi’, xâu s2=’ha noi cua toi’. Khẳng định nào sau đây là đúng?

A. Xâu s2 lớn hơn xâu s1.

B. Xâu s1 bằng xâu s2.

C. Xâu s2 nhỏ hơn xâu s1.

D. Xâu s2 lớn hơn hoặc bằng xâu s1.

Câu 26. Cho đoạn chương trình sau:

s=’abcde’

print(s[1:4])

Trên màn hình máy tính sẽ xuất hiện xâu:

A. abc

B. bcde

C. bcd

D. cde

Câu 27. Để thay thế từ hoặc cụm từ bằng từ hoặc cụm từ khác, ta sử dụng hàm nào?

A. find()

B. len()

C. replace()

D. remove()

Câu 28. Cho biết chương trình sau thực hiện công việc gì?

Đề thi Giữa kì 2 Tin học 10 Cánh diều có đáp án (4 đề)

A. Thay thế xâu “anh” bằng xâu “em”

B. Thay thế xâu “em” bằng xâu “anh”

C. Tìm vị trí xâu “anh”

D. Tìm vị trí xâu “em”

II. PHẦN TỰ LUẬN (3 điểm)

Câu 1. (1 điểm) In ra tổng các số chia hết cho 3 hoặc chia hết cho 5

Với n nhập từ bàn phím, viết chương trình đưa ra màn hình tổng các số tự nhiên nhỏ hơn n và chia hết cho 3 hoặc chia hết cho 5.

Câu 2. (1 điểm) Em hãy dự đoán kết quả đưa ra màn hình sau mỗi câu lệnh xuất dữ liệu print() trong chương trình ở hình sau:

Đề thi Giữa kì 2 Tin học 10 Cánh diều có đáp án (4 đề)

Câu 3. (1 điểm) Chương trình ở hình sau xây dựng một hàm tính diện tích một tam giác bằng công thức Heron theo ba cạnh của tam giác. Em hãy hoàn thiện chương trình bằng lời gọi hàm thích hợp để đưa ra màn hình kết quả tính diện tích của tam giác có ba cạnh là 3, 4, 5.

Đề thi Giữa kì 2 Tin học 10 Cánh diều có đáp án (4 đề)

 

ĐÁP ÁN VÀ HƯỚNG DẪN CHẤM ĐỀ SỐ 4

I. Trắc nghiệm (7 điểm)

- Mỗi câu đúng tương ứng với 0,25 điểm.

1. A

2. C

3. B

4. B

5. C

6. D

7. A

8. D

9. D

10. C

11. B

12. B

13. A

14. C

15. A

16. C

17. D

18. A

19. A

20. D

21. A

22. D

23. A

24. D

25. A

26. C

27. C

28. A

 

 

 

II. Tự luận (3 điểm)

Đề thi Giữa kì 2 Tin học 10 Cánh diều có đáp án (4 đề)

Xem thêm các bài giải sách bài tập Tin học 10 hay khác: