200+ câu trắc nghiệm Chương trình dịch có đáp án - Phần 3
30 câu hỏi
Ðịnh nghĩa FOLLOW(A): (với A là một ký hiệu chưa kết thúc) là tập hợp
Các ký hiệu kết thúc a mà nó xuất hiện ngay sau A (bên phía phải của A) trong một dạng câu nào đó.
Các ký hiệu kết thúc a mà nó xuất hiện ngay trước A (bên phía trái của A) trong một dạng câu nào đó.
Nếu X là kí hiệu kết thúc thì FOLLOW(X) là {X}
Nếu X là kí hiệu kết chưa thúc thì {X} thuộc vào FOLLOW(X)
Chọn đáp án A
Phương pháp phân tích cú pháp “Shift reduce” là
Phân tích từ trên xuống
Phân tích từ dưới lên
Có thể phân tích từ trên xuống hoặc từ dưới lên
Phân tích thu gọn
Chọn đáp án B
Thuật toán bottom-up phân tích thành công khi
Xây dựng được cây suy dẫn với nút gốc là ký hiệu bắt đầu của văn phạm
Xây dựng được cây suy dẫn với nút gốc là một ký hiệu kết thúc của văn phạm
Xây dựng được cây suy dẫn với các nút lá là các ký hiệu kết thúc của văn phạm
Xây dựng được cây suy dẫn với các nút lá là các ký hiệu kết thúc và không kết thúc của văn phạm
Chọn đáp án A
Thuật toán bottom-up được xây dựng dựa trên ý tưởng
Thử sai và quay lui về ký hiệu kết thúc của văn phạm
Tham lam
Sử dụng stack và quy lui
Sử dụng stack và quy hoạch động
Chọn đáp án A
Cho trước văn phạm G thì mục đính tính FOLLOW và First của các ký hiệu văn phạm G là
Để xây dựng phương pháp Bottom-up
Để xây dựng bảng phân tích M
Để xây dựng bảng phân tích SLR
Để thăm dò khả năng phân tích cú pháp của chuỗi nhập vào
Chọn đáp án B
Phát biểu nào đúng?
Bộ phân tích cú pháp gạt-thu gọn (Shift – Reduce) cố gắng xây dựng một cây phân tích cú pháp cho chuỗi nhập bắt đầu từ nút lá và đi lên hướng về nút gốc. Tại mỗi bước thu gọn, một chuỗi con cụ thể đối sánh được với vế phải của một luật sinh nào đó thì chuỗi con này sẽ được thay thế bởi ký hiệu vế trái của luật sinh đó. Và nếu chuỗi con được chọn đúng tại mỗi bước, một dẫn xuất phải đảo ngược sẽ được xây dựng.
Bộ phân tích cú pháp gạt-thu gọn (Shift – Reduce) là phương pháp xây dựng một cây phân tích cú pháp cho chuỗi nhập bắt đầu từ nút lá và đi lên hướng về nút gốc. Tại mỗi bước thu gọn, một chuỗi con cụ thể đối sánh được với vế trái của một luật sinh nào đó thì chuỗi con này sẽ được thay thế bởi ký hiệu vế phải của luật sinh đó. Và nếu chuỗi con được chọn đúng tại mỗi bước, một dẫn xuất phải đảo ngược sẽ được xây dựng.
Bộ phân tích cú pháp gạt-thu gọn (Shift – Reduce) xây dựng một cây phân tích cú pháp cho chuỗi nhập bắt đầu từ nút lá và đi lên hướng về nút gốc. Tại mỗi bước thu gọn, một chuỗi con cụ thể đối sánh được với vế phải của một luật sinh nào đó thì chuỗi con này sẽ được thay thế bởi ký hiệu vế phải của luật sinh đó. Và nếu chuỗi con được chọn đúng tại mỗi bước, một dẫn xuất phải đảo ngược sẽ được xây dựng.
Bộ phân tích cú pháp gạt-thu gọn (Shift – Reduce) xây dựng một cây phân tích cú pháp cho chuỗi nhập bắt đầu từ nút lá và đi lên hướng về nút gốc. Tại mỗi bước thu gọn, một chuỗi con cụ thể đối sánh được với vế trái của một luật sinh nào đó thì chuỗi con này sẽ được thay thế bởi ký hiệu vế trái của luật sinh đó. Và nếu chuỗi con được chọn đúng tại mỗi bước, một dẫn xuất phải đảo ngược sẽ được xây dựng.
Chọn đáp án A
Trong chương trình nguồn (ngôn ngữ C): “a= 1”. Phát biểu nào sau đây SAI
“1” là trị từ vựng của từ tố số nguyên
“1” là mẫu mô mả của từ tố số nguyên
“1” là từ tố số nguyên
“1” là thuộc tính của từ tố số nguyên
Chọn đáp án B
Quá trình phân tích từ vựng cho câu lệnh gán: position = initial + rate*60 sẽ tách thành bao nhiêu từ tố?
4
5
6
7
Chọn đáp án D
Quá trình phân tích từ vựng cho câu lệnh gán: position = initial + rate*60 sẽ tách thành mấy loại từ tố?
5
4
3
2
Chọn đáp án A
Quá trình phân tích từ vựng cho câu lệnh gán: position = initial + rate*60 sẽ tách thành bao nhiêu Từ tố số nguyên?
4
3
2
1
Chọn đáp án D
Cho trước câu lệnh gán: position = initial + rate*60, trong phân tích từ vựng thì nhận định nào sau đây đúng?
“position” và “60” cùng là từ tố định danh (identify token)
“position” và “*” cùng là từ từ tố định danh
“position” và “initial” cùng là từ tố định danh
“position” và “+” cùng là từ tố định danh
Chọn đáp án C
Cho trước câu lệnh gán: x = y + z, trong quá trình phân tích từ vựng thì phát biểu nào sau đây đúng?
“x”, “y”, và “z” là các biến của một chương trình viết bằng ngôn ngữ C
“x”, “y”, và “z” là các từ tố định danh
“x”, “y”, và “+” là các từ tố định danh
“x”, “y”, và “+” là các biến của một chương trình viết bằng ngôn ngữ C
Chọn đáp án B
Quá trình phân tích từ vựng cho câu lệnh gán: x = y - a*2+b+c*8 sẽ tách thành bao nhiêu Từ tố số nguyên?
4
3
2
1
Chọn đáp án C
Quá trình phân tích từ vựng cho câu lệnh gán: x = 1.5*y +3.2 sẽ tách thành bao nhiêu Từ tố số thực?
4
3
2
1
Chọn đáp án C
Phát biểu nào sau đây đúng?
Trong quá trình phân tích từ vựng các khoảng trắng (blank) sẽ bị bỏ qua.
Trong quá trình phân tích từ vựng các khoảng trắng cũng được tính là các từ tố.
Trong quá trình phân tích từ vựng các khoảng trắng cũng được tính chung là một từ tố.
Trong quá trình phân tích từ vựng các khoảng trắng cũng được tính chung là hai từ tố.
Chọn đáp án A
Trong chương trình nguồn (ngôn ngữ C): printf(“Hello World!”) có những từ tố nào? A. Từ tố tên, dấu mở ngoặc, dấu đóng ngoặc
Từ tố từ khóa, tên, dấu mở ngoặc, dấu đóng ngoặc, dấu hỏi
Từ tố tên, dấu mở ngoặc, dấu đóng ngoặc, dấu phẩy
Từ tố từ khóa, dấu mở ngoặc, từ tố xâu, dấu đóng ngoặc
Chọn đáp án C
Trong chương trình nguồn (ngôn ngữ C): printf(“ max cua hai so %d”, max) có những từ tố nào?
Từ tố tên, dấu mở ngoặc, dấu đóng ngoặc
Từ tố từ khóa, tên, dấu mở ngoặc, dấu đóng ngoặc, dấu hỏi
Từ tố từ khóa, từ tố định danh, dấu mở ngoặc, từ tố xâu, dấu đóng ngoặc, dấu phẩy
Từ tố từ khóa, dấu mở ngoặc, từ tố xâu, dấu đóng ngoặc
Chọn đáp án C
Trong chương trình nguồn (ngôn ngữ C): printf(“ max cua hai so %d”, max) có bao nhiêu từ tố từ khóa?
0
1
2
3
Chọn đáp án B
Trong chương trình nguồn (ngôn ngữ C): printf(“ max cua hai so %d”, max) có bao nhiêu từ tố định danh?
0
1
2
3
Chọn đáp án B
Trong chương trình nguồn (ngôn ngữ C): printf(“ max cua hai so %d”, max) có bao nhiêu từ tố xâu?
0
1
2
3
Chọn đáp án B
Trong chương trình nguồn (ngôn ngữ C): printf(“Hello World!”) có bao nhiêu từ tố xâu?
0
1
2
3
Chọn đáp án B
Có bao nhiêu chuỗi có độ dài nhỏ hơn 4 chứa ngôn ngữ được miêu tả bởi biểu thức chính quy (How many strings of length less than 4 contains the language described by the regular expression) (x+y)*y(a+ab)*?
7
10
12
11
Chọn đáp án D
Biểu thức chính quy nào đúng?
(01)*0 = 0(10)*
(0+1)*0(0+1)*1(0+1) = (0+1)*01(0+1)*
(0+1)*01(0+1)*+1*0* = (0+1)*
Cả ba biểu thức đã cho đều đúng
Chọn đáp án D
Một ngôn ngữ là chính quy nếu và chỉ nếu
Được chấp nhận bởi DFA
Được chấp nhận bởi PDA
Được chấp nhận bởi LBA
Được chấp nhận bởi máy Turing
Chọn đáp án A
Biểu thức nào không phải là biểu thức chính quy?
[(a+b)*-(aa+bb)]*
[(0+1)-(0b+a1)*(a+b)]*
(01+11+10)*
(1+2+0)*(1+2)*
Chọn đáp án B
Biểu thức chính quy là
Ngôn ngữ thuộc lớp 0
Ngôn ngữ thuộc lớp 1
Ngôn ngữ thuộc lớp 2
Ngôn ngữ thuộc lớp 3
Chọn đáp án A
Văn phạm gồm các luật sinh: S->AA A->aa A->bb mô tả ngôn ngữ nào?
L = {aaaa,aabb,bbaa,bbbb}
L = {abab,abaa,aaab,baaa}
L = {aaab,baba,bbaa,bbbb}
L = {aaaa,abab,bbaa,aaab}
Chọn đáp án A
Biểu thức chính quy (x/y)(x/y) ký hiệu bởi tập?
{xy,xy}
{xx,xy,yx,yy}
{x,y}
{x,y,xy}
Chọn đáp án B
Văn phạm gồm các luật sinh: S->aSbb, S->abb là
Văn phạm lớp 3
Văn phạm lớp 2
Văn phạm lớp 1
Văn phạm lớp 0
Chọn đáp án B
Biểu thức chính quy x/y ký hiệu bởi tập
{x,y}
{xy}
{x}
{y}
Chọn đáp án A






