際際滷

際際滷Share a Scribd company logo
Nguy畛n L箪 H畛u Hu畉n
B畛 GIO D畛C V O T畉O H畛 v t棚n th鱈 sinh: .
畉I H畛C HU畉 S畛 b叩o danh: .
----------
畛 THI TUY畛N SINH CAO H畛C NM 2007
M担n thi: Ng担n ng畛 l畉p tr狸nh
(Dnh cho Cao h畛c)
Th畛i gian lm bi: 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 hm 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 hm (l tr動畛ng kh坦a c畛a danh s叩ch F v 動畛c s畉p x畉p theo th畛
t畛 tng d畉n),
Description: L動u l畛i gi畉i th鱈ch v畛 c叩ch s畛 d畛ng hm ny,
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 hm c坦 li棚n
quan 畉n hm 坦 (g畛i l danh s叩ch hm li棚n quan). M畛i n炭t c畛a danh s叩ch hm
li棚n quan l m畛t b畉n ghi g畛m c叩c tr動畛ng:
TenHLQ: T棚n c畛a hm li棚n quan
Tiep: L動u 畛a ch畛 c畛a n炭t ti畉p theo trong danh s叩ch hm 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;
Tiep: TroHLQ;
End;
TroHam = ^Ham;
Ham = Record
Name: St10;
Nguy畛n L箪 H畛u Hu畉n
Description: String;
Next: TroHam;
SeeAlso: TroHLQ;
End;
Var F: TroHam;
a). Vi畉t hm 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 no
th畛a m達n i畛u ki畛n ny.
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 hm li棚n quan m畛i TH2 vo cu畛i danh s叩ch hm li棚n quan v畛i
hm TH1, v b畛 sung m畛t t棚n hm li棚n quan m畛i TH1 vo cu畛i danh s叩ch hm li棚n
quan v畛i hm TH2, v畛i i畛u ki畛n c叩c t棚n hm 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 ny.
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 hm
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畛 ny sau l畉n ho叩n v畛 畉u ti棚n.
d). Trong tr動畛ng h畛p no 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.

More Related Content

Ctdl 2007-1

  • 1. Nguy畛n L箪 H畛u Hu畉n B畛 GIO D畛C V O T畉O H畛 v t棚n th鱈 sinh: . 畉I H畛C HU畉 S畛 b叩o danh: . ---------- 畛 THI TUY畛N SINH CAO H畛C NM 2007 M担n thi: Ng担n ng畛 l畉p tr狸nh (Dnh cho Cao h畛c) Th畛i gian lm bi: 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 hm 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 hm (l tr動畛ng kh坦a c畛a danh s叩ch F v 動畛c s畉p x畉p theo th畛 t畛 tng d畉n), Description: L動u l畛i gi畉i th鱈ch v畛 c叩ch s畛 d畛ng hm ny, 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 hm c坦 li棚n quan 畉n hm 坦 (g畛i l danh s叩ch hm li棚n quan). M畛i n炭t c畛a danh s叩ch hm li棚n quan l m畛t b畉n ghi g畛m c叩c tr動畛ng: TenHLQ: T棚n c畛a hm li棚n quan Tiep: L動u 畛a ch畛 c畛a n炭t ti畉p theo trong danh s叩ch hm 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; Tiep: TroHLQ; End; TroHam = ^Ham; Ham = Record Name: St10;
  • 2. Nguy畛n L箪 H畛u Hu畉n Description: String; Next: TroHam; SeeAlso: TroHLQ; End; Var F: TroHam; a). Vi畉t hm 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 no th畛a m達n i畛u ki畛n ny. 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 hm li棚n quan m畛i TH2 vo cu畛i danh s叩ch hm li棚n quan v畛i hm TH1, v b畛 sung m畛t t棚n hm li棚n quan m畛i TH1 vo cu畛i danh s叩ch hm li棚n quan v畛i hm TH2, v畛i i畛u ki畛n c叩c t棚n hm 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 ny. 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 hm 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畛 ny sau l畉n ho叩n v畛 畉u ti棚n. d). Trong tr動畛ng h畛p no 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.