S.typ e= float

Một phần của tài liệu Tổng hợp đề thi trắc nghiệm chương trình dịch Full (Trang 136 - 139)

Đá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=st 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=st 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)

Một phần của tài liệu Tổng hợp đề thi trắc nghiệm chương trình dịch Full (Trang 136 - 139)