Đề thi có đáp án KHMT 11 kết nối: Đề cuối kì 2 - mẫu 5

Ma trận đề thi, đề kiểm tra môn Tin học 11 - Khoa học máy tính kết nối tri thức: Đề cuối kì 2 - mẫu 5. Cấu trúc đề thi bao gồm: trắc nghiệm, tự luận, hướng dẫn chấm điểmbảng ma trận. Đề thi, đề kiểm tra được giáo viên sử dụng để đánh giá kết quả học tập của học sinh sau khi kết thúc một học kì. Hy vọng tài liệu có thể giúp ích cho thầy cô trong quá trình dạy học.

Nội dung chi tiết

SỞ GD ĐT ……………….

Chữ kí GT1: ...........................

TRƯỜNG THPT……………….

Chữ kí GT2: ...........................

ĐỀ KIỂM TRA HỌC KÌ II

ĐỊNH HƯỚNG KHOA HỌC MÁY TÍNH 11 - KẾT NỐI TRI THỨC

NĂM HỌC: 2023 - 2024

Thời gian làm bài: … phút (Không kể thời gian phát đề)

Họ và tên: …………………………………… Lớp: ………………..

Số báo danh: …………………………….……Phòng KT:…………..

Mã phách

Điểm bằng số

Điểm bằng chữ

Chữ ký của GK1

Chữ ký của GK2

Mã phách

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

Khoanh tròn vào chữ cái đứng trước câu trả lời đúng:

Câu 1. Tính hiệu quả của chương trình/thuật toán được xem xét trên cơ sở đánh giá:

A. Ý tưởng thực hiện thuật toán.

B. Độ tin cậy của chương trình.

C. Độ phức tạp tính toán.

D. Tính đúng của thuật toán.

Câu 2. Lệnh tạo một danh sách liên kết kenhhoctap rỗng là:

A. kenhhoctap.

B. kenhhoctap.

C. Lkenhhoctap.

D. kenhhoctap.

Câu 3. Phát biểu nào sau đây sai khi nói về phương pháp thiết kế thuật toán và chương trình theo mô đun?

A. Phương pháp thiết kế thuật toán và chương trình theo mô đun sẽ tách bài toán lớn thành các bài toán nhỏ hơn.

B. Mỗi bài toán nhỏ được viết thành một mô đun con của chương trình.

C. Đầu ra của mô đun trước không thể là đầu vào của mô đun sau.

D. Các mô đun tương đối độc lập với nhau.

Câu 4. Hàm nào sau đây mô tả đúng thuật toán sắp xếp nổi bọt?

A. kenhhoctap B. kenhhoctap

C. kenhhoctap D. kenhhoctap

Câu 5. Quy tắc cộng để tính độ phức tạp thời gian thuật toán là:

A. O(f(n) + g(n)) = f(n) + g(n).

B. O(f(n) + g(n)) = O(f(n)) + O(g(n)).

C. O(f(n) + g(n)) = O(min(f(n), g(n))).

D. O(f(n) + g(n)) = O(max(f(n), g(n))).

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

A. Tại mỗi bước lặp của thuật toán sắp xếp chọn, cần tìm phần tử nhỏ nhất nằm trong dãy A[i], A[i+1],…, A[n-1] và đổi chỗ phần tử nhỏ nhất này với A[i].

B. Tại mỗi bước lặp của thuật toán sắp xếp chọn, cần tìm phần tử lớn nhất nằm trong dãy A[i], A[i+1],…, A[n-1] và đổi chỗ phần tử lớn nhất này với A[i].

C. Tại mỗi bước lặp của thuật toán sắp xếp chọn, cần tìm phần tử nhỏ nhất nằm trong dãy A[i], A[i+1],…, A[n] và đổi chỗ phần tử nhỏ nhất này với A[i].

D. Tại mỗi bước lặp của thuật toán sắp xếp chọn, cần tìm phần tử lớn nhất nằm trong dãy A[i], A[i+1],…, A[n] và đổi chỗ phần tử lớn nhất này với A[i].

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

A. Độ phức tạp không gian phụ thuộc vào khối lượng của dữ liệu cần phải lưu trữ trong quá trình thực hiện chương trình/thuật toán.

B. Độ phức tạp tính toán quan trọng nhất là độ phức tạp thời gian liên quan trực tiếp tới các câu lệnh được thực hiện trong chương trình/thuật toán.

C. Sử dụng các bộ dữ liệu kiểm thử có thể làm tăng độ tin cậy của chương trình và chứng minh được tính đúng của thuật toán.

D. Nếu với các bộ dữ liệu kiểm thử, dữ liệu đầu ra đều đúng thì điều đó chứng minh thuật toán hay chương trình đúng.

Câu 8. Danh sách liên kết đúng cấu trúc dữ liệu là:

A.

kenhhoctap

B.

kenhhoctap

C.

kenhhoctap

D.

kenhhoctap

Câu 9. Ma trận vuông kenhhoctap có:

A. kenhhoctap.

B. kenhhoctap.

C. kenhhoctap.

D. kenhhoctap.

Câu 10. Cấu trúc dữ liệu mảng một chiều trong Python có thể biểu diễn bằng kiểu dữ liệu:

A. int. B. array. C. str. D. list.

Câu 11. Lệnh nào sau đây hỗ trợ duyệt từng phần tử của mảng?

A. kenhhoctapkenhhoctap … B. kenhhoctapkenhhoctap

C. … kenhhoctap … D. kenhhoctap

Câu 12. Lệnh mở tệp để ghi dữ liệu từ đầu là:

A. kenhhoctap.

B. kenhhoctap.

C. kenhhoctap.

D. kenhhoctap.

Câu 13. Phát biểu nào sau đây sai khi nói về phương pháp làm mịn dần trong thiết kế chương trình?

A. Phương pháp làm mịn dần chia việc thiết kế thành từng bước và thực hiện lần lượt các bước.

B. Mỗi bước lớn có thể được chia thành nhiều bước nhỏ hơn để giải quyết độc lập.

C. Phương pháp làm mịn dần tiếp cận bài toán từ tổng quan đến chi tiết, mỗi bước tiếp theo sẽ phải là thiết kế đơn giản hơn bước trước đó.

D. Ở bước cuối cùng, các hành động tương ứng với các câu lệnh của ngôn ngữ lập trình để viết chương trình hoàn chỉnh.

Câu 14. Trong thuật toán sắp xếp chèn, vòng lặp for … in … được viết như thế nào?

A. kenhhoctap.

B. kenhhoctap.

C. kenhhoctap.

D. kenhhoctap.

Câu 15. Phép toán tích cực trong chương trình dưới đây nằm ở dòng thứ mấy?

kenhhoctap

A. 1. B. 2. C. 3. D. 4.

Câu 16. Thuật toán tìm kiếm nhị phân được thực hiện như sau:

- Thiết lập các giá trị left, right là chỉ số phần tử đầu và cuối của dãy A có n phần tử. Như vậy cần tìm K trong dãy A[left…right]. Ban đầu đặt left = 0, right = n – 1.

- So sánh K với phần tử giữa dãy A[mid], với mid là phần nguyên của phép chia
(left + right) cho 2. Nếu K < A[mid] thì giá trị left, right được cập nhật như thế nào?

A. Giá trị right = mid – 1, giữ nguyên giá trị left.

B. Giá trị left = mid – 1, giữ nguyên giá trị right.

C. Giá trị right = mid + 1, giữ nguyên giá trị left.

D. Giá trị left = mid + 1, giữ nguyên giá trị right.

Câu 17. Thuật toán tìm kiếm tuần tự có độ phức tạp là:

A. O(an). B. O(n). C. O(n!). D. O(n2).

Câu 18. Mỗi danh sách liên kết bao gồm mấy cấu trúc dữ liệu?

A. 1. B. 2. C. 3. D. 4.

Câu 19. Khi tính thời gian thực hiện chương trình, lệnh nào không tính là 1 đơn vị thời gian?

A. Lệnh gán.

B. Lệnh in.

C. Lệnh if với nhiều trường hợp rẽ nhánh.

D. Lệnh đọc dữ liệu.

Câu 20. Cho dãy A = [0, 1, 2, 6, 9, 15, 24]. Thuật toán tìm kiếm nhị phân cần thực hiện bao nhiêu lần duyệt để tìm ra phần tử có giá trị bằng 15 trong dãy?

A. 2. B. 3. C. 4. D. 5.

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

A. Thuật toán tìm kiếm tuần tự có thể duyệt từ đầu dãy hoặc từ cuối dãy.

B. Thuật toán tìm kiếm nhị phân được áp dụng cho các dãy được sắp xếp theo thứ tự xác định.

C. Thuật toán tìm kiếm tuần tự được thực hiện bằng cách duyệt lần lượt các phần tử của dãy từ đầu đến cuối để tìm phần tử có giá trị bằng giá trị cần tìm.

D. Thuật toán tìm kiếm nhị phân được thực hiện bằng cách liên tục mở rộng phạm vi tìm kiếm.

Câu 22. Phát biểu nào sau đây sai khi nói về ưu điểm của việc thiết kế thuật toán và chương trình theo mô đun?

A. Dễ dàng nâng cấp, thay đổi, chỉnh sửa chương trình.

B. Các mô đun được thiết lập một lần và sử dụng nhiều lần.

C. Khó bổ sung các mô đun mới.

D. Có thể chia sẻ trong môi trường làm việc nhóm.

Câu 23. Hàm làm tròn xuống của thư viện kenhhoctap là:

A. kenhhoctap.

B. kenhhoctap.

C. kenhhoctap.

D. kenhhoctap.

Câu 24. Mảng một chiều là:

A. A = [1.2, 1.4, 1.6, 1.8, 1.9].

B. B = [[“Jane”, 9.0], [“Mike”, 8.0], [“Jenny”, 8.5]].

C. C = [0, 7, “IT”].

D. D = [30, “Number”, 5.5].

PHẦN TỰ LUẬN (4,0 điểm)

Câu 1 (1,5 điểm) Tính độ phức tạp của các hàm thời gian sau:

a) T(n) = 3n4 – 2n + 5.

b) T(n) = n5 + 8n + 10nlogn + n!.

Câu 2 (1,5 điểm)

a) Em hãy nêu định nghĩa kí hiệu O-lớn.

b) Khi tính thời gian thực hiện chương trình, các phép toán nào được tính là 1 đơn vị thời gian?

Câu 3 (1,0 điểm) Em hãy viết hàm xoá node đầu tiên của danh sách không rỗng L và hàm tìm kiếm phần tử có khoá k trong danh sách L.

BÀI LÀM:

………………………………………………………………………………………....

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

………………………………………………………………………………………....

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

………………………………………………………………………………………....

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………

TRƯỜNG THPT ........

HƯỚNG DẪN CHẤM KIỂM TRA HỌC KÌ II (2023 - 2024)

MÔN: ĐỊNH HƯỚNG KHOA HỌC MÁY TÍNH 11 - KẾT NỐI TRI THỨC

A. PHẦN TRẮC NGHIỆM: (6,0 điểm)

Mỗi câu trả lời đúng được 0,25 điểm.

1 - C

2 - A

3 - C

4 - B

5 - D

6 - A

7 - B

8 - A

9 - C

10 - D

11 - B

12 - D

13 - C

14 - A

15 - C

16 - A

17 - B

18 - B

19 - C

20 - A

21 - D

22 - C

23 - D

24 - A

B. PHẦN TỰ LUẬN: (4,0 điểm)

Câu

Nội dung đáp án

Biểu điểm

Câu 1

(1,5 điểm)

a) Chọn c = 5, n0 = 2. Khi đó với n kenhhoctap n0, ta có:

T(n) = 3n4 – 2n + 5 < 3n4 + n4 + n04 kenhhoctap 3n4 + n4 + n4 = 5n4

= c.n4.

Do đó T(n) = O(n4).

0,75 điểm

b) T(n) = n5 + 8n + 10nlogn + n!

= O(max(n5, 8n, 10nlogn, n!)) = O(8n).

0,75 điểm

Câu 2

(1,5 điểm)

a) Các phép toán đơn giản như phép tính số học +, –, *, /, phép lấy thương nguyên và số dư, các phép so sánh và các phép toán logic cơ bản như AND, OR, NOT sẽ tính là 1 đơn vị thời gian.

b) Cho f(n) và g(n) là hai hàm có đối số tự nhiên.

Ta viết f(n) = O(g(n)) và nói f(n) có bậc O-lớn của g(n) nếu tồn tại hằng số c > 0 và số tự nhiên n0 kenhhoctap 1 sao cho với mọi
n kenhhoctap n0 ta có f(n) kenhhoctap c.g(n). Nếu f(n) là O-lớn của g(n) thì có thể viết: f(n) = O(g(n)).

0,75 điểm

0,75 điểm

Câu 3

(1,0 điểm)

kenhhoctap

0,5 điểm

0,5 điểm

TRƯỜNG THPT .........

MA TRẬN ĐỀ KIỂM TRA HỌC KÌ II (2023 - 2024)

MÔN: ĐỊNH HƯỚNG KHOA HỌC MÁY TÍNH 11 - KẾT NỐI TRI THỨC

NỘI DUNG

MỨC ĐỘ

Tổng số câu

Điểm số

Nhận biết

Thông hiểu

Vận dụng

VD cao

TN

TL

TN

TL

TN

TL

TN

TL

TN

TL

Dữ liệu mảng một chiều và hai chiều

2

2

4

1,0

Thực hành dữ liệu mảng một chiều và hai chiều

Bài toán tìm kiếm

2

1

3

0,75

Thực hành bài toán tìm kiếm

1

1

0,25

Các thuật toán sắp xếp đơn giản

2

1

3

0,75

Thực hành bài toán sắp xếp

Kiểm thử và đánh giá chương trình

2

2

0,5

Đánh giá độ phức tạp thời gian thuật toán

1

2

1

1

1

4

2

4,0

Thực hành xác định độ phức tạp thời gian thuật toán

Phương pháp làm mịn dần trong thiết kế chương trình

1

1

0,25

Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Thiết kế chương trình theo mô đun

2

2

0,5

Thực hành thiết kế chương trình theo mô đun

Thiết lập thư viện cho chương trình

1

3

1

4

1

2,0

Thực hành thiết lập thư viện chương trình

Tổng số câu TN/TL

4

0

17

1

3

2

0

0

24

3

10

Điểm số

1,0

0

4,25

1,5

0,75

2,5

0

0

6,0

4,0

10

Tổng số điểm

1,0 điểm

10 %

5,75 điểm

57,5 %

3,25 điểm

32,5 %

0 điểm

0 %

10 điểm

100 %

100%

TRƯỜNG THPT .........

BẢN ĐẶC TẢ KĨ THUẬT ĐỀ KIỂM TRA HỌC KÌ II (2023 - 2024)

MÔN: ĐỊNH HƯỚNG KHOA HỌC MÁY TÍNH 11 - KẾT NỐI TRI THỨC

Nội dung

Mức độ

Yêu cầu cần đạt

Số câu TL/

Số câu hỏi TN

Câu hỏi

TL

(số câu)

TN

(số câu)

TL

TN

CHỦ ĐỀ 6. KĨ THUẬT LẬP TRÌNH

3

24

Dữ liệu mảng một chiều và hai chiều

Nhận biết

- Mảng một chiều và mảng hai chiều.

2

C9

C24

Thông hiểu

- Biết cách thiết lập và làm việc với cấu trúc dữ liệu mảng một chiều và hai chiều.

2

C10

C11

Vận dụng

- Thực hiện được lệnh và chương trình làm việc đơn giản với mảng như khởi tạo mảng, tính toán đơn giản trên mảng một chiều và hai chiều.

Thực hành dữ liệu mảng một chiều và hai chiều

Vận dụng

- Sử dụng được mảng một chiều và hai chiều trong lập trình.

- Ứng dụng kiểu dữ liệu list để thể hiện mảng một và hai chiều trong các bài toán cụ thể.

- Viết được các câu lệnh để khai báo mảng một chiều và hai chiều, thực hiện một số thao tác cơ bản với mảng như thêm và duyệt phần tử, tính độ dài của mảng.

Bài toán tìm kiếm

Thông hiểu

- Biết được ý nghĩa, cách thực hiện của bài toán tìm kiếm trên thực tế.

2

C16

C21

Vận dụng

- Thực hiện được các chương trình tìm kiếm tuần tự và tìm kiếm nhị phân trên một mảng dữ liệu tuyến tính.

1

C20

Thực hành bài toán tìm kiếm

Thông hiểu

- Biết được cách đọc dữ liệu từ tệp dữ liệu trong máy tính.

1

C12

Vận dụng

- Áp dụng được thuật toán tìm kiếm trong một vài bài toán cụ thể.

- Thực hiện được việc đọc và ghi dữ liệu vào tệp dữ liệu trong máy tính, có thể sử dụng thuật toán tìm kiếm tuần tự và tìm kiếm nhị phân để tìm kiếm một phần tử trong mảng.

Các thuật toán sắp xếp đơn giản

Nhận biết

- Một số thuật toán sắp xếp đơn giản.

Thông hiểu

- Hiểu được ý tưởng của một số thuật toán sắp xếp đơn giản.

2

C6

C14

Vận dụng

- Thực hiện được các thuật toán và chương trình sắp xếp đơn giản như sắp xếp chèn, sắp xếp chọn và sắp xếp nổi bọt.

1

C4

Thực hành bài toán sắp xếp

Thông hiểu

- Hiểu được hai thuật toán sắp xếp là sắp xếp chèn và sắp xếp chọn.

Vận dụng

- Thực hiện được hai thuật toán sắp xếp là sắp xếp chèn và sắp xếp chọn, có thể áp dụng hai thuật toán trên để sắp xếp dãy số theo thứ tự tăng hoặc giảm dần.

Kiểm thử và đánh giá chương trình

Thông hiểu

- Biết được vai trò của kiểm thử là làm tăng độ tin cậy của chương trình nhưng chưa chứng minh được tính đúng của chương trình.

- Biết được các tiêu chí đánh giá hiệu quả và tính đúng của chương trình.

2

C1

C7

Vận dụng

- Thực hiện được lập trình tính thời gian chạy của chương trình.

Đánh giá độ phức tạp thời gian thuật toán

Nhận biết

- Nhận biết được phép toán tích cực trong chương trình.

1

C15

Thông hiểu

- Biết cách phân tích độ phức tạp thời gian thuật toán.

- Biết được cách tính toán độ phức tạp thời gian của một số thuật toán đã biết.

1

2

C2

C5

C19

Vận dụng

- Biết và thực hiện được tính toán độ phức tạp thời gian của một số thuật toán đã biết.

1

1

C1

C17

Thực hành xác định độ phức tạp thời gian thuật toán

Vận dụng

- Thực hành xác định độ phức tạp (O-lớn) của hàm thời gian.

Phương pháp làm mịn dần trong thiết kế chương trình

Thông hiểu

- Biết và giải thích được phương pháp làm mịn dần trong lập trình.

1

C13

Vận dụng

- Vận dụng được phương pháp làm mịn dần để thiết kế chương trình.

Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Vận dụng

- Thực hành thiết kế chương trình theo phương pháp làm mịn dần.

Thiết kế chương trình theo mô đun

Nhận biết

- Nhận biết được lợi ích của phương pháp thiết kế chương trình theo mô đun.

Thông hiểu

- Biết và vận dụng được cách thiết kế chương trình theo mô đun cho một số bài toán cụ thể.

2

C3

C22

Thực hành thiết kế chương trình theo mô đun

Vận dụng

- Thực hành thiết kế một số chương trình hoàn chỉnh theo mô đun.

Thiết lập thư viện cho chương trình

Nhận biết

- Nhận biết một số hàm của thư viện math.

1

C23

Thông hiểu

- Hiểu được việc thiết lập thư viện cho chương trình.

- Trình bày được cấu trúc danh sách liên kết.

3

C2

C8

C18

Vận dụng

- Tạo được một thư viện nhỏ của người lập trình.

1

C3

Thực hành thiết lập thư viện chương trình

Vận dụng

- Viết được chương trình vận dụng những kiến thức tích hợp liên môn để giải quyết vấn đề.