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 2006

3 443 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 2006
Người hướng dẫn 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 2006
Thành phố Huế
Định dạng
Số trang 3
Dung lượng 253,89 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

ĐẠI HỌC HUẾ Số báo danh:

KỲ THI TUYỂN SINH SAU ĐẠI HỌC NĂM 2006

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 Xét đoạn chương trình sau:

function Power(n:byte):integer;

begin

if n=0 then Power:=1

else

if (n mod 2)=0 then Power:=sqr(Power(n div 2))

else Power:=2*sqr(Power(n-1)div 2));

end;

a Tính Power(20)

b Xét độ phức tạp tính toán của chương trình trên

Câu 2 Xét dãy số: 12, 10, 5 , 19, 7, 16 Hãy cho biết diễn biến dãy số này (sự thay

đổi mỗi lúc có hoán đổi giá trị) khi việc sặp xếp được thực hiện theo thứ tự tăng dần bằng phương pháp nỗi bọt (Bubble Sort)

Câu 3 Một trung tâm đào tạo Tin học cần quản lý việc học của học viên theo

chứng chỉ môn học Trong mỗi kỳ, trung tâm lưu giữ thông tin về kết quả học tập

của các học viên trong một danh sách liên kết với nút đầu được trỏ bởi con trỏ F (gọi à danh sách học viên F) Mỗi nút của danh sách là một bản ghi gồm 3 trường:

• Trường Down: Lưu địa chỉ của nút tiếp theo trong danh sách học viên

• Trường Hoten: Lưu họ tên học viên (trường khóa của danh sách học viên)

• Trường DsMon: Lưu địa chỉ của nút đầu của một danh sách khác chứa các

kết quả các môn học mà học viên này đăng ký học trong học kỳ đó (gọi là danh sách môn hộc)

Mỗi nút của danh sách môn học gồm các trường:

• Trường TenMH: Tên của môn học (khóa)

• Trường Diem: Điểm thi kết thúc môn học này của học viên

• Trường Next: Lưu địa chỉ nút tiếp theo của danh sách môn học

Lưu ý rằng chỉ có danh sách học viên được sắp xếp theo thứ tự tăng dần của

Hoten

Khai báo CTDL:

type St20=String[20];

TroMH=^MonHoc;

MonHoc = record

TenMH:st20;

Diem:byte;

Next:TroMH;

Trang 2

TroHV=^HocVien;

HocVien = record

HoTen:st20;

down: TroHV;

DsMon: TroMH;

end;

var F:TroHV;

a Viết hàm:

Function TimHV(F: TroHV; Name:St20):TroHV;

Trả về địa chỉ của nút thuộc danh sách học viên F có giá trị trường

Hoten=Name, hoặc trả về giá trị NIL nếu trong danh sách F không có học

viên nào có họ tên là Name

b Viết hàm:

Function TimMH(F: TroHV; Subject:st20):TroMH;

Trả về địa chỉ của nút thuộc danh sách môn học P (nút đầu trỏ bởi P) có giá trị trường TenMH=Subject, hoặc trả về giá trị NIL nếu trong danh sách P không có môn học nào có tên Subject

c Viết thủ tục:

Procedure Bosung(F: TroHV; Name,Subject:st20);

Để bổ sung một học viên có tên Name vào danh sách F nếu chưa có học viên

đó và học viên này có danh sách môn học đăng ký ban đầu gồm 1 môn học

Subject Nếu đã có học viên này, thì bổ sung một môn học có tên Subject

vào cuối danh sách môn học của học viên đó, nếu môn học này chưa có trong danh sách; ngược lại, không làm gì cả

d Viết thủ tục:

Procedure Capnhat(F: TroHV; Name,Subject:st20; Mark:byte);

Để cập nhật điểm thi Mark của môn học Subject cho học viên Name Nếu không tìm thấy học viên Name thì thực hiện việc bổ sung học viên Name và môn học Subject kèm điểm số Mark tương ứng Nếu không thấy môn học

Subject của học viên Name thì thực hiện việc bổ sung môn học Subject kèm

số điểm Mark

e Viết thủ tục:

Procedure InDSHV(F: TroHV);

Thực hiện việc in danh sách học viên và điểm của từng môn học đăng kí kèm điểm trung bình của mỗi học viên, điểm trung bình bằng tổng tất cả các cột điểm chia cho số lượng môn học đã đăng ký In danh sách theo mẫu:

DANH SACH HOC VIEN

1 Le Van A: Tin(9), Pascal(10) – DTB: 9.50

2 Le Van B: word(5), Excel(8) – DTB: 6.50

Câu 4 Cho cây nhị phân

type TroNut=^Nut;

Nut = record

Giatri:integer;

Left,Right:TroNut;

Trang 3

var T:TroNut;

a Viết hàm:

ChieuCao(T:TroNut):byte;

Trả về chiều cao của cây nhị phân T

b Xét một danh sách liên kết F:

type TroNutDS=^NutDS;

NutDS = record

Giatri:integer; {lưu giá trị 1 nút trên cây} Muc:byte; {lưu mức tương ứng của nút đó} Next:TroNutDS;

end;

var F:TroNutDS;

Giả sử ban đầu danh sách F đã được khởi tạo là danh sách rỗng Viết thủ tục

bằng đệ qui:

Ghi(T:TroNut; Var T:TroNutDS; level:byte);

Để tạo danh sách F và ghi thông tin trường giatri của mọi nút trên cây T vào danh sách F này, đồng thời mức của nút trỏ bởi T là level sẽ được gán cho trường Muc của F

c Giả sử thông tin trong cây nhị phân T đã được ghi vào danh sách T nhờ lời gọi Ghi(T,F,1) Viết hàm:

DemSoNut(F:TroNutDS, level:byte):integer;

Cho kết quả là số nút của danh sách F có giá trị trường Muc=level

d Viết hàm:

LaCayNPDD(T:Tronut):boolean;

Cho kết quả True nếu cây T là cấy nhị phân đầy đủ, ngượi lại trả về giá trị

False

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