Tải bản đầy đủ (.docx) (30 trang)

BỘ đề KIỂM TRA PYTHON 11

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (194.71 KB, 30 trang )

Tên bài dạy
KIỂM TRA GIỮA KÌ 1
Mơn học: Tin Học; Lớp: 11
Thời gian thực hiện: 1 tiết
I. MỤC TIÊU:
1. Kiến thức
- Biết tin học là một ngành khoa học.
- Biết có 3 lớp ngơn ngữ lập trình và các mức của ngơn ngữ lập trình: ngơn ngữ máy,
hợp ngữ và ngơn ngữ bậc cao.
- Biết vai trị của chương trình dịch.
- Biết khái niệm biên dịch và thông dịch.
- Biết các thành phần cơ bản của ngơn ngữ lập trình: bảng chữ cái, cú pháp và ngữ
nghĩa.
- Biết các thành phần cơ sở của ngôn ngữ Python: bảng chữ cái, tên, tên chuẩn, tên
dành riêng (từ khoá), hằng và biến.
- Biết cấu trúc của một chương trình Python: cấu trúc chung và các thành phần.
- Biết một số kiểu dữ liệu định sẵn trong Python: nguyên, thực, kí tự, logic.
- Biết các khái niệm: Phép toán, biểu thức số học, hàm số học chuẩn, biểu thức quan
hệ.
- Biết các lệnh vào/ra đơn giản để nhập thơng tin từ bàn phím và đưa thơng tin ra
màn hình
- Biết các bước: soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình.
- Biết một số công cụ của môi trường Python.
- Biết cấu trúc rẽ nhánh.
- Phân biệt được tên, hằng và biến. Phân biệt tên đúng và tên sai
- Nhận biết được các phần của một chương trình đơn giản.
- Xác định được kiểu cần khai báo của dữ liệu đơn giản.
- Khai báo đúng.
- Nhận biết khai báo sai.
- Viết được một chương trình đơn giản có sử dụng cấu trúc rẽ nhánh, lặp.
2. Năng lực


- Hình thành và phát triển năng lực giải quyết vấn đề.
- Hình thành và phát triển năng lực tự quản lý và năng lực tự học.
3. Phẩm chất:
- Có ý thực học tập, trung thực, tự tin.
B. Ma trận đề:


Chủ đề

§1. Khái niệm lập trình và ngơn ngữ lập trì
§2. Các thành phần của ngơn ngữ lập
trình.
§3. Cấu trúc chương trình.
§4. Một số kiểu dữ
liệu chuẩn.
§5. Khai báo biến
§6. Phép tốn, biểu thức, câu lệnh gán.

§7. Các thủ tục chuẩn vào/ra đơn giản

§8. Soạn thảo, dịch, thực hiện và hiệu chỉnh chươ
§9. Cấu trúc rẽ nhánh
§10. Cấu trúc lặp
Tổng

C. Đề bài:
I. Trắc nghiệm: Chọn đáp án đúng nhất (7.5đ)
Câu 1: Đưa dữ liệu ra màn hình ta dùng thủ tục nào :
A. print(); B. input(); C. type(); D. abs();
Câu 2: Để gán giá trị cho một biến số A ta thực hiện như thế nào

A. <giá trị> := A; B. A = <giá trị>; C. <giá trị> = A; D. A := <giá trị>;
Câu 3: Để tính diện tích đường trịn bán kính R, với pi=3.14, biểu thức nào trong
Python là đúng:
A. S:=R*R*π‌;
B. S=R*R*pi;
C. S:=2(R)*π‌;
D. S:=R2*pi;
Câu 4: Trong ngôn ngữ Python, để chạy chương trình
A. Nhấn tổ hợp phím Ctrl+F9 B. Nhấn phím F5
C. Nhấn tổ hợp phím Shift+F9 D. Nhấn tổ hợp phím Alt+F5
Câu 5: Trong Python, biểu thức (20 // 3+18 % 4) bằng :


A. 10 B. 8 C. 7 D. 6
Câu 6: Trong các kiểu dữ liệu dưới đây, kiểu nào là kiểu ngun?
A. int
B. float
C. bool
D. str
Câu 7: Ngơn ngữ lập trình phổ biến thích hợp với nhiều người là:
A. Ngơn ngữ tự nhiên
B. Ngơn ngữ máy tính
C. Hợp ngữ
D. Ngơn ngữ lập trình bậc cao
Câu 8: Trong ngơn ngữ Python, từ khóa import dùng để
A. Khai báo hằng
B. Khai báo biến
C. Khai báo lớp
D. Khai báo thư viện
Câu 9: Biểu thức (x+y)**0.5/x-(x-y)**2/y viết trong toán học sẽ là biểu thức nào?

A. – (x-y)2/y
B.
C.
D.
Câu 10: Cho x là biến thực đã được gán giá trị 12.41235. Để thực hiện lên màn hình
nội dung “x=12.41” cần chọn câu lệnh nào sau đây
A. print(x:5:2);
B. print(round(x,2))
C. print(x:2);
D. print(x)
Câu 11: Các thành phần cơ bản của ngơn ngữ lập trình gồm:
A. Bảng chữ cái, tên, ngữ nghĩa
B. Bảng chữ cái, hằng, ngữ nghĩa
C. Ngữ pháp, ngữ nghĩa
D. Bảng chữ cái, cú pháp, ngữ nghĩa
Câu 12: Biểu thức α≤a≤β được biểu diễn trong Python là:
A. (α<=a) or (a<=β)
B. (α<=a) and (a<=β)
C. (α≤a) or (a≤β)
D. (α≤a) and (a≤β)
Câu 13: Câu lệnh nào SAI cú pháp trong các câu lệnh sau:
A. if <điều kiện 1> : <câu lệnh 1>
elif <điều kiện 2>: <câu lệnh 2>
else: <câu lệnh 3>
B. if <điều kiện> : < câu lệnh 1>
else: < câu lệnh 2>
C. if <điều kiện> = true : < câu lệnh 1>
else: < câu lệnh 2>
D. if <điều kiện> : <câu lệnh>
Câu 14: Để nhập giá trị cho biến a ta dùng lệnh:

A. input(a) B. print(a)
C. input(‘a’)
D. print(‘a’)
Câu 15: Biểu thức: 25 // 3+5/2*3 cho kết quả nào dưới đây :
A. 15.0
B. 9.5
C. 15.5
D. 8.0
Câu 16: Trong ngôn ngữ Python, hàm abs() dùng để
A. Khai báo hằng
B. Khai báo biến
C. Tính lũy thừa
D. Tính giá trị tuyệt đối
Câu 17: Cho câu lệnh sau
if (x**2+y**2<=26) and (y>=x) :
z=x+y
else:
z=0.5
với x=1, y=5


A. z có giá trị bằng 1
B. z có giá trị bằng 6
C. z có giá trị bằng 5
D. z có giá trị bằng 0.5
Câu 18: Phần thân chương trình được đánh dấu bằng
A. Begin … end. B. Khơng có đáp án đúng
C. { và }
D. [ và ]
Câu 19: Trong ngôn ngữ Python, tên nào sau đây là tên dành riêng:

A. program, sqr
B. uses, var C. include, const D. if, else
Câu 20: Trong ngôn ngữ Python, tên nào sau đây đặt SAI theo quy tắc đặt tên
A. 11tinhoc B. tinhoc11 C. _11
D. tin_hoc
Câu 21: Trong ngôn ngữ Python, dấu // dùng để:
A. kết thúc chương trình
B. xuống dịng
C. thực hiện phép toán chia lấy nguyên D. thực hiện phép toán chia lấy dư
Câu 22: Với giá trị nào của N biểu thức sau đây là đúng.
Biểu thức: N = (25 % 3)
A. 25 B. 3 C. một giá trị khác D. 1
Câu 23: Hãy chọn cú pháp khai báo biến đúng:
A. <tên biến> = <biểu thức>
B. <tên biến> := <biểu thức>
C. <tên biến> == <biểu thức>
D. <tên biến> != <biểu thức>
Câu 24: a=15/3 thì a có kiểu dữ liệu là:
A. Kiểu thực hoặc nguyên
B. Kiểu nguyên
C. Không thể xác định kiểu
D. Kiểu thực
Câu 25: Trong ngơn ngữ lập trình Python, để lưu chương trình vào đĩa ta nhấn phím?
A. Ctrl+S B. F9 C. F3 D. F5
Câu 26: <điều‌‌‌kiện‌> trong cấu trúc rẽ nhánh là
A. biểu thức lôgic
B. biểu thức toán học
C. một câu lệnh
D. biểu thức số học
Câu 27: Cho đoạn chương trình sau: x=10; y=30; print(‘x+y’)

Kết quả màn hình sẽ là gì?
A. 30
B. 40
C. 10
D. x+y
Câu‌‌‌28:‌‌Cho‌đoạn‌chương‌trình‌Python‌sau‌đây:
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:
A. 9
B. 10
C. 11
D. 12
Câu‌29.‌Cho‌các‌câu‌lệnh‌sau‌hãy‌chỉ‌ra‌câu‌lệnh‌đúng‌:
A. x=0
for i in range(10): x=x+1
B. x=0
for i in range(10): x:=x+1
C. x=0
for i in range(10) x=x+1
D. x:=0
for i in range(10): x=x+1


Câu‌30.‌Trong‌Python,‌câu‌lệnh‌nào‌sau‌đây‌được‌vi ết‌đúng?
A. for i in range(10); print("A")
B. for i in range(10): print("A")
C. for i in range(10): print(A)
D. for i in range(10) print("A")

II.Tự Luận: (2.5đ)
Câu 31:
Trường đại học X có xét tuyển ngành công nghệ thông tin với số điểm xét tuyển đầu v
ào là 18 điểm. Điểm xét tuyển này là tổng điểm của ba mơn Tốn, Lý, Hóa.
u cầu:
Viết chương trình nhập vào điểm Tốn, Lí, Hóa (điểm phải thuộc phạm vi từ 0 đến 10)
và tính tổng điểm của ba môn này để xét tuyển đầu vào, nếu
tổng điểm lớn hơn hoặc bằng 18 thì đậu ngược lại rớt.
Dữ liệu:
Nhập từ bàn phím ba số tương ứng với điểm Tốn, Lí, Hóa.
Kết quả:
Xuất ra tổng điểm và kết quả là đậu hoặc rớt.
Ví dụ 1:
Dữ liệu

Kết quả

Nhập điểm 3 mơn Tốn, Lí, Hóa: 8 9 8

Tổng điểm:
25
Kết quả: đậu

Ví dụ 2:
Dữ liệu

Kết quả

Tổng điểm:
Nhập điểm 3 mơn Tốn, Lí, Hóa: 4 6 5 15

Kết quả: rớt
D. Đáp án:
I. Trắc nghiệm: (7.5đ)
1

2

3

4

5

6

7

8

9

10 11 12 13 14 15

A

B

B

B


B

A

D

D

B

B

D

B

C

C

C

16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
D

B

B


D A

C

D

A

D

A

A

II. Tự luận: (2.5đ)
Câu 31:
print("Nhập điểm 3 môn Tốn, Lí, Hóa: ")
toan=float(input(" tốn = "))
li=float(input(" lí = "))

D

B

A

B


hoa=float(input(" hóa = "))

while (toan < 0) | (toan>10):
print("nhập lại điểm toán")
toan=float(input(" toán = "))
while (li < 0) | (li>10):
print("nhập lại điểm lí")
li=float(input(" lí = "))
while (hoa < 0) | (hoa>10):
print("nhập lại điểm hoa")
hoa=float(input(" hóa = "))
tong=toan+li+hoa
print("Tong diem: ",tong);
if tong>=16 :
print("Ket qua: dau")
else:
print("Ket qua: rot")
Viết đúng cú pháp cho 0.5 điểm; Nhập liệu 1 điểm; Tính tốn: 1 điểm
Tên bài dạy
KIỂM TRA CUỐI KÌ 1
Mơn học: Tin Học; Lớp: 11
Thời gian thực hiện: 1 tiết
I. MỤC TIÊU:
1. Kiến thức
- Biết tin học là một ngành khoa học.
- Biết có 3 lớp ngơn ngữ lập trình và các mức của ngơn ngữ lập trình: ngơn ngữ máy,
hợp ngữ và ngơn ngữ bậc cao.
- Biết vai trị của chương trình dịch.
- Biết khái niệm biên dịch và thông dịch.
- Biết các thành phần cơ bản của ngơn ngữ lập trình: bảng chữ cái, cú pháp và ngững
hĩa.
- Biết các thành phần cơ sở của ngôn ngữ Python: bảng chữ cái, tên, tên chuẩn, tên

dành riêng (từ khoá), hằng và biến.
- Biết một số kiểu dữ liệu định sẵn trong Python: nguyên, thực, logic.
- Biết các khái niệm: Phép toán, biểu thức số học, hàm số học chuẩn, biểu thức quan
hệ.
- Biết các lệnh vào/ra đơn giản để nhập thông tin từ bàn phím và đưa thơng tin ra
màn hình
- Biết các bước: soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình.
- Biết một số công cụ của môi trường Python.
- Biết cấu trúc rẽ nhánh, lặp trong Python.
- Phân biệt được tên, hằng và biến. Phân biệt tên đúng và tên sai
- Nhận biết được các phần của một chương trình đơn giản.
- Viết được một chương trình đơn giản có sử dụng cấu trúc rẽ nhánh, lặp, mảng, xâu
2. Năng lực


Hình thành và phát triển năng lực giải quyết vấn đề.
Hình thành và phát triển năng lực tự quản lý và năng lực tự học.
3. Phẩm chất:
- Có ý thực học tập, trung thực, tự tin.
B. Ma trận:
Thông
Vận dụng
Vận dụng
Nhận biết
hiểu
thấp
cao
Chủ đề
T
T

TL TN
TN
TN
TN
TL
L
L
-

§1. Khái niệm lập t Câu 9
rình và ngơn ngữ l
0.25
ập trình.
điểm
Câu
§2. Các thành phần
2, 3
của ngơn ngữ lập t
0.5
rình.
điểm
§3. Cấu trúc chươn
g trình
§4. Một số kiểu dữ
liệu chuẩn.
Câu
3, 11
§5. Khai báo biến
0.5
điểm

Câu
19,
§6. Phép tốn, biểu
24
thức, câu lệnh gán.
0.5
điểm
§7. Các thủ tục chu
ẩn vào/ra đơn giản

1
câu
0.25
đ
2 câu
0.5 đ

Câu 2

3 câu

0.25
điểm
Câu 8,
16,
25
0.75
điểm
Câu 7
0.25

điểm

0.75
đ
Câu 5,
10

§10. Cấu trúc lặp

7 câu

0.5
điểm
Câu 17
0.25
điểm

1.75
đ
2 câu
0.5 đ
Câu
31
2.5
điểm

§8. Soạn thảo, dịch,
thực hiện và hiệu c
hỉnh chươngtrình
Câu 2

6
§9. Cấu trúc rẽ nhá
nh
0.25
điểm

Tổng

Câu
18,
21, 22
0.75
điểm

Câu
1

Câu
27

0.25
điểm

0.25
điểm

1 câu
2.5 đ

Câu 14


5 câu

0.25
điểm
Câu 4,
12, 13,
15, 28
1.25
điểm

1.25
đ
7 câu
1.75
điểm


Câu 6,
30
0.5
điểm

§11. Mảng

0.5
điểm
Câu 20,
29
0.5

điểm

§12. Xâu

Tổng

2 câu

2 câu

8 câu

11 câu

11 câu

1 câu

2
điểm

2.75
điểm

2.75
điểm

2.5
điểm


0.5
điểm
31
câu
10
điểm


C. Đề bài:
I. Trắc nghiệm: Chọn đáp án đúng nhất (7.5đ)
(Học sinh trả lời bằng cách khoanh tròn vào đáp án đúng.)
Câu 1. Ở dạng lặp for <biến đếm> in range([giá trị đầu], <giá trị cuối>): trong
PYTHON. Chọn phát biểu đúng trong các phát biểu sau đây:
A. Biểu thức giá trị đầu và biểu thức giá trị cuối có thể thuộc kiểu số thực
B. biến đếm lần lượt nhận giá trị từ giá trị đầu đến giá trị cuối.
C. biến đếm lần lượt nhận giá trị từ giá trị đầu đến giá trị cuối – 1
D. Khơng có đáp án đúng
Câu 2. Trong NNLT Python, đoạn chương trình sau dùng để làm gì?
x=t; t=y; y=x
A. Hốn đổi giá trị của y và t
B. Cho 3 biến nhận 1 giá trị
C. Hoán đổi giá trị của x và t
D. Hoán đổi giá trị của x và y
Câu 3. Chọn cú pháp đúng
A. <tên biến> :=<biểu thức>
B. <tên biến> != <biểu thức>
C. <tên biến> = <biểu thức>
D. <tên biến> == <biểu thức>
Câu 4. Đoạn chương trình sau cho ra kết quả là gì, với M, N cho trước?
for i in range(M, N+1):

if (i % 3 = 0) or (i % 5 = 0) :
T=T+i;
A. Tính tổng các số chia hết cho 3 trong phạm vi M và N
B. Tính tổng các số chia hết cho 5 trong phạm vi M và N
C. Tính tổng các số chia hết cho 3 hoặc cho 5 trong phạm vi 3 và 5
D. Tính tổng các số chia hết cho 3 hoặc cho 5 trong phạm vi M và N
Câu 5. Xác định kết quả sau khi thực hiện lệnh sau: A= 3*3/9**0.5
A. A được gán giá trị là 9
B. A được gán giá trị là 6
C. A được gán giá trị là 3.0
D. A được gán giá trị là 3
Câu‌6.‌Cho‌khai‌báo‌mảng‌như‌sau:
A=list("3456789")
Để in giá trị phần tử thứ 2 của mảng một chiều A ra màn hình ta viết:
A. print(A[2])
B. print(A[1])
C. print(A(1))
D. print(A(2))
Câu 7. Cho đoạn chương trình sau: x = 10; y = 20; print('x + y'); kết quả ra màn hình
sẽ là gì?
A. 20
B. x+y
C. 30
D. 10
Câu 8. Cho biết kết quả của -8//3 ?
A. 2
B. -2
C. 3
D. -3
Câu 9. Chương trình dịch là:

A. Chương trình có chức năng chuyển đổi chương trình được viết bằng ngơn ngữ lập
trình bậc cao thành chương trình thực hiện được trên máy tính cụ thể;
B. Chương trình dịch ngôn ngữ tự nhiên ra ngôn ngữ máy;


C. Chương trình có chức năng chuyển đổi chương trình được viết bằng ngôn ngữ máy
thành ngôn ngữ bậc cao
D. Chương trình dịch ngơn ngữ máy ra ngơn ngữ tự nhiên;
Câu 10. Cho biết kết quả của (2021%4==0 and 2021%100!=0) or 2021%400==0
A. True
B. False
C. 0
D. Khơng có đáp án đúng
Câu 11. Trường hợp nào sau đây không phải là lệnh gán trong Python:
A. cd= 50;
B. a= a*2;
C. a= 10;
D. a+b= 1000;
Câu 12. Cho biết kết quả của đoạn chương trình sau?
n=5; Tong=0
for i in range(n):
if (i % 3==0):
Tong=Tong+1
print(Tong)
A. 3
B. 1
C. 5
D. 10
Câu 13. Trong ngơn ngữ lập trình Python, về mặt cú pháp Câu lệnh nào sau đây là
đúng với cấu trúc lặp while có một lệnh con ?

A. while a>5 : a = a – 1
B. while a=5: a = a – 1
C. while a>5; a = a – 1
D. while a>=5 : a := a – 1
Câu 14. Hãy chọn cách dùng sai. Muốn dùng biến X lưu giá trị nhỏ nhất trong các giá
trị của hai biến A, B có thể dùng cấu trúc rẽ nhánh như sau:
A. if A<=B : X=A
else: X=B
B. if AC. X=B
if AD. if Aelse: X=B
Câu 15. Đoạn chương trình sau cho ra kết quả là gì?
for i in range(1,1000):
if (i % 2 !=0) and (i % 3 == 0) :
print(i)
A. Liệt kê các số chẵn và chia hết cho 3 trong phạm vi từ 1 đến 999
B. Liệt kê các số lẻ và chia hết cho 3 trong phạm vi từ 1 đến 999
C. Tính tổng các số lẻ và chia hết cho 3 trong phạm vi từ 1 đến 999
D. Tính tổng các số chẵn và chia hết cho 3 trong phạm vi từ 1 đến 999
Câu 16. Thực hiện chương trình Python sau đây :
N = 645 ; A = N % 10 ;
N = N // 10
A = A + N // 10 ;
A = A + N % 10
print(A)
Ta thu được kết quả nào ?
A. 64;
B. 15;

C. 6;
D. 5;


Câu 17. Với lệnh nào sau đây dùng để in giá trị M (M kiểu số thực) ra màn hình với 2
chữ số phần thập phân ?
A. print(M:2);
B. print(M);
C. print(M,end=’2’);
D. print(round(M,2))
Câu 18. Trong NNLT Python, muốn kiểm tra đồng thời cả ba giá trị của A, B, C có
cùng lớn hơn 0 hay không ta viết lệnh if thế nào cho đúng?
A. if A>0 and B>0 or C>0 : ...
B. if (A>0) or (B>0) or (C>0) : ...
C. if A, B, C >0 : ...
D. if (A>0) and (B>0) and (C>0) : ...
Câu 19. Kết quả của biểu thức quan hệ trong ngơn ngữ lập trình Python sẽ trả về giá
trị gì?
A. Yes/No
B. True/False
C. Trái/Phải
D. 0/1
Câu‌20.‌Kết‌quả‌của‌chương‌trình‌được‌in‌ra‌màn‌hình‌là?
string = "Thanh Tam"
for i in string:
print (i, end=", ")
A. T, h, a, n, h, , T, a, m,
B. T, h, a, n, h, T, a, m,
C. T, h, a, n, h, , T, a, m
D. Thanh, Tam

Câu 21. Trong ngơn ngữ lập trình Python, hãy cho biết giá trị của M sau khi thực hiện
đoạn chương trình sau với a=19 và b=12 ?
M=a
if aGiá trị bằng bao nhiêu?
A. M không nhận giá trị nào B. M nhận cả hai giá trị trên
C. M=12
D. M=19
Câu 22. Đoạn chương trình:
M=a
if bHãy cho biết đoạn chương trình trên dùng để:
A. Tìm giá trị lớn nhất của 2 số a và b
B. Tính giá trị b
C. Tìm giá trị bé nhất của 2 số a và b
D. Tính giá trị a
Câu 23. Biểu diễn hằng nào trong Python sau đây là sai?
A. ’TIN HOC’
B. 1.03E-15
C. 57,15
D. 3+9
Câu 24. Trong NNLT Python biểu diễn nào dưới đây sai?
A. b*b>a*c; a*(1-a)+(a-b)>=0; 1/x-x<0;
B. (a-b)>(c-d); (1/x-y)>=2*x; b*b>a*c;
C. (a-b)>(c-d); (a-b)<>(b-a); 12*a>5a;
D. (a-b)**0.5>x; (1/x-y)>=2*x; 15*a>5;
Câu 25. Kết quả của biểu thức (abs(25-30) % 3)**2 là?
A. 4
B. 2
C. 3

D. 1
Câu 26. Để mô tả cấu trúc rẽ nhánh trong thuật tốn, ngơn ngữ lập trình bậc cao
Python dùng lệnh if - :, sau if <điều kiện>: Điều kiện là:
A. Phép toán logic B. Một lệnh
C. Biểu thức số học
D. Biểu thức quan hệ
Câu 27. Trong NNLT Python, đoạn chương trình sau đưa ra kết quả gì?
for i in range(10,0,-1):
print(i,' ')
A. 10 9 8 7 6 5 4 3 2 1
B. Đưa ra 10 dấu cách
C. 1 2 3 4 5 6 7 8 9 10
D. Không đưa ra kết quả gì.


Câu 28. Trong ngơn ngữ lập trình Python, đoạn chương trình sau thực hiện cơng việc
gì?
T=0
for i in range(1, N+1):
if (i % 3 == 0) or (i % 5 == 0) :
T=T+i
A. Khơng làm gì
B. Tính tổng các ước thực sự của N ;
C. Tính tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến N ;
D. Tính tổng các số chia hết cho cả 3 và 5 trong phạm vi từ 1 đến N ;
E. Tính tổng các số chia hết cho cả 3 và 5 trong phạm vi từ 1 đến N ;
Câu‌29.‌Cho‌đoạn‌chương‌trình‌sau
s=”Anh đi anh nhớ quê nhà”
while 'anh' in s:
s=s.replace('anh','em')

print(s)
Hãy cho biết kết quả của đoạn chương trình là?
A. Anh đi anh nhớ quê nhà
B. Anh đi em nhớ quê nhà
C. em đi em nhớ q nhà
D. Khơng có đáp án
Câu 30. Đoạn lệnh sau làm nhiệm vụ gì?
A=[]
for x in range(10):
A.append(int(input()))
A. nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là số nguyên
B. nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là số thực
C. nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là xâu
D. Khơng có đáp án đúng
------ HẾT -----II.Tự Luận: (2.5đ)
Câu 31:
Trường đại học Ngoại
thương có xét tuyển chuyên
ngành Kinh
tế
đối
ngoại với số điểmxét tuyển đầu vào là ielts 7.5 điểm trở lên.
Yêu cầu:
Viết chương trình nhập vào điểm ielts của n thí sinh và cho biết thí sinh có điểm ielts
cao nhất.
Dữ liệu:
Nhập từ bàn phím số n và điểm ielts của n thí sinh.
Kết quả:
Xuất ra điểm ielts cao nhất và vị trí của thí sinh có điểm ielts cao nhất trong danh sách
Ví dụ 1:

Dữ liệu

Kết quả


Điểm ielts cao
nhất: 9.0 của thí
sinh thứ 2

5
7.5 9.0 8.0 8.5 7.5
Ví dụ 2:
Dữ liệu

Kết quả
Điểm ielts cao
nhất: 9.5 của thí
sinh thứ 3

5
7.5 9.0 9.5 8.5 8.0
D. Đáp án:
I. Trắc nghiệm: (7.5đ)
1

2

3

4


5

6

7

8

9

10 11 12 13 14 15

C

D

C

D

C

B

B

D

A


B

D

B

A

B

B

16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
B

D

D

B

A

D

C

C


C

A

II. Tự luận: (2.5đ)
Câu 31:
n=int(input("n = "))
a=[]
for i in range(n):
print("Nhập vào điểm của bạn thứ ",i+1,": ",end=' ')
a.append(float(input()))
mx=a[0]
for i in range(1,n):
if mxmx=a[i]
k=i
print("điểm ielts cao nhất là",mx,"của bạn thứ",k+1)
Biểu điểm
Viết đúng cú pháp cho 0.5 điểm.
Nhập liệu tốt 1 điểm.
Tính tốn: 1 điểm

D

A

C

B


A


Tên bài dạy
KIỂM TRA GIỮA KÌ 2
Mơn học: Tin Học; Lớp: 11
Thời gian thực hiện: 1 tiết
I. MỤC TIÊU:
1. Kiến thức
- Phân biệt được câu lệnh rẽ nhánh, lặp
- Nhận biết được cách viết đúng lệnh rẽ nhánh và lặp
- Vận dụng được kiểu tệp và chương trình con vào lập trình
- Viết được một chương trình đơn giản có sử dụng cấu trúc rẽ nhánh, lặp, sử dụng
kiểu tệp và chương trình con
2. Năng lực
- Hình thành và phát triển năng lực giải quyết vấn đề.
- Hình thành và phát triển năng lực tự quản lý và năng lực tự học.
3. Phẩm chất:
- Có ý thực học tập, trung thực, tự tin.
B. Ma trận:
Thông hiểu
TN
Câu 1, 2, 3
0.84 điểm
Câu 7, 8, 9, 10, 11, 12, 13, 14
2.24 điểm
Câu 16, 17, 18, 19, 20, 21, 22
1.96 điểm

18 câu


5.04 điểm

TL


C. Đề bài:
I. Trắc nghiệm: Chọn đáp án đúng nhất (7đ)

Câu‌1)‌Ta‌có‌2‌lệnh‌sau:
x= 8
if x>5:
x = x +1
Giá trị của x là bao nhiêu?
A. 5
B. 9
C. 8
D. 6

Câu‌2)‌Hãy‌cho‌biết‌kết‌quả‌của‌đoạn‌chương‌trình‌sau:
x=4
if (not x>=5):
print("hello")
else:
print("bye bye")
A. hello
B. bye bye
C. None
D. Error


Câu‌3)‌Đoạn‌chương‌trình‌sau‌in‌ra‌kết‌quả‌nào?
a=21; b=11
if a%b==0:
print(“YES”)
else:


print(“NO”)
A. NO
B. YES
C. None
D. Error

Câu‌4)‌Đoạn‌chương‌trình‌sau‌in‌ra‌kết‌quả‌nào?
x=9; y=5
if xtg=x; x=y; y=tg
else:
tg=x; x=y; y=tg
print(x,y)
A. 5 9
B. 9 5
C. 59
D. 95

Câu‌5)‌Các‌câu‌lệnh‌Python‌nào‌sau‌đây‌được‌viết‌đúng:
A. if x== 5: a = 1
B. if x > 4; a = 1
C. if x > 4: a = 1 else a = 2
D. if x > 4: a = 1 else: a:=2


Câu‌6)‌Để‌tìm‌giá‌trị‌lớn‌nhất‌của‌2‌số‌a,‌b‌thì‌ta‌viết:
A. Max=a
if b>Max: Max=b
B. if a>b : Max=a


else: Max=b
C. Max=b
if a>Max: Max=a
D. Cả 3 câu đều đúng.

Câu‌7)‌Cho‌các‌câu‌lệnh‌sau‌hãy‌chỉ‌ra‌câu‌lệnh‌đúng‌:
E. x=0

for i in range(10): x=x+1
F. x=0
for i in range(10): x:=x+1
G. x=0
for i in range(10) x=x+1
H. x:=0
for i in range(10): x=x+1
Câu‌8)‌Trong‌Python,‌câu‌lệnh‌nào‌sau‌đây‌được‌viết‌đúng?
A. for i in range(10); print("A")
B. for i in range(10): print("A")
C. for i in range(10): print(A)
D. for i in range(10) print("A")
Câu‌9)‌Trong‌câu‌lệnh‌lặp:
j=0
for i in range(10): j= j + 2

print(j)
Khi kết thúc câu lệnh lặp trên, câu lệnh print(j) được thực hiện bao nhiêu lần?
A. 10 lần
B. 1 lần
C. 5 lần
D. Không thực hiện.
Câu‌10)‌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 đoạn chương trình trên, giá trị của biến j bằng bao nhiêu?
A. 10 B. 12 C. 15 D. 14

Câu‌11)‌Xác‌định‌số ‌vịng‌lặp‌cho‌bài‌tốn:‌tính‌tổng‌các‌số ‌ngun‌từ ‌1‌đến
100
A. 1
B. 100
C. 99
D. Tất cả đều sai
Câu‌12)‌Đoạn‌chương‌trình‌sau‌giải‌bài‌tốn‌nào?
T=0
for‌i‌in‌range(1,101):
‌‌‌‌‌‌‌‌‌if‌(i‌%‌3‌==‌0)&‌(i‌%‌5‌==‌0):
‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌T‌=‌T‌+‌i
print(T)


A. Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến 100
B. Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến 100
C. Tổng các số chia hết cho 3 trong phạm vi từ 1 đến 100

D. Tổng các số chia hết cho 5 trong phạm vi từ 1 đến 100
Câu‌13)‌Sau‌khi‌thực‌hiện‌đoạn‌chương‌trình‌sau:
S=10
for i in range(1,5):
S=S+i
print(S)
Giá trị của biến S bằng bao nhiêu?
A. 20
B. 14
C. 10
D. 0
Câu‌14)‌Theo‌dõi‌đoạn‌code‌dưới‌đây‌và‌chọn‌đáp‌án‌đúng‌nhất:
i = 0; x = 0
while i < 10:
if i % 2 == 0:
x += 1
i += 1
print(x)
A. 2
B. 3
C. 4
D. 5

Câu‌15)‌Tìm‌lỗi‌trong‌chương‌trình‌sau:
1.
2.
3.
4.
5.
6.

7.
8.
9.
10.

n=int(input("Nhập n <= 10e18: "))
s=0
for i in range(1,n+1):
s=s+i
s1=1
for i in range(n,0,-1)
if i%2==0:
s1=s1+i
print("s=",s)
print("s1=",s1)

Chương trình trên lỗi ở câu lệnh số mấy?
A.3
B. 4
C. 5
D.6

Câu‌16)‌Chọn ‌ đáp ‌ án ‌ đúng: ‌ Phát ‌ biểu ‌ nào ‌ chính ‌ xác ‌ khi ‌ nói ‌ v ề ‌ Hàm ‌ trong
Python?
A. Hàm có thể được tái sử dụng trong chương trình
B. Sử dụng hàm khơng có tác động tích cực gì đến các module trong chương trình
C. Không thể tự tạo các hàm của riêng người viết chương trình
D. Tất cả các đáp án trên đều đúng



Câu‌17)‌Từ‌khóa‌nào‌được‌sử‌dụng‌để‌bắt‌đầu‌hàm?
A.
B.
C.
D.

Fun
Define
def
Function

Câu‌18)‌Đâu‌là‌lợi‌thế‌của‌việc‌sử‌dụng‌hàm‌trong‌Python?
Tránh việc phải lặp lại code thực thi những tác vụ tương tự nhau
Phân tách các vấn đề phức tạp thành các phần đơn giản hơn
Code rõ ràng, dễ quản lý hơn
Tất cả các đáp án đều đúng
Câu‌19)‌Python‌có‌2‌loại‌hàm‌chính,‌đó‌là:
A. Custom function & User defined function
B. Built-in function & User defined function
C. Built-in function & User function
D. System function & User function
Câu‌20)‌Hàm‌được‌khai‌báo‌ở‌đâu?
A. Module
B. Class
C. Trong một hàm khác
D. Tất cả các phương án trên
Câu‌21)‌Đâu‌là‌yếu‌tố‌được‌gọi‌ra‌khi‌hàm‌được‌khai‌báo‌trong‌một‌class?
A. Module
B. Class
C. Method

D. Một hàm khác
A.
B.
C.
D.

Câu‌22)‌Khẳng‌định‌nào‌là‌đúng‌khi‌nói‌về‌đoạn‌code‌sau:
def printHello():
print("Hello")
a = printHello()
A. printHello() là một hàm và a là một biến. Cả hai đều không phải đối tượng
B. Cả printHello() và a đều thể hiện chung một đối tượng
C. printHello() và a là hai đối tượng khác nhau
D. Lỗi cú pháp. Khơng thế gán hàm cho một biến trong Python
Câu‌23)‌Nếu‌nhập‌x‌=‌4‌thì‌chương‌trình‌trên‌in‌ra‌kết‌quả‌bằng‌bao‌nhiêu?
x=int(input("Nhập số x = "))
def fact(x):
if x == 0:
return 1
return x * fact(x - 1)
print (fact(x))
A. 1
B. 4
C. 22
D. 24
Câu‌24)‌Cho‌chương‌trình‌sau
s=0
def vd(x,y):



global s
i=5
print(x,y)
x=x+i
y=y+i
s=x+y
print(x,y)
a=int(input())
b=int(input())
vd(a,b)
print(a,b,s)
Trong chương trình trên có các biến tồn cục là:
A. x, y
B. i
C. a, b
D. a, b, s

Câu‌25)‌Cho‌chương‌trình‌sau
s=0
def vd(x,y):
global s
i=5
print(x,y)
x=x+i
y=y+i
s=x+y
print(x,y)
a=int(input())
b=int(input())
vd(a,b)

print(a,b,s)
Trong chương trình trên đâu là tham số thực sự:
A. x, y
B. i
C. a, b
D. a, b, s

II.Tự Luận: (3đ)
Câu 26:
Nhập vào số ngun dương N từ bàn phím. Tìm số lượng số nguyên tố trong phạm vi
nhỏ hơn hoặc bằng N cho trước
Dữ liệu:
Nhập từ bàn phím N
Kết quả:
Xuất ra số lượng số nguyên tố
Ví dụ 1:
Dữ liệu

Kết quả


20

8

Ví dụ 2:
Dữ liệu

Kết quả


25

9

D. Đáp án:
I. Trắc nghiệm: (7đ)
1

2

3

4

5

6

7

8

9

10 11 12 13 14

B

A


A

A

A

D

A

B

B

A

B

B

A

15 16 17 18 19 20 21 22 23 24 25
D

A

C

D


B

D

C

B

D

D

C

II. Tự luận: (3đ)
Câu 26:
import math
n=int(input("n = "))
def kt(num):
dem=0
t=round(math.sqrt(num))
for x in range(2,t+1):
if num%x==0:
dem=dem+1
if dem==0:
return True # là số nguyên tố
else:
return False # không là số nguyên tố
d=0

for x in range(2,n+1):
if kt(x)==True:
d=d+1
print(x)
print("số lượng số nguyên tố = ",d)
Viết đúng cú pháp cho 0.5 điểm.
Nhập liệu 0.5 điểm.
Tính tốn: 2 điểm
I. MỤC ĐÍCH YÊU CẦU

D


1. Về kiến thức
- Nhận biết được mảng, tệp, chương trình con
- Hiểu và vận dụng được các kiểu dữ liệu trong lập trình giải bài tốn đơn giản
2. Về kĩ năng
- Viết đúng cú pháp khai báo chương trình con
- Biết nhập xuất dữ liệu kiểu list
- Biết vào ra dữ liệu trong tệp văn bản
- Vận dụng linh hoạt các câu lệnh rẽ nhánh, lặp trong lập trình
3. Phẩm chất
- Có ý thức tự học, cẩn thận, hứng thú trong học tập.
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
- Giáo viên: chuẩn bị các câu hỏi và ra đề kiểm tra.
- Học sinh: tự ôn tập lại các kiến thức và độc lập làm bài.
III. MA TRẬN ĐỀ KIỂM TRA
HÌNH THỨC KIỂM TRA: trắc nghiệm + tự luận
+ Phần trắc nghiệm (70%): gồm 28 câu
+ Phần tự luận (30%): 2 câu


Mức độ
Nội dung

Nhận biết M1

Thông hiểu
M2

Vận dụng
M3

chủ đề
Cấu trúc lặp

Số câu

Vận
dụng
cao M4

Số
câu
Tổng
điểm
Tỷ lệ

- Biết viết đúng cấu - Phân biệt
trúc lệnh lặp tiến, lùi được cấu trúc
lặp tiến và lùi

4

2

6TN

Số điểm



0.5 đ

1.5 đ

Tỉ lệ %

10%

5%

15%

Cấu trúc rẽ nhánh

- Biết viết đúng cấu - Hiểu cách


trúc rẽ nhánh

vận dụng cấu

trúc rẽ nhánh
trong lập trình

2

2

3

7TN

Số điểm

0.5 đ

0.5 đ

0.75 đ

2.75 đ

Tỉ lệ %

5%

5%

7.5%

17.5

%

- Biết các khái niệm
chương trình con,
cách
khai
báo
chương trình con

Hiểu hàm và Lập trình giải
thủ tục, tham được bài tốn
số
trong cơ bản
chương trình
con, biến tồn
bộ cục bộ

- Biết các lệnh làm
việc với danh sách,
biết khai báo, vào ra
trong danh sách

Hiểu được các
thao tác khi
làm việc với
danh sách

3

4


2

1

0.75 đ



0.5 đ



Số câu

Chương trình con

Lập
trình
giải
được bài
tốn
nâng
cao

Số câu
Số điểm
Tỉ lệ %

Kiểu dữ liệu danh

sách

Số câu
Số điểm

9TN
1 TL
2.25 đ

Tỉ lệ %

7.5%

10%

5%

30%
22.5
%

Kiểu tệp

Số câu

- Biết các thao tác Phân
biệt Lập
trình
làm việc với tệp
được 2 chế độ được bài toán

ghi dữ liệu cơ bản
vào tệp và đọc
dữ liệu từ tệp
ra
3

3

6TN

Số điểm

0.75 đ

0.75 đ

1.5 đ

Tỉ lệ %

7.5%

7.5%

15%


Tổng số câu

8


13

7

1

Tổng số điểm



3.25đ

1.75đ



28TN
1 TL
10đ

Tỉ lệ %

20%

32.5%

17.5%

30%

100%

A. ĐỀ KIỂM TRA

I. TRẮC NGHIỆM 7 ĐIỂM

Câu‌26)‌Trong‌ngơn‌ngữ‌lập‌trình‌Python,‌muốn‌kiểm‌tra‌đồng‌thời‌cả‌ba‌giá
trị ‌ của ‌ A. ‌ B. ‌ C ‌ có ‌ cùng ‌ lớn ‌ hơn ‌ 0 ‌ hay ‌ không ‌ ta ‌ viết ‌ câu ‌ l ệnh ‌ if ‌ th ế ‌ nào
cho‌đúng‌?
A. if A. B. C > 0: print()
B. if (A > 0) & (B > 0) & (C > 0): print()
C. if A>0 & B>0 & C>0: print()
D. if (A>0) | (B>0) | (C>0): print()
Câu‌27)‌Cho‌đoạn‌chương‌trình:
x=2; y=3
if x > y: F= 2*x - y
else:
if x==y: F= 2*x
else: F= x*x + y*y
print(F)
Sau khi thực hiện đoạn chương trình trên, giá trị F là:
A. F=13
B. F=1
C. F=4
D. Không xác định
Câu‌28)‌‌Cho‌‌‌câu‌‌‌lệnh‌‌‌sau‌‌
if (x**2+y**2<=26) and (y>=x) :
z=x+y
else:
z=0.5

với x=1, y=5 thì ?
A. z có giá trị bằng 1
B. z có giá trị bằng 6
C. z có giá trị bằng 5
D. z có giá trị bằng 0.5


Câu‌29)‌Cho‌đoạn‌chương‌trình‌sau
if a>8: b = 3
else: b = 5
Khi a nhận giá trị là 0 thì b nhận giá trị nào?
A. 0
B. 5
C. 8
D. 3

Câu‌30)‌Chọn‌câu‌lệnh‌Python‌hợp‌lệ‌trong‌các‌câu‌sau:
A. if x = a + b : x = x + 1
B. if a > b: max := a
A. if a > b: max = a

else: max = b
D. if 5 == 6 ; x = 100

Câu‌31)‌Hãy‌cho‌biết‌giá‌trị ‌của‌biến‌X‌bằng‌bao‌nhiêu‌sau‌khi‌thực‌hi ện‌câu
lệnh:

X= 10
if 91%3 ==0:


X =X+20

A. 10
B. 30
C. 2
B. 1

Câu‌32)‌Hãy‌hồn‌thiện‌chương‌trình‌sau‌đây‌để‌đưa‌ra‌kết‌lu ận
về‌cân‌nặng‌(thiếu‌cân,‌đủ‌cân,‌thừa‌cân)‌dựa‌trên‌chỉ‌số‌BMI,
biết‌rằng‌chỉ‌số‌BMI‌được‌xác‌định‌theo‌cơng‌thức:

c = float(input(“nhập chiều cao = “))