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 2007

2 343 2
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 cao học năm 2007
Tác giả Nguyễn Lý Hữu Huấ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 2007
Thành phố Huế
Định dạng
Số trang 2
Dung lượng 195,56 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

Nguyễn Lý Hữu Huấn

BỘ GIÁO DỤC VÀ ĐÀO TẠO Họ và tên thí sinh: ………

-

ĐỀ THI TUYỂN SINH CAO HỌC NĂM 2007

Môn thi: Ngôn ngữ lập trình

(Dành cho Cao học)

Thời gian làm bài: 180 phút

Câu 1: Cho chương trình con sau:

Function F(k, n: byte): longint;

Begin

If (k-0) or (k=n) then F:=1

Else F:=F(k-1, n-1) + F(k, n-1);

End;

a) Tính F(4, 8)

b) Viết lại chương trình con trên bằng phương pháp khử đệ quy

c) Xác định độ phức tạp tính toán của chương trình con trong câu trên (sử dụng phương pháp khử đệ quy)

Câu 2: Để quản lý phần Help các tên hàm của một ứng dụng, người ta sử dụng một

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

Name: Lưu tên hàm (là trường khóa của danh sách F và được sắp xếp theo thứ

tự tăng dần),

Description: Lưu lời giải thích về cách sử dụng hàm này,

Next: Lưu địa chỉ của nút tiếp theo trong danh sách F,

SeeAlso: Lưu địa chỉ nút đầu của một danh sách khác gồm các hàm có liên

quan đến hàm đó (gọi là danh sách hàm liên quan) Mỗi nút của danh sách hàm liên quan là một bản ghi gồm các trường:

TenHLQ: Tên của hàm liên quan Tiep: Lưu địa chỉ của nút tiếp theo trong danh sách hàm liên quan

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

Type St10 = String[10];

TroHLQ = ^HLQ;

HLQ = Record

TenHLQ: St10;

End;

TroHam = ^Ham;

Ham = Record

Name: St10;

Trang 2

Nguyễn Lý Hữu Huấn

End;

Var F: TroHam;

a) Viết hàm Addr(F: TroHam; TH: St10): TroHam trả về địa chỉ của nút thuộc

danh sách F có giá trị trường Name là TH, hoặc trả về giá trị nil nếu không có nút nào thỏa mãn điều kiện này

b) Sử dụng danh sách F, viết thủ tục Add_SeeAlso(F: TroHam; TH1, TH2: St10)

nhằm bổ sung một tên hàm liên quan mới TH2 vào cuối danh sách hàm liên quan với hàm TH1, và bổ sung một tên hàm liên quan mới TH1 vào cuối danh sách hàm liên quan với hàm TH2, với điều kiện các tên hàm TH1 và TH2 là đã có trong danh sách F

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

Type TroNut = ^Nut;

Nut = Record

Muc: Byte; {lưu mức của nút trên cây T}

Left, Right: TroNut; {lưu địa chỉ nút con trái và phải} End;

Var T: TroNut;

a) Viết thủ tục TinhMuc(T: TroNut) nhằm thay thế giá trị trường Muc của mỗi nút trên cây T bằng mức tương ứng của nút đó trên cây này

b) Giả sử giá trị trường Muc của tất cả các nút trên cây T đã được xác định Viết hàm DemSoNut(T: TroNut; Level: Byte): Integer cho kết quả là số nút của cây T có giá trị trường Muc bằng Level

Câu 4:

a) Viết thủ tục sắp xếp một mảng số nguyên theo kiểu lựa chọn bằng ngôn ngữ lập trình Pascal

b) Tại sao thời gian thực hiện của thuật toán sắp xếp lựa chọn độc lập với dữ liệu đang được sắp xếp?

c) Cho dãy số 4, 3, 8, 22, 1, 5 Khi sử dụng thuật toán sắp xếp lựa chọn, hãy cho biết kết quả biến đổi của dãy số này sau lần hoán vị đầu tiên

d) Trong trường hợp nào thì việc sử dụng thuật toán sắp xếp theo kiểu nổi bọt sẽ tốt hơn thuật toán sắp xếp theo kiểu lựa chọn?

-

Ghi chú: Cán bộ coi thi không 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