15 câu Trắc nghiệm Tin học 11 Cánh diều Bài 4: Làm mịn dần từng bước từ thuật toán đến chương trình máy tính có đáp án
Đề thi

15 câu Trắc nghiệm Tin học 11 Cánh diều Bài 4: Làm mịn dần từng bước từ thuật toán đến chương trình máy tính có đáp án

A
Admin
Tin họcLớp 1184 lượt thi
15 câu hỏi
1. Trắc nghiệm
1 điểm

PHẦN I. Câu trắc nghiệm nhiều phương án lựa chọn. Thí sinh trả lời từ câu 1 đến câu 10. Mỗi câu hỏi thí sinh chỉ lựa chọn một phương án.

Mã giả là gì?

Một ngôn ngữ lập trình để viết chương trình chi tiết

Một cách để mô tả thuật toán độc lập với ngôn ngữ lập trình

Một dạng mã lệnh thực thi trực tiếp trên máy tính

Một phương pháp chỉ có trong ngôn ngữ lập trình Python

Xem đáp án

Đáp án: B

Giải thích: Mã giả là cách mô tả thuật toán bằng văn bản gần giống với mã lệnh, nhưng không phụ thuộc vào ngôn ngữ lập trình cụ thể.

2. Trắc nghiệm
1 điểm

Mục đích chính của việc sử dụng mã giả là gì?

Giúp lập trình viên kiểm tra lỗi trong thuật toán

Tạo ra chương trình máy tính ngay lập tức

Mô tả thuật toán dễ hiểu và độc lập với ngôn ngữ lập trình

Tạo cấu trúc vòng lặp cho chương trình

Xem đáp án

Đáp án: C

Giải thích: Mã giả giúp mô tả thuật toán một cách rõ ràng và dễ hiểu, không phụ thuộc vào ngôn ngữ lập trình cụ thể.

3. Trắc nghiệm
1 điểm

Quy ước nào dưới đây thường được sử dụng khi viết mã giả?

Dùng từ khóa của ngôn ngữ lập trình C++

Sử dụng cú pháp chính thức của Python

Dùng cấu trúc lặp và rẽ nhánh dễ hiểu

Sử dụng ký hiệu ASCII cho mọi phép toán

Xem đáp án

Đáp án: C

Giải thích: Mã giả thường mô phỏng các cấu trúc điều khiển của ngôn ngữ lập trình bậc cao như rẽ nhánh và lặp, giúp người đọc dễ hiểu.

4. Trắc nghiệm
1 điểm

Trong mã giả, biểu tượng nào thường được dùng cho phép gán giá trị?

Dấu "="

Dấu mũi tên "<-"

Dấu ">"

Dấu ":"

Xem đáp án

Đáp án: B

Giải thích: Trong mã giả, dấu mũi tên "<-" thường được dùng để biểu thị phép gán giá trị.

5. Trắc nghiệm
1 điểm

Mã giả có ưu điểm gì so với các ngôn ngữ lập trình cụ thể?

Cho phép chạy chương trình ngay lập tức

Có thể hiểu được dễ dàng bởi người đọc không biết lập trình

Được hỗ trợ bởi tất cả các môi trường lập trình

Độc lập với ngôn ngữ lập trình cụ thể

Xem đáp án

Đáp án: D

Giải thích: Mã giả không phụ thuộc vào ngôn ngữ lập trình nào, giúp mô tả thuật toán một cách linh hoạt

6. Trắc nghiệm
1 điểm

Trong mã giả, khi mô tả cấu trúc lặp biết trước số lần, thường dùng câu lệnh nào?

while

if

for

until

Xem đáp án

Đáp án: C

Giải thích: Cấu trúc lặp với số lần biết trước thường được mô tả bằng câu lệnh "for" trong mã giả

7. Trắc nghiệm
1 điểm

Khi mô tả thuật toán kiểm tra số nguyên tố, tại sao chúng ta chỉ cần kiểm tra các số chia từ 2 đến √n?

Vì kiểm tra từ 2 đến √n là đủ để xác định tính nguyên tố

Vì kiểm tra từ 2 đến √n nhanh hơn kiểm tra toàn bộ các số

Vì các số lớn hơn √n không ảnh hưởng đến kết quả

Tất cả các đáp án trên đều đúng

Xem đáp án

Đáp án: D

Giải thích: Các số lớn hơn √n không cần kiểm tra vì nếu n chia hết cho một số lớn hơn √n thì đã có một số nhỏ hơn √n cũng chia hết.

8. Trắc nghiệm
1 điểm

Trong mã giả, khi mô tả một thuật toán kiểm tra số nguyên tố, bước nào sau đây là hợp lý?

Kiểm tra nếu n là số chẵn, n > 2, thì n không là số nguyên tố

Kiểm tra nếu n chia hết cho 3, thì n không là số nguyên tố

Chỉ kiểm tra các số nhỏ hơn n

Không cần kiểm tra n vì đã biết nó là số nguyên tố

Xem đáp án

Đáp án: A

Giải thích: Nếu n là số chẵn và lớn hơn 2, thì n không phải là số nguyên tố, vì số nguyên tố chỉ chia hết cho 1 và chính nó.

9. Trắc nghiệm
1 điểm

Thuật toán sàng Eratosthenes được dùng để làm gì?

Sàng lọc các số chẵn trong dãy

Tìm tất cả các số nguyên tố nhỏ hơn một số đã cho

Kiểm tra một số có phải là hợp số không

Sắp xếp các số từ nhỏ đến lớn

Xem đáp án

Đáp án: B

Giải thích: Thuật toán sàng Eratosthenes được sử dụng để tìm các số nguyên tố nhỏ hơn hoặc bằng một số cho trước.

10. Trắc nghiệm
1 điểm

Trong thuật toán sàng Eratosthenes, điều gì xảy ra với các số là bội của số nguyên tố?

Các số đó sẽ được đánh dấu là số nguyên tố

Các số đó sẽ được đánh dấu là hợp số

Các số đó sẽ bị xóa khỏi dãy số

Các số đó sẽ được sắp xếp lại trong dãy

Xem đáp án

Đáp án: B

Giải thích: Trong thuật toán sàng Eratosthenes, các số là bội của một số nguyên tố sẽ được đánh dấu là hợp số, vì chúng không phải là số nguyên tố.

11. Tự luận
1 điểm

PHẦN II. Câu trắc nghiệm đúng sai. Thí sinh trả lời từ câu 1 đến câu 2. Trong mỗi ý a), b), c), d) ở mỗi câu, thí sinh chọn đúng hoặc sai

Đâu là lợi ích chính của việc sử dụng mã giả trong quá trình phát triển thuật toán?

a) Giảm thiểu lỗi lập trình bằng cách kiểm tra cú pháp trong ngôn ngữ lập trình cụ thể.

b) Đảm bảo tính chính xác của thuật toán và dễ dàng chuyển đổi sang mã lệnh chương trình.

c) Được sử dụng làm tài liệu hướng dẫn chi tiết cho người dùng cuối.

d) Giúp tối ưu hóa mã lệnh để đạt hiệu suất cao nhất trong chương trình.

Xem đáp án

a) Sai. Mã giả không kiểm tra cú pháp vì nó độc lập với ngôn ngữ lập trình cụ thể. Mục đích của mã giả là mô tả ý tưởng, không phải để phát hiện lỗi cú pháp.

b) Đúng. Mã giả giúp mô tả thuật toán rõ ràng và dễ hiểu, đảm bảo tính chính xác và cho phép dễ dàng chuyển đổi sang mã lệnh chi tiết trong chương trình.

c) Sai. Mã giả thường không phải là tài liệu cho người dùng cuối; nó dành cho người lập trình hoặc kỹ sư để mô tả logic của thuật toán.

d) Sai. Mã giả không tập trung vào tối ưu hóa hiệu suất, mà chủ yếu là để mô tả thuật toán một cách dễ hiểu và chính xác.

12. Tự luận
1 điểm

Trong quá trình làm mịn dần các bước của thuật toán, tại sao lại cần chuyển từ mô tả bằng ngôn ngữ tự nhiên sang mã giả?

a) Vì ngôn ngữ tự nhiên quá ngắn gọn và dễ gây hiểu nhầm cho người đọc.

b) Vì mã giả giúp trình bày thuật toán một cách chi tiết và tiến gần hơn đến các câu lệnh của ngôn ngữ lập trình.

c) Vì mã giả sẽ loại bỏ hoàn toàn các ký hiệu và cú pháp của ngôn ngữ tự nhiên.

d) Vì mã giả phải tuân theo cú pháp chính thức của Python hoặc ngôn ngữ lập trình bậc cao.

Xem đáp án

a) Sai. Ngôn ngữ tự nhiên thường không ngắn gọn, nhưng nó có thể gây hiểu nhầm do cách diễn đạt không rõ ràng, không phải vì ngắn gọn.

b) Đúng. Mã giả giúp mô tả thuật toán một cách chi tiết, tiến gần hơn đến các câu lệnh của ngôn ngữ lập trình và giúp người đọc hiểu rõ từng bước thực hiện của thuật toán.

c) Sai. Mã giả vẫn có thể bao gồm các ký hiệu và cú pháp gợi nhớ từ ngôn ngữ tự nhiên hoặc toán học, chỉ cần dễ hiểu và không phụ thuộc vào ngôn ngữ lập trình.

d) Sai. Mã giả không cần tuân theo cú pháp chính thức của một ngôn ngữ lập trình cụ thể, nó chỉ mô phỏng các câu lệnh của ngôn ngữ lập trình để dễ dàng chuyển đổi thành chương trình chi tiết.

13. Tự luận
1 điểm

PHẦN III. Câu trả lời ngắn. Thí sinh trả lời từ câu 1 đến câu 3

Mã giả có điểm gì đặc biệt so với các ngôn ngữ lập trình khác?

Xem đáp án

Đáp án:Mã giả là một cách mô tả thuật toán độc lập với ngôn ngữ lập trình cụ thể nào.

Giải thích:Sự độc lập này cho phép các lập trình viên có thể dễ dàng chia sẻ và hiểu các thuật toán mà không bị ràng buộc vào cú pháp của một ngôn ngữ lập trình nhất định. Mã giả cũng giúp làm rõ ý tưởng chính của thuật toán mà không làm rối bởi các chi tiết kỹ thuật.

14. Tự luận
1 điểm

Tại sao việc "làm mịn dần" các bước mô tả thuật toán là cần thiết trong quá trình lập trình?

Xem đáp án

Đáp án:Việc làm mịn dần giúp chuyển đổi các mô tả bằng ngôn ngữ tự nhiên thành mã giả và sau đó là mã lệnh thực thi trong ngôn ngữ lập trình.

Giải thích:Quá trình này không chỉ giúp tăng tính chính xác mà còn đảm bảo rằng các bước thực hiện là rõ ràng và có thể được lập trình viên chuyển đổi thành các câu lệnh cụ thể một cách hiệu quả hơn. Điều này là cần thiết để tránh nhầm lẫn và lỗi khi triển khai thuật toán.

15. Tự luận
1 điểm

Thuật toán sàng Eratosthenes có ưu điểm gì khi tìm các số nguyên tố?

Xem đáp án

Đáp án:Thuật toán này hiệu quả hơn vì nó sử dụng phương pháp loại bỏ các bội số của các số nguyên tố để tìm các số nguyên tố nhỏ hơn hay bằng một số n cho trước.

Giải thích:Bằng cách đánh dấu các số không phải là số nguyên tố (hợp số) một cách hệ thống, thuật toán giảm thiểu số lượng phép kiểm tra cần thiết, từ đó tiết kiệm thời gian và tài nguyên so với các phương pháp kiểm tra từng số riêng lẻ.