Chỉ từ 50k mua trọn bộ Đề thi giữa học kì 2 Tin học 10 Cánh diều bản word có lời giải chi tiết (chỉ từ 10k cho 1 đề thi lẻ bất kì):
B1: –
B2: – nhấn vào đây để thông báo và nhận giáo án.
Xem thử tài liệu tại đây: Link tài liệu
Đề thi Giữa Học kì 2 Tin học lớp 10 Cánh diều có đáp án – Đề số 1
Phòng Giáo dục và Đào tạo …
Đề thi Giữa kì 2 – Cánh diều
Năm học 2023 – 2024
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. 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à
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ì?
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.
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?
ĐÁP ÁN VÀ HƯỚNG DẪN CHẤM ĐỀ SỐ 1
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 |
Ma trận đề thi giữa học kì II môn Tin học lớp 10, năm học 2023 – 2024, 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% |
Đề thi Giữa Học kì 2 Tin học lớp 10 Cánh diều có đáp án – Đề số 2
Phòng Giáo dục và Đào tạo …
Đề thi Giữa kì 2 – Cánh diều
Năm học 2023 – 2024
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. 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
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?
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ì?
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:
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.
ĐÁP ÁN VÀ HƯỚNG DẪN CHẤM ĐỀ SỐ 2
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)
Ma trận đề thi giữa học kì II môn Tin học lớp 10, năm học 2023 – 2024, 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% |
Đề thi Giữa Học kì 2 Tin học lớp 10 Cánh diều có đáp án – Đề số 3
Phòng Giáo dục và Đào tạo …
Đề thi Giữa kì 2 – Cánh diều
Năm học 2023 – 2024
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. 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:
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
Đề thi Giữa Học kì 2 Tin học lớp 10 Cánh diều có đáp án – Đề số 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 – 2024
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. 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ì?
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)(x – b)(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 đó.
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?
Đã có lời giải bài tập lớp 10 sách mới: