際際滷

際際滷Share a Scribd company logo
畛 14 1/2
畛 THI MN TIN H畛C
Th畛i gian 120 ph炭t
Bi 1: Cho th畛 t畛c vi畉t tr棚n PASCAL chu畉n nh動 sau:
Procedure R(x,y:integer);
Begin
If y>0 then
Begin
X:=x+1;
Y:=y-1;
writeln(x,y);
R(x,y);
writeln(x,y);
End;
End;
a. Th畛c hi畛n th畛 t畛c tr棚n v畛i l畛i g畛i R(5,3). Cho bi畉t c叩c k畉t qu畉 in ra.
b. K畉t qu畉 s畉 ra sao n畉u x kh担ng ph畉i l tham s畛 tr畛 m l tham s畛 bi畉n (th棚m
t畛 kh坦a var cho ri棚ng x trong sanh s叩ch tham s畛) v ta th畛c hi畛n c叩c l畛nh
x:=5; R(x,3);
Bi 2. X辿t c叩c c但y nh畛 ph但n c坦 n炭t g叩n nh畉n b畛i c叩c ch畛 c叩i vi畉t hoa.
a. H達y v畉 t畉t c畉 c叩c c但y nh畛 ph但n c坦 d達y duy畉t theo th畛 t畛 gi畛a l ABCD.
b. C坦 chng m畛t c但y nh畛 ph但n m c叩c d達y duy畛t theo c叩c th畛 t畛 gi畛a v th畛 t畛
sau l畉n l動畛t l CADB v CBAD? N坦i r探 v狸 sao?
c. Gi畉 s畛 c叩c d達y duy畛t l c叩c x但u k箪 t畛 (ch畛 c叩i) 畛c vo t畛 bn ph鱈m. H達y
vi畉t m畛t hm (FUNCTION) cho ph辿p ki畛m tra v畛i hai x但u u v v 達 cho (v畛i
畛 di kh担ng 畛nh tr動畛c), th狸 坦 c坦 ph畉i l c叩c d達y duy畛t theo c叩c th畛 t畛
gi畛a v sau c畛a c湛ng m畛t c但y nh畛 ph但n kh担ng. Hm ny tr畉 l畉i gi叩 tr畛 True
hay False.
Bi 3. Trong h畛 so畉n th畉o, vn b畉n ang x畛 l箪 動畛c l動u 畛 b畛 nh畛 trong d動畛i d畉ng
m畛t danh s叩ch n畛i k辿p v l畛n v嘆ng nh動 sau:
Tr狸nh by: Tr畉n Hoi Nh但n
畛 14 2/2
xxxx
D嘆ng 1
D嘆ng 2
D嘆ng n


Danhsach
xxxx
Danhsach
Tr動畛ng h畛p chung
Tr動畛ng h畛p vn b畉n r畛ng
Ch炭 箪 r畉ng c叩c ph畉n t畛 動畛c n畛i k辿p b畛i hai con tr畛 ng動畛c nhau v t畉o thnh
v嘆ng k鱈n. Ngoi ra 畛 tr叩nh phi畛n ph畛c khi x畛 l箪 畛 畉u hay cu畛i vn b畉n, ng動畛i ta
動a th棚m vo d嘆ng th畛 nh畉t m畛t ph畉n t畛 gi畉 kh担ng ch畛a vn b畉n (g畛i l l鱈nh
canh).
Khai b叩o c畛a danh s叩ch ny nh動 sau:
Type str80=String[80];
Tro=^dongvb;
Dongvb=record
Truoc:tro;
Dong:str80;
Sau:tro;
End;
Var danhsach:tro;
Gi畉 s畛 danh s叩ch 達 動畛c kh畛i t畉o v畛i m畛t vn b畉n r畛ng, ngh挑a l ch畛 g畛m m畛t
ph畉n t畛 l l鱈nh canh v con tr畛 danhsach tr畛 vo l鱈nh canh 坦.
a. G畛i Bloc(db,cb) l m畛t kh畛i li畛n nhau c叩c ph畉n t畛 c坦 ch畛a vn b畉n k畛 t畛
ph畉n t畛 tr畛 b畛i db 畉n ph畉n t畛 tr畛 b畛i cb. H達y vi畉t m畛t th畛 t畛c d動畛i d畉ng:
Procedure chuyenBl(ds,db,cb,noiden:tro);
Cho ph辿p trong danh s叩ch tr畛 b畛i ds, chuy畛n d畛i Bloc(db,cb) kh担ng r畛ng t畛i
sau ph畉n t畛 tr畛 b畛i noiden (noiden kh担ng 畛 trong Bloc).
b. H達y vi畉t m畛t th畛 t畛c d動畛i d畉ng:
Procedure chepBl(ds,db,cb,noiden:tro);
Cho ph辿p trong danh s叩ch tr畛 b畛i ds, ch辿p l畉i (m kh担ng x坦a) Bloc(bd,cb)
kh担ng r畛ng t畛i sau ph畉n t畛 tr畛 b畛i noiden (noiden kh担ng 畛 trong Bloc).
Tr狸nh by: Tr畉n Hoi Nh但n

More Related Content

Ctdl de so 14

  • 1. 畛 14 1/2 畛 THI MN TIN H畛C Th畛i gian 120 ph炭t Bi 1: Cho th畛 t畛c vi畉t tr棚n PASCAL chu畉n nh動 sau: Procedure R(x,y:integer); Begin If y>0 then Begin X:=x+1; Y:=y-1; writeln(x,y); R(x,y); writeln(x,y); End; End; a. Th畛c hi畛n th畛 t畛c tr棚n v畛i l畛i g畛i R(5,3). Cho bi畉t c叩c k畉t qu畉 in ra. b. K畉t qu畉 s畉 ra sao n畉u x kh担ng ph畉i l tham s畛 tr畛 m l tham s畛 bi畉n (th棚m t畛 kh坦a var cho ri棚ng x trong sanh s叩ch tham s畛) v ta th畛c hi畛n c叩c l畛nh x:=5; R(x,3); Bi 2. X辿t c叩c c但y nh畛 ph但n c坦 n炭t g叩n nh畉n b畛i c叩c ch畛 c叩i vi畉t hoa. a. H達y v畉 t畉t c畉 c叩c c但y nh畛 ph但n c坦 d達y duy畉t theo th畛 t畛 gi畛a l ABCD. b. C坦 chng m畛t c但y nh畛 ph但n m c叩c d達y duy畛t theo c叩c th畛 t畛 gi畛a v th畛 t畛 sau l畉n l動畛t l CADB v CBAD? N坦i r探 v狸 sao? c. Gi畉 s畛 c叩c d達y duy畛t l c叩c x但u k箪 t畛 (ch畛 c叩i) 畛c vo t畛 bn ph鱈m. H達y vi畉t m畛t hm (FUNCTION) cho ph辿p ki畛m tra v畛i hai x但u u v v 達 cho (v畛i 畛 di kh担ng 畛nh tr動畛c), th狸 坦 c坦 ph畉i l c叩c d達y duy畛t theo c叩c th畛 t畛 gi畛a v sau c畛a c湛ng m畛t c但y nh畛 ph但n kh担ng. Hm ny tr畉 l畉i gi叩 tr畛 True hay False. Bi 3. Trong h畛 so畉n th畉o, vn b畉n ang x畛 l箪 動畛c l動u 畛 b畛 nh畛 trong d動畛i d畉ng m畛t danh s叩ch n畛i k辿p v l畛n v嘆ng nh動 sau: Tr狸nh by: Tr畉n Hoi Nh但n
  • 2. 畛 14 2/2 xxxx D嘆ng 1 D嘆ng 2 D嘆ng n Danhsach xxxx Danhsach Tr動畛ng h畛p chung Tr動畛ng h畛p vn b畉n r畛ng Ch炭 箪 r畉ng c叩c ph畉n t畛 動畛c n畛i k辿p b畛i hai con tr畛 ng動畛c nhau v t畉o thnh v嘆ng k鱈n. Ngoi ra 畛 tr叩nh phi畛n ph畛c khi x畛 l箪 畛 畉u hay cu畛i vn b畉n, ng動畛i ta 動a th棚m vo d嘆ng th畛 nh畉t m畛t ph畉n t畛 gi畉 kh担ng ch畛a vn b畉n (g畛i l l鱈nh canh). Khai b叩o c畛a danh s叩ch ny nh動 sau: Type str80=String[80]; Tro=^dongvb; Dongvb=record Truoc:tro; Dong:str80; Sau:tro; End; Var danhsach:tro; Gi畉 s畛 danh s叩ch 達 動畛c kh畛i t畉o v畛i m畛t vn b畉n r畛ng, ngh挑a l ch畛 g畛m m畛t ph畉n t畛 l l鱈nh canh v con tr畛 danhsach tr畛 vo l鱈nh canh 坦. a. G畛i Bloc(db,cb) l m畛t kh畛i li畛n nhau c叩c ph畉n t畛 c坦 ch畛a vn b畉n k畛 t畛 ph畉n t畛 tr畛 b畛i db 畉n ph畉n t畛 tr畛 b畛i cb. H達y vi畉t m畛t th畛 t畛c d動畛i d畉ng: Procedure chuyenBl(ds,db,cb,noiden:tro); Cho ph辿p trong danh s叩ch tr畛 b畛i ds, chuy畛n d畛i Bloc(db,cb) kh担ng r畛ng t畛i sau ph畉n t畛 tr畛 b畛i noiden (noiden kh担ng 畛 trong Bloc). b. H達y vi畉t m畛t th畛 t畛c d動畛i d畉ng: Procedure chepBl(ds,db,cb,noiden:tro); Cho ph辿p trong danh s叩ch tr畛 b畛i ds, ch辿p l畉i (m kh担ng x坦a) Bloc(bd,cb) kh担ng r畛ng t畛i sau ph畉n t畛 tr畛 b畛i noiden (noiden kh担ng 畛 trong Bloc). Tr狸nh by: Tr畉n Hoi Nh但n