Đề thi cuối kì 2 Khoa học máy tính 11 Cánh diều: Đề tham khảo số 1

Trọn bộ đề thi cuối kì 2 Khoa học máy tính 11 Cánh diều: Đề tham khảo số 1 bộ sách mới Cánh diều gồm nhiều câu hỏi ôn tập hay, các dạng bài tập phong phú giúp các em củng cố ôn luyện lại kiến thức thật tốt chuẩn bị tốt cho kì thi sắp tới. Tài liệu có kèm theo đáp án và lời giải chi tiết. Hi vọng đây sẽ là tài liệu hữu ích giúp các em đạt điểm cao. Thầy cô và các em kéo xuống để tham khảo ôn luyện

ĐỀ THI CUỐI HỌC KÌ 2 MÔN KHOA HỌC MÁY TÍNH 11

CÁNH DIỀU ĐỀ SỐ 1

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. Ma trận Đề thi cuối kì 2 Khoa học máy tính 11 Cánh diều: Đề tham khảo số 1 có:

  • Đề thi cuối kì 2 Khoa học máy tính 11 Cánh diều: Đề tham khảo số 1

Câu 2. Để sử dụng  như một thư viện cần khai báo như thế nào?

    • A.import*from lib                                           
    • B.  import lib from*
    • C.import*from lib                                                       
    • D. from lib import*  

Câu 3. Từkhoá để quy định: Nếu kết quả có nhiều dòng giống nhau thì chỉ một dòng được đưa vào kết quả là:

    • A.ONLY                                                                    
    • B. DISTINCT                                            
    • C. SEPARATE                                                        
    • D. UNIQUE   

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

  • A. Dãy số đã sắp thứ tự giảm dần (không tăng) có thể dùng hàm bisect_right (trong mô đun bisect) để tìm các vị trí phân chia dãy.              
  • B. Dãy số đã sắp thứ tự tăng dần (không giảm) có thể dùng hàm bisect_right (trong mô đun bisect) để tìm các vị trí phân chia dãy.        
  • C. Dãy số đã sắp thứ tự giảm dần (không tăng) có thể dùng hàm bisect_left (trong mô đun bisect) để tìm các vị trí phân chia dãy.        
  • D. Dãy số đã sắp thứ tự tăng dần (không giảm) có thể dùng hàm bisect_left (trong mô đun bisect) để tìm các vị trí phân chia dãy.

Câu 5. Phương thức nào trong Python thực hiện tìm kiếm phần tử trong một dãy tuần tự (xâu kí tự, mảng hoặc danh sách) và trả về vị trí của phần tử đó?

    • A. position() search()                                                           
    • B.index()  find()               
    • C.  find()                                                                 
    • D. search()    

Câu 6. Phương thức nào trong Python dùng để gỡ bỏ phần tử chỉ số  trong danh sách (ds )?

  • A. ds.pop(i)
  • B. ds.clear(i)
  • C. ds.remove(i)
  • D. ds.delete(i)

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

  • A. Thuật toán sắp xếp nhanh được thiết kế theo chiến lược “chia để trị”.
  • B. Thuật toán sắp xếp nhanh có thể áp dụng một trong hai lược đồ phân đoạn: theo Hoare hoặc theo Lomuto.
  • C. Lược đồ Hoare thực hiện phân đoạn bằng cách kiểm tra theo hai chiều, từ vị trí giữa tiến dần ra hai đầu dãy số, đổi chỗ để thoả mãn yêu cầu phân đoạn; kết thúc khi gặp nhau.
  • D. Lược đồ Lomuto thực hiện phân đoạn bằng cách kiểm tra theo một chiều từ trái sang phải, đổi chỗ và dịch chuyển dần vị trí phân tách hai dãy con cho đến khi thoả mãn yêu cầu phân đoạn.

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

    • A. Nếu i<j  mà $a_{i}$<$a_{j}$ thì cặp hai phần tử ($a_{i}$ ,$a_{j}$ ) gọi là một nghịch thế.
    • B. Nếu i<j  mà $a_{i}$>$a_{j}$ thì cặp hai phần tử ($a_{i}$ , $a_{j}$ ) gọi là một nghịch thế.         
    • C. Nếu i>j  mà $a_{i}$<$a_{j}$ thì cặp hai phần tử ($a_{i}$ , $a_{j}$ ) gọi là một nghịch thế.         
    • D. Nếu i>j  mà $a_{i}$>$a_{j}$ thì cặp hai phần tử ($a_{i}$ , $a_{j}$ ) gọi là một nghịch thế.

Câu 9. Phương án nào không phải là biện pháp bảo mật thông tin trong CSDL?

  • A. Mã hoá dữ liệu.
  • B. Giám sát hiệu suất CSDL.
  • C. Xác thực người truy cập.
  • D. Nén dữ liệu.

Câu 10. Vòng lặp 2 của thuật toán sắp xếp nổi bọt cần rà soát nghịch thế và đổi chỗ đến vị trí nào của dãy?

  • A.n-2  với n là độ dài của dãy.      
  • B. n với n là độ dài của dãy.                                   
  • C. n-1 với n là độ dài của dãy.                                
  • D. n+1 với n là độ dài của dãy.

Câu 11. Nhà quản trị CSDL cần cập nhật định kì nhu cầu mới về khai thác dữ liệu trong CSDL để:

  • A. Có những dự báo tương lai về: không gian lưu trữ của CSDL, công suất sử dụng CSDL.                                                                    
  • B. Phán đoán sự cố, nhanh chóng khắc phục các sự cố về CSDL.
  • C. Kiểm soát và đảm bảo tính toàn vẹn an toàn cho dữ liệu.                      
  • D. Đề xuất mở rộng, nâng cấp các khả năng đáp ứng trong CSDL.

Câu 12. Trong thuật toán Lomuto, pivot là phần tử ở vị trí nào của dãy số?

  • A. Vị trí chính giữa dãy số.                                     
  • B. Vị trí đầu dãy số.
  • C. Vị trí cuối dãy số.                                               
  • D. Vị trí bất kì.

Câu 13. Cú pháp khai báo mảng một chiều trong Python là:

  • Đề thi cuối kì 2 Khoa học máy tính 11 Cánh diều: Đề tham khảo số 1

Câu 14. Danh sách liên kết nào sau đây đúng cấu trúc dữ liệu?

  •  Đề thi cuối kì 2 Khoa học máy tính 11 Cánh diều: Đề tham khảo số 1

Câu 15. Kết quả của đoạn chương trình dưới đây là:

 Đề thi cuối kì 2 Khoa học máy tính 11 Cánh diều: Đề tham khảo số 1

  • A. a = [5, 9, 0, 1, 7, 2].                                             B. a = [5, 9, 0, 1, 7].
  • C. a = [9, 0, 1, 7, 2, 8].                                              D. a = [9, 0, 1, 7, 2].

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

  • A. Danh sách liên kết (linked list) cũng gọi là mảng móc nối, gồm các phần tử gọi là nút (node).                      
  • B. Một nút có hai thành phần: phần Data chứa địa chỉ của nút liền kề, phần liên kết gọi là Next.                      
  • C. Các nút danh sách liên kết không được lưu trữ thành một khối liên tục liền kề mà có thể nằm rải rác, tách rời nhau trong bộ nhớ.
  • D. Các nút trong danh sách liên kết có chỉ số giống như các phần tử của danh sách mảng.

Câu 17. Độ phức tạp thời gian của phép tìm kiếm nút chứa dữ liệu cần xử lí trong danh sách liên kết là:

  • A. 0(1)                         
  • B. 0($n^2$)  với n là số nút của danh sách.                      
  • C. 0($log_{2}n$) với n là số nút của danh sách.                          
  • D. 0(n) với n là số nút của danh sách.

Câu 18. Độ phức tạp thời gian của thuật toán là tuyến tính nếu:

  • Đề thi cuối kì 2 Khoa học máy tính 11 Cánh diều: Đề tham khảo số 1

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

  • A. Hiện nay, các môi trường tích hợp phát triển phần mềm IDE có công cụ soạn thảo chương trình nhằm hạn chế những sai sót có thể sinh ra lỗi cú pháp.
  • B. Lỗi thời gian chạy là chương trình đã biên dịch, chạy thử thành công một vài lần vẫn có thể đột ngột dừng giữa chừng hoặc chạy mãi không dừng.
  • C. Lỗi thời gian chạy hay xảy ra trong quá trình soạn thảo chương trình.
  • D. Người lập trình chỉ cần hiểu rõ ngôn ngữ lập trình mình sử dụng là có thể dễ dàng sửa lỗi cú pháp.

Câu 20. Quy ước nào đúng khi viết mã giả?

  • A. Số lần lặp biết trước: Phỏng theo mẫu lệnh  của Python.   
  • B. x=> 8 nghĩa là gán  nhận giá trị bằng 8.             
  • C. Cấu trúc rẽ nhánh (phép lựa chọn) dùng mẫu câu lệnh .           
  • D. Lời chú thích bắt đầu bằng dấu “//” cho đến hết dòng.

Câu 21. Phương án nào không phải là ưu điểm của lập trình theo phương pháp mô đun hoá?

  • A. Dễ kiểm thử và sửa lỗi hơn.                                
  • B. Tăng tốc độ thực hiện chương trình.
  • C. Khả năng tái sử dụng.   
  • D. Phối hợp cùng lập trình viên.

Câu 22. Nếu muốn in ra số thực với hai chữ số phần lẻ thì cần giữ chỗ bằng:

  • Đề thi cuối kì 2 Khoa học máy tính 11 Cánh diều: Đề tham khảo số 1

Câu 23. Hệ CSDL tập trung phù hợp với:

  • A. Hệ thống bán vé tàu hoả của Tổng công ty Đường sắt Việt Nam.
  • B. Các hệ thống dịch vụ dựa trên web.
  • C. Hệ thống thương mại điện tử.
  • D. Hệ thống tìm kiếm của Google.

Câu 24. Độ phức tạp thời gian của thuật toán sắp xếp chèn tuyến tính là:

  • Đề thi cuối kì 2 Khoa học máy tính 11 Cánh diều: Đề tham khảo số 1

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

Câu 1 (2,0 điểm): Em hãy nêu một vài thói quen lập trình tốt để chương trình ít lỗi và dễ gỡ lỗi.

Câu 2 (2,0 điểm): Em hãy viết chương trình Python thực hiện tìm kiếm nhị phân. 

Hướng dẫn trả lời:

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 - C2 - D3 - B4 - D5 - B6 - A7 - C8 - B
9 - B10 - A11 - D12 - C13 - D14 - B15 - D16 - C
17 - D18 - B19 - C20 - C21 - B22 - A23 - A24 - D

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

Câu 1:

- Không lập tức bắt đầu viết các câu lệnh ngay sau khi đọc xong bài toán lập trình và nảy ra ý tưởng (thuật toán) giải bài toán. Nên bắt đầu với việc tách biệt các phần công việc cần làm và thiết kế tổng thể chương trình. 

- Mô tả bằng liệt kê các bước, chọn những phần việc chuyển thành chương trình con (hàm tự định nghĩa), xác định rõ đầu vào, đầu ra của mỗi hàm. 

- Chọn tên gợi nhớ cho các hàm và các biến quan trọng, sao cho dễ nhận biết đó là cái gì, nó làm gì. Điều này giúp tránh nhầm lẫn khi viết câu lệnh và dễ phát hiện lỗi hơn.

- Viết chú thích đầy đủ, ngay trước hay ngay sau các khai báo tên hàm, tên biến quan trọng, các đoạn mã lệnh cần chú ý. Sau này, chính người lập trình có thể không còn nhớ mình có ý tưởng gì lúc viết các dòng lệnh đó. 

Câu 2:

 Đề thi cuối kì 2 Khoa học máy tính 11 Cánh diều: Đề tham khảo số 1

Từ khóa tìm kiếm:

Đề thi Khoa học máy tính 11 Cánh diều, trọn bộ đề thi Khoa học máy tính 11 cánh diều, đề thi cuối kì 2 Khoa học máy tính 11

Bình luận

Giải bài tập những môn khác