JavaScript is required
Danh sách đề

200+ câu hỏi trắc nghiệm Chương trình dịch có lời giải theo từng bước

50 câu hỏi 60 phút

Thẻ ghi nhớ
Luyện tập
Thi thử
Nhấn để lật thẻ
1 / 50

Các thành phần của ngôn ngữ lập trình là

A.

Chương trình thông dịch và chương trình biên dịch

B.

Chương trình dịch, bảng chữ cái, cú pháp, ngữ nghĩa

C.

Bảng chữ cái, cú pháp, ngữ nghĩa

D.

Tên dành riêng, tên chuẩn và tên do người lập trình định nghĩa

Đáp án

Ngôn ngữ lập trình bao gồm các thành phần cơ bản sau:

  • Bảng chữ cái: Tập hợp các ký tự được phép sử dụng trong ngôn ngữ.
  • Cú pháp: Các quy tắc để kết hợp các ký tự thành các câu lệnh có ý nghĩa.
  • Ngữ nghĩa: Ý nghĩa của các câu lệnh hợp lệ trong ngôn ngữ.
  • Chương trình dịch: (chương trình biên dịch/ thông dịch) được dùng để chuyển đổi mã nguồn viết bằng ngôn ngữ lập trình sang ngôn ngữ máy tính có thể hiểu và thực thi.

Do đó, đáp án B là đầy đủ và chính xác nhất.

Danh sách câu hỏi:

Câu 1:

Các thành phần của ngôn ngữ lập trình là

Lời giải:
Đáp án đúng: C

Ngôn ngữ lập trình bao gồm các thành phần cơ bản sau:

  • Bảng chữ cái: Tập hợp các ký tự được phép sử dụng trong ngôn ngữ.
  • Cú pháp: Các quy tắc để kết hợp các ký tự thành các câu lệnh có ý nghĩa.
  • Ngữ nghĩa: Ý nghĩa của các câu lệnh hợp lệ trong ngôn ngữ.
  • Chương trình dịch: (chương trình biên dịch/ thông dịch) được dùng để chuyển đổi mã nguồn viết bằng ngôn ngữ lập trình sang ngôn ngữ máy tính có thể hiểu và thực thi.

Do đó, đáp án B là đầy đủ và chính xác nhất.

Câu 2:

Chương trình đối tượng là:

Lời giải:
Đáp án đúng: C
Chương trình hướng đối tượng (Object-Oriented Programming - OOP) là một phương pháp lập trình dựa trên khái niệm "đối tượng", chứa dữ liệu (thuộc tính) và mã (phương thức) để thao tác dữ liệu đó. Do đó, chương trình hướng đối tượng là chương trình được viết bằng ngôn ngữ lập trình hướng đối tượng. Phương án A, B, C không phải là định nghĩa chính xác về chương trình hướng đối tượng. Chúng có thể liên quan đến quá trình biên dịch hoặc cách ngôn ngữ lập trình hoạt động, nhưng không đặc trưng cho lập trình hướng đối tượng.
Lời giải:
Đáp án đúng: A
Giai đoạn "Sinh mã đích" (Code Generation) là giai đoạn cuối cùng trong một trình biên dịch. Các giai đoạn trước đó như phân tích cú pháp, phân tích ngữ nghĩa, và tối ưu mã trung gian sẽ chuẩn bị dữ liệu và cấu trúc cần thiết để giai đoạn này tạo ra mã máy hoặc mã assembly tương ứng với kiến trúc đích. Mã này sau đó có thể được thực thi trực tiếp hoặc được biên dịch thêm.

Câu 4:

Trong một trình biên dịch, giai đoạn phân tích ngữ nghĩa sẽ thực hiện

Lời giải:
Đáp án đúng: A
Giai đoạn phân tích ngữ nghĩa (Semantic Analysis) trong trình biên dịch có nhiệm vụ chính là kiểm tra xem chương trình nguồn có tuân thủ các quy tắc ngữ nghĩa của ngôn ngữ lập trình hay không. Điều này bao gồm kiểm tra kiểu dữ liệu, kiểm tra tính hợp lệ của các phép toán, và các ràng buộc ngữ nghĩa khác. Ngoài ra, giai đoạn này cũng thu thập thông tin về kiểu dữ liệu và các thuộc tính khác của các thành phần trong chương trình, thông tin này sẽ được sử dụng trong giai đoạn sinh mã sau này. Phương án A mô tả chính xác nhiệm vụ của giai đoạn phân tích ngữ nghĩa. Các phương án khác không liên quan trực tiếp đến giai đoạn này: - Phương án B: Phân tích cú pháp là một giai đoạn trước đó, thực hiện việc xây dựng cây cú pháp từ mã nguồn. - Phương án C: Nhóm các từ tố và từ vựng là công việc của giai đoạn phân tích từ vựng (Lexical Analysis). - Phương án D: Sinh mã giả (Intermediate Code Generation) là một giai đoạn sau phân tích ngữ nghĩa.

Câu 5:

Các giai đoạn của một trình biên dịch (chương trình dịch) có thể được nhóm thành các nhóm nào?

Lời giải:
Đáp án đúng: A
Trình biên dịch thường được chia thành các giai đoạn, trong đó có thể nhóm thành các nhóm chính sau: * **Kỳ đầu (Front end):** Giai đoạn này xử lý mã nguồn, bao gồm các công đoạn như phân tích từ vựng, phân tích cú pháp, phân tích ngữ nghĩa và tạo ra biểu diễn trung gian (intermediate representation - IR). * **Kỳ giữa (Middle end/Optimizer):** Giai đoạn này tối ưu hóa biểu diễn trung gian để cải thiện hiệu suất của mã đích. Các kỹ thuật tối ưu hóa có thể bao gồm loại bỏ mã chết, lan truyền hằng số, tối ưu hóa vòng lặp, v.v. * **Kỳ sau (Back end):** Giai đoạn này tạo ra mã đích từ biểu diễn trung gian đã được tối ưu hóa. Giai đoạn này bao gồm chọn lệnh, cấp phát thanh ghi và phát sinh mã máy hoặc mã assembly. Vì vậy, đáp án chính xác nhất là: Kỳ đầu, kỳ giữa, kỳ sau.
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 8:

Quá trình dịch được cài đặt bằng cách đánh giá các luật ngữ nghĩa cho các thuộc tính trong cây phân tích cú pháp theo một thứ tự xác định trước. Ta ung phép duyệt cây theo chiều sâu để đánh giá quy tắc ngữ nghĩa. Thì thứ tự duyệt cây sẽ là:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 10:

Trong kiến trúc kỳ trước, kỳ sau. Kỳ sau gồm các giai đoạn:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 11:

Xây dựng bộ phân tích từ vựng trước hết

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 12:

Cho một văn phạm G, Mục LR(0) văn phạm là một luật sinh của G

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 13:

Phân tích cú pháp dự đoán không đệ qui cần:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 14:

Phương pháp phân tích cú pháp “Shift reduce” là

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 17:

Một ngôn ngữ là chính quy nếu và chỉ nếu

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 18:

Biểu thức nào không phải là biểu thức chính quy?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 20:

Có hai lớp văn phạm tuyến tính là?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 24:

Cho văn phạm G, với S là ký hiệu bắt đầu, phân tích xâu vào theo phương pháp phân tích LL(1), trạng thái thành công là:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 29:

Hai văn phạm được gọi là tương đương nếu:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 35:

Cho văn phạm gồm 5 luật sinh: (1) S->AB; (2) A->0A; (3) A->1; (4) B->1A; (5) B- >0. Phân tích xâu vào “1011” bằng thuật toán Bottom-up. Quá trình phân tích nào sau đây đạt trạng thái thành công?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 48:

Cho văn phạm ang cường gồm các luật sinh E’->E; E-> E+T ; E-> T; T- >T*F; T-> F; F- > € ; F-> id. Nếu I là tập bao đóng của văn phạm và là tập hợp chỉ gồm văn phạm {E’->.E} thì closure(I) bao gồm:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP