Đề kiểm tra Chương 1: Tìm hiểu khái niệm lập trình
Exam info
- Subject
- Lập trình cơ bản
- Exam type
- University
- Questions
- 30
- Duration
- 60 min
- Answers
- ✓ With explanations
- School
- Cao Đẳng Kinh Tế TPHCM
Questions (30)
- Q 1.
Trong tin học, một bài toán được cấu tạo bởi hai thành phần cơ bản là gì?
- A.
Input và Process
- B.
Input và Output
- C.
Input và Thuật toán
- D.
Output và Chương trình
- A.
- Q 2.
Theo nội dung chương, thuật toán được định nghĩa là gì?
- A.
Là một chương trình máy tính hoàn chỉnh để giải quyết vấn đề.
- B.
Là dãy hữu hạn các chỉ thị được định nghĩa rõ ràng để giải quyết một vấn đề cụ thể.
- C.
Là sơ đồ hình học mô tả các bước xử lý.
- D.
Là ngôn ngữ lập trình dùng để viết chương trình.
- A.
- Q 3.
Thuật toán có thể được biểu diễn bằng bao nhiêu cách theo nội dung bài học?
- A.
2 cách
- B.
3 cách
- C.
4 cách
- D.
5 cách
- A.
- Q 4.
Trong lưu đồ, ký hiệu nào dùng để chỉ thị bắt đầu và kết thúc?
- A.
Khối vào ra
- B.
Khối lựa chọn
- C.
Khối giới hạn
- D.
Khối thao tác
- A.
- Q 5.
Trong lưu đồ, ký hiệu nào dùng để mô tả bước rẽ nhánh theo điều kiện?
- A.
Khối giới hạn
- B.
Khối vào ra
- C.
Khối thao tác
- D.
Khối lựa chọn
- A.
- Q 6.
Mã giả (Pseudo Code) có đặc điểm nào sau đây?
- A.
Là ngôn ngữ chỉ gồm các ký hiệu 0 và 1 mà máy tính hiểu trực tiếp.
- B.
Dùng cú pháp gần với một ngôn ngữ lập trình để thể hiện thuật toán.
- C.
Chỉ sử dụng hình vẽ để biểu diễn.
- D.
Là ngôn ngữ tự nhiên không có quy tắc.
- A.
- Q 7.
Tính chất nào của thuật toán yêu cầu mỗi bước phải rõ ràng, chính xác và không mơ hồ?
- A.
Tính hữu hạn
- B.
Tính tổng quát
- C.
Tính xác định
- D.
Tính hiệu quả
- A.
- Q 8.
Tính chất nào của thuật toán đòi hỏi thuật toán phải cho ra kết quả sau một số bước hữu hạn?
- A.
Tính xác định
- B.
Tính hữu hạn
- C.
Tính tổng quát
- D.
Tính hiệu quả
- A.
- Q 9.
Tính tổng quát của thuật toán có nghĩa là:
- A.
Thuật toán phải được viết ngắn gọn nhất có thể.
- B.
Thuật toán phải áp dụng được cho mọi bài toán có dạng tương tự, không chỉ một trường hợp cụ thể.
- C.
Thuật toán phải được viết bằng ngôn ngữ máy.
- D.
Thuật toán phải có càng nhiều bước càng tốt.
- A.
- Q 10.
Một thuật toán có tính hiệu quả khi nào?
- A.
Khi nó sử dụng càng nhiều bộ nhớ càng tốt.
- B.
Khi nó được viết bằng ngôn ngữ lập trình bậc cao.
- C.
Khi nó thực hiện chính xác và trong khoảng thời gian cho phép với tài nguyên hợp lý.
- D.
Khi nó chỉ áp dụng được cho một bài toán cụ thể.
- A.
- Q 11.
Chương trình (program) trong tin học là gì?
- A.
Là tập hợp các dữ liệu được lưu trữ trên máy tính.
- B.
Là dãy các chỉ thị điều khiển sự hoạt động của máy tính nhằm giải quyết một công việc.
- C.
Là ngôn ngữ dùng để viết thuật toán.
- D.
Là sơ đồ mô tả các bước xử lý thông tin.
- A.
- Q 12.
Theo nội dung bài học, lập trình là gì?
- A.
Là việc thiết kế giao diện phần mềm cho người dùng.
- B.
Là sử dụng cấu trúc dữ liệu và các lệnh của ngôn ngữ lập trình để mô tả dữ liệu và diễn đạt thuật toán.
- C.
Là quá trình tìm lỗi trong chương trình đã viết.
- D.
Là quá trình dịch chương trình nguồn sang ngôn ngữ máy.
- A.
- Q 13.
Đặc điểm nào sau đây đúng với ngôn ngữ máy?
- A.
Các lệnh được mã hóa bằng các ký hiệu 0 và 1 và có thể nạp vào bộ nhớ thực hiện ngay.
- B.
Các lệnh gần với tiếng Anh, dễ học cho người mới.
- C.
Phải được dịch sang ngôn ngữ máy trước khi thực thi.
- D.
Không phụ thuộc vào cấu trúc phần cứng của máy.
- A.
- Q 14.
Hợp ngữ (Assembly Language) được đặc trưng bởi đặc điểm nào?
- A.
Sử dụng các từ viết tắt tiếng Anh để diễn tả câu lệnh, được xếp vào NNLT bậc thấp.
- B.
Hoàn toàn không phụ thuộc vào phần cứng.
- C.
Là ngôn ngữ lập trình bậc cao gần với ngôn ngữ tự nhiên.
- D.
Chỉ gồm các ký hiệu 0 và 1.
- A.
- Q 15.
Ngôn ngữ lập trình bậc cao có đặc điểm nổi bật nào?
- A.
Có thể nạp trực tiếp vào bộ nhớ và thực thi mà không cần dịch.
- B.
Phải được dịch sang ngôn ngữ máy bằng trình biên dịch/thông dịch trước khi thực thi.
- C.
Câu lệnh càng gần với mã nhị phân càng tốt.
- D.
Chỉ có một ngôn ngữ duy nhất tên là C++.
- A.
- Q 16.
Đặc điểm nào đúng với trình biên dịch (compiler)?
- A.
Dịch từng lệnh một và thực hiện ngay từng lệnh.
- B.
Dịch toàn bộ chương trình nguồn thành chương trình đích rồi mới thực hiện.
- C.
Không kiểm tra cú pháp chương trình nguồn.
- D.
Chỉ dùng được cho ngôn ngữ máy.
- A.
- Q 17.
Đặc điểm nào đúng với trình thông dịch (interpreter)?
- A.
Dịch toàn bộ chương trình nguồn sang mã máy trước, rồi mới thực thi.
- B.
Dịch từng lệnh một, dịch tới đâu thực hiện tới đó.
- C.
Tạo ra tập tin thực thi để chạy độc lập.
- D.
Chỉ hoạt động trên hệ điều hành Linux.
- A.
- Q 18.
Ngôn ngữ lập trình C++ được phát triển bởi ai và dựa trên ngôn ngữ nào?
- A.
Dennis Ritchie phát triển từ ngôn ngữ Pascal.
- B.
Bjarne Stroustrup phát triển từ ngôn ngữ C vào cuối thập niên 1970.
- C.
Guido van Rossum phát triển từ ngôn ngữ Java.
- D.
James Gosling phát triển từ ngôn ngữ Basic.
- A.
- Q 19.
Câu nào sau đây mô tả đúng đặc điểm của C++?
- A.
C++ là ngôn ngữ chỉ hướng đối tượng, không hỗ trợ lập trình hướng cấu trúc.
- B.
C++ là ngôn ngữ đa hướng, vừa hướng cấu trúc vừa hướng đối tượng.
- C.
C++ chỉ dùng được cho lập trình nhúng, không dùng cho ứng dụng desktop.
- D.
C++ là ngôn ngữ lập trình bậc thấp.
- A.
- Q 20.
IDE (Integrated Development Environment) là gì?
- A.
Là một ngôn ngữ lập trình bậc cao.
- B.
Là môi trường phát triển tích hợp, tích hợp nhiều chức năng như soạn thảo, biên dịch, gỡ lỗi.
- C.
Là trình biên dịch của ngôn ngữ máy.
- D.
Là một phần mềm hệ thống.
- A.
- Q 21.
Trong quy trình xây dựng chương trình C/C++, bước 'biên dịch' tạo ra sản phẩm nào?
- A.
Mã máy có thể nạp vào bộ nhớ thực thi ngay.
- B.
Mã đối tượng (Object code) - mã trung gian chưa phải mã máy.
- C.
Tập tin thực thi (.exe) đã hoàn chỉnh.
- D.
Sơ đồ lưu đồ của thuật toán.
- A.
- Q 22.
Đặc trưng cơ bản của phương pháp lập trình tuyến tính là gì?
- A.
Tư duy theo lối tuần tự từ đầu đến cuối, đơn giản, đơn luồng.
- B.
Chương trình = cấu trúc dữ liệu + giải thuật.
- C.
Đóng gói dữ liệu và sử dụng lại mã nguồn.
- D.
Phù hợp với mọi phần mềm lớn.
- A.
- Q 23.
Phát biểu nào đúng về phương pháp lập trình hướng cấu trúc?
- A.
Chương trình = cấu trúc dữ liệu + Giải thuật.
- B.
Chương trình = đối tượng + thông điệp.
- C.
Chương trình chỉ gồm một chuỗi các câu lệnh tuần tự.
- D.
Hỗ trợ sử dụng lại mã nguồn triệt để.
- A.
- Q 24.
Ưu điểm quan trọng nhất mà lập trình hướng đối tượng mang lại so với hướng cấu trúc là gì?
- A.
Tốc độ thực thi chương trình nhanh hơn.
- B.
Cú pháp đơn giản hơn.
- C.
Đóng gói dữ liệu và có thể sử dụng lại mã nguồn, khi thay đổi cấu trúc dữ liệu không cần thay đổi mã nguồn.
- D.
Chỉ cần học ngôn ngữ C là đủ.
- A.
- Q 25.
Xét bài toán giải phương trình bậc nhất với a, b là số thực. Hãy trình bày thuật toán giải bài toán này bằng ngôn ngữ tự nhiên và xác định rõ Input, Process, Output của thuật toán.
- Q 26.
Hãy so sánh ba cách biểu diễn thuật toán: ngôn ngữ tự nhiên, lưu đồ và mã giả. Nêu ưu, nhược điểm của từng cách và cho biết cách nào phù hợp khi trình bày thuật toán cho người cài đặt chương trình.
- Q 27.
Trình bày sự khác nhau giữa trình biên dịch (compiler) và trình thông dịch (interpreter). Lấy ví dụ minh họa cho từng loại.
- Q 28.
Hãy mô tả quy trình xây dựng một chương trình C/C++ từ lúc soạn thảo mã nguồn cho đến khi thực thi. Làm rõ vai trò của từng bước và sản phẩm tạo ra.
- Q 29.
So sánh ba phương pháp lập trình: tuyến tính, hướng cấu trúc và hướng đối tượng theo các tiêu chí: đặc trưng, ưu điểm, nhược điểm và phạm vi ứng dụng.
- Q 30.
Hãy viết lại thuật toán giải phương trình bậc nhất bằng mã giả (Pseudo Code). Giải thích ý nghĩa từng khối lệnh và đối chiếu với cách biểu diễn bằng ngôn ngữ tự nhiên đã học.
Answers and explanations are in mode.