Tổng hợp : Đề thi và đề cương tuyển sinh Cao học và nghiên cứu sinh môn Ngôn ngữ lập trình từ năm 1993-2007
Trang 1Đề 10 1/2
Đề thi tuyển NCS và Cao học 6/1994 (đề số 2)
Môn: Phương pháp lập trình
Thời gian: 180 phút – Được sử dụng tài liệu
Bài 1 Cho một thủ tục viết trên Pascal chuẩn như sau:
Procedure R(x,y:integer);
Begin
if y>0 then
begin
x:=x+1;
y:=y-1;
writeln(x,y);
R(x,y);
writeln(x,y);
end;
End;
a Thực hiện thủ tục trên với x = 5 và y = 3 Viết rõ các kết quả in ra
b Kết quả sẽ ra sao nếu x không phải là tham trị, mà là tham biến (thêm var trước x trong danh sách tham số)
Bài 2 Hãy viết một chương trinh đọc vào từ bàn phím một số nguyên không âm,
rồi hiển thị trở lại số đó theo cơ số 8 Chương trình viết theo 3 phương án khác nhau như sau:
a Dùng một mảng để lưu các giá trị trung gian trước khi in
b Dùng một danh sách tuyến tính móc nối để lưu các giá trị trung gian trước khi in
c Dùng kỹ thuật đệ quy
Bài 3 Xét một cây không rỗng, với hai loại nút: các nút min và các nút max Mỗi
nút có chứa một giá trị nguyên Ta định nghĩa giá trị của cây như sau:
1 Nếu gốc cây là một nút min, thì giá trị của cây là số nhỏ nhất trong các số:
- Số nguyên chứa tại gốc
- Giá trị của cây con trái (không xét đến khi cây con trái rỗng)
- Giá trị của cây con phải (không xét đến khi cây con phải rỗng)
2 Nếu gốc cây là một nút max, thì giá trị của cây là số lớn nhất trong các số
trên
a Hãy cho biết giá trị của cây sau đây
100
0
100
99
Ghi chú:
Nút max Nút min
Trình bày: Trần Hoài Nhân
Trang 2Đề 10 2/2
b Hãy khai báo trong Pascal một cây như trên, và viết một hàm (Function) cho
phép tính giá trị của cây trỏ bới một con trỏ T cho trước (giả thiết T<>NIL)
Trình bày: Trần Hoài Nhân