wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

ctdchuong1

Total questions: 40

Worksheet time: 20mins

Name
Class
Date
1.

Chương trình dịch không có khả năng nào trong các khả năng sau?

a)

Phát hiện được lỗi ngữ nghĩa và tự động biểu diễn dữ liệu đầu vào

b)

Phát hiện được lỗi cú pháp

c)

Thông báo lỗi cú pháp

d)

Tạo được chương trình đích

2.

Phát biểu nào dưới đây đúng

a)

Chương trình là dãy các lệnh được tổ chức theo các quy tắc được xác định bởi ngôn ngữ lập trình cụ thể

b)

Trong chế độ thông dịch, mỗi câu lệnh của chương trình nguồn được dịch thành một câu lệnh của chương trình đích

c)

Mọi bài toán đều có chương trình để giải trên máy tính

d)

Nếu chương trình nguồn có lỗi cú pháp thì chương trình đích cũng có lỗi cú pháp

3.

Chương trình dịch là chương trình có chức năng

a)

Chuyển đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình thực hiện được trên máy

b)

Chuyển đổi chương trình được viết bằng ngôn ngữ lập trình Pascal thành chương trình thực hiện được trên máy

c)

Chuyển đổi chương trình được viết bằng ngôn ngữ máy thành chương trình thực hiện được trên máy

d)

Chuyển đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình hợp ngữ

4.

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

5.

Ngôn ngữ máy tính thường được dịch thành mã giả bằng ngôn ngữ

a)

Assembly (Hợp ngữ)

b)

Machine

c)

Pascal

d)

FORTRAN

6.

Đầu ra của bộ phân tích từ vựng là

a)

Tập các biểu thức chính quy

b)

Cây cú pháp

c)

Tập các từ tố (tokens)

d)

Chuỗi ký tự

7.

Các ôtômát hữu hạn trạng thái (Finite State Automata -- FSA) được sử dụng để

a)

Phân tích từ vựng

b)

Phân tích cú pháp

c)

Sinh mã

d)

Tối ưu mã

8.

Khái niệm nào của văn phạm được sử dụng trong chương trình dịch

a)

Phân tích từ vựng

b)

Phân tích cú pháp

c)

Sinh mã

d)

Tối ưu mã

9.

Trị từ vựng (lexeme) là

a)

Các định danh

b)

Các hằng số

c)

Các từ khóa

d)

Bao gồm cả ba (các định danh, các hằng số, và các từ khóa)

10.

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

a)

Chương trình được viết bằng ngôn ngữ máy

b)

Được dịch thành ngôn ngữ máy

c)

Chương trình ngôn ngữ máy được tạo ra, bắt nguồn từ ngôn ngữ bậc

d)

Chương trình viết bằng ngôn ngữ lập trình hướng đối tượng

11.

Những giai đoạn nào được xử lý trong một chương trình dịch?

a)

Phân tích thiết kế, lập trình, và kiểm thử

b)

Xây dựng chương trình và viết tài liệu

c)

Phân tích từ vựng, phân tích cú pháp, và sinh mã

d)

Đào tạo và hướng dẫn sử dụng phần mềm

12.

Luật mô tả cho từ tố const trong ngôn ngữ lập trình bậc cao (pascal, C,…) là:

a)

Từ khoá

b)

const

c)

Chuỗi các kí tự

d)

Chuỗi các chữ cái

13.

Luật nào sau đây mô tả từ tố Quan hệ trong ngôn ngữ C

a)

Dấu < hoặc > hoặc <= hoặc >= hoặc != hoặc =

b)

Dấu > hoặc < hoặc <= hoặc >= hoặc <> hoặc =

c)

Dấu > hoặc < hoặc <= hoặc >= hoặc <> hoặc = =

d)

Dấu > hoặc < hoặc <= hoặc >= hoặc !=hoặc = =

14.

Trong chương trình nguồn (ngôn ngữ Pascal): “var a: integer”. a là:

a)

Từ tố số nguyên

b)

Từ vựng

c)

Từ tố số thực

d)

Từ tố

15.

Trong chương trình nguồn (ngôn ngữ C): “int a” thì “int” là:

a)

Từ tố số nguyên

b)

Từ tố từ khóa

c)

Từ tố số thực

d)

Mẫu mô tả

16.

Trình biên dịch là một chương trình làm nhiệm vụ

a)

Đọc một chương trình được viết bằng một ngôn ngữ - ngôn ngữ nguồn (source language) - rồi dịch nó thành một chương trình tương đương ở một ngôn ngữ khác - ngôn ngữ đích (target languague).

b)

Kiểm tra lỗi phần mềm

c)

Diệt virus

d)

Đọc file có đuôi .pdf

17.

Các giai đoạn của biên dịch gồm

a)

Phân tích từ vựng; Phân tích ngữ nghĩa; Sinh mã trung gian; Tối ưu mã; Sinh mã đích

b)

Phân tích từ vựng; Phân tích cú pháp; Phân tích ngữ nghĩa; Sinh mã trung gian; Tối ưu mã; Sinh mã đích

c)

Phân tích từ vựng; Phân tích cú pháp; Phân tích ngữ nghĩa; Sinh mã trung gian; Tối ưu mã;

d)

Phân tích từ vựng; Phân tích cú pháp; Phân tích ngữ nghĩa; Sinh mã trung gian

18.

Trong một trình biên dịch thì Phân tích từ vựng là giai

a)

Thứ hai

b)

Thứ ba

c)

Thứ nhất

d)

Thứ tư

19.

Trong một trình biên dịch thì kết quả của giai đoạn Phân tích từ vựng làm đầu vào cho giai đoạn

a)

Phân tích cú pháp

b)

Phân tích ngữ nghĩa

c)

Sinh mã trung gian

d)

Sinh mã đích

20.

Các giai đoạn cần thực hiện của trình biên dịch có thể được nhóm thành

a)

Kỳ đầu (Front end) và kỳ sau (Back end).

b)

Kỳ đầu, kỳ giữa, và kỳ cuối

c)

Kỳ đầu, kỳ sau, và kỳ cuối

d)

Kỳ bắt đầu, kỳ phát triển, và kỳ kết thúc

21.

Trong một trình biên dịch thì giai đoạn “Sinh mã đích” là giai đoạn

a)

Bắt đầu

b)

Thứ hai

c)

Giữa

d)

Cuối cùng

22.

Trong một trình biên dịch, giai đọan phân tích từ vựng sẽ

a)

Đọc chương trình nguồn từ trái sang phải (quét nguyên liệu - scanning) để tách ra thành các thẻ từ (token).

b)

Đọc chương trình nguồn từ phải sang trái (quét nguyên liệu - scanning) để tách ra thành các thẻ từ (token).

c)

Đọc chương trình nguồn từ dưới lên trên (quét nguyên liệu - scanning) để tách ra thành các thẻ từ (token).

d)

Đọc chương trình nguồn từ trên xuống dưới (quét nguyên liệu - scanning) để tách ra thành các thẻ từ (token).

23.

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

a)

Việc kiểm tra xem chương trình nguồn có chứa lỗi về ngữ nghĩa hay không và tập hợp thông tin về kiểu cho giai đoạn sinh mã về sau.

b)

Phân tích cú pháp.

c)

Nhóm các từ tố và từ vựng

d)

Sinh mã giả asembly

24.

Trong một trình biên dịch, giai đoạn phân tích cú pháp

a)

Thực hiện sinh mã trung gian

b)

Thực hiện công việc nhóm các thẻ từ của chương trình nguồn thành các ngữ đoạn văn phạm (grammatical phrase), mà sau đó sẽ được trình biên dịch tổng hợp ra thành phẩm.

c)

Nhóm các ký tự

d)

Phân tích lỗi và thực hiện sinh

25.

Trong một trình biên dịch, bảng ký hiệu (symbol table) là

a)

Một cấu trúc dữ liệu mà mỗi phần tử là một mẩu tin dùng để lưu trữ một định danh, bao gồm các trường lưu giữ ký hiệu và các thuộc tính của nó.

b)

Một bảng cơ sở dữ liệu

c)

Một bảng không có cấu trúc

d)

Một danh sách các từ tố

26.

Luật nào sau đây mô tả Xâu trong ngôn ngữ C?

a)

Bất kỳ các kí hiệu nào nằm trong cặp dấu ‘’ ngoại trừ ‘

b)

Bắt đầu bằng dấu ‘ theo sau là không hoặc nhiều kí hiệu, theo sau là dấu ’

c)

Bất kỳ các kí hiệu nào nằm trong cặp dấu “” ngoại trừ

d)

Bắt đầu bằng dấu “ theo sau là không hoặc nhiều kí hiệu, theo sau là dấu ”

27.

Trong chương trình nguồn (ngôn ngữ C): “a = 1”. 1 là:

a)

Từ tố số nguyên

b)

Từ tố từ khóa

c)

Từ tố số thực

d)

Mẫu mô tả

28.

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

a)

Phân tích ngữ nghĩa sẽ thực hiện việc kiểm tra xem chương trình nguồn có chứa lỗi về ngữ nghĩa hay không và tập hợp thông tin về kiểu cho giai đoạn sinh mã về sau.

b)

Phân tích từ vựng sẽ thực hiện việc kiểm tra xem chương trình nguồn có chứa lỗi về ngữ nghĩa hay không và tập hợp thông tin về kiểu cho giai đoạn sinh mã về sau.

c)

Phân tích cú pháp sẽ thực hiện việc kiểm tra xem chương trình nguồn có chứa lỗi về ngữ nghĩa hay không và tập hợp thông tin về kiểu cho giai đoạn sinh mã về sau.

d)

Phân tích ngữ nghĩa và phân tích ngữ nghĩa sẽ thực hiện việc kiểm tra xem chương trình nguồn có chứa lỗi về ngữ nghĩa hay không và tập hợp thông tin về kiểu cho giai đoạn sinh mã về sau.

29.

Khi thực hiện phân tích ngữ nghĩa cho câu lệnh position = initial + rate * 10.5 thì trong chương trình nguồn của nó

a)

position, initial, rate phải khai báo là các biến số nguyên

b)

position, initial, rate phải khai báo là các biến số thực

c)

position, initial, rate phải khai báo là các biến số thực và số nguyên

d)

position, initial, rate phải khai báo là các biến kiểu chuỗi

30.

Khi thực hiện phân tích ngữ nghĩa cho câu lệnh position = initial + rate * 10 thì trong chương trình nguồn của nó

a)

position, initial, rate phải khai báo là các biến số nguyên

b)

position, initial, rate phải khai báo là các biến số thực

c)

position, initial, rate có thể được khai báo là các biến số thực và số nguyên

d)

position, initial, rate phải khai báo là các biến kiểu chuỗi

31.

Biết rằng các biến position, initial, rate được khai báo kiểu số thực thì khi thực hiện phân tích ngữ nghĩa cho câu lệnh position = initial + rate * 10, số 10 sẽ được ép thành kiểu số thực thành dạng như nào?

a)

10.00

b)

10.0001

c)

10.0002

d)

10.0

32.

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?

a)

Kỳ đầu (Front end), kỳ sau (Back end)

b)

Kỳ đầu, kỳ giữa, kỳ sau

c)

Kỳ đầu, kỳ giữa, kỳ sau, kỳ cuối

d)

Kỳ đầu, kỳ sau, kỳ cuối

33.

Cây phân tích cú pháp (parse tree) được xây dựng dựa trên ý tưởng

a)

Ngôn ngữ được đặc tả bởi các ký hiệu kết thúc. Phân tích cú pháp dựa vào luật sinh để xây dựng cây phân tích cú pháp

b)

Ngôn ngữ được đặc tả bởi các ký hiệu không kết thúc. Phân tích cú pháp dựa vào luật sinh để xây dựng cây phân tích cú pháp.

c)

Ngôn ngữ được đặc tả bởi các luật sinh. Phân tích cú pháp dựa vào luật sinh để xây dựng cây phân tích cú pháp.

d)

Ngôn ngữ được đặc tả bởi các ký hiệu kết thúc và không kết thúc. Phân tích cú pháp dựa vào luật sinh để xây dựng cây phân tích cú pháp.

34.

Giả sử ngôn ngữ đặc tả bởi các luật sinh sau: Stmt -> id := expr; expr -> expr + expr | expr expr | id | number; Với câu nhập vào là position := initial + rate 60 thì sẽ có một cây phân tích cú pháp được xây dựng. Khi duyệt cây phâp tích cú pháp này chúng ta sẽ có kết quả các từ tố (tokens) theo thứ tự là

a)

60, position, :=, initial, +, rate, *

b)

position, :=, initial, +, rate, *, 60

c)

:=, position, initial, +, rate, *, 60

d)

initial, position, :=, +, rate, *, 60

35.

Nếu ký hiệu chưa kết thúc A có luật sinh A → XYZ thì cây phân tích cú pháp có thể có một nút trong có nhãn A và có 3 nút con có nhãn tương ứng từ trái qua phải là

a)

X, Y, Z

b)

Z, Y, X

c)

Y, Z, X

d)

Z, X

36.

Dịch biểu thức trung tố (9 - 5) + 2 thành dạng biểu thức hậu tố của nó là

a)

9 5 - 2 +

b)

+ 9 5 - 2

c)

- 9 5 2 +

d)

2 9 5 - +

37.

Dịch biểu thức trung tố 9 - (5 + 2) thành dạng biểu thức hậu tố của nó là

a)

9 5 - 2 +

b)

9 5 2 + -

c)

- 9 5 2 +

d)

2 9 5 - +

38.

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 dùng 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à:

a)

Bắt đầu từ nút gốc, thăm lần lượt (đệ qui) các con của mỗi nút theo thứ tự từ trái sang phải.

b)

Bắt đầu từ nút con bên trái, thăm lần lượt (đệ qui) các con của mỗi nút theo thứ tự từ trái sang phải rồi lên nút gốc.

c)

Bắt đầu từ nút con bên phải, thăm lần lượt (đệ qui) các con của mỗi nút theo thứ tự từ trái sang phải rồi lên nút gốc.

d)

Bắt đầu từ nút gốc, thăm lần lượt (đệ qui) các con của mỗi nút theo thứ tự từ phải sang trái.

39.

Văn phạm với các luật sinh A->aA; A → XYZ có bao nhiêu ký hiệu chưa kết thúc?

a)

5

b)

4

c)

3

d)

2

40.

Văn phạm với các luật sinh A->aA; A → XYZ; A->b có bao nhiêu ký hiệu kết thúc?

a)

5

b)

4

c)

3

d)

2