Với kiểu bản ghi Date được khai báo như sau: Date = record ngay: 1..31; thang: 1..12; nam: integer; end; Cho biến hom_nay thuộc kiểu Date, ta có thể truy nhập trường ngày của biến hom_nay như sau:
A -
ngay
B -
hom_nay.ngay
C -
ngay.hom_nay
D -
hom_nay
2-
2 - Với kiểu bản ghi Date được khai báo như sau: Date = record ngay: 1..31; thang: 1..12; nam: integer; end; Cho biến hom_nay, hom_qua thuộc kiểu Date, ta viết các biểu thức và lệnh gán sau: 1, hom_qua < hom_nay 2, hom_qua.ngay := hom_nay.ngay 3, hom_qua :=hom_nay Những biểu thức và lệnh gán nào đúng?
A -
Chỉ có câu 1 đúng
B -
Chỉ có câu 2 đúng
C -
2 và 3 đúng
D -
Cả 3 câu đều đúng
3-
Có một khai báo kiểu số phức như sau var x,y, z: record phthuc, phao :real end; {pthuc: phần thực, phao: phần ảo} Để tính số phức z là tích của hai số phức x, y có các đoạn chương trình sau, phương án nào đúng
A -
z:=x*y;
B -
z:= (x.pthuc*y.pthuc, -x.phao *y.phao);
C -
begin z.phthuc := x.pthuc*y.pthuc; z.phao := -x.phao *y.phao; end;
D -
Cả B và C đều đúng
4-
Thủ tục tính khoảng cách giữa hai điểm viết như sau : type Diem = record hoanh, tung: real end; ..... function Kcach(x,y:diem): real;
Có những tuyên bố sau : 1) Sau khi dùng thủ tục new thì một biến kiểu con trỏ được sinh ra 2) Biến động được cấp phát bộ nhớ trong khi chạy chương trình còn biến tĩnh được cấp phát bộ nhớ trước khi chạy chương trình 3) Nếu p là một biến trỏ tới kiểu T thì p^ là một biến kiểu T 4) Nếu p là một biến trỏ tới kiểu T thì ^p là một biến kiểu T Những tuyên bố nào sai :
A -
1 và 2
B -
1 và 3
C -
1 và 4
D -
2 và 3
6-
Giả sử ta có một danh sách móc nối các số nguyên mà mỗi nút của danh sách có kiểu dữ liệu được mô tả như sau: type tronut = ^nut; nut = record so: integer; mocnoi : tronut end; Giả sử có các biến p,q,r ,s,t ...có cùng kiểu tronut trong đó p đang trỏ tới nút đầu tiên và nút cuối cùng có trường so chứa số 0. Trong các đoạn chương trình sau với mục đích thêm vào cuối cùng một nút và ghi vào đó giá trị 14 ta có các đoạn chương trình sau, đoạn nào đúng.
A -
. q:=p^.mocnoi; while q <> nil do q:= q^.mocnoi; new(q); q^.so := 14;
B -
q:=p^.mocnoi; while q <> nil do q:= q^.mocnoi new(q^.mocnoi); q^.so := 14;q^.mocnoi := nil;
C -
q:=p; while q^.mocnoi <> nil do q:= q^.mocnoi; new(q^.mocnoi); q:= q^.mocnoi; q^.so := 14; q^. mocnoi := nil
D -
Tất cả đều sai
7-
Giả sử ta có một danh sách móc nối các số nguyên mà mỗi nút của danh sách có kiểu dữ liệu được mô tả như sau: type tronut = ^nut; nut = record so: integer; mocnoi : tronut end; Giả sử có các biến p,q,r ,s,t ...có cùng kiểu tronut trong đó p đang trỏ tới nút đầu tiên và nút cuối cùng có trường so chứa số 0. Trong các đoạn chương trình sau với mục đích xoá tất cả các nút có trường số có giá trị là 2, đoạn chương trình nào đúng :
A -
q:=p^.mocnoi; while q <> nil do if q^.so = 2 then q:= q^.mocnoi
B -
r:= p; q:=p^.mocnoi; while q <> nil do if q^.so = 2 then r := q^.mocnoi else begin r:= q; q:= q^.mocnoi; end;
C -
r:= p; q:=p^.mocnoi; while q <> nil do if q^.so = 2 then r^.mocnoi := q^.mocnoi; q^ := q^.mocnoi; else begin r:= q; q:= q^.mocnoi; end
D -
r:= p; q:=p^.mocnoi; while q <> nil do if q^.so = 2 then r^.mocnoi := q^.mocnoi else begin q:= q^.mocnoi; r:= q; end;
8-
Giả sử ta có một danh sách móc nối hai chiều các số nguyên mà mỗi nút của danh sách có kiểu dữ liệu được mô tả như sau: type tronut = ^nut; nut = record so: integer; noitrai, noiphai : tronut end; Giả sử có các biến p đang chỉ vào một nút nào đó ở giữa còn q,r là các biến có kiểu tronut. Cần xoá nút đó. Có các đoạn chương trình sau, cái nào đúng:
Để mô tả một danh sách móc nối các số nguyên ta có các kiểu dữ liệu sau : type tronut = ^nut; nut = record so: integer; mocnoi : tronut end; Giả sử ta đr khai báo hai biến p và q có kiểu tronut và một danh sách móc nối có các nút kiểu nut nói trên và hiện đang có ít nhất một nút, với con trỏ p hiện đang trỏ vào nút đầu tiên. Cần lập một chương trình in ra danh sách tất cả các số trong danh sách. Ta có các đoạn chương trình sau.
A -
q:= p; while q <> nil do begin writeln(q.so); q:= q^.mocnoi; end;
B -
q:= p; while q^.mocnoi <> nil do begin writeln(q.so); q:= q^.mocnoi; end;
C -
q:= p; while q <> nil do writeln(q.so);
D -
Tất cả đều sai
10-
Có những tuyên bố sau đây : 1. Trong ngôn ngữ lập trình PASCAL, việc quản lý tệp giống như hệ điều hành quản lý tệp 2. Mọi dữ liệu của một chương trình PASCAL đều mất khi tắt máy hoặc dừng chương trình, trừ kiểu tệp 3. Trong turbo Pascal, chỉ có thể ghi vào cuối tệp khi hàm eof() đang nhận giá trị đúng, không thể ghi trực tiếp dữ liệu đè lên một thành phần đang tồn tại 4. Tệp là một cấu trúc dữ liệu mô tả một chuỗi có không hạn chế các đối tượng cùng kiểu. Các tuyên bố nào đúng: