Giao Trinh (Phan Thuat Toan Va Ngon Ngu Pascal)

  • Upload
    tien-an

  • View
    2.816

  • Download
    2

Embed Size (px)

Citation preview

6. THUT TON 6.1. Khi nim Thut ton l mt khi nim rt quan trng ca ton hc v tin hc. Khi nim thut ton tng i phc tp, nhng trong phm vi nghin cu ca mn hc ny, chng ta ch tm hiu nhng vn c bn, n gin v thut ton. lm bt k cng vic no, chng ta cng cn phi bit trnh t thc hin cng vic . Ngha l, chng ta phi xc nh c c th v chi tit cc thao tc v trnh t, cch thc thc hin trn c s ci ta c v ci ta cn t c. Thc cht y chnh l thut ton. Vy ta c th hiu: Thut ton l mt tp hp hu hn cc thao tc cn thc hin, c sp xp theo mt trnh t nht nh hon thnh trn vn mt cng vic nh trc. l mt h cc quy tc m nu hng dn cho nhng ngi khc nhau th h s hnh ng ging nhau. Hoc: Thut ton (cn gi l thut gii) l mt bn hng dn bao gm mt s hu hn cc mnh lnh quy nh chnh xc cc php ton v ng tc cn thc hin mt cch my mc theo mt trnh t vch r gii quyt mt loi bi ton hay nhim v no . Trong trng hp hiu theo ngha hp-gii cc bi ton, ta c th hiu: Thut ton l mt tp hp hu hn cc bc xc nh dng gii mt lp cc bi ton cng loi. N c vch ra trn c s cc d liu ban u v cc thng tin kt qu. Nh vy xy dng thut ton ta phi thc hin nh sau: - Chia bi ton thnh cc bc, mi bc ng vi mt thao tc ca ngi hoc my - Sp xp cc bc theo mt trnh t nht nh t thao tc u cho ti thao tc kt thc. V d: Thut ton gii phng trnh bc 2: ax2 + bx + c = 0 ( a0) Bc 1: Xc nh d liu a,b,c. Xong chuyn sang bc 2 Bc 2: Tnh = b2 - 4ac. Xong chuyn sang bc 3 1

Bc 3: Kim tra du ca + Nu >0 th chuyn sang bc 4 + Nu =0 th chuyn sang bc 6 + Nu Exit - Hoc bm t hp phm Alt+X. 1.3. Mi trng lm vic ca Turbo PASCAL

1.3.1. Mn hnh giao tip ca Turbo PASCALSau khi khi ng chng trnh xong ta s c mn hnh giao tip nh sau:

Men u chnh Mn hnh son tho Thanh cun dc

Dng trng thi

Thanh cun ngang

Dng ch dn

- Dng Menu chnh: bao gm nhiu mc chn, mi mc chn gm mt s mc chn con vi cc chc nng khc nhau. - Mn hnh son tho: cho php son tho ni dung chng trnh. - Dng ch dn: ch dn cch thc hin nhanh mt s lnh thng qua cc phm chc nng. V d: lu ni dung chng trnh hin ti vo a, ta bm phm F2. - Thanh cun dc, ngang: dng hin th phn ni dung chng trnh b che khut. - Dng trng thi: cha mt s biu tng nh ng tp chng trnh ang lm vic, chuyn sang lm vic vi tp ang m khc,... v cung cp mt s thng tin khi son tho chng trnh nh: tn tp ang son tho; v tr con tr mn hnh;...

1.3.2. Son tho trong Turbo PASCAL12

1.3.2.1.Cc phm dng di chuyn con tr Home End PageUp Di chuyn con tr sang tri mt k t. Di chuyn con tr sang phi mt k t. Di chuyn con tr ln dng trn. Di chuyn con tr xung dng di. a con tr v u dng hin ti. a con tr v cui dng hin ti. Di chuyn con tr ln pha trn mt trang mn hnh.

PageDown Di chuyn con tr xung pha di mt trang mn hnh. Ctrl + Ctrl + Di chuyn con tr sang tri mt t. Di chuyn con tr sang phi mt t. Di chuyn con tr v u vn bn. Di chuyn con tr v cui vn bn.

Ctrl + PageUp Ctrl+PageDown

1.3.2.2. Cc phm dng xo k t Phm Del Xo k t ti v tr con tr. Xo k t bn tri v tr con tr.

Phm (BackSpace) Ctrl + Y Ctrl+Q,Y Ctrl+Q,L

Xo dng vn bn con tr ang lm vic. Xo t v tr con tr n cui dng. Khi phc dng va xo.

1.2.3.3. Lm vic vi khi vn bn Khi vn bn l phn vn bn lin tc c nh du li phn bit vi cc phn vn bn khc. Mun lm vic vi khi vn bn no ta cn phi chn khi vn bn bng cch: a con tr v v tr u ca khi, sau gi phm Shift ng thi dng cc phm di chuyn con tr chn. Trong Turbo PASCAL c mt s lnh lm vic vi khi vn bn nh sau: 13

Ctrl+Insert Shift+Del

Sao chp khi vn bn chn vo b nh m(ClipBoard). Di chuyn khi vn bn chn vo b nh m(ClipBoard).

Shift + Insert Sao chp ni dung t b nh m ra v tr con tr ang lm vic. Ctrl + Del Ctrl +K,H Ctrl + K,W Ctrl + K,R Xo khi vn bn chn. Hu b vic chn khi vn bn. Ghi khi vn bn chn ra tp. c mt tp t a v t vo v tr con tr ang lm vic.

1.2.3.4. Tm kim v thay th Ctrl + Q,F Ctrl + Q,A Tm kim mt xu k t. Tm kim mt xu k t v thay th bng xu k t khc.

1.2.3.5. Mt s phm chc nng khc Phm Insert Thay i ch vit chn v vit . Alt + BackSpace Ctrl + O,I Khi phc li cng vic thc hin trc (Undo).

Bt/Tt ch t ng cn thng l tri vi dng trc.

Ngoi ra: Cc t hp phm thng c s dng cc phin bn trc c th s dng trong phin bn ny. V d nh: Ctrl+K,B; Ctrl+K,V; Ctrl+K,C;....

1.3.3.Lm vic vi menu chnhMun vo lm vic vi h thng menu ta c th thc hin bng cch: bm phm F10 hoc gi phm Alt v bm phm i din nhm chc nng cn chn, sau s dng cc phm mi tn a hp sng n mc cn chn v bm phm Enter. thot khi h thng menu, quay v mn hnh son tho vn bn bm phm ESC. Trong khi lm vic vi h thng menu cn ch : - Cc mc ch m l khng th thc hin c ti thi im hin ti. - Cc mc c du .. theo sau l mc chn cn cha mc chn con khc. - Cc mc chn c t hp phm ghi bn cnh l mc chn c th thc hin c 14

t mn hnh son tho bng cch bm t hp phm tng ng . Cc mc hay dng nht trong menu thuc bn nhm File, Edit, Run v Complie. Ta s xem xt nhng ni dung chnh ca bn menu ny: 1.3.3.1. Menu File

New: Open:

M tp chng trnh mi. M tp chng trnh c trn a ra lm vic (c th n phm F3 thc hin chc nng ny).

Save:

Lu gi ni dung chng trnh ang lm vic vo a (c th n phm F2 thc hin chc nng ny). Nu l ln u tin thc hin th phi khai bo ng dn v tn ca tp chng trnh cn ghi (tp chng trnh c phn m rng mc nh l PAS).

Save as: Change dir: Print: Print setup: DOS shell:

Lu gi ni dung chng trnh ang lm vic vi tn tp khc. Thay i th mc hin thi. In ni dung chng trnh ang lm vic. Thay i tham s cho my in,... Tm thi thot khi Turbo PASCAL v DOS, mun tr li Turbo PASCAL g lnh EXIT.

Exit:

Thot khi Turbo PASCAL. 1.3.3.2. Menu Edit

15

Undo: Redo: Cut: Copy: Paste: Clear:

Hu b thao tc va thc hin trc . Hu b thao tc Undo trc , ly li thao tc va hu b. Chuyn khi vn bn chn vo b nh m. Sao chp khi vn bn chn vo b nh m. Sao chp ni dung t b nh m ra v tr con tr. Xo khi vn bn chn.

Show clipboard:Xem ni dung bn trong b nh m. 1.3.3.3.Menu Run

Run:

Yu cu Turbo PASCAL bin dch v chy chng trnh ang son tho (c th n phm Ctrl+F9 thc hin chc nng ny). Trong qu trnh thc hin nu gp li, Turbo PASCAL s a ra thng bo v t con tr v v tr pht hin ra li. Sau khi chy xong chng trnh, mn hnh tr v trng thi ban u, do c th xem kt qu ca chng trnh phi bm t hp phm Alt+F5 sau khi thc hin chng trnh.

Step Over:

Bin dch v thc hin tng bc chng trnh ang son tho. Khi thc hin xong mt lnh thc hin lnh tip theo n phm F8. Lnh ny khng thc hin tng lnh trong chng trnh con. 16

Trace Into:

Bin dch v thc hin tng bc chng trnh ang son tho. Khi thc hin xong mt lnh thc hin lnh tip theo n phm F7.

Go to cursor:

Bin dch v thc hin tng bc chng trnh ang son tho n dng lnh cha con tr mn hnh th dng li. Khi thc hin xong mt lnh thc hin lnh tip theo n phm F4. Khng thc hin tng lnh trong chng trnh con.

Program reset Dng thao tc sa cha, xo b nh. Parameters: nh cc tham s trn dng lnh cn chuyn cho chng trnh.

1.3.3.4. Menu Compile

Compile:

Thc hin chc nng dch v ch dnh nhng tp no cn thit ch khng dch ht. Sau khi dch khng cho thc hin chng trnh.

Make:

Thc hin chc nng dch v ch nh ng mt UNIT ta ang son tho. Sau khi dch khng cho thc hin chng trnh.

Build:

Thc hin chc nng dch ton b chng trnh. Sau khi dch khng cho thc hin chng trnh.

Primary file:

Ch tn tp cha chng trnh chnh. Nu chng trnh ch cha mt tp, khng c UNIT th khng cn quan tm n mc ny.

ClearnPrimary file: Xo b tn tp cha chng trnh chnh. Information: Hin th mt s thng tin v chng trnh ang thc hin.

Tm li: Trong phn chy v bin dch chng trnh, ta ch cn nh t hp phm Ctrl+F9 l thun tin nht. Alt_F5 xem kt qu thc hin chng trnh.

17

2. CC YU T C BN CA NGN NG TURBO PASCAL 2.1. Bng ch (Character set) TURBO PASCAL s dng mi k hiu trong bng m ASCII c chia thnh ba loi sau: - B ch ci: Gm 26 ch ci ting Anh in hoa (A,...,Z) v in thng (a,...,z). TURBO PASCAL khng phn bit ch in hoa, in thng, tr trng hp trong cc xu vn bn. - B ch s: gm 10 ch s ,1,...,9. trnh nhm ln gia s vi ch O, TURBO PASCAL qui nh s c gch cho trong. - Cc k hiu c bit: l cc k hiu khng phi ch ci hoc ch s. Chng hn nh: ,?,=,+,!,~,[,],{,},... Mi k hiu thuc mt trong ba loi trn gi chung l mt k t. 2.2. T kho (Keyword) T kho l mt t ting Anh khng cha khong trng vi cch vit v ngha xc nh. Trong Turbo PASCAL, khng dng t c ngha tng ng thay th. - Trong chng trnh t kho c th c vit bng ch in hoa hoc in thng nhng phi c t nht mt k t trng t gia cc t kho. - Khng c dng t kho vo vic khc hoc t tn mi trng vi cc t kho. Turbo PASCAL c cc t kho sau: - T kho chung: PROGRAM, BEGIN, END, PROCEDURE, FUNCTION - T kho khai bo: USES, CONST, VAR, LABEL, TYPE, ARRAY, STRING, FILE, RECORD, OBJECT, SET - T kho ca lnh r nhnh: IF ... THEN ... ELSE, CASE ... OF - T kho ca lnh chu trnh: FOR ... TO ... DO, FOR...DOWNTO...DO, WHILE...DO, REPEAT...UNTIL - T kho iu khin: WITH, GOTO - T kho ton t: AND, OR, NOT, IN, XOR, DIV, MOD 18

- T kho Nul: NUL 2.3. Tn (Identifier) Tn l dy k t c dng ch tn hng, tn bin, tn chng trnh con,... Cch t tn: L dy lin tip khng qu 127 k t thuc loi ch ci, ch s, du gch ni, bt u bi ch ci v khng phn bit gia vit in v vit thng. Khi t tn ngi ta thng t tn c tnh gi nh. Chng hn khi lp chng trnh gii phng trnh bc nht ta c th t tn chng trnh l: Phuong_trinh_bac_nhat - Tn chun (Predefined Identifier): l tn ca cc hm v th tc c TURBO PASCAL nh ngha sn hay cn gi l tn c nh ngha trc. Mt s tn chun: BOOLEAN, CHAR, INTEGER, REAL, BYTE, FALSE, TRUE, SIN, COS, PI, INTEGER, READLN,... - S khc bit gia tn chun v t kho: t kho l nhng t m ngha c quy nh sn, ta khng c dng vi ngha no khc, cn tn chun th c th dng t tn cho mt i tng mi, khi ngha c ca tn chun s khng cn na. 2.4. Ch thch (Comment) Ch thch trong TURBO PASCAL l mt xu k t c t gia hai du { v } hoc c t gia hai cp du (* v *) dng gii thch trong chng trnh, gip cho chng trnh d c, d hiu hn m khng lm nh hng n phn khc. Khi thc hin my s b qua phn gii thch ny. V d: (* Phn khai bo cc bin, hng *) { y l phn chnh ca chng trnh} 2.5. Mt s kiu d liu c bn

2.5.1. Kiu s nguynKiu s nguyn c my nh ngha sn vi t kho Integer. Tuy nhin trong Turbo PASCAL c mt s kiu s nguyn nh sau:

19

Kiu Byte Word Shortint Integer Longint Ch : 0 ... 255

Min gi tr 0 ... 65535 -127 ... 127 -32768 ... 32767 -2147483648 ... 2147483647

Yu cu b nh 1 byte 2 bytes 1 byte 2 bytes 4 bytes

- Khi vit s nguyn khng c c du cch gia cc ch s v khng c dng du chm thp phn gia cc ch s. Du dng (+) hoc du m (-) nu c th phi t ngay trc ch s u tin. - Khi tham gia cc php ton phi quan tm n kt qu xem c cn nm trong min gi tr cho php hay khng? V d: bin a c kiu Integer a := 10; {ng} a := 27 * 32767; {sai v khng thuc min gi tr}

2.5.2. Kiu s thcKiu s thc c nh ngha sn bng t kho Real trong Turbo PASCAL. Tuy nhin cn c cc kiu s thc sau trong PASCAL chun: Kiu Real Single Double Extended Comp Phm vi biu din 2.9E-39 ... 1.7E+38 1.5E-45 ... 3.4E+38 5.0E-324 ... 1.7E+308 3.4E-4932 ... 1.1E+4932 -9.2E+18 ... 9.2E+18 S ch s c ngha 11-12 7-8 15-16 19-20 19-20 Yu cu b nh 6 bytes 4 bytes 8 bytes 10 bytes 8 bytes

Trong chng trnh PASCAL s thc c th c vit di hai dng: dng du chm tnh v dng du chm ng. Dng du chm tnh S thc vit di dng du chm tnh l s thc c phn nguyn v phn thp phn. Du chm c dng ngn cch gia hai phn ny. 20

Dng tng qut:

n.m

trong n v m l dy s trong h m c s 10 V d: Cch vit s thc 123.45, -5.654 l ng. Cch vit s thc nh sau l sai, l khng y : .45 (l sai, phi vit l 0.45) 12. (l khng y , phi vit l 12.0 hoc 12) Dng du chm ng S thc vit di dng du chm ng c tch thnh hai phn. Phn nh tr v phn bc. Dng tng qut : trong : n.m E s

n, m, s l dy cc s h m c s 10 E s vi ngha l 10 S

V d: 4.3324E+2 hoc 0.43324E+3 u biu din s 433.24

2.5.3. Kiu k t (Char)Kiu k t dng biu din mt k t thng qua bng m ASCII, mt k t kiu CHAR chim 1 byte. C tt c 256 k t nh s t 0 n 255. M ca mt k t chnh l s th t ca n trong bng m. biu din mt k t, c th s dng cc cch sau: - t k t cn biu din trong du nhy n. V d: 'A', 'a', '1', ... - Dng hm Char(n) biu din k t c gi tr m l n. V d: Char(65) biu din 'A'. - Hm Char(n) c th vit #n. V d: #65 biu din k t 'A'.

2.5.4. Kiu xu k t (String)21

Mt gi tr kiu String l mt xu k t bt k t trong hai du nhy n. Yu cu b nh dnh cho kiu string bng di ca xu k t cng mt. di xu k t chnh l s k t trong dy. di ngm nh ti a l 255 k t. V d: 'xyz' l hng c kiu String c di l 3 cn 4 bytes biu din. 'Ha noi' l hng c kiu String c di l 6 cn 7 bytes biu din. 'Nguyen Thi Hoa' l hng c kiu String c di l 14 cn 15 bytes biu din.

2.5.5. Kiu Logic (Boolean)D liu kiu Boolean ch nhn mt trong hai gi tr TRUE (ng) hoc FALSE (sai). D liu kiu Boolean chim 1 byte b nh. TRUE v FALSE l tn cc gi tr c nh ngha sn, trong gi tr FALSE coi l nh hn TRUE. 3. CC I LNG C BN CA TURBO PASCAL 3.1. Hng (Constant) Hng l cc i lng xc nh, khng thay i gi tr trong sut chng trnh. Cc loi hng: hng s (nguyn v thc), hng k t, hng xu k t, hng logic. Trong chng trnh hng c th c th hin bng gi tr cho trc tip hoc th hin qua tn. Nu hng th hin qua tn th trc khi s dng phi khai bo phn khai bo hng trong chng trnh. Khai bo hng theo nguyn tc sau: CONST = ; Kiu ca gi tr hoc ca biu thc s xc nh kiu ca hng. V d: CONST x = 20; y = 3*7 + 1; 22

z = abc; nu = False; Turbo PASCAL cho php thc hin ng thi vic khai bo v khi u mt gi tr sau t kho CONST. V d: CONST m=3.2; x: integer = 20; Ch : Trong chng trnh c th thay i li gi tr ca bin x thng qua lnh gn v bin x khai bo kiu, cn gi tr ca bin m khng thay i li c v bin m cha khai bo kiu. 3.2. Bin (Variable) Bin l mt i lng m gi tr c th thay i trong qu trnh thc hin chng trnh. Bin c th hin thng qua tn bin. Mi bin l mt a ch tng trng cho mt trng nh RAM lu tr d liu thuc 1 trong 5 kiu d liu trn. Trong chng trnh mun s dng bin no th phi khai bo trc v mt bin ch gn vi mt kiu d liu duy nht. Khai bo bin theo nguyn tc sau: VAR : ; trong : l tn cc bin cn khai bo t cch nhau du phy. c th l: real, integer, char, string, Boolean, ... Du hai chm (:) ngn cch gia hai phn ca khai bo bin. Ch : i vi bin c kiu String c hai cch khai bo: : String; {xu k t c di khng qu 255 k t} : String[n]; {c di khng qu n k t, n 255} Khi c th ch ra k t th i trong xu bng cch vit: bin[i] v mi bin[i] c kiu char. 23

V d: VAR i ,j: integer; x: real; ho_ten: string[30]; ghichu: string; tl: char; Bin ch s: L dng c bit ca bin m t cc i lng bin thin km ch s. Cch vit: []

trong : gm cc ch s vit cch nhau du phy V d: x1 vit trong ngn ng Turbo PASCAL l x[1] xij c vit l x[i,j] 3.3. Hm (Function) v th tc (Procedure) Hm v th tc l cc chng trnh mu xy dng sn v c lu tr trong th vin chng trnh mu thc hin mt cng vic xc nh.. S khc bit c bn v duy nht gia hm v th tc l: Hm s tr v gi tr kt qu tng ng thng qua tn hm, do hm c s dng trong mt biu thc. Cn th tc khng tr v kt qu thng qua tn th tc, do th tc khng c s dng trong biu thc. V d: Hm ABS(x) tr v tr tuyt i ca x, hm SQRT(x) tr v gi tr s l cn bc hai ca x,... Th tc Dec(x) gim gi tr ca bin nguyn x mt n v, Th tc Inc(x) tng gi tr ca bin nguyn x mt n v, ...

3.3.1. Mt s hm v th tc dng cho s nguyna. Hm ABS(x): tr v gi tr tuyt i ca x. V d: x : integer; x := abs(15-20); 24 {x = 5}

b. Hm SQR(x): tr v gi tr bnh phng ca x. V d: x: integer; x := sqr(3); {x = 9}

c. Hm Pred(x): tr v gi tr bng x-1 ca s nguyn x. V d: x: integer; x := pred(15 - 20); {x = -6}

d. Hm Succ(x): tr v gi tr bng x+1 ca s nguyn x. V d: x: integer; x := succ(15 - 20); {x = -4}

e. Hm Odd(x): tr v gi tr TRUE nu s nguyn x l s l, tr v gi tr FALSE nu s nguyn x l s chn. V d: kt : boolean; kt := odd(10); {kt = false}

f. Th tc Dec(x): gim gi tr ca bin nguyn x xung mt n v. V d: x: integer; x := 5; dec(x); {x = 4}

g. Th tc Inc(x): tng gi tr ca bin nguyn x thm mt n v. V d: x: integer; x := 5; inc(x); {x = 6}

3.3.2. Mt s hm v th tc dng cho s thca. Hm ABS(x): tr v tr tuyt i ca x. V d: x: real; x := abs(15-20); 25 {x = 5.0000000000E+00}

x := abs(10/3);

{x = 3.3333333333E+00}

b. Hm SQR(x): tr v gi tr bnh phng ca x. V d: x: real; x := sqr( - 2); {x = 4.0000000000E+00}

c. Hm SQRT(x): tr v gi tr s thc l cn bc hai ca x. V d: x: real; x := sqrt( 9); d. Hm Pi: tr v gi tr ca s (3.1415.....). e. Hm SIN(x): tr v gi tr Sinx, x tnh theo Radian. V d: x: real; x := sin(30*pi/180); {x = 5.0000000000E-01} {x = 3.0000000000E+00}

f. Hm COS(x): tr v gi tr Cosx, x tnh theo Radian. V d: x: real; x := cos(90*pi/180); {x = 0.0000000000E+00}

g. Hm ArcTan(x): tr v gi tr l cung (bng radian) trong khong (- /2, /2) c tang bng x. V d: arctan(1) tr v gi tr 7.8539816340E-01 (radian). arctan(1)/pi*180 tr v gi tr 4.5000000000E+01 (). h. Hm Exp(x): tr v gi tr ex( trong : hng s e = 2.71828...) V d: exp(2) tr v gi tr 7.3890560989E+00 i. Hm Ln(x): tr v Loga c s e ca x (Logex). V d: Ln(3) tr v gi tr 1.0986122887E+00 j. Hm Int(x): tr v gi tr phn nguyn ca x nhng c kiu s thc. V d: x: real; x := int(2.8); {x = 2.0000000000E+00}

k. Hm Trunc(x): tr v gi tr phn nguyn ca x nhng c kiu s nguyn. 26

V d:

x: integer; x := int(2.8); {x = 2}

l. Hm Frac(x): tr v phn thp phn ca x. V d: x: real; x := frac(10/3); {x = 3.3333333333E-01}

m. Hm Random: tr v mt s thc ngu nhin trong khong (0,1). V d: Random tr v gi tr 4.6554604231E-01 n. Hm Round(x): tr v gi tr s nguyn gn s thc x nht (theo qui tc lm trn s n phn nguyn). V d: x: real; x := round(12.5); {x = 1.3000000000E+01}

3.3.3. Mt s hm v th tc v k t v xu k ta. Hm CHR(x): tr v k t c m ASCII tng ng bng x. V d: kt: char; kt := chr(66); {kt = B}

b. Hm Concat(S1,S2,...,Sn): tr v xu k t ghp lin tip ca cc xu S1,S2,...,Sn V d: kt: char; kt := concat(ab, ,cd); {kt = ab cd} c. Hm Length(S): tr v gi tr s nguyn l di ca xu k t S. V d: x: integer; x := length(ab cd); Tng di ca xu phi 0)

Vit trong Pascal: (sqrt(abs(a b)) + e(x*ln(a)))/(2*b) Ch : - Tt c cc i lng ca biu thc s hc u c vit trn cng mt dng. - Khng hai tn lin nhau v khi Turbo PASCAL s hiu l mt tn. - Chiu di ca biu thc s ni chung khng qu 255 k t. 30

- Khi tnh biu thc s hc, my s i kiu ca mi i lng ra kiu ca i lng c chnh xc cao nht tnh theo qui tc. 4.2. Biu thc xu k t Mt tp hp cc bin, hng, hm c kiu k t hoc kiu xu k t lin kt vi nhau bi du cng(+) to thnh biu thc xu k t. Gi tr ca biu thc xu k t l tp hp cc gi tr ca cc bin, hng, hm c mt trong biu thc ghp li tun t vi nhau theo th t xut hin. V d: ABC + CD + char(65) kt qu l dy k t ABCCDA 4.3. Biu thc quan h Hai biu thc cng kiu lin kt vi nhau bi mt php ton quan h to thnh biu thc quan h trong Turbo PASCAL. Cc php ton : Php ton Ln hn hoc bng Ln hn Nh hn hoc bng Nh hn Khc nhau Bng Vit trong PASCAL >= > < 31

- Khi hai biu thc cn so snh c kiu xu k t th Turbo PASCAL s i tnh gi tr hai biu thc , sau cc k t ca hai xu kt qu c so snh tng cp mt t tri qua phi theo gi tr ca bng m ASCII. - Nu hai xu k t kt qu c di khc nhau song s k t ging nhau n di xu ngn nht th xu c di ngn hn c coi l b hn. - Hai xu k t kt qu c coi l bng nhau nu chng ging nhau c v ni dung v di. V d: 2 + 3 HNM HN = HN HN => HNM 4.4. Biu thc logic Mt tp hp cc biu thc quan h, cc i lng logic lin kt vi nhau bi cc php ton logic, cc du ( v ) to thnh biu thc logic trong Turbo PASCAL. Nu trong biu thc logic c nhiu php ton quan h th phi nhm tng php ton li vi nhau bng cp du (...) Cc php ton : Php ton Php ph nh logic Php v logic Php hoc logic Php hoc trit tiu Kt qu thc hin ca cc php ton nh sau: Biu thc A TRUE 32 Gi tr TRUE FALSE FALSE Vit trong PASCAL NOT AND OR XOR {c gi tr FALSE} { c gi tr TRUE} { c gi tr FALSE} { c gi tr True} {khng thc hin c do vit sai du php ton}

B NOT a a AND b a OR b a XOR b

TRUE FALSE TRUE TRUE FALSE

FALSE FALSE FALSE TRUE TRUE

TRUE TRUE FALSE TRUE TRUE

FALSE TRUE FALSE FALSE FALSE

Trnh t u tin thc hin: Trnh t u tin c xp t cao xung thp theo th t di y (Nu cng th t u tin th thc hin t tri qua phi): - Cc php ton trong ngoc (). - Php ph nh logic (NOT). - Php v logic (AND). - Php hoc logic (OR), php hoc trit tiu logic (XOR). V d: (2 + 3 0

S

=0

S

x1, 2 = ( b ) /( 2a)

x = -b/(2a)

x1,2

x

PT v nghim

E

Program Phuongtrinhbachai; Uses CRT; Var Begin clrscr; write('Nhap he so thu nhat: '); readln(a); write('Nhap he so thu hai: '); readln(b); write('Nhap he so thu ba: '); readln(c); delta := b*b - 4*a*c; if delta > 0 then begin x1:= (-b + sqrt(delta))/(2*a); x2:= (-b - sqrt(delta))/(2*a); writeln(Nghiem x1 = ,x1:10:2); writeln(Nghiem x2 = ,x2:10:2); end else if delta = 0 then a,b,c,delta,x1,x2: real;

begin x := -b/(2*a); writeln(Nghiem x = ,x:10:2); end else writeln(Phuong trinh vo nghiem); readln; End. V d 3: Cho bit tn v im trung bnh ca sinh vin. Lp chng trnh tnh v in hc bng ca sinh vin theo cng thc: Sinh vin c hc bng l 240.000 ng nu DTB >= 9.0 Sinh vin c hc bng l 180.000 ng nu 8.0 = 9 then

dong);

begin hb := 240000; goto ketqua; end; if dtb >= 8 then begin hb := 180000; goto ketqua; end; if dtb >= 7 then begin hb := 120000; goto ketqua; end; hb := 0; ketqua:writeln('Sinh

vien

',ten,co

HB

la,hb:10:0,

readln; End.

7.2.4. Lnh EXITC php: EXIT; Tc ng: Khi gp lnh EXIT nm trong chng trnh con th s kt thc vic thc hin cc lnh trong chng trnh con v tr v v tr gi thc hin chng trnh con. Cn nu lnh EXIT nm trong chng trnh chnh th lnh s kt thc vic thc hin cc lnh trong chng trnh chnh.

7.2.5. Lnh BREAKC php: BREAK; Tc ng: Trong thn cc lnh vng lp (For, While, Repeat) khi gp lnh BREAK th my s thot khi chu trnh. Nu c nhiu vng lp lng nhau th my s thot khi vng lp trong nht cha lnh BREAK.

7.2.6. Lnh HALTC php: HALT; Tc ng: Lnh HALT dng dng hn chng trnh. Lnh ny thng dng khi gp mt trng hp no m thut ton khng th thc hin c. 7.3. Nhm lnh chu trnh Khi nim: Chu trnh l mt on chng trnh c thc hin lp i lp li nhiu ln. S ln thc hin on chng trnh gi l s ln lp ca chu trnh. Nu nh trc khi thc hin c th xc nh c s ln lp th gi l chu trnh c s ln lp bit trc, ngc li gi l chu trnh vi s ln lp khng bit trc. t chc chu trnh trong Turbo PASCAL s dng cc lnh sau:

7.3.1. Lnh FOR7.3.1.1. Dng 1: C php: trong : l tn bin chu trnh (c kiu nguyn, k t, logic) , l cc biu thc v phi cng kiu d liu vi bin chu trnh. Gi tr ca khng ln hn gi tr ca l cc lnh cn thc hin trong chu trnh gi l thn chu trnh. Nu thn chu trnh gm nhiu lnh th phi t trong khi lnh Tc ng: Lnh c dng t chc cc chu trnh c s ln lp bit trc. Gp lnh ny, my thc hin theo cc bc sau: (1) Thc hin lnh gn := ; (2) Kim tra iu kin bin = bt2. Nu iu kin ny l sai th my thot khi vng lp FOR thc hin cc lnh sau FOR. Nu iu kin ny l ng th my thc hin , sau thay i gi tr ca bin chu trnh, bin s nhn gi tr mi l Pred() (thc cht l thc hin lnh gn :=Pred()) v quay tr li thc hin bc (2). S khi sau m t vic thc hin lnh FOR ... DOWNTO ... DO

bin = bt1

binbt 2 S Lnh tip theo

Nhm lnh

bin=pred(bin)

Ch : - Cc lnh trong thn chu trnh khng c tu tin thay i gi tr ca bin chu trnh v nu lm nh vy s rt kh kim sot c gi tr ca bin chu trnh. - Cc chu trnh c th lng nhau nhng khng c ct nhau. - Nu trong thn chu trnh c lnh BREAK th gp lnh ny s thot khi chu trnh. V d 4: Chng trnh tnh tng n (n 50) s t nhin u tin c th vit cch khc nh sau: Program Tinh_tong; Uses CRT; Var i, s, n : integer; Begin clrscr; write('Nhap n= '); readln(n);

s:=0; for i : = n downto 1 do s : = s + i; writeln('Tong S = ',s ); readln; end.

7.3.2. Lnh WHILE ... DOC php: WHILE DO ; trong : l biu thc logic xc nh iu kin lp. l cc lnh cn thc hin lp i lp li, gi l thn chu trnh. Nu thn chu trnh gm nhiu lnh th phi t trong khi lnh. Tc ng: Lnh WHILE dng t chc c hai loi chu trnh c s ln lp bit trc v chu trnh c s ln lp khng bit trc. Gp lnh ny, my thc hin theo cc bc sau: (1) Tnh gi tr (2) Nu tr v gi tr TRUE th my s thc hin , sau quay tr v bc (1). Nu tr v gi tr FALSE th kt thc lnh v thc hin cc lnh tip theo. Nu ngay t u nhn gi tr FALSE th my s khng thc hin lnh no trong vng lp. S khi sau m t vic thc hin lnh WHILE ... DO

bt logic S Lnh tip theo

Nhm lnh

Ch : Trong vng lp WHILE ... DO phi c lnh iu khin bin lin quan n vng lp hoc lnh ra khi vng lp nu khng s khng thot khi c vng lp. V d 1: Vi chng trnh tnh lu tha nguyn dng ca s thc a (a n). Ta c th vit chng trnh gii bi ton ny theo cch sau:

Program Tinh_luy_thua; Uses CRT; Var t,a:real;

i,n: integer; Begin clrscr; write('Cho biet so a = '); readln(a); write('Cho biet so n = '); readln(n); t := 1; i:=1; while i a 2 3 nQu trnh gii bi ton c minh ho theo thut ton sau:

B

a S=0

n=0

Sa n S

n=n+1

S=S + 1/n

E

Program Tim_so_thoa_man_dieu_kien; Uses CRT; Var s,a:real; n: integer; Begin clrscr; write('Cho biet so a = '); readln(a); s := 0; n:=0; while s n m=m-n

S n=n-m

E

Program UCLN; Uses crt; Var m,n, uc: integer; Begin clrscr; write('Cho biet so m = '); readln(m); write('Cho biet so n = '); readln(n); while mn do if m>n then m:=m-n else m:= n-m; uc := m; writeln('UCLN la',uc); readln; End.

7.3.3. Lnh REPEAT... UNTILC php: REPEAT ; UNTIL ; trong : l biu thc xc nh iu kin kt thc chu trnh l cc lnh cn thc hin lp i lp li, gi l thn chu trnh. Nu thn chu trnh gm nhiu lnh khng cn phi t trong khi lnh.

Tc ng: Lnh REPEAT thng dng t chc cc chu trnh d c s ln lp bit trc hay khng. Gp lnh ny, my thc hin theo cc bc sau: (1) Thc hin (2) Tnh gi tr (3) Nu tr v gi tr FALSE th quay tr v bc (1). Nu tr v gi tr TRUE th kt thc lnh v thc hin cc lnh tip theo. Nh vy trong cu trc lp REPEAT ... UNTIL, c thc hin t nht mt ln. S khi m t vic thc hin lnh REPEAT ... UNTIL

Nhm lnhS

BT logic

Lnh tip theo lnh Repeat

Ch : Trong vng lp REPEAT ... UNTIL phi c lnh iu khin bin lin quan n vng lp hoc lnh ra khi vng lp nu khng s khng thot khi c vng lp. V d 1: Vi chng trnh tnh lu tha nguyn dng ca s thc a (a n). Ta c th vit chng trnh gii bi ton ny theo cch sau: PROGRAM Tinh_luy_thua; Uses CRT; Var t,a:real; i,n: integer; Begin clrscr; write('Cho biet so a = '); readln(a); write('Cho biet so n = '); readln(n); t := 1; i:=1; repeat

t := t*a; i := i+1; until i>n; writeln('Luy thua ',t:10:2); readln; End. V d 2: Li sut hng thng gi tit kim khng k hn l 0,5%. Mt ngi gi vo s tin ban u l a. Sau bao nhiu thng ngi c c s tin khng nh hn b? Qu trnh gii bi ton c minh ho theo thut ton sau:B

a, b S aa[j] then k:=j; if ki then begin trunggian := a[i]; a[i] := a[k]; a[k] := trunggian; end; End.Lng c bn = (H s lng + H s ph cp) x 450000 ngBHXH (bo him x hi) = 5% Lng c bn BHYT (bo him y t) = 1% Lng c bn Tng tin = Lng c bn - BHXH - BHYT Program Bang_luong_can_bo; Uses CRT; Var ht:array[1..100] of string[30]; hsl,hspc,lcb,bhxh,bhyt,stdl: array[1..100] of real; i,n,stt:integer; tlcb,tbhxh, tbhyt, tstdl:real; dke: string[80]; Begin Clrscr; {Nhap du lieu} write('Cho biet so can bo :'); readln(n); for i:=1 to n do begin write('Nhap ten can bo thu ',i,':'); readln(ht[i]); write('Nhap hsl cua can bo thu ',i,':'); readln(hsl[i]); write('Nhap hspc cua can bo thu ',i,':'); readln(hspc[i]); lcb[i] := (hsl[i] + hspc[i])*450000; bhxh[i] := lcb[i]*5/100; bhyt[i] := lcb[i]*1/100; stdl[i] := lcb[i] - bhxh[i] - bhyt[i]; end; clrscr; tlcb:=0; tbhxh:=0; tbhyt:=0; tstdl:=0; stt:=1; {In tieu de bang luong} writeln('BANG LUONG THANG CUA CAN BO NHAN VIEN'); dke:='-------------------------------------------------------------------'; writeln(dke); writeln('| STT | Ho va ten | Luong CB | BHXH |BHYT|TONG TIEN |'); writeln(dke); {In noi dung bang luong} for i:=1 to n do beginwriteln('|',stt:5,'|',ht[i]:20,'|',lcb[i]:10:1,'|',bhxh[i]:8 :1,'|', bhyt[i]:8:1,'|',stdl[i]:10:1,'|'); tlcb := tlcb + lcb[i]; tbhxh := tbhxh + bhxh[i]; tbhyt := tbhyt + bhyt[i]; stt := stt + 1; end; tstdl:=tlcb - tbhxh - tbhyt; {In phan cuoi bang luong} writeln(dke); writeln('| ':20,'|',tlcb:10:1,'|',tbhxh:8:1,'|', tbhyt:8:1,'|',tstdl:10:1,'|'); writeln(dke); readln; End. V d 4: Lp chng trnh nhn hai ma trn C(m,n) = A(m,l) * B(l,n) Cc phn t ca ma trn tch c tnh theo cng thc: |',' TongCi j = Ai k * Bk jk =1lProgram Nhan_ma_tran; Uses CRT; Var a,b,c:array[1..50,1..50] of real; i,j,k,n,m,l:integer; Begin clrscr; {Nhap du lieu} write('m = '); readln(m);write('l = '); readln(l); write('n = '); readln(n); {Nhap ma tran A} for i:=1 to m do for j:=1 to l do begin write('a[',i,j,'] = '); readln(a[i,j]); end; {Nhap ma tran B} for i:=1 to l do for j:=1 to n do begin write('b[',i,j,'] = '); readln(b[i,j]); end; {Nhan ma tran} for i:=1 to m do for j:=1 to n do begin c[i,j]:=0; for k:=1 to l do c[i,j]:=c[i,j]+a[i,k]*b[k,j]; end; {In ket qua} for i:=1 to m do begin for j:=1 to n do write(c[i,j]:5:0); writeln; end; readln; End. 7.5. Chng trnh con: Hm v th tc7.5.1. Gii thiu chungTrong khi lp trnh, ta thng gp nhng on chng trnh c lp i lp li nhiu ln nhng ch khc nhau. trnh tnh trng vit i, vit li nhiu ln nhng on chng trnh ny, nn thay th nhng on chng trnh bng cc chng trnh tng ng v khi cn ch cn gin thay v phi vit li cc chng trnh trn, cc chng trnh gi l chng trnh con. Khi vit chng trnh gii quyt cc bi ton ln, phc tp, chng trnh thng rt di, gm hng trm, hng nghn dng lnh. c cc chng trnh di rt kh nhn bit c chng trnh thc hin cc cng vic g. V vy, n gin trong qu trnh g ri, hiu chnh, b sung,... ta nn chia chng trnh ln thnh cc chng trnh nh hn, mi chng trnh con gii quyt mt bi ton no . kt hp tt c cc chng trnh con , ta phi xy dng mt chng trnh iu hnh chnh, khi cn chng trnh con no th gi chng trnh con thc hin. Cc chng trnh con cng c lp v d liu, v cc bin th cng thun li cho vic sa i chng trnh. Trong Turbo PASCAL c hai loi chng trnh con l th tc v hm. phn trn ta lm quen vi mt s th tc v hm chun c sn trong Turbo PASCAL v nm c s khc nhau c bn gia hm v th tc, l: Hm tr li mt gi tr thng qua tn hm v do hm c th tham gia vo cc biu thc, cn th tc khng tr li kt qu thng qua tn ca n nn khng th tham gia vo cc biu thc.7.5.2. Th tc (Procedure)Th tc l mt chng trnh con dng thc hin mt s thao tc x l no . Mt th tc bt u bng t kho Procedure v c t chc nh sau: Procedure [(tham s 1:kiu d liu, tham s 2: kiu d liu,...)]; (* Khai bo Label, Const, Type, Var ca ring th tc nu cn*) Begin ; End; - Phn u th tc gm t kho Procedure, ri n tn th tc, sau l danh sch tham s hnh thc (nu c). Danh sch tham s hnh thc t trong cp du (...). - Phn khai bo ca th tc cng ging nh phn khai bo trong chng trnh. Tt c cc tn c khai bo trong phn khai bo ca th tc s l tn cc b trong th tc v cc th tc khc c khai bo trong th tc ny. - Phn thn th tc gm cc lnh t trong cp t kho Begin ... End; (kt thc t kho End l du chm phy). Phn thn th tc s c thc hin khi th tc ny c gi. Sau khi xy dng xong cc th tc, trong thn chng trnh chnh nu mun s dng th tc no ta ch cn a vo li gi: Tn_th_tc[(Tham s 1, Tham s 2, ...)];trong : Tham s 1, Tham s 2,... l cc biu thc c gi tr xc nh gi l cc tham s thc s. Cc tham s ny dng xc nh gi tr cho cc tham s hnh thc ca th tc cn gi. Mt th tc khi c gi s thay th ln lt cc tham s hnh thc bng cc gi tr ca tham s thc s ri thc hin th tc nh mt chng trnh bnh thng. Sau khi thc hin xong th tc s quay v chng trnh chnh thc hin lnh tip theo li gi n th tc. V d: Th tc nhp vo gi tr cho ba bin x, y, z bt k Procedure Nhap(var x, y, z: real); Begin Write('Nhap so thu nhat: '); Readln(x); Write('Nhap so thu hai: '); Readln(y); Write('Nhap so thu ba: '); Readln(z); End; Khi xy dng xong th tc Nhap ri, sau ny trong chng trnh chnh khi cn nhp d liu cho cc bin a, b, c ta ch cn gi: Nhap(a, b, c); Khi x, y, z gi l cc tham s hnh thc. a, b, c l cc tham s thc.7.5.3. Hm (Function)Hm l mt chng trnh con dng tnh mt i lng no c kiu d liu n gin (s, k t, xu k t, logic). Khi chng trnh chnh gi mt hm th phi c t nht mt lnh gn gi tr cho tn ca hm. Mt hm bt u bng t kho Function v c t chc nh sau: Function (tham s 1:kiu d liu, tham s 2: kiu d liu,...): kiu ca hm; (* Khai bo Label, Const, Type, Var ca ring hm nu cn*) Begin ; End; V d: Hm tm gi tr nh nht trong 3 s thc bt k function Tim_min(x,y,z:real):real; var min:real; begin min := x;if min > y then min := y; if min > z then min := z; Tim_min := min; end;7.5.4. Cch truyn tham s cho chng trnh conChng trnh con c th khng dng n tham s khi cc chng trnh con tnh ton trc tip vi cc bin ton cc hoc chng trnh con khng dng n bt c bin hay hng no. Vic truyn tham s cho chng trnh con l mt c cu thay th tng ng. N cho php thc hin lp i lp li nhiu ln vi cc ton hng khc nhau. Danh sch cc tham s thc s s phi tng ng v nht qun vi danh sch cc tham s hnh thc c khai bo trong tiu ca chng trnh con. V d: Khi xy dng xong th tc Nhap nhp gi tr cho ba bin s thc bt k, nu ta gi: Nhap(a, b, c) s thay th a vo v tr ca x, b vo v tr ca y v c vo v tr ca z. Tng t, nu ta gi Nhap(d, e, f) s thay th d vo v tr ca x, e vo v tr ca y v f vo v tr ca z. C hai cch truyn tham s cho chng trnh con: - Truyn theo tham bin: Cch vit: Var : Trong trng hp ny cc tham s thc s s phi l bin ch khng c l gi tr. Cc tham s thc l cc tham bin c th c thay i trong chng trnh con v n vn gi nguyn gi tr ny khi ra khi chng trnh con. - Truyn theo tham tr: Cc vit: : Cc tham s hnh thc vit trong trng hp ny c coi nh bin a phng ca chng trnh con. Cc tham s ny nhn gi tr ca tham s thc nh l gi tr ban u vo thi im thay vo chng trnh con. Chng trnh con c th thay i gi tr ca n, song khng th thay i gi tr ca tham s thc. Do vy mt tham tr khng bao gi l kt qu tnh ton ca chng trnh con. V d 1: C chng trnh sau: Program Truyen_tham_so;Uses CRT; Var x, y : real; Procedure tham_so(a:real; var b:real); begin a := a + 10; b := b + 10; writeln(a:10:2); writeln(b:10:2); end; Begin clrscr; x := 1; y := 2.5; tham_so(x,y); writeln('x = ',x:10:2); writeln('y = ',y:10:2); End. Trong v d trn th tc tham_so c hai loi tham s: a l tham tr v b l tham bin. Trong thn chng trnh chnh c hai lnh gn x := 1 v y := 2.5. Khi gi th tc tham_so(x,y) s nhn hai gi tr trn lm tham s thc. Trong th tc c hai lnh lm thay i gi tr ca x v y. Lnh writeln(a:10:2) cho kt qu l 11.00 v lnh writeln(b:10:2) cho kt qu l 12.50. Tuy nhin, sau khi ra khi chng trnh con ch c y l gi c gi tr thay i v y l tham bin. V vy cc lnh in trong chng trnh chnh cho kt qu l x = 1.00 v y = 12.50. Kt qu thc hin chng trnh trn nh sau: 11.00 12.50 x= y= 1.00 12.50V d 2: Hy vit chng trnh thc hin yu cu sau: Nhp ba s a, b, c bt k t bn phm. Khi chy chng trnh trn mn hnh xut hin thng bo:Hy la chn cng vic: 1. Tnh tng ca 3 s. 2. Tnh tch ca 3 s. 3. Tm gi tr ln nht trong 3 s. Bn hy chn cng vic bng cch g s tng ng. Sau khi g s chn cng vic, chng trnh cho kt qu tng ng vi cng vic bn chn. program Lua_chon_viec_thuc_hien; uses crt; var a,b,c: real; chon:byte; procedure Nhap(var x,y,z:real); begin write('Nhap so thu nhat: '); readln(x); write('Nhap so thu hai: '); readln(y); write('Nhap so thu ba: '); readln(z); end; function Tim_max(x,y,z:real):real; var tg:real; begin tg := x; if tg < y then tg := y; if tg < z then tg := z; Tim_max := tg; end; function Tinh_tong(x,y,z:real):real; begin Tinh_tong := x + y + z; end; function Tinh_tich(x,y,z:real):real; begin Tinh_tich := x * y * z;end; begin clrscr; Nhap(a,b,c); writeln; writeln('Hay lua chon cong viec:'); writeln('1. Tinh tong cua 3 so'); writeln('2. Tinh tich cua 3 so'); writeln('3. Tim gia tri lon nhat trong 3 so'); writeln; write('Hay chon viec bang cach go so tuong ung: '); readln(chon); if chon=1 then writeln('Tong cua 3 so: ',Tinh_tong(a,b,c):10:1); if chon=2 then writeln('Tich cua 3 so: ',Tinh_tich(a,b,c):10:1); if chon=3 then writeln('Gia tri lon nhat: ',Tim_max(a,b,c):10:1); readln; end.7.5.5.Tnh quy ca chng trnh con quy l mt k thut c bit trong lp trnh ch hin tng mt lnh ca chng trnh con li c th gi n chnh chng trnh con . V d: Chng trnh tnh giai tha ca s t nhin n. C th tnh giai tha qua nh ngha sau: n! = 1 khi n = 0 n! = (n-1)! n trong cc trng hp cn li Khi hm tnh giai tha c vit nh sau: program Tinh_giai_thua; uses crt; var n : integer;function giai_thua(n:integer):longint; begin if n = 0 then giai_thua := 1 else giai_thua := n * giai_thua(n-1); end; begin clrscr; write('Nhap so n = '); readln(n); writeln('n! = ',giai_thua(n)); readln; end. Cch tnh giai tha trn rt n gin v d hiu. Song v phng din k thut lp trnh th khng phi l cch ti u v n tn thi gian thc hin v tn b nh. Ta c th tnh giai tha qua chng trnh khc nh sau: program Tinh_giai_thua; uses crt; var n : integer; function giai_thua(n:integer):longint; var i: integer; gt : longint; begin i := 0; gt := 1; while i < n do begin i := i + 1; gt : = gt * i; end; giai_thua := gt; end; begin clrscr; write('Nhap so n = '); readln(n); writeln('n! = ',giai_thua(n));readln; end. Ni chung ngi ta thng trnh dng quy khi m c th dng php lp tnh ton. 7.6. D liu kiu xu7.6.1. Cch khai bo kiu xuXu k t l gm mt tp hp cc k t c di khng qu 255 k t. Cch khai bo xu k t nh sau: Khai bo thng qua phn m t kiu TYPE: TYPE Tn_kiu_xu = String[max]; VAR Tn_bin_xu: Tn_kiu_xu; trong max l mt s nguyn dng xc nh s k t ti a ca xu (0