Trắc nghiệm Tin 10 Cánh diều Bài 1: Làm quen với ngôn ngữ lập trình bậc cao - Đề 10
Trắc nghiệm Tin 10 Cánh diều Bài 1: Làm quen với ngôn ngữ lập trình bậc cao - Đề 10 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.
Câu 1: Điều nào sau đây là đặc điểm chính của ngôn ngữ lập trình bậc cao so với ngôn ngữ lập trình bậc thấp?
- A. Tính trừu tượng cao, gần với ngôn ngữ tự nhiên, dễ đọc và dễ viết hơn.
- B. Khả năng truy cập trực tiếp vào phần cứng máy tính để tối ưu hiệu suất.
- C. Tốc độ thực thi chương trình nhanh hơn do không cần biên dịch hoặc thông dịch.
- D. Chỉ sử dụng các lệnh cơ bản, mã hóa trực tiếp các thao tác của CPU.
Câu 2: Trong các ngôn ngữ lập trình sau, ngôn ngữ nào được coi là ngôn ngữ lập trình bậc cao?
- A. Assembly
- B. Machine code
- C. Hợp ngữ
- D. Python
Câu 3: Tại sao chương trình viết bằng ngôn ngữ lập trình bậc cao cần phải được "dịch" trước khi máy tính có thể thực thi?
- A. Để tăng tính bảo mật cho chương trình.
- B. Vì máy tính chỉ có thể hiểu và thực thi ngôn ngữ máy (mã nhị phân).
- C. Để làm cho mã nguồn chương trình trở nên dễ đọc hơn.
- D. Để kiểm tra lỗi cú pháp trong chương trình.
Câu 4: Công cụ nào sau đây được sử dụng để "dịch" và thực thi chương trình viết bằng ngôn ngữ Python?
- A. Trình biên dịch (Compiler)
- B. Trình hợp ngữ (Assembler)
- C. Trình thông dịch (Interpreter)
- D. Bộ soạn thảo văn bản (Text Editor)
Câu 5: Lợi ích chính của việc sử dụng cửa sổ dòng lệnh (Shell) trong Python là gì?
- A. Cho phép thực thi từng dòng lệnh một cách tương tác và xem kết quả ngay lập tức.
- B. Cho phép viết và lưu trữ chương trình phức tạp gồm nhiều dòng lệnh.
- C. Tự động sửa lỗi cú pháp trong quá trình viết chương trình.
- D. Tăng tốc độ thực thi chương trình Python.
Câu 6: Xét đoạn mã Python sau: `print("10" + "20")`. Kết quả in ra màn hình sẽ là gì?
- A. 30
- B. 1020
- C. Lỗi cú pháp
- D. 2010
Câu 7: Trong Python, lệnh `print()` được sử dụng để làm gì?
- A. Nhập dữ liệu từ bàn phím.
- B. Thực hiện phép tính toán học.
- C. Lưu trữ dữ liệu vào bộ nhớ.
- D. Hiển thị thông tin ra màn hình.
Câu 8: Ngôn ngữ lập trình bậc cao nào sau đây thường được sử dụng trong lĩnh vực khoa học dữ liệu và học máy?
- A. C
- B. Java
- C. Python
- D. Assembly
Câu 9: Điều gì sẽ xảy ra nếu bạn viết `Print("Hello")` thay vì `print("Hello")` trong Python?
- A. Chương trình vẫn chạy bình thường.
- B. Python sẽ báo lỗi cú pháp vì Python phân biệt chữ hoa và chữ thường.
- C. Chương trình sẽ chạy nhưng không hiển thị gì ra màn hình.
- D. Python tự động sửa lỗi và chạy như `print("Hello")`.
Câu 10: Trong Python, để viết một đoạn văn bản (chuỗi) cần hiển thị, bạn cần đặt nó trong cặp dấu nào?
- A. Dấu ngoặc đơn ()
- B. Dấu ngoặc vuông []
- C. Dấu ngoặc nhọn {}
- D. Dấu nháy đơn (") hoặc nháy kép (
Câu 11: Cho đoạn mã Python: `x = 5`. `y = 10`. `print(x * y)`. Kết quả xuất ra màn hình là bao nhiêu?
- A. 15
- B. 50 (chuỗi)
- C. 50
- D. x * y
Câu 12: Ưu điểm nào sau đây KHÔNG phải là của ngôn ngữ lập trình bậc cao?
- A. Dễ học và dễ sử dụng.
- B. Truy cập trực tiếp vào phần cứng.
- C. Tính di động cao (chạy trên nhiều hệ điều hành).
- D. Giảm thời gian phát triển chương trình.
Câu 13: Trong ngôn ngữ lập trình, thuật ngữ "cú pháp" (syntax) đề cập đến điều gì?
- A. Ý nghĩa của các câu lệnh trong chương trình.
- B. Cách chương trình tương tác với người dùng.
- C. Bộ quy tắc về cách viết và cấu trúc câu lệnh hợp lệ của ngôn ngữ.
- D. Quá trình chuyển đổi mã nguồn thành mã máy.
Câu 14: Nếu bạn muốn thực hiện nhanh một phép tính đơn giản trong Python và xem ngay kết quả, bạn nên sử dụng môi trường nào?
- A. Cửa sổ Shell của Python.
- B. Trình soạn thảo mã nguồn (ví dụ: VS Code).
- C. Trình biên dịch Python.
- D. Hệ điều hành.
Câu 15: So sánh ngôn ngữ máy và ngôn ngữ lập trình bậc cao, phát biểu nào sau đây là ĐÚNG?
- A. Ngôn ngữ máy dễ học và dễ viết hơn ngôn ngữ lập trình bậc cao.
- B. Chương trình viết bằng ngôn ngữ bậc cao chạy nhanh hơn chương trình viết bằng ngôn ngữ máy.
- C. Ngôn ngữ máy phụ thuộc vào loại máy tính cụ thể, còn ngôn ngữ bậc cao có tính độc lập cao hơn.
- D. Cả hai loại ngôn ngữ đều không cần trình biên dịch hoặc thông dịch.
Câu 16: Ứng dụng nào sau đây KHÔNG phải là một lĩnh vực phổ biến của ngôn ngữ lập trình bậc cao?
- A. Phát triển ứng dụng web.
- B. Lập trình trò chơi điện tử.
- C. Xử lý dữ liệu lớn và phân tích.
- D. Điều khiển trực tiếp phần cứng ở mức độ bit.
Câu 17: Khi bạn khởi động Python và thấy dấu nhắc `>>>`, bạn đang ở trong môi trường làm việc nào?
- A. Môi trường soạn thảo mã nguồn.
- B. Môi trường Shell tương tác.
- C. Môi trường biên dịch.
- D. Môi trường gỡ lỗi.
Câu 18: Cho đoạn lệnh Python: `print(2 + 2 * 3)`. Kết quả in ra màn hình là bao nhiêu? (Chú ý đến thứ tự phép toán)
Câu 19: Nếu bạn muốn viết một chương trình Python dài hơn một vài dòng lệnh và muốn lưu lại để chạy lại sau này, bạn nên làm gì?
- A. Gõ trực tiếp tất cả các lệnh vào cửa sổ Shell.
- B. Viết mã nguồn trong trình soạn thảo văn bản, lưu thành file .py và chạy file đó.
- C. Sử dụng trình biên dịch để chuyển đổi mã Python sang ngôn ngữ máy trước.
- D. Chỉ có thể viết chương trình ngắn gọn trong Python.
Câu 20: Trong các ngôn ngữ lập trình bậc cao, quá trình "biên dịch" (compilation) có nghĩa là gì?
- A. Thực thi từng dòng lệnh mã nguồn ngay lập tức.
- B. Kiểm tra lỗi cú pháp trong mã nguồn.
- C. Dịch mã nguồn sang ngôn ngữ tự nhiên để người dùng dễ hiểu.
- D. Chuyển đổi toàn bộ mã nguồn thành mã máy trước khi thực thi.
Câu 21: "Tính dễ đọc" là một ưu điểm quan trọng của ngôn ngữ lập trình bậc cao. Điều này mang lại lợi ích gì trong quá trình phát triển phần mềm?
- A. Giúp máy tính thực thi chương trình nhanh hơn.
- B. Làm cho chương trình bảo mật hơn.
- C. Giúp các lập trình viên dễ dàng hiểu, sửa đổi và làm việc nhóm hiệu quả hơn.
- D. Giảm dung lượng bộ nhớ chương trình.
Câu 22: Cho biết ngôn ngữ lập trình bậc cao nào sau đây KHÔNG phải là ngôn ngữ thông dịch?
- A. C++
- B. Python
- C. JavaScript
- D. Ruby
Câu 23: Trong Python, bạn sử dụng ký hiệu nào để viết chú thích (comment) trong mã nguồn?
- A. //
- B. #
- C. /* ... */
- D. --
Câu 24: Xét đoạn mã Python sau: `print("Kết quả là", 100/25)`. Màn hình sẽ hiển thị gì?
- A. Kết quả là 100/25
- B. Kết quả là 4 (chuỗi)
- C. Kết quả là 4.0
- D. Lỗi cú pháp
Câu 25: Nếu một chương trình Python báo lỗi "SyntaxError", điều này có nghĩa là gì?
- A. Có lỗi về cú pháp, tức là viết không đúng quy tắc của ngôn ngữ Python.
- B. Chương trình cố gắng truy cập vào một vùng nhớ không hợp lệ.
- C. Có lỗi logic trong chương trình, dẫn đến kết quả sai.
- D. Máy tính không đủ bộ nhớ để chạy chương trình.
Câu 26: Trong ngôn ngữ lập trình, "tính di động" (portability) có nghĩa là gì?
- A. Khả năng chương trình chạy nhanh và hiệu quả.
- B. Khả năng chương trình có thể chạy trên nhiều hệ điều hành hoặc nền tảng phần cứng khác nhau mà không cần sửa đổi nhiều.
- C. Khả năng chương trình dễ dàng được mở rộng và nâng cấp.
- D. Khả năng chương trình bảo vệ dữ liệu khỏi truy cập trái phép.
Câu 27: Hãy sắp xếp các bước sau theo đúng thứ tự trong quy trình phát triển chương trình bằng ngôn ngữ lập trình bậc cao: 1. Viết mã nguồn; 2. Kiểm thử và gỡ lỗi; 3. Phân tích bài toán; 4. Biên dịch/Thông dịch.
- A. 1 - 3 - 4 - 2
- B. 3 - 1 - 2 - 4
- C. 4 - 3 - 1 - 2
- D. 3 - 1 - 4 - 2
Câu 28: Khi nào việc sử dụng ngôn ngữ lập trình bậc thấp (như Assembly) có thể được ưu tiên hơn so với ngôn ngữ bậc cao?
- A. Khi cần phát triển ứng dụng web nhanh chóng.
- B. Khi muốn chương trình dễ đọc và dễ bảo trì.
- C. Khi cần tối ưu hóa hiệu suất chương trình đến mức cao nhất và kiểm soát phần cứng trực tiếp.
- D. Khi phát triển ứng dụng trên nhiều nền tảng khác nhau.
Câu 29: Trong Python, bạn có thể sử dụng hàm `print()` để in ra nhiều giá trị trên cùng một dòng. Cho đoạn mã: `print("Giá trị x:", 10, "Giá trị y:", 20)`. Màn hình sẽ hiển thị như thế nào?
- A. Giá trị x: 10 Giá trị y: 20
- B. Giá trị x:10Giá trị y:20
- C. Giá trị x:, 10, Giá trị y:, 20
- D. Lỗi cú pháp
Câu 30: Bạn được yêu cầu viết một chương trình đơn giản để tính diện tích hình chữ nhật. Bạn nên chọn ngôn ngữ lập trình bậc cao hay bậc thấp? Giải thích ngắn gọn.
- A. Ngôn ngữ bậc cao. Vì bài toán đơn giản, ngôn ngữ bậc cao dễ viết, dễ đọc và nhanh chóng hoàn thành hơn.
- B. Ngôn ngữ bậc thấp. Vì ngôn ngữ bậc thấp cho phép kiểm soát phần cứng tốt hơn, chương trình chạy nhanh hơn.
- C. Cả hai đều được. Vì bài toán đơn giản, không có sự khác biệt lớn giữa hai loại ngôn ngữ.
- D. Không ngôn ngữ nào phù hợp. Cần sử dụng phần mềm chuyên dụng để tính diện tích hình chữ nhật.