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
1/2 BỘ GIÁO DỤC & ĐÀO TẠO Họ và tên thí sinh: ĐẠI HỌC HUẾ Số báo danh: KỲ THI TUYỂN SINH SAU ĐẠI HỌC NĂM 2003 Môn thi: Ngôn ngữ lập trình (Dành cho cao học) Thời gian làm: 180 phút Câu 1. Cho chương trình: type link=^node; node = record key:integer;next:link; end; var i,N,M:integer; t,x:link; BEGIN read(N,M); new(t);t^.key:=1;x:=t; for i:=2 to N do begin nend; ew(t^.next);t:=t^.next; t^.key:=i; t^.next:=x; while t<>t^.next do begin for i:=1 to M-1 do t:=t^.next; write(t^.next^.key); x:=t^.next; t^.next:=t^.next^.next; dispose(x); end; wEND. riteln(t^.key); a. Cho biết kết quả sẽ được in ra màn hình khi thực hiện chương trình, nếu dữ liệu đưa vào N=5,M=3. b. Chương trình trên thực hiện công việc gì? Câu 2. Người ta biểu diễn thông tin các câu lạc bộ bóng đá chuyên nghiệp của một quốc gia dưới dạng một cây nhị phân tìm kiếm có khoá là TenCLB (tên câu lạc bộ). Mỗi nút của cây là một bản ghi gồm 4 trường: TenCLB và 3 trường con trỏ: Left, Right, First. Hai con trỏ Left và Right lần lượt trỏ tới hai nút con trái và con phải của nút đó, con trỏ First trỏ tới phần tử đầu của một danh sách liên kết đơn chứa thông tin các cầu thủ thuộc câu lạc bộ (danh sách này có ít nhất là 11 phần tử). Mỗi phần tử của danh sách này là một bản ghi gồm 4 trường: TenCT (tên cầu thủ), SoAo (số áo), Tuoi (tuổi) và Next (lưu địa chỉ của phần tử tiếp theo trong danh sách). Danh sách này được sắp theo thứ tự tăng dần của SoAo. Người ta cho khai báo của cấu trúc dữ liệu nói trên như sau: type St25=String[25]; TroCT=^Cauthu; Cauthu=record TenCT:St25; Trình bày: Trần Hoài Nhân 2/2 SoAo, Tuoi:byte; Next: TroCT; end; TroCLB=^nut; Nut = record TenCLB:st25; First:TroCT; Left, Right:TroCLB; end; var top:TroCLB; a. Viết thủ tục: Procedure List(Club:st25):byte; để in danh sách các cầu thủ trong câu lạc bộ có tên Club. b. Viết thủ tục: Procedure Bosung(ten:TroCLB; Club, Name:str25; t,m:byte); để bổ sung cầu thủ có tên Name, t tuổi và mang số áo m vào câu lạc bộ có tên là Club. Việc bổ sung này chỉ đuợc thực hiện trong trường hợp câu lạc bộ Club đã có trong cây và chưa có cầu thủ nào của câu lạc bộ mang số áo m. c. Viết thủ tục: Procedure Xoa(Club:st25; m:byte); để xoá cầu thủ mang số áo m ra khỏi câu lạc bộ Club. d. Viết hàm: Function TuoiMin(Club:st25):byte; cho biết tuổi của cầu thủ trẻ nhất trong câu lạc bộ có tên Club. Câu 3. Cho một chuỗi các chữ số nhị phân Tn được xác lập theo quy tắc sau: - T0 = 0 - Với i = 1,2,3,… Ti nhận được từ Ti-1 bằng cách thay đổi 0 bởi 01 và thay 1 bởi 10. Ví dụ: T0 = 0 T1 = 01 T2 = 0110 T3 = 01101001 Lập chương trình đọc vào một số tự nhiên n và hiễn thị chuỗi Tn. Câu 4. Viết chương trình đọc vào một số tự nhiên cơ số 10, cho in ra số đó dưới dạng cơ số 2. Ghi chú: Cán bộ coi thi không được giải thích gì thêm. Trình bày: Trần Hoài Nhân . danh:.................................................. KỲ THI TUYỂN SINH SAU ĐẠI HỌC NĂM 2003 Môn thi: Ngôn ngữ lập trình (Dành cho cao học) Thời gian làm: 180 phút Câu 1. Cho chương trình: type. T2 = 0110 T3 = 01101001 Lập chương trình đọc vào một số tự nhiên n và hiễn thị chuỗi Tn. Câu 4. Viết chương trình đọc vào một số tự nhiên cơ số 10,