bai tap pascal co so

Download Bai tap Pascal co so

If you can't read please download the document

Upload: abc1502

Post on 29-Jun-2015

2.217 views

Category:

Documents


3 download

TRANSCRIPT

TRNG I HC S PHM K THUT HNG YN KHOA CNG NGH THNG TIN

BI TP

NGN NG LP TRNH PASCALPhn c s

Tc gi : Ng Thanh Huyn Nguyn Hu ng Nguyn Vn Hu

Ti liu lu hnh ni b LI NI U

Bi tp Pascal phn c s

Bin son: B mn CNPM UTEHY

Ngn ng Pascal do gio s N. Wirth sng tc ra nm 1970, l mt ngn ng thut gii, c tnh cu trc cht ch, sng sa v vi mc ch lm cng c ging dy cho sinh vin. Hc Ngn ng lp trnh PASCAL, cc bn hc sinh, sinh vin cn hc c li t duy mch lc, r rng. Hin nay, c rt nhiu ti liu, gio trnh vit cho ngn ng ny nhng vn cha tng ng, ph hp vi yu cu, ni dung v thi gian cho sinh vin trong trng. Sau mt thi gian ging dy khoa Cng ngh thng tin - trng i hc s phm k thut Hng Yn, chng ti vit cun sch ny nhm cung cp ti liu hc tp cho sinh vin ph hp vi chng trnh mn hc Nhp mn tin hc. V ni dung, chng ti bm st vi chng trnh ca nh trng v h thng bi tp cng c bin son theo cc chng l thuyt. Vi mi chng s c chia thnh 3 phn: Phn A. Nhc li l thuyt: tm tt cc kin thc c bn, cc v d v cc lu hu ch, cc kinh nghim trong khi lp trnh Phn B. Bi tp mu c phn tch thut ton v chng trnh minh ho Phn C. Bi tp t gii: ngi hc thc hin vic gii cc bi tp ny

Chng ti mong rng ti liu ny p ng c mt phn no nhu cu ca hc sinh, sinh vin. B mn Cng ngh phn mm

Mc lcTrang 2

Bi tp Pascal phn c s

Bin son: B mn CNPM UTEHY

Trang 3

Bi tp Pascal phn c s

Bin son: B mn CNPM UTEHY

GII THUTMC TIU CA BI NY GIP NGI HC Phn tch c nh ngha v cc c trng ca gii thut Biu din c gii thut bng cch lit k tng bc v Lu khi Trnh by c mt s gii thut thng gp Vit c gii thut gii quyt cc bi ton theo yu cu A/ NHC LI L THUYT 1. nh ngha Gii thut l mt h thng cht ch v r rng cc qui tc nhm xc nh mt dy cc thao tc trn nhng i tng, sao cho sau mt s hu hn bc thc hin cc thao tc ta thu c kt qu mong mun 2. Cc c trng ca gii thut Tnh kt thc Tnh r rng, cht ch Tnh ph dng Tnh hiu qu

3. Cch biu din gii thut a. Lit k tng bc cc thao tc Cc ng tc c bn: Bt u Thng bo, yu cu Gn gi tr Thc hin cc php tnh s hc, logic Kim tra iu kin Chuyn khng iu kin, chuyn c iu kin Lp li Kt thc

b. Lu khi Dng cc hnh th hin cc thao tc v cc mi tn ch th t thcTrang 4

Bi tp Pascal phn c s

Bin son: B mn CNPM UTEHY

hin cc thao tc thnh mt s biu din gii thut: 1/ Nt gii hn: c biu din bi hnh van c ghi ch bn trong nh :

Cc nt trn cn c gi l nt u v nt cui ca lu . 2/ Nt thao tc: l mt hnh ch nht c ghi cc lnh cn thc hin. V d:

3/ Nt iu kin: thng l mt hnh thoi c ghi iu kin cn kim tra. Trong cc cung ni vi nt ny c 2 cung ra ch hng i theo 2 trng hp: iu kin ng v iu kin sai. V d:

4/ Cung: l cc ng ni t nt ny n nt khc ca lu . Hot ng ca thut ton theo lu c bt u t nt u tin. Sau khi thc hin cc thao tc hoc kim tra iu kin mi nt th b x l s theo mt cung n nt khc. Qu trnh thc hin thut ton dng khi gp nt kt thc hay nt cui. 4. Mt s gii thut thng gp a) Hon v hai gi tr X,Y Bc 1. Dng mt gii tr trung gian TG v gn TG=X Bc 2. Gn X=Y Bc 3. Gn Y = TG b) Tm phn t nh nht trong dy X1, X2, , Xn Bc 1. Vo cc gii tr n, X1, X2, , Xn Bc 2. Gn i=1 Bc 3. Gn j=2 Bc 4. Nu j>n th kt thc, gi tr nh nht tm c l Xi, tri li tip tc bc 5 Bc 5. Nu Xj N th sang bc 5, tri li n bc 4 Bc 4. Nu A=Xi th sang bc 5, tri li tng i ln 1 n v v quay v bc 3 Bc 5. Nu i>N th thng bo A khng thuc dy, tri li thng bo A l phn t th i trong dy

B./BI TP MU Bi tp 1. Nu gii thut cho chy mt chng trnh tn l Bai1.Pas ghi trong a mm Gii thut: Bc 1. Kim tra xem my bt cha? Nu bt th chuyn sang bc 3 khng th thc hin bc 2 Bc 2. Bt my. Ch khi ng xong h iu hnh, sang bc 3 Bc 3. Khi ng Turbo Pascal, nu trong my khng c chng trnh th sang bc 4 Bc 4. Cho a Turbo Pascal vo (ti thiu cn c cc File Turbo.exe v Turbo.tpl) Bc 5. Chn File ri m xem trn a c File Bi1.Pas cha? Nu cha th np a khc v lp li bc 5, nu ri th sang bc 6 Bc 6. Chn tp Bi1.pas, n Enter np chng trnh Bai1.pas vo my Bc 7. n phm Ctrl + F9 hoc dng lnh Run chy chng trnh Bai1.Pas Bi tp 2 Cho dy s X1, X2, , Xn . Trnh by gii thut sp xp li dy ny theo th t tng dn Gii thut: Bc 1. Nhp dy X1, X2, , Xn Bc 2. Gn i=j Bc 3. Gn j=i+1 Bc 4. Kim tra Xj < Xi. Nu ng th sang bc 5 khng th sang bc 6 Bi tp 3Trang 6

Bi tp Pascal phn c s

Bin son: B mn CNPM UTEHY

Vit thut ton nhp vo 2 s v tm s ln nht trong 2 s ny. Gii thut: Bc 1: Nhp vo 2 s a v b Bc 2: - Nu a > b th Max l A & Kt thc - Tri li (Khng phi a > b) th Max l B & Kt thc Bi tp 4 V lu cho v d trn.

Bi tp 5. V lu thch hp cho chui lnh di y: Gii thut: (i) Nhp vo mt s num (i) Hin th num (ii) Kim tra num > 0 ? (iii) Nu ng th gn num = num +1 iv) Kt thc.

Trang 7

Bi tp Pascal phn c s

Bin son: B mn CNPM UTEHY

Bi tp 6 Lu tm tng s tr em nh hn 18 tui trong thnh ph

Bi tp 7 V lu nhp vo cnh y & chiu cao ca hnh tam gic v tnh din tch ca hnh tam gic Gi : Din tch S = 0.5 * cnh y * chiu caoTrang 8

Bi tp Pascal phn c s

Bin son: B mn CNPM UTEHY

Bi tp 8 Cng ty Meridian cho ngi bn hng 5% hoa hng nu hng thng h bn c t hn 10,000 Rs v 10% hoa hng nu hng thng h bn c nhiu hn hoc bng 10,000 Rs. Tnh hoa hng cui thng cho mt ngi bn hng. Gii thut:

Trang 9

Bi tp Pascal phn c s

Bin son: B mn CNPM UTEHY

M U V NGN NG LP TRNH PASCALMC TIU CA BI NY GIP NGI HC Phn tch c cc phn t c s: tp k t, t kho, tn chun, tn t t Phn bit cc kiu d liu chun, cc php ton Biu din c cc biu thc trn cc kiu d liu chun Phn tch c cc thnh phn trong cu trc mt chng trnh Pascal A/ NHC LI L THUYT 1. Tp k t Cc k t ca Pascal bao gm: - Bng ch ci gm 26 ch ci ting Anh (thng v in) t a n z v du gch di - Bng ch s gm cc s t 0 n 9 - Cc du php ton: + - * / (chia) = (khc) - Cc du chnh t , ; . : space (du cch) - Cc du ngoc () []{ } - Mt s du c bit @#$^ 2. Cc t kho Cc t kho (keyword) l cc t dnh ring m ngi dng khng c thay i hoc dng vo mc ch khc. Cc t kho bao gm mt s nh danh nh Program, Procedure, Function, Type, Var, const hoc mt s cu lnh nh for, while, repeat, do, then 3. Cc tn chun Cc tn chun l tn mt s i tng (bin, hng, kiu, hm, th tc) m Pascal nh ngha trc. Khi dng chng khng cn khai bo. Cc tn chun c th c nh ngha li, tuy nhin nn chng nh ngha t trnh nhm ln. 4. Cc tn t t Cc tn t t l tn m ngi dng t cho cc i tng trong chng trnh ca mnh. Chng phi c khai bo trc khi dng. Cc tn t t phi tun theo cc quy tc sau:Trang 10

Bi tp Pascal phn c s

Bin son: B mn CNPM UTEHY

- Ch c gm cc ch ci v cc ch s, phi bt u bng ch ci - Khng c trng vi t kho Pascal khng phn bit ch hoa v ch thng. Du cch (space) khng c php c mt trong tn (ngi ta thng dng du gch di (_) tch cc t trong tn cho d c). Nn t tn c tnh gi nh d theo di hoc hiu chnh chng trnh, khng nn t tn qu di hoc trng vi cc tn chun. 5. Cc kiu chun Pascal nh ngha trc mt s kiu chun: - Kiu Integer: l kiu s nguyn 2 bytes ( t 32768 n 32767). Ngoi ra, cn c thm cc kiu s nguyn khc nh sau: Tn kiu Byte ShortInt Word LongInt Kch thc 1 byte 1 byte 2 bytes 4 bytes Phm vi biu din 0 n 255 -128 n 127 0 n 65535 -2147483648 n 2147483647

- Kiu Real: l kiu s thc 6 bytes, c gi tr tuyt i nm trong khong t 2.9E-39 n 1.7E+38, vi phn nh tr gm 11 n 12 ch s c ngha Trong ti liu ny, thch hp cho vic trnh by kiu s nguyn c s dng l: integer hoc byte; kiu s thc l: Real - Kiu Char: l kiu k t 1 byte, gm 256 k t trong bng m ASCII ( t 0 n 255) - Kiu Boolean: l kiu logic 1 byte gm 2 gi tr: True (ng) v False (sai) 6. Cc php ton Cc php ton (Operator) nhm lin kt cc ton hng (Operand) sinh ra mt gi tr. i vi cc kiu chun Pascal c cc php ton ch yu sau: - Php ton s hc: bao gm 4 php ton s hc: + (cng) - (tr) * (nhn) / (chia) trn cc ton hng kiu s (integer hoc real). Ch , kt qu ca php / bao gi cng l kiu real. c bit, vi cc ton hng kiu Integer, c php div ly thng nguyn v php mod ly phn d - Php ton quan h: bao gm cc php so snh: = (bng) (khc) < (nh hn) > (ln hn) = (ln hn hoc bng Ch , kt qu ca php so snh lun thuc kiu BooleanTrang 11

Bi tp Pascal phn c s

Bin son: B mn CNPM UTEHY

- Php ton logic: bao gm 3 php: and ( v hay hi) or ( hoc hay tuyn) not (ph nh) kt qu cc cc php ton logic thuc kiu Boolean 7. Mt s hm chun Turbo Pascal c sn mt s hm trn kiu chun (integer, real, char, boolean). Di y l mt s hm thng gp: - Hm i s: Abs(x): ly gi tr tuyt i ca x Sqr(x): tnh bnh phng ca x Sqrt(x): tnh cn bc 2 ca x Int(x): ly phn nguyn ca x Frac(x): ly phn l ca x - Hm siu vit: Exp(x): tnh e m x Ln(x): tnh lga c s e ca x - Hm lng gic: sin(x): tnh sin ca x Cos(x): t nh cos ca x ArcTan(x); t nh arctang ca x - Hm i s thc thnh s nguyn Round(x): lm trn s thc x thnh s nguyn gn nht Trunc(x): lm trn s thc x bng cch ly phn nguyn - Hm k t Chr(n): tr ra k t c m ASCII l n Ord(c): tr li m ARCII ca k t c Upcase(c): tr li ch ci in hoa ca ch ci c - Mt s hm khc Random: cho mt s thc ngu nhin trong khong (0,1) Random(n): cho mt s nguyn ngu nhin t 0 n n-1 8. Biu thc Biu thc l mt s kt hp cc gi tr (hng, bin, hm) bng cc php ton sinh ra mt gi tr mi. Kiu ca biu thc l kiu ca gi tr m n sinh ra. Cc php ton trong mt biu thc c thc hin theo th t: - Php ton mt ngi (i, ph nh) - Php ton lp nhn (nhn, chia, chia nguyn, ly phn d, hi (v)) - Php ton lp cng (cng, tr, tuyn) - Php ton quan h thay i th t u tin, cn t khi tnh vo trong cp du ngocTrang 12

Bi tp Pascal phn c s

Bin son: B mn CNPM UTEHY

trn () 9. Cu trc mt chng trnh P ascal Mt chng trnh Pascal gm 3 phn: - Phn u chng trnh c dng: Program Tn_chng_trnh; - Phn khai bo gm cc m t nhng i tng s dng trong phn cu lnh (tr nhng i tng chun) + Khai bo hng: Const Tn_hng = gi_tr; .................... + Khai bo kiu: Type Tn_kiu = kiu; .................... + Khai bo bin: Var Dy_tn_bin: Kiu; hoc khai bo bin c khi to gi tr bng c php: Const Tn_bin: Kiu = gi_tr; .................... + Khai bo hm: Function Tn_hm(.....): Kiu; .................... + Khai bo th tc: Procedure Tn_th_tc (....); .................... - Phn cu lnh (thn chng trnh) gm cc cu lnh ca chng trnh: Begin Dy_cc_cu_lnh; End. 10. Ch thch Pascal cho php vit cc ch thch trong chng trnh bng cch t chng vo trong cp du ngoc nhn { } hoc trong cp du i (* *) - CC V D V d 1: Cho nm tn hp l v nm tn khng hp l trong Turbo PascalTrang 13

Bi tp Pascal phn c s

Bin son: B mn CNPM UTEHY

- Nm tn hp l: lopa1, lop_a1, x, abc, bien - Nm tn khng hp l: lop a1, bien nguyen( c cha du cch) , 1abc, 12lop (bt u bng s), for (trng vi t kho)

Trang 14

Bi tp Pascal phn c s

Bin son: B mn CNPM UTEHY

V d 2: Hy khai bo bin: a,b l cc bin thc, i nhn gi tr nguyn trong khong t -32768 n 32767; j1,j2 nhn gi tr nguyn khng m 15 Thiu nin c Tuoi, 10 n Mucdiem) Writeln('+Hoc sinh: ',ten); end; Write('+Tong so diem: ',Tongdiem:5:2);32 Thanh nin c tui t 16 n Readln; If Dat And (Not Loai) Then End. Trung nin c tui t 33 n 50 BeginIf hocdeu Then Write(' Hoc deu cac mon') Else Write(' Hoc chua deu cac mon'); Hng dn: End Else Ta nhn thy c rt nhiu kt qu tng ng vi cc gi tr khc nhau, do Write(' Khong lnh len lop'); ta la chn cu duocCase ... of Writeln; Chng Bam minh ho: Writeln(' trnh phim de ket thuc'); Readln End. Write(' tui c tui trn Ngi ln Duoc len lop'); 50.

Trang 31

Bi tp Pascal phn c s

Bin son: B mn CNPM UTEHY

C/ CU HI V BI TP T GII

I - CU HI TRC NGHIM Cu 1: Lnh no sau y in ra mn hnh s ln nht gia A v B : a) If A > B then write(B) else write(A); b) If A > B then write(A) else write(B); c) If A > B then Readln(A) else Readln(B); d) If A < B then writeln(A) else writeln(B); Cu 2: Cho N l bin kiu nguyn, chn cu ng c php : a) If N < 10 then write (' Nho hon 10 ') ; else write (' Lon hon 10 '); b) If N < 10 Write (' Nho hon 10 ') else then write (' Lon hon 10 '); c) If N < 10 then write (' Nho hon 10 ') else write (' Lon hon 10 '); d) If N < 10 then N := 10 else N > 20 then write (' N > 20 '); Cu 3: Kim tra nu ba s a, b, c u ln hn 1 th in s 1, chn lnh no : a) if (a > 1) and ( b > 1) and ( c > 1) then write(1); b) if (a > 1) or (b > 1) or (c > 1) then write(1); c) if a > 1 and b > 1 and c > 1 then write(1); d) if a, b , c u > 1 then write(1); Cu 4: Cho i l bin nguyn. Sau khi thc hin cc lnh : i:=2; Case i ofTrang 32

Bi tp Pascal phn c s

Bin son: B mn CNPM UTEHY

1: i:=i+1; 2: i:=i+2; 3: i:=i+3; end; Ga tr sau cng ca i l : a) 2 b) 3 c) 4 d) 5 Cu 5: Cho N l bin nguyn, sau khi thc hin cc lnh: N:= 9; If N< 0 then writeln( So am) else Case N mod 2 of 0: Writeln( Chan); 1: Writeln( Le ); end; Kt qa in ln mn hnh l: a) Chan b) Le c) So am d) khng in g c Cu 6: Cho hm s:

Nhm lnh no tnh ng y : a) if x > 0 then y:=x ; if x > -1 then y:=Sin(x) else y:= 2*x+1; i:=5; Case i of

b) if x