1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

3 423 0
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đề thi tuyển sinh sau đại học năm 2005
Người hướng dẫn Trình Bày: Trần Hoài Nhân
Trường học Đại Học Huế
Chuyên ngành Ngôn ngữ lập trình
Thể loại Đề thi
Năm xuất bản 2005
Thành phố Huế
Định dạng
Số trang 3
Dung lượng 275,93 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

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 2005

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 danh sách liên kết đơn mà nút đầu trỏ bởi biến con trỏ First (gọi tắt là

danh sách First) có khai báo như trong chương trình chính:

TYPE TroNut=^Nut;

Nut=Record

Info:Integer;

Next:TroNut;

End;

Var First:TroNut;

Giả sử, giá trị trường Info của các nút thuộc danh sách First lần lượt là: 8, 4, 10,

9, 5 Hãy cho biết kết quả in ra màn hình khi máy thực hiện lời gọi chương trinh

con: Sort(First) biết rằng thủ tục Sort có nội dung như sau:

Procedure Sort(F:TroNut);

Var tam:integer;

Procedure List(F:TroNut);

Begin

if F<>nil then begin write(F^.info:5);List(F^.Next); end; End;

BEGIN

If (F<>nil)and(F^.Next<>nil) then

Begin

Sort(F^.Next);

If F^.info > F^.Next^.info then

Begin

Tam:=F^.info; F^.info:=F^.Next^.info;

F^.next^.info:=tam;

List(First);

writeln;

Sort(F^.Next);

End;

End;

END;

Câu 2 Thông tin về các môn học được đào tạo tại một khoa của một trường Đại

học có thể được lưu trữ trong một danh sách liên kết đơn vời nút đầu được trỏ bởi

FirstS có khai báo như sau ở chương trình chính:

Type st30=String[30];

TroMH=^NutMH;

Trang 2

NutMH=record

MaMH:integer; {Mã môn học: trường khóa}

TenMH:St30; {Tên môn học}

SoDVHT:byte; {Số đơn vị học trình}

Ne

end; xt:TroMH; {Địa chỉ nút tiếp theo trong danh sách}

Var FirstS:TroMH;

a Viết hàm

Function Addr(First: TroMH; BMaMH:integer):TroMH;

trả về địa chỉ của nút thuộc danh sách FirstS có mã môn học là BMaMH, hoặc trả về giá trị NIL nếu không có nút nào có mã môn học là BMaMH

b Để quản lý các môn học được phân công giảng dạy của mỗi giáo viên, người

ta lại sử dụng một danh sách liên kết đơn (gọi là danh sách giáo viên) với

nút đầu được trỏ bởi con trỏ FirstT Mỗi nút của danh sách giáo viên là một bản ghi gồm 4 trường: trường MaGV để lưu mã giáo viên (là trường khóa), trường HoTenGV để lưu họ tên giáo viên, trường Down lưu địa chỉ của nút tiếp theo, và trường DSM lưu địa chỉ nút đầu của một danh sách khác chứa

mã của môn học do giáo viên đó đảm nhiệm (gọi là danh sách môn học)

Mỗi nút của danh sách môn học là một bản ghi gồm 2 trường: MaM để lưu

mã môn học đã được đăng ký trong danh sách FirstS và trường Tiep lưu địa

chỉ của nút tiếp theo Lưu ý rằng:

• Danh sách giáo viên được sắp theo thứ tự tăng dần của MaGV

• Cho biết khai báo bổ sung của cấu trúc dữ liệu nói trên như sau:

type St25=String[25];

st8=string[8];

TroM=^NutM;

NutM=record

MaM:integer;

Tiep: TroM;

end;

TroGV=^NutGV;

NutGV=record

MaGV:st8;

HoTenGV:st25;

down: TroGV;

DSM: TroM;

end;

var FirstT:TroGV;

Viết hai thủ tục:

+ Procedure ListOfSubjects(FirstT:TroGV; BMaGV:st8);

để liệt kê các môn học do giáo viên có mã giáo viên là BMaGV đảm nhiệm

theo mẫu sau:

STT Tên môn học Số đơn vị học trình

Trang 3

+ Procedure ListOfTeachers(FirstT:TroGV; BMaM:integer);

để liệt kê các giáo viên đảm nhiệm môn học có mã môn học là BMaM theo

mẫu sau:

STT Họ và tên giáo viên

… …

Câu 3 Cho trước cây nhị phân Top (nút gốc trỏ bởi Top) có khai báo như sau:

type TroNutTrenCay = ^NutTrenCay;

NutTrenCay = record

Value:integer;

Left,Right:TroNutTrenCay;

end;

var Top:TroNutTrenCay;

a Viết hàm

Function Muc(Top,p:TroNutTrenCay):word;

trả về giá trị là mức (level) của một nút thuộc cây nhị phân Top được trỏ bởi con trỏ P

b Để biểu diễn một hàng đợi, người ta có thể sử dụng một danh sách liên kết

đơn vời nút đầu (lối trước) và nút cuối (lối sau) lần lượt trỏ bởi First và Last

Ngoài ra mỗi nút trên danh sách này còn có thể lưu địa chỉ của một nút thuộc

cây nhị phân Top Cụ thể ta có khai báo bổ sung như sau:

type TroNutTrenDS=^NutTrenDS;

NutTrenDS = record

Info: TroNutTrenCay;

{lưu địa chỉ của một nút thuộc cây nhị phân Top}

Next: TroNutNutTrenDS;

{lưu địa chỉ nút tiếp trong danh sách}

end;

var First, Last: TroNutTrenDS;

Viết hai thủ tục:

+ Procedure InsertQueue(var First,Last: TroNutTrenDS; X: TroNutTrenCay);

để bổ sung một nút mà trường Info có giá trị bằng X tại vị trí lối sau Last

+ Procedure DeleteQueue(var First,Last: TroNutTrenDS; var X: TroNutTrenCay);

để loại bỏ một nút tại vị trí lối trướng First và gán giá trị trường Info của nút này cho tham biến X

c Viết thủ tục

Procedure LietKe(Top: TroNutTrenCay);

nhằm liệt kê giá trị trường Value của mọi nút trên cây nhị phân Top, với yêu

cầu:

• Thứ tự các nút được liệt kê là theo thứ tự tăng dần của mức các nút trên cây

• Các nút có cùng mức được liệt kê theo thức tự từ trái sang phải

Ghi chú: Cán bộ coi thi không được giải thích gì thêm

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

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm