Đáp án B
Câu 10
Cho lược đồ dịch dùng để kiểm tra kiểu của một số khai báo trong pascal như sau:
D id : T {AddType(id.entry,T.type)}
T char {T.type := char}
T interger {T.type := interger}
T array [num..num] of T1 {T.type := array(num.val..num.val, T1.type)} T1.type)}
Xâu chương trình nguồn (ngôn ngữ pascal) là: a : array[1..10 ] of integer; Cây phân tích đánh dấu như sau:
Cho biết giá trị kiểu cúa nút T (nút đánh dấu đỏ) trên cây phân tích đánh dấu là gì ?
A) Int
B) Integer
D) Array(num ..num, integer)
Đáp án C
Câu 11
Cho lược đồ dịch dùng để kiểm tra kiểu của một số khai báo trong pascal như sau:
D id : T {AddType(id.entry,T.type)}
T char {T.type := char}
T interger {T.type := interger}
T ^T1 {T.type := pointer(T1.type)} Xâu chương trình nguồn (ngôn ngữ pascal) là: a : ^integer Xâu chương trình nguồn (ngôn ngữ pascal) là: a : ^integer
Cây phân tích đánh dấu như sau:
Cho biết giá trị kiểu cúa nút T (nút đánh dấu đỏ) trên cây phân tích đánh dấu là gì ? A) int B) integer C) Pointer(integer) D) Contro(integer) Đáp án B Câu 12
Cho lược đồ dịch dùng để kiểm tra kiểu của một số khai báo trong pascal như sau:
D id : T {AddType(id.entry,T.type)}
T char {T.type := char}
T interger {T.type := interger}
T ^T1 {T.type := pointer(T1.type)} Xâu chương trình nguồn (ngôn ngữ pascal) là: a : ^integer Xâu chương trình nguồn (ngôn ngữ pascal) là: a : ^integer
Cho biết giá trị kiểu cúa nút T (nút đánh dấu đỏ) trên cây phân tích đánh dấu là gì ? A) int B) integer C) Pointer(integer) D) Contro(integer) Đáp án C Câu 13
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 E1 + E2 {E.type:= if E1.type=interger and E2.type=interger then interger
else if E1.type=interger and E2.type=real then real else if E1.type=real and E2.type=interger then real else if E1.type=real and E2.type=real then real
else type_error}
E id {E.type := GetType(id. entry)}
Xâu chương trình nguồn (ngôn ngữ pascal) là: a : =a + b; (a, b là kiểu integer)
Hỏi giá trị thuộc tính của nút E là gì? A) E.type = integer B) E.val = integer C) E. type = void D) E.type = Type_error Đáp án A Câu 14
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 E1 + E2 {E.type:= if E1.type=interger and E2.type=interger then interger
else if E1.type=interger and E2.type=real then real else if E1.type=real and E2.type=interger then real else if E1.type=real and E2.type=real then real
else type_error}
E id {E.type := GetType(id. entry)}
Xâu chương trình nguồn (ngôn ngữ pascal) là: a : =a + b; (a, b là kiểu integer)
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 B) s.type = type_error C) s.type = integer D) s.type = int Đáp án A Câu 15
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
Xâu chương trình nguồn (ngôn ngữ pascal) là: a : =a mod b;
(a,b là kiểu số thực )
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 B) s.type = type_error