Đề thi tuyển sinh Cao học và nghiên cứu sinh môn Ngôn ngữ lập trình 2004

2 391 1
Đề thi tuyển sinh Cao học và nghiên cứu sinh môn Ngôn ngữ lập trình 2004

Đang tải... (xem toàn văn)

Thông tin tài liệu

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ọ tên thí sinh: ĐẠI HỌC HUẾ Số báo danh: KỲ THI TUYỂN SINH SAU ĐẠI HỌC NĂM 2004 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 một chương trình viết trên Pascal như sau: var x:integer; procedure tanggiam(var x:integer; y:integer); begin writeln(x,y);x:=x+1; if y>0 then begin y:=y-1; tanggiam(x,y); writeln(x,y); end; end; BEGiN x:=3; tanggiam(x,x); END. Hãy viết các kết quả in ra khi thực hiện chương trình trên. Câu 2. Một người có thể biết nhiều ngoại ngữ khác nhau, vì vậy việc lưu trữ thông tin về trình độ ngoại ngữ của một số các bộ có thể tổ chức như sau: • Sử dụng một cây nhị phân tìm kiếm để lưu tên cán bộ theo khóa Ten, nút gốc của cây có địa chỏ là T. • Mỗi nút trên cây T, ngoài trường Ten, còn có trướng DSNN dùng để lưu địa chỉ nút đầu của một danh sách nối đơn. Trình độ ngoại ngữ của mỗi cán bộ được thể hiện trên mỗi danh sách nối đơn này với trường khóa là NgoaiNgu. Cấu trúc này được khai báo như sau: Type str20=Sring[20]; troNN=^NN; NN=record Ngoaingu:Str20; {ngoại ngữ: Anh, Phap, Nga,…} Capdo:Char {cấp độ: A, B, C} Next:TroNN; end; TroCB=^CB; CB=record Ten:Str20; {Tên cán bộ} DSNN:TroNN; Left, Right:TroCB; end; Var T:TroCB; Trình bày: Trần Hoài Nhân 2/2 a. Viết hàm: Function DinhViCB(f:TroCB; Name:Str20):TroCB; Cho kết quả là địa chỉ của một nút trên cây T mà trường Ten có giá trị là Name. Nếu không tìm thấy nút này thì hàm trả về giá trị NIL. b. Viết thủ tục: Procedure BoSungCB(var T:TroCB; Name:Str20); Để bổ sung một cán bộ mới vào cây T có trường Ten=Name DSNN=NIL. c. Viết thủ tục: Procedure CapNhat(T:TroCB; Name, FL:Str20; Level:Char); Để cập nhật thông tin “cán bộ có tên Name biết ngoại ngữ FL với cấp độ Level”. Lưu ý rằng: • Việc cập nhất này chỉ được thực hiện trong trường hợp có cán bộ có tên Name. Nếu không tìm được cán bộ có tên Name thì thông báo “Khong co can bo nay!”. • Nếu cán bộ tìm ra chưa biết ngoài ngữ FL, thì cần bổ sung thông tin này vào đầu danh sách móc nối đơn. • Nếu cán bộ tìm ra đã biết ngoại ngữ FL, thì chỉ thay đổi cấp độ cũ bởi cấp độ mới Level trong trường hợp cấp độ mới Level là lớn hơn cấp độ cũ. d. Viết thủ tục: Procedure InDS(T:TroCB); Để in ra danh sách tất cả cán bộ (theo thứ tự tăng dần của tên cán bộ) kèm khả năng ngoại ngữ, theo ví dụ mẫu như sau: TRÌNH ĐỘ NGOẠI NGỮ CỦA CÁC CÁN BỘ 1. AN: ANH-B 2. BINH: ANH-C, NGA-B, PHAP-A 3. CHI: Khong biet thu tieng nào … Câu 3. Cho cây nhị phân có khai báo như sau: Type TroNut=^Nut; Nut=record Info:integer; LEnd; eft,right:TroNut; Var T:TroNut; Cây T (nút gốc trỏ bởi T) được gọi là một “đống” nếu cây T là rỗng, hoặc cây T chỉ có một nút, hoặc cây T có tính chất sau: giá trị trường Info của bất kỳ nút N nào thuộc cây T đều lớn hơn giá trị trường Info của mọi nút thuộc cây con trái cây con phải của nút N đó. Viết hàm Function LaDong(T:TroNut):boolean; cho kết quả là True nếu cây T là một đống, ngược lại trả về giá trị False. 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 2004 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 một chương trình viết. thực hiện chương trình trên. Câu 2. Một người có thể biết nhiều ngoại ngữ khác nhau, vì vậy việc lưu trữ thông tin về trình độ ngoại ngữ của một số các

Ngày đăng: 02/11/2012, 15:37

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan