là các Procedure.. C u trúc t!ng quát m t chương trình Pascal như sau: PROGRAM tên_chương_trình; USES tên các UNIT; *khai báo các ñơn v" chương trình c%n thi t* LABEL *khai báo nhãn*.. E
Trang 1TRƯ NG ð I H C NÔNG NGHI P I - HÀ N I
B MÔN CÔNG NGH PH N M M
TS DƯƠNG XUÂN THÀNH
Giáo trình
L P TRÌNH NÂNG CAO
( Trên ngôn ng Pascal ) (So n theo chương trình ñã ñư c B GD&ðT phê chu n)
Hà n i, 2005
Trang 2Trư ng đ i h c Nông nghi p 1 - Giáo trình L p trình nâng cao -
L i m ự u
Cu n giáo trình này ựư c biên so n theo ựúng ự cương chi ti t môn h c ựã ựư c B Giáo d c và đào t o phê chu n Th i gian h c môn h c này là 60 ti t trong ựó có 10 ti t th c hành trên máy Tác gi là ngư i ựã tr c ti p gi ng d y l p trình Pascal trong nhi u năm cho sinh viên chuyên tin và sinh viên các ngành khác
đ i tư ng s d ng giáo trình là sinh viên chuyên ngành Tin h c h ự i h c chắnh quy, tuy nhiên giáo trình cũng có th s d ng như là m t tài li u tham kh o cho sinh viên chuyên Tin h cao ự ng và nh ng ngư i mu n nghiên c u nâng cao v l p trình
M c ựắch biên so n cu n giáo trình là cung c p cho ngư i ự c m t tài li u ựơn gi n,
cô ự ng nh ng ki n th c v l p trình nâng cao Ngư i ự c có th t h c mà không nh t thi t
ph i có thày hư ng d n
Giáo trình bao g m 6 chương và 4 ph l c
Chương 1: Chương trình con - Th t c và hàm, sinh viên ựã ựư c h c qua trong
chương trình Tin h c ự i cương, do v y ựây ch y u ựi sâu vào khái ni m tham s , cách
th c mà h th ng dành b nh cho vi c lưu tr các tham s và vi c g i chương trình con t chương trình con khác
Chương 2: Các ki u d li u có c u trúc, t p trung vào các ki u d li u mà sinh viên
chưa ựư c h c như b n ghi có c u trúc thay ự!i, t p h p
Chương 3: đơn v chương trình và thư vi n chu n, là chương chưa ựư c h c Tin
h c ự i cương , ựây hư ng d n cách thi t k các đơn v" chương trình (Unit), cách th c s
d ng các Unit và t o l p thư vi n chương trình
Chương 4: Con tr và c u trúc ự ng, là m t chương khó, vì nó v a liên quan ự n
qu n lý b nh , v a liên quan ự n ki n th c c a môn h c C u trúc d li u và Gi i thu t do
v y trong chương này ựã trình bày nhi u vắ d ự ngư i ự c tham kh o
Chương 5: Gi i thu t ự quy, ựư c trình bày Ộhơi dài dòngỢ do ự#c thù c a tắnh ự
quy Bài toán Tháp Hanoi ựư c mô t khác hoàn toàn so v i t t c các sách v Pascal ựã có
Chương 6: đ ho , ngoài vi c gi i thi u các th t c v$ thông thư ng, còn dành m t
ph%n tr ng tâm cho vi c x lý nh Bitmap Trong chương này có s d ng m t vài vắ d c a các tác gi khác (xem ph%n tài li u tham kh o) nhưng ựã ựư c c i ti n ựi r t nhi u
Ph l c 1: B ng mã ASCII
Ph l c 2: Tóm t&t các th t c và hàm c a Turbo Pascal 7.0
Ph l c 3: đ"nh hư ng biên d"ch
Ph l c 4: Thông báo l'i
Các ph l c ựưa ra nh(m giúp ngư i l p trình ti n tra c u các th t c, hàm và x lý các l'i khi Pascal thông báo l'i trên màn hình
Do ph i bám sát ự cương và s h n ch v s trang tác gi nên trong giáo trình chưa ựưa vào ựư c ph%n x lý âm thanh, l p trình hư ng ự i tư ng
Vi c biên so n l%n ự%u không th tránh ựư c thi u sót, tác gi mong nh n ựư c s góp
ý c a b n ự c và ự ng nghi p ự l%n xu t b n sau s$ t t hơn M i góp ý xin g i v ự"a ch):
B môn Công ngh Ph%n m m, Khoa Công ngh Thông tin,
đ i h c Nông nghi p I , Trâu quỳ, Gia lâm, Hà n i
Xin trân tr ng c m ơn
Hà n i, tháng 5 năm 2005
Ts Dương Xuân Thành
ThuVienDeThi.com
Trang 3Chương I Chương trình con - Th t c và hàm
Khái ni m chương trình con ñã ñư c trình bày trong môn h c Tin h c ñ i cương, do v y trong chương này chúng ta nh&c l i sơ qua m t s khái ni m cũ và dành th i gian cho vi c tìm
hi u sâu v tham s (tham bi n và tham tr"), l i g i chương trình con, cách th c b trí
chương trình con trong thân chương trình m+ Sau khi h c chương này b n ñ c c%n n&m ñư c các n i dung ch y u sau:
Th nào là bi n toàn c c, bi n ñ"a phương
Các bi n toàn c c và bi n ñ"a phương ñư c b trí ñâu
T%m tác d ng c a t ng lo i bi n
Th t xây d ng các chương trình con có nh hư ng th nào ñ n toàn b chương trình
Th nào là tính ñ quy c a chương trình con
L i g i chương trình con th nào là ñư c phép
Cách khai báo trư c ñ g i chương trình con không theo th t thi t k
Trang 4Trư ng ð i h c Nông nghi p 1 - Giáo trình L p trình nâng cao -
1 Khái ni m v chương trình con
Chương trình con trong Pascal ñư c hi u là m t chương trình n(m trong lòng m t
chương trình khác Chương trình con g m hai lo i: Th t c (Procedure) và hàm (Function) Các chương trình con ñư c dùng r ng rãi khi xây d ng các chương trình l n
nh(m làm cho chương trình d, theo dõi, d, s a ch a M t ñ#c ñi m n!i b t c a chương trình con là nó có tính ñ quy nh th mà nhi u bài toán s$ ñư c gi i quy t d, dàng
Khi m t chương trình con ñư c g i thì các bi n ñư c khai báo trong chương trình con (ta g i là bi n c c b ) s$ ñư c c p phát b nh K t thúc chương trình con, các bi n c c b
ñư c gi i phóng, ñi u này s$ ñư c l#p l i m'i khi chương trình con ñư c g i và nó ñ ng nghĩa v i vi c th i gian x lý bài toán s$ tăng lên
B n thân tên g i c a hai lo i chương trình con ñã nói lên ph%n nào s khác nhau gi a chúng Function (Hàm) là m t lo i chương trình con cho k t qu là m t giá tr" vô hư ng Khi
g i tên Function v i các tham s h p l ta s$ nh n ñư c các giá tr", b i v y tên hàm có th ñưa vào các bi u th c tính toán như là các toán h ng Procedure là lo i chương trình con khi
th c hi n không cho ra k t qu là m t giá tr", m'i Procedure nh(m th c hi n m t nhóm công
vi c nào ñó c a chương trình m+, vì v y tên c a Procedure không th ñưa vào các bi u th c tính toán B(ng cách xây d ng các chương trình con ngư i l p trình có th phân m nh chương trình cho nhi u ngư i cùng làm dư i s ch) ñ o th ng nh t c a ngư i ch trì Trong Turbo Pascal ñã có s.n m t s chương trình con, ví d : sin(x), sqrt(x) là các Function, còn read(), write(), gotoxy (x1,x2) là các Procedure
Trong m t chương trình các chương trình con ñư c b trí ngay sau ph%n khai báo
bi n C u trúc t!ng quát m t chương trình Pascal như sau:
PROGRAM tên_chương_trình;
USES tên các UNIT; (*khai báo các ñơn v" chương trình c%n thi t*)
LABEL (*khai báo nhãn*)
CONST (*Khai báo h(ng*)
TYPE (*ñ"nh nghĩa ki u d li u m i*)
VAR (*khai báo bi n*)
PROCEDURE Tên_CTC1 (danh sách tham s hình th c);
Begin
(*thân th t c th nh t*)
End;
PROCEDURE Tên_CTC2 (danh sách tham s hình th c);
Begin
(*thân th t c th hai*)
End;
ThuVienDeThi.com
Trang 5FUNCTION Tên_HAM1(danh sách tham s hình th c):ki u hàm;
Begin
(*thân hàm th nh t*)
End;
BEGIN (*b&t ñ%u chương trình m+*)
END
Ghi chú:
1 Các chương trình con v nguyên t c cũng bao g m các ph n khai báo báo như ñ i
v i m t chương trình m , ph n nào không c n thi t thì không khai ði u khác nhau cơ b n là thân chương trình con n m gi a hai t khoá Begin và End; (sau End là d u ";" ch không
ph i là d u "." như trong chương trình m ) ngoài ra chương trình con còn có th thêm ph n khai báo các tham s hình th c, các tham s hình th c ñư c ñ t trong d u () và vi t ngay sau tên chương trình con
2 N u chương trình con là Function thì cu i chương trình c n có l nh gán giá tr vào tên chương trình con
2 Tham s! trong chương trình con
Các chương trình con có th không c%n tham s mà ch) có các bi n riêng (bi n c c
b ) Trong trư ng h p c%n nh n các giá tr" mà chương trình m+ truy n cho thì chương trình
con c%n ph i có các tham s (Parameter) Tham s ñư c khai báo ngay sau tên chương trình
con và ñư c g i là tham s hình th c
Nh ng giá tr" lưu tr trong các bi n toàn c c c a chương trình m+, n u ñư c truy n
cho các th t c ho#c hàm thông qua l i g i tên chúng thì ñư c g i là Tham s th c
Tham s hình th c bao g m hai lo i:
2.1 Tham bi"n (Variabic parameter)
Tham bi n là nh ng giá tr" mà chương trình con nh n t chương trình m+, các giá tr" này có th bi n ñ!i trong chương trình con và khi chương trình con k t thúc các giá tr" này s$
ñư c tr v cho tham s th c
Cách khai báo tham bi n:
Tên chương trình con (Var tên tham bi"n : ki u d li u);
2.2 Tham tr (Value parameter)
Nh ng tham s truy n vào cho chương trình con x lý nhưng khi quay v chương
trình m+ v n ph i gi nguyên giá tr" ban ñ%u thì ñư c g i là tham tr
Cách khai báo tham tr":
Tên chương trình con (tên tham tr : ki u d li u);
Dư i ñây là m t ví d khai báo tham s :
Trang 6Trư ng ð i h c Nông nghi p 1 - Giáo trình L p trình nâng cao -
PROCEDURE VIDU(x,y,z: integer; lam:boolean; var qq: char);
Câu l nh khai báo chương trình con trên ñây ñ ng th i khai báo các tham s hình th c
trong ñó x, y,z, lam là các tham tr", v i x, y,z có ki u integer, lam có ki u boolean, qq là tham
bi n vì nó ñư c vi t sau t khoá VAR
Ví d L p chương trình tìm s l n nh t trong n s nguyên ñư c nh p t bàn
phím
Program Tim_cuc_dai;
Uses Crt;
TYPE dayso = array[1 100] of integer; (* ð"nh nghĩa ki u d li u dayso là ki u m ng
g m nhi u nh t là 100 ph%n t *). VAR a: dayso (*khai báo bi n c a chương trình m+*)
n: integer;
PROCEDURE nhapso(m:integer; var x:dayso);
(* Nh p dãy s c%n tìm c c ñ i vào m ng m t chi u x[i]*)
Var i : integer; (*khai báo bi n c c b c a chương trình con*)
Begin
writeln('Nhap day so kieu integer);
For i:=1 to m Do (* m ñư c truy n t chương trình m+ qua tham s th c n*)
Begin
write('a[', i , '] = '); realln (x[i]);
End; End;
FUNCTION Max(m: integer; b:dayso); integer;
(* Hàm MAX dùng ñ tìm s l n nh t trong dãy s ñã nh p, ki u giá tr" c a hàm là ki u integer *)
VAR
i,t: integer; (* Bi n riêng c a hàm Max *)
Begin
t:=b[1]; (* Gán ph%n th nh t c a m ng b[i] cho bi n t *)
For i:=2 to m Do
if t<b [i] then t:=b[i];
Max:=t; (* Gán giá tr" cho chính hàm Max*)
End;
BEGIN (* Thân chương trình m+ *)
Write('Ban can nhap bao nhieu so ? '); Readln(n);
NHAPSO(N, A); (* G i chương trình con NHAPSO v i 2 tham s th c là n và a Hai tham
s này s$ thay th cho hai tham s hình th c m, x trong chương trình con *)
Writeln (' So lon nhat trong day so da nhap = ', MAX(n,a):5);
(* Vi t ra giá tr" c a hàm MAX v i 2 tham s th c n,a ñ dài s là 5 ký t *)
Repeat until keypressed;
END
ThuVienDeThi.com
Trang 7Ví d 1.1 là m t chương trình bao g m hai chương trình con, chương trình con th
nh t là m t th t c (Procedure), chương trình con th hai là m t hàm (Function)
Chương trình m+ có l nh ñ c s ph%n t n c a m ng dayso (t c là s lư ng con s s$
nh p vào) Vì m ng Dayso ñư c khai báo có 100 ph%n t nên không th ñ c vào nhi u quá
100 con s
Sau ñó là l nh g i chương trình con NHAPSO v i 2 tham s th c là n, a, ñây a là tham bi n nghĩa là giá tr" c a m ng a s$ ñư c thay ñ!i trong chương trình con b i tham s hình th c x[i] Chương trình con nh p vào tham bi n x[i] ki u m ng n con s thông qua tham tr" m (m=n)
L nh vi t giá tr" l n nh t c a dãy s có kèm l i g i hàm MAX vì hàm MAX th c ch t trong trư ng h p này ch) là m t con s
Hàm MAX dùng ñ tìm s l n nh t trong các s ñã nh p, l i g i hàm trong chương trình m+ kèm theo vi c truy n hai tham s th c là n và a thay th cho hai tham s hình th c là
m và b Tên hàm ñư c dùng như là m t bi n trong b n thân hàm khi ta dùng phép gán giá tr" MAX:=t;
Chú ý:
1 Ki u d li u trong khai báo tham s hình th c ch có th là: s nguyên, s th c, ký
t , ho c Boolean N u mu n ñưa các ki u d li u có c u trúc vào trong khai báo tham s thì
ph i ñ nh nghĩa trư c ki u d li u này ph n khai báo ki u sau t khoá Type (xem ví d! 1.1)
2 V i ki u d li u chu"i, n u chúng ta khai báo tham s th#c trong chương trình m
và tham bi n trong chương trình con ñ u là STRING (không quy ñ nh ñ dài t i ña c$a chu"i) thì không c n ph i ñ nh nghĩa trư c ki u d li u ph n TYPE ð th y rõ v n ñ chúng ta xét ví d! sau ñây:
Ví d : 1.2
Program Chuong_trinh_me;
Var s:string; m:byte
Procedure Chuong_trinh_con( Var a:string; n:byte);
Cách khai báo trên là ñư c phép trong Pascal
N u chúng ta quy ñ"nh ñ dài chu'i như m t trong ba d ng sau thì s$ b" báo l'i:
D ng th# nh t
Program Chuong_trinh_me;
Var s:string[30]; m:byte
Procedure Chuong_trinh_con( Var a:string[30]; n:byte);
D ng th# hai
Program Chuong_trinh_me;
Var s:string[30]; m:byte
Procedure Chuong_trinh_con( Var a:string; n:byte);
Trang 8Trư ng ð i h c Nông nghi p 1 - Giáo trình L p trình nâng cao -
D ng th# ba
Program Chuong_trinh_me;
Var s:string; m:byte
Procedure Chuong_trinh_con( Var a:string[30]; n:byte);
Tuy nhiên có m t ngo i l khi tham s hình th c trong các chương trình con không
ph i là tham bi n mà là tham tr" thì có th khai báo theo d ng th hai
Mu n quy ñ"nh ñ dài chu'i trong các khai báo tham bi n thì ph i khai báo ki u d
li u theo m u sau:
Program Chuong_trinh_me;
Type S1 = string[30];
Var s:s1; m:byte
Procedure Chuong_trinh_con( Var a:s1; n:byte);
3 Truy n tham s! cho chương trình con
Tr l i ví d 1.1 ta th y trong m'i chương trình con có nh ng tham s riêng c a mình Chương trình con nh p s ñã s d ng hai tham s hình th c là m và x Hai tham s này ñư c chu n b" ñ nh n các giá tr" mà chương trình m+ truy n cho thông qua l i g i chương trình con v i các tham s th c là n và b Vì m ñư c khai báo ki u không có t khoá Var nên nó là tham tr", nghĩa là khi chương trình con k t thúc thì giá tr" c a tham s th c n v n không thay ñ!i, tham s x là tham bi n vì nó ñư c khai báo sau t khoá Var
Khi tham s hình th c trong chương trình con là tham bi n thì tham s th c trong chương trình m+ ph i là bi n ch không th là h(ng Trong m i trư ng h p c hai tham s
th c và tham s hình th c ñ u ph i cùng ki u d li u
Các tham s th c truy n cho tham bi n thì giá tr" c a nó có th thay ñ!i trong chương trình con, khi ra kh/i chương trình con nó v n gi nguyên các giá tr" ñã thay ñ!i ñó Trong ví
d 1.1 tham s th c a là m t m ng c a n ph%n t và t t c các ph%n t ñ u còn r'ng, khi truy n a vào tham bi n x thì th i ñi m ban ñ%u các ph%n t c a x cũng r'ng Phép gán trong chương trình con NHAPSO s$ làm thay ñ!i giá tr" các ph%n t c a x, sau kh/i ra chương trình con nó gi nguyên các giá tr" ñã gán t c là các giá tr" ta nh p t bàn phím vào các ph%n t c a
m ng
Khi tham s hình th c là tham tr" thì tham s th c ph i là m t giá tr" Chương trình con nh n giá tr" này như là giá tr" ban ñ%u và có th th c hi n các phép tính làm bi n ñ!i giá tr" ñó, quá trình này ch) tác ñ ng trong n i b chương trình con, khi ra kh/i chương trình con giá tr" c a tham s th c không bi n ñ!i C th trong ví d trên bi n n nh n giá tr" ñ c t bàn phím trong chương trình m+ và ñư c truy n cho tham s m trong c hai chương trình con Sau
l i g i chương trình con NHAPSO giá tr" này có th b" thay ñ!i nhưng khi r i NHAPSO ñ n
l i g i hàm MAX thì n l i v n gi giá tr" ban ñ%u
Như v y n u mu n b o v giá tr" m t tham s nào ñó khi truy n chúng cho chương trình con thì ph i qui ñ"nh chúng là tham tr" Còn n u mu n nh n l i giá tr" mà chương trình con ñã sinh ra thay th cho nh ng giá tr" ban ñ%u có trong chương trình m+ (ho#c là dùng
nh ng giá tr" c a chương trình con thay th cho bi n chưa ñư c gán giá tr" trong chương trình m+ như vi d 1.1) thì tham s ph i là tham bi n
ThuVienDeThi.com
Trang 9ð th y rõ hơn ý nghĩa c a các tham s chúng ta xét ví d sau ñây:
Ngư i m+ trao cho con trai m t chi c nh n và m t túi ti n Trư c khi con ñi làm ăn phương xa m+ d#n: "Chi c nh n là tín v t dùng ñ nh n l i gia ñình và h hàng khi con tr v , còn túi ti n là v n ban ñ%u cho con kinh doanh"
Trong qúa trình làm ăn, ngư i con có th c%m c chi c nh n nhưng khi tr v nhà nh t thi t ph i mang chi c nh n ñó v , còn túi ti n khi quay v có th nhi u lên cũng có th ít ñi,
th m chí không còn ñ ng nào Trong ví d này chi c nh n ñóng vai trò tham tr", còn túi ti n ñóng vai trò tham bi n
V n ñ ñ#t ra là Pascal làm th nào ñ ñ m b o các tính ch t c a tham tr" và tham
bi n ði u này s$ ñư c làm rõ khi nghiên c u vi c b trí b nh (m c 5)
Khi l$a ch%n tham s! c n lưu ý m t s! ñi m sau:
a Ki u c a tham s trong chương trình con ph i là các ki u vô hư ng ñơn gi n ñã
ñư c ñ"nh nghĩa s.n trong Pasacl ho#c ñã ñư c ñ"nh nghĩa trong ph%n ñ%u c a chương trình m+ Trong chương trình con không th ñ"nh nghĩa ki u d li u m i
b Chương trình con có th c s c%n tham s hay không? N u chương trình con ch) s
d ng các bi n toàn c c và bi n ñ"a phương cũng ñáp ng ñư c yêu c%u c a bài toán thì không nên dùng tham s N u chương trình con th c hi n nhi u công vi c trên cùng m t lo i ñ i
tư ng (ñ i tư ng ñây có th là h(ng, bi n, hàm, th t c, ki u), nghĩa là l i g i chương trình con ñư c l#p l i nhi u l%n trên cùng m t ho#c m t nhóm ñ i tư ng thì c%n dùng ñ n tham s
c N u không mu n thay ñ!i giá tr" c a các tham s th c trong chương trình m+ khi truy n nó cho chương trình con thì ph i dùng tham s hình th c dư i d ng tham tr" (trong ph%n khai báo ki u không có t khoá Var) N u c%n thay ñ!i giá tr" c a tham s th c trong chương trình m+ và nh n l i giá tr" mà chương trình con ñã x lý thì tham s trong chương trình con ph i là tham bi n (tên tham s ph i ñ#t sau t khoá Var)
4 Bi"n toàn c c và bi"n ñ a phương
4.1 Bi"n toàn c c
Bi n khai báo ñ%u chương trình m+ ñư c g i là bi n toàn c c Nó có tác d ng trong toàn b chương trình, k c các chương trình con Khi th c hi n chương trình máy dành các ô
nh vùng d li u (Data) ñ lưu gi giá tr" c a bi n
M r ng ra t t c các ñ!i tư&ng trong Pascal (Ki u d li u, H(ng, Bi n, Hàm, Th
t c) khai báo trong chương trình m+ ñư c g i là ñ i tư ng toàn c c Như v y m t ki u d li u
ñã ñư c ñ"nh nghĩa trong chương trình m+ thì ñương nhiên ñư c phép s d ng trong các chương trình con c a nó
Trong ví d 1.1 bi n a và n là bi n toàn c c, hai bi n này có th s d ng tr c ti p trong th t c NHAPSO và trong hàm MAX mà không c%n khai báo l i
Pascal dành các ô nh vùng Data (vùng d li u) cho các ñ i tư ng toàn c c
4.2 Bi"n ñ a phương
Nh ng ñ i tư ng khai báo trong chương trình con ch) có tác d ng trong n i b chương trình con ñó, chúng ñư c g i là ñ i tư ng ñ"a phương ð i tư ng hay ñư c s d ng
nh t là Bi n
Trang 10Trư ng ð i h c Nông nghi p 1 - Giáo trình L p trình nâng cao -
Bi n ñ"a phương có th trùng tên v i bi n toàn c c song h th ng dành các ô nh trong vùng nh ngăn x p (Stack) ñ lưu gi các giá tr" c a bi n K t thúc chương trình con h
th ng s$ gi i phóng ô nh c a bi n ñ"a phương dùng vào vi c khác, giá tr" c a các bi n lưu
tr trong các ô nh này s$ không còn
Trư ng h p trong chương trình con l i có các chương trình con khác thì bi n ñ"a phương c a chương trình con c p trên l i ñư c xem là bi n toàn c c ñ i v i chương trình con
c p dư i
M t bi n sau khi ñư c khai báo trong m t chương trình s$ ch) có t%m tác d ng trong
b n thân chương trình ñó và các chương trình con c a nó Bi n này không có tác d ng trong các chương trình cùng c p khác ho#c trong các chương trình con c a chương trình khác ði u này có nghĩa là các chương trình con và chương trình m+ có th có nhi u bi n trùng tên, nhưng t%m tác d ng thì khác nhau do ñó tính toàn v+n c a d li u luôn ñư c b o ñ m
Ví d 1.3
Program Chuong_trinh_con;
Uses crt;
Var i,n:byte; c1:string[30];
Procedure Bien_dia_phuong;
Var i,n:byte; c1:string[30];
Begin
n:=3;
C1:='Thu do Ha noi';
Writeln('Gia tri n trong chuong trinh con: ',n);
Writeln('Chuoi C1 trong chuong trinh con: ',C1);
end;
Begin (* thân chương trình m+ *)
Clrscr;
Bien_dia_phuong;
Writeln;
n:=0;
for i:= 1 to 10 do n:= n+i;
c1:='Happy Birth Day';
Writeln('Gia tri n trong chuong trinh me: ',n);
Writeln('Chuoi C1 trong chuong trinh me: ',C1);
Readln;
End
Ví d 1.3 thi t k m t chương trình m+ và m t chương trình con dư i d ng th t c Ph%n khai báo bi n trong c hai là như nhau Phép gán d li u vào bi n n và chu'i C1 là khác nhau
Sau l i g i chương trình con Bien_dia_phuong màn hình xu t hi n:
Gia tri n trong chuong trinh con: 3
Chuoi C1 trong chuong trinh con: Thu do Ha noi
ThuVienDeThi.com