際際滷

際際滷Share a Scribd company logo
畛 17 1/2
畛 th狸 tuy畛n Nghi棚n c畛u sinh v Cao h畛c 1996 (畛 1)
M担n: Ph動董ng ph叩p l畉p tr狸nh
Th畛i gian: 120 ph炭t  動畛c s畛 d畛ng ti li畛u
Bi 1. D達y c叩c ph但n s畛 t畛i gi畉n theo th畛 t畛 tng Tn = { k
m | 0  m  k  n}, v畛i n
cho tr動畛c 動畛c x但y d畛ng d畉n d畉n nh動 sau:
V畛i n = 1 T1 = {0/1 , 1/1}
V畛i n = 2 T2 = {0/1 , 1/2 , 1/1}
V畛i n = 3 T3 = {0/1 , 1/3 , 1/2 , 2/3 , 1/1}
V畛i n = 4 T4 = {0/1 , 1/4 , 1/3 , 1/2 , 2/3 , 3/4 , 1/1}
畛 m畛i b動畛c n ti畉p sau, ta ch竪n vo gi畛a 2 ph但n s畛 k畉 ti畉p trong d達y Tn-1 nh畉n
動畛c 畛 b動畛c n-1:
b
a
v
d
c
ph但n s畛 m畛i
v
u
v畛i u=a+c, v=b+d v畛i i畛u ki畛n b+d=n.
1. Vi畉t th畛 t畛c 畛 qui
Procedure phanso(n:integer; var kqua:day; k:integer);
V畛i Type day=array[1..100] of string[7];
Nh畉m x但y d畛ng d達y kqua g畛m c叩c ph但n s畛 t畛i gi畉n theo th畛 t畛 tng Tn; quy
動畛c: C叩c ph畉n t畛 0,1 動畛c vi畉t d動畛i d畉ng 0/1 v 1/1 t動董ng 畛ng.
2. 動a ra m畛t ph動董ng 叩n kh担ng d湛ng 畛 qui.
Bi 2. Cho m畛t danh s叩ch m坦c n畛i l動u tr畛 c叩c th担ng tin v畛 s叩ch, bao g畛m: Th畛
lo畉i, s畛 hi畛u, t棚n s叩ch, t叩c gi畉, nm xu畉t b畉n trong m畛t th動 vi畛n nh動 h狸nh v畉:
Thuvien
Toan
01 Giait A 90 09 Pascal A 18 C D 96 03 Daiso B 81 
Ly   Hoa   Tinhoc 
C叩c c畉u tr炭c d畛 li畛u 動畛c khai b叩o nh動 sau:
Type str25=string[25];
Troloai=^loai;
Loai=record
Theloai:str25;
Dau,cuoi:^sach;
T
End;
iep:troloai;
Trosach=^sach;
Sach=record
Sohieu:integer;
Ten:str25;
Tacgia:str25;
Nam:integer;
Next:trosach;
End;
Var thuvien:Troloai;
Tr狸nh by: Tr畉n Hoi Nh但n
畛 17 2/2
H達y vi畉t c叩c ch動董ng tr狸nh con:
1. Procedure Them(var l:troloai; lvuc,tensach,nguoi:str25;
so,nam:integer);
Cho ph辿p th畛c hi畛n th棚m vo th動 vi畛n m畛t cu畛n s叩ch m畛i thu畛c th畛 lo畉i
lvuc c坦 t棚n l tensach, 動畛c t叩c gi畉 nguoi vi畉t vo nm nam, cu畛n s叩ch c坦 s畛
hi畛u so.
- N畉u th畛 lo畉i lvuc ch動a c坦 trong th動 vi畛n, th狸 t畉o m畛t b畉n ghi v畛 th畛 lo畉i,
畉t n坦 畛 v畛 tr鱈 ph湛 h畛p, v畛i c叩c con tr畛 t動董ng 畛ng ch畛 m畛t b畉n ghi kh叩c
v畛 s叩ch v畛i c叩c tham s畛 so, tensach, nguoi, nam 達 cho.
- N畉u th畛 lo畉i s叩ch 達 c坦, th狸 th棚m vo danh s叩ch m坦c n畛i t動董ng 畛ng m畛t
b畉n ghi v畛 s叩ch m畛i vo cu畛i danh s叩ch (ch炭 箪 ki畛m tra so cu畛n s叩ch ny
達 c坦 trong danh s叩ch ch動a).
2. Function CuNhat(var l:troloai):integer;
Cho k畉t qu畉 l nm xu畉t b畉n c畛a cu畛n s叩ch ra 畛i s畛m nh畉t c坦 trong th動
vi畛n.
3. Procedure Trich(author:str25; l:troloai; var
tuyen:trosach);
Nh畉m tr鱈ch ra t畛 th動 vi畛n 達 cho c叩c t叩c ph畉m v畛 m畛i th畛 lo畉i c畛a c湛ng m畛t
t叩c gi畉 author no 坦 (gi畉 thi畉t l c叩c t叩c gi畉 c坦 t棚n kh叩c nhau). C叩c t叩c
ph畉m ny t畉o thnh m畛t danh s叩ch m坦c n畛i v畛 s叩ch m畛i (kh担ng ph但n bi畛t
th畛 lo畉i), m 畉u c畛a n坦 動畛c cho b畛i bi畉n tuyen. C叩c ph畉n t畛 c畛a danh s叩ch
ny 動畛c ch辿p l畉i t畛 danh s叩ch th動 vi畛n l v nh動 v畉y c叩c th担ng tin v畛 s叩ch
達 c坦 trong th動 vi畛n (k畛 c畉 s叩ch c畛a t叩c gi畉 author n坦i tr棚n) v畉n nh動 c滴.
Tr狸nh by: Tr畉n Hoi Nh但n

More Related Content

Ctdl 1996 - 1

  • 1. 畛 17 1/2 畛 th狸 tuy畛n Nghi棚n c畛u sinh v Cao h畛c 1996 (畛 1) M担n: Ph動董ng ph叩p l畉p tr狸nh Th畛i gian: 120 ph炭t 動畛c s畛 d畛ng ti li畛u Bi 1. D達y c叩c ph但n s畛 t畛i gi畉n theo th畛 t畛 tng Tn = { k m | 0 m k n}, v畛i n cho tr動畛c 動畛c x但y d畛ng d畉n d畉n nh動 sau: V畛i n = 1 T1 = {0/1 , 1/1} V畛i n = 2 T2 = {0/1 , 1/2 , 1/1} V畛i n = 3 T3 = {0/1 , 1/3 , 1/2 , 2/3 , 1/1} V畛i n = 4 T4 = {0/1 , 1/4 , 1/3 , 1/2 , 2/3 , 3/4 , 1/1} 畛 m畛i b動畛c n ti畉p sau, ta ch竪n vo gi畛a 2 ph但n s畛 k畉 ti畉p trong d達y Tn-1 nh畉n 動畛c 畛 b動畛c n-1: b a v d c ph但n s畛 m畛i v u v畛i u=a+c, v=b+d v畛i i畛u ki畛n b+d=n. 1. Vi畉t th畛 t畛c 畛 qui Procedure phanso(n:integer; var kqua:day; k:integer); V畛i Type day=array[1..100] of string[7]; Nh畉m x但y d畛ng d達y kqua g畛m c叩c ph但n s畛 t畛i gi畉n theo th畛 t畛 tng Tn; quy 動畛c: C叩c ph畉n t畛 0,1 動畛c vi畉t d動畛i d畉ng 0/1 v 1/1 t動董ng 畛ng. 2. 動a ra m畛t ph動董ng 叩n kh担ng d湛ng 畛 qui. Bi 2. Cho m畛t danh s叩ch m坦c n畛i l動u tr畛 c叩c th担ng tin v畛 s叩ch, bao g畛m: Th畛 lo畉i, s畛 hi畛u, t棚n s叩ch, t叩c gi畉, nm xu畉t b畉n trong m畛t th動 vi畛n nh動 h狸nh v畉: Thuvien Toan 01 Giait A 90 09 Pascal A 18 C D 96 03 Daiso B 81 Ly Hoa Tinhoc C叩c c畉u tr炭c d畛 li畛u 動畛c khai b叩o nh動 sau: Type str25=string[25]; Troloai=^loai; Loai=record Theloai:str25; Dau,cuoi:^sach; T End; iep:troloai; Trosach=^sach; Sach=record Sohieu:integer; Ten:str25; Tacgia:str25; Nam:integer; Next:trosach; End; Var thuvien:Troloai; Tr狸nh by: Tr畉n Hoi Nh但n
  • 2. 畛 17 2/2 H達y vi畉t c叩c ch動董ng tr狸nh con: 1. Procedure Them(var l:troloai; lvuc,tensach,nguoi:str25; so,nam:integer); Cho ph辿p th畛c hi畛n th棚m vo th動 vi畛n m畛t cu畛n s叩ch m畛i thu畛c th畛 lo畉i lvuc c坦 t棚n l tensach, 動畛c t叩c gi畉 nguoi vi畉t vo nm nam, cu畛n s叩ch c坦 s畛 hi畛u so. - N畉u th畛 lo畉i lvuc ch動a c坦 trong th動 vi畛n, th狸 t畉o m畛t b畉n ghi v畛 th畛 lo畉i, 畉t n坦 畛 v畛 tr鱈 ph湛 h畛p, v畛i c叩c con tr畛 t動董ng 畛ng ch畛 m畛t b畉n ghi kh叩c v畛 s叩ch v畛i c叩c tham s畛 so, tensach, nguoi, nam 達 cho. - N畉u th畛 lo畉i s叩ch 達 c坦, th狸 th棚m vo danh s叩ch m坦c n畛i t動董ng 畛ng m畛t b畉n ghi v畛 s叩ch m畛i vo cu畛i danh s叩ch (ch炭 箪 ki畛m tra so cu畛n s叩ch ny 達 c坦 trong danh s叩ch ch動a). 2. Function CuNhat(var l:troloai):integer; Cho k畉t qu畉 l nm xu畉t b畉n c畛a cu畛n s叩ch ra 畛i s畛m nh畉t c坦 trong th動 vi畛n. 3. Procedure Trich(author:str25; l:troloai; var tuyen:trosach); Nh畉m tr鱈ch ra t畛 th動 vi畛n 達 cho c叩c t叩c ph畉m v畛 m畛i th畛 lo畉i c畛a c湛ng m畛t t叩c gi畉 author no 坦 (gi畉 thi畉t l c叩c t叩c gi畉 c坦 t棚n kh叩c nhau). C叩c t叩c ph畉m ny t畉o thnh m畛t danh s叩ch m坦c n畛i v畛 s叩ch m畛i (kh担ng ph但n bi畛t th畛 lo畉i), m 畉u c畛a n坦 動畛c cho b畛i bi畉n tuyen. C叩c ph畉n t畛 c畛a danh s叩ch ny 動畛c ch辿p l畉i t畛 danh s叩ch th動 vi畛n l v nh動 v畉y c叩c th担ng tin v畛 s叩ch 達 c坦 trong th動 vi畛n (k畛 c畉 s叩ch c畛a t叩c gi畉 author n坦i tr棚n) v畉n nh動 c滴. Tr狸nh by: Tr畉n Hoi Nh但n