Đáp án B Câu 16
Cho lược đồ dịch dùng để kiểm tra kiểu của một số biểu thức trong pascal như sau:
S id := E {S.type := if id.type=E.type then void else type_error}
E id {E.type := GetType(id. entry)}
E E1 mod E2 {E.type := if E1.type=interger and E2.type=interger then
interger
else type_error }
Xâu chương trình nguồn (ngôn ngữ pascal) là: a : =a mod b;
(a,b là kiểu số nguyên )
Cây phân tích đánh dấu như sau:
Hỏi giá trị thhuộc tính của nút S (nút được đánh dấu) là?
A) s.type = void
B) s.type = type_error
C) s.type = real;
D) s.type = float
Câu 17
Cho lược đồ dịch dùng để kiểm tra kiểu của một số biểu thức trong pascal như sau:
S id := E {S.type := if id.type=E.type then void else type_error}
E so {E.type := integer}
E id {E.type := GetType(id. entry)}
E E1 mod E2 {E.type := if E1.type=interger and E2.type=interger then
interger
else type_error }
Xâu chương trình nguồn (ngôn ngữ pascal) là: a : =a mod 2;
(a là kiểu số nguyên )
Cây phân tích đánh dấu như sau:
Hỏi giá trị thhuộc tính của nút S (nút được đánh dấu) là?
A) s.type = floats B) s.type = type_error B) s.type = type_error C) s.type = real; D) s.type = void Đáp án D Câu 18
Cho lược đồ dịch dùng để kiểm tra kiểu của một số biểu thức trong pascal như sau:
S id := E {S.type := if id.type=E.type then void else type_error}
E so {E.type := integer}
E id {E.type := GetType(id. entry)}
E E1 mod E2 {E.type := if E1.type=interger and E2.type=interger then
interger
else type_error }
Xâu chương trình nguồn (ngôn ngữ pascal) là: a : =a mod 2
A) s.type = int B) s.type = type_error B) s.type = type_error C) s.type = void D) s.type = integer Đáp án C Câu 19
Cho lược đồ dịch dùng để kiểm tra kiểu của một số câu lệnh trong pascal như sau:
S id := E {S.type := if id.type=E.type then void else type_error}
E id {E.type := GetType(id. entry)}
E E1 (E2) {E.type := if E2.type=s and E1.type=st then t else type_error}
Đoạn chương trình nguồn (ngôn ngữ pascal) là:
p:^interger; x:interger; function f(a,b:char):^interger; p:=f(x,y);
Hỏi giá trị kiểu của S trên cây phân tích đánh dấu của xâu “p:=f(x,y)” là: A) S.type = void B) S.type= integer C) E.type = type_error D) E.type = t Đáp án A Câu 20
Cho lược đồ dịch dùng để kiểm tra kiểu của một số câu lệnh trong pascal như sau:
S id := E {S.type := if id.type=E.type then void else type_error}
E id {E.type := GetType(id. entry)}
E E1 (E2) {E.type := if E2.type=s and E1.type=st then t else type_error}
Đoạn chương trình nguồn (ngôn ngữ pascal) là:
p:^interger; x, y:interger; function f(a,b:integer):^interger; p:=f(x,y);
Cây phân tích đánh dấu của xâu “p:=f(x,y)” là:
Hỏi giá trị kiểu của E (nút được đánh dấu) là gì?
A) E.type = integer B) E.type = pointer(integer) B) E.type = pointer(integer)