Microsoft Word - Giao an Mon THDC A1[Nnlt]

Embed Size (px)

Citation preview

Gio trnh tin hc i cng

gn ng lp trnh

MC LCBI 1: THUT TO V THUT GII .................................................................................................................. 4 I. THUT TON ............................................................................................................................................................. 4 1. Thut ton gii mt bi ton l :............................................................................................................................. 4 2. Cc c trng khc ca thut ton.............................................................................................................................. 4 3. Cc phng php biu din thut ton........................................................................................................................ 5 4. Thut ton quy ........................................................................................................................................................ 7 II.THUT GII................................................................................................................................................................ 8 1. Thut gii Heuristic ..................................................................................................................................................... 9 BI 2: G G LP TR H .............................................................................................................................. 11

I. Khi nim v ngn ng lp trnh & chng trnh my tnh........................................................................................ 11 II. Cc loi ngn ng lp trnh thng dng ................................................................................................................... 11 1. gn ng my............................................................................................................................................................ 11 2. Hp ng ..................................................................................................................................................................... 11 3. gn ng cp cao ...................................................................................................................................................... 12 4. Cc ngn ng lp trnh thng dng ........................................................................................................................... 12 5. Trnh thng dch v bin dch .................................................................................................................................... 13 6. Lp trnh cu trc ...................................................................................................................................................... 14 7. Lp trnh hng i tng......................................................................................................................................... 15 III. Cc bc xy dng chng trnh............................................................................................................................. 16 1. Xc nh vn - bi ton. ........................................................................................................................................ 16 2. La chn phng php gii....................................................................................................................................... 16 3. Xy dng thut ton hoc thut gii.......................................................................................................................... 17 4. Ci t chng trnh.................................................................................................................................................. 17 5. Hiu chnh chng trnh. ........................................................................................................................................... 17 6. Thc hin chng trnh.............................................................................................................................................. 17 BI 3: LM QUE VI BORLA D PASCAL ...................................................................................................... 18 I. Khi ng v thot Borland Pascal : ......................................................................................................................... 18 1. Khi ng Borland Pascal : ...................................................................................................................................... 18 2 Thot khi BorlandC .................................................................................................................................................. 19 II. Trnh son tho ca Borland Pascal......................................................................................................................... 19 1. M tp tin son tho mi ........................................................................................................................................... 19 2. Lu tp tin.................................................................................................................................................................. 19 3 M tp tin.................................................................................................................................................................... 20 III. Cc tp tinh chnh ca Borland Pascal ................................................................................................................... 20 IV. Khai bo s dng th vin chu n: ........................................................................................................................... 21 V. Cc phm, t hp phm thng dng ......................................................................................................................... 21 1. Cc phm di chuyn con tr ....................................................................................................................................... 21 2. Cc phm thao tc trn khi....................................................................................................................................... 22 3. Cc thao tc xa ........................................................................................................................................................ 22 4. Cc thao tc sao chp v di chuyn........................................................................................................................... 23 5. Cc thao tc khc ...................................................................................................................................................... 23 VI. Sa li c php v g ri chng trnh ................................................................................................................... 24 1. Sa li c php .......................................................................................................................................................... 24 2. G ri chng trnh ................................................................................................................................................... 24 BI 4: CC TH H PH TRO G G G PASCAL ............................................................................... 27

I. TP K T DNG TRONG NGN NG PASCAL: ................................................................................................................ 27 II. T KHO : ................................................................................................................................................................... 27 III. TN : ......................................................................................................................................................................... 28

Gv: Trnh Huy Hong

Trang 1

Gio trnh tin hc i cng

gn ng lp trnh

IV. KIU D LIU V KHAI BO BIN :............................................................................................................................... 29 1 Kiu s nguyn............................................................................................................................................................ 29 2 Kiu s thc - real ...................................................................................................................................................... 29 3 Kiu logic - boolean.................................................................................................................................................... 30 4 Kiu k t - char ......................................................................................................................................................... 30 5. Kiu hng s: ............................................................................................................................................................. 31 BI 5: CU TRC C B CA CH G TR H ........................................................................................... 32 I. CU TRC CHNG TRNH PASCAL............................................................................................................................... 32 1. Cc khai bo trong Pascal......................................................................................................................................... 32 2. Pht biu gn v th tc nhp xut............................................................................................................................ 32 3. Li ch thch :............................................................................................................................................................ 33 BI 6: CC CU TRC IU KHI ................................................................................................................... 35 I. CU TRC R NHNH .................................................................................................................................................... 35 1. Cu trc iu kin: .................................................................................................................................................... 35 2. Cu trc la chn: ..................................................................................................................................................... 36 II. Cu trc vng lp...................................................................................................................................................... 37 1. Cu trc vng lp khng xc nh ............................................................................................................................. 37 2. Cu trc vng lp xc nh........................................................................................................................................ 39 BI 7: CH G TR H CO ................................................................................................................................. 44 I. TH TC PROCEDURE ................................................................................................................................................. 45 II. HM FUNCTION ....................................................................................................................................................... 45 III. THAM S .................................................................................................................................................................... 47 IV. CU TRC KHI TRONG CHNG TRNH PASCAL: ....................................................................................................... 48 V. TM VC...................................................................................................................................................................... 48 VI. HM QUI : ............................................................................................................................................................. 49 1 : nh ngha ................................................................................................................................................................ 49 2. Cc bi ton c th dng qui : .............................................................................................................................. 50 3. Cch xy dng hm qui : ...................................................................................................................................... 50 BI 8: CC KIU D LIU DO GI D G N H GHA ......................................................................... 53 I. CC KIU D LIU RI RC ............................................................................................................................................. 53 1. Kiu lit k ................................................................................................................................................................. 53 2. Kiu min con ............................................................................................................................................................ 53 II. CC KIU D LIU C CU TRC ................................................................................................................................... 53 1. Kiu mng.................................................................................................................................................................. 53 2. Kiu chui.................................................................................................................................................................. 56 3. Kiu tp hp............................................................................................................................................................... 57 4. Kiu bn ghi............................................................................................................................................................... 58 4. Kiu tp tin ................................................................................................................................................................ 63 TI LIU THAM KHO ........................................................................................................................................... 73

Gv: Trnh Huy Hong

Trang 2

Gio trnh tin hc i cng

gn ng lp trnh

Phn II.

G

G LP TR H

Gv: Trnh Huy Hong

Trang 3

Gio trnh tin hc i cng

gn ng lp trnh

BI 1: THUT TO V THUT GIII. THUT TO1. Thut ton gii mt bi ton l : Mt dy hu hn cc bc. Cc thao tc c sp xp theo mt trnh t xc nh. Sau khi thc hin dy thao tc , t gi thit ta tm c kt qu ca bi ton.

T Thut ton" (Algorithm)? xut pht t tn mt nh ton hc ngi Trung l Abu Abd - Allah ibn Musa alKhwarizmi, thng gi l alKhwarizmi. ng l tc gi mt cun sch v s hc, trong ng dng phng php m t rt r rng, mch lc cch gii nhng bi ton. Sau ny, phng php m t cch gii ton ca ng c xem l mt chuNn mc v c nhiu nh ton hc khc tun theo. T algorithm ra i da theo cch phin m tn ca ng.

2. Cc c trng khc ca thut tonBn cnh 3 c trng chnh l xc nh, hu hn v ng, thut ton cn c thm 3 c trng ph khc. u vo v u ra (input/output) : mi thut ton, d c n gin n my cng phi nhn d liu u vo, x l n v cho ra kt qu cui cng. Tnh hiu qu (effectiveness) : tnh hiu qu ca thut ton c nh gi da trn mt s tiu chuNn nh khi lng tnh ton, khng gian v thi gian khi thut ton c thi hnh. Tnh hiu qu ca thut ton l mt yu t quyt nh nh gi, chn la cch gii quyt vn -bi ton trn thc t. Tnh tng qut (generalliness) : thut ton c tnh tng qut l thut ton phi p dng c cho mi trng hp ca bi ton ch khng phi ch p dng c cho mt s trng hp ring l no . V d 1: Thut ton gii phng trnh bc nht ax+b=0 Bc 1 : N hp a, b. Bc 2 : N u a = 0 th quay li bc 1, ngc li th qua bc 3. Bc 3 : Gn cho x gi tr -b/a, ri qua bc 4. Bc 4 : a ra kt qu x v kt thc. V d 2: Thut ton tm gi tr nh nht trong dy a1, a2, a3an Bc 1 : N hp n v cc phn t ca dy a1, a2, a3, ,an. Bc 2 : t Min=a1, i=2. Bc 3 : N u i ai th t Min = ai Tng i ln mt n v ri quay v bc 3. Gv: Trnh Huy Hong Trang 4

Gio trnh tin hc i cng

gn ng lp trnh

Bc 5: a ra Min ri kt thc.

3. Cc phng php biu din thut tonKhi chng minh hoc gii mt bi ton trong ton hc, ta thng dng nhng ngn t ton hc nh : "ta c", "iu phi chng minh", "gi thuyt",... v s dng nhng php suy lun ton hc nh php suy ra, tng ng, ...Thut ton l mt phng php th hin li gii bi ton nn cng phi tun theo mt s quy tc nht nh. c th truyn t thut ton cho ngi khc hay chuyn thut ton thnh chng trnh my tnh, ta phi c phng php biu din thut ton. C 3 phng php biu din thut ton : 1. Dng ngn ng t nhin. 2. Dng lu -s khi (flowchart). 3. Dng m gi (pseudocode).

3.1/ gn ng t nhinTrong cch biu din thut ton theo ngn ng t nhin, ngi ta s dng ngn ng thng ngy lit k cc bc ca thut ton. Phng php biu din ny khng yu cu ngi vit thut ton cng nh ngi c thut ton phi nm cc quy tc. Tuy vy, cch biu din ny thng di dng, khng th hin r cu trc ca thut ton, i lc gy hiu lm hoc kh hiu cho ngi c. Gn nh khng c mt quy tc c nh no trong vic th hin thut ton bng ngn ng t nhin.

3.2/ Lu - s khiLu hay s khi l mt cng c trc quan din t cc thut ton. Biu din thut ton bng lu s gip ngi c theo di c s phn cp cc trng hp v qu trnh x l ca thut ton. Phng php lu thng c dng trong nhng thut ton c tnh rc ri, kh theo di c qu trnh x l. Trong s khi, ngi ta dng mt s biu tng th hin cc thao tc nh : Thao tc chn la (decision) Thao tc chn la c biu din bng mt hnh thoi, bn trong cha biu thc iu kin.Gi tr xt phn nhnh i u ki n Yes No

Khc Trng hp 1 Trng hp i

Thao tc x l (process) Thao tc x l c biu din bng mt hnh ch nht, bn trong cha Gv: Trnh Huy Hong Trang 5

Gio trnh tin hc i cng

gn ng lp trnh

ni dung x l. ng i (route) im cui (terminator) im cui l im khi u v kt thc ca thut ton, c biu din bng hnh ovan, bn trong c ghi ch bt u/start/begin hoc kt thc/end. im cui ch c cung i ra (im khi u) hoc cung i vo (im kt thc).

Start Stop

3.3/ M gi

Tuy s khi th hin r qu trnh x l v s phn cp cc trng hp ca thut ton nhng li cng knh. m t mt thut ton nh ta phi dng mt khng gian rt ln. Hn na, lu ch phn bit hai thao tc l r nhnh (chn la c iu kin) v x l m trong thc t, cc thut ton cn c thm cc thao tc lp. Khi th hin thut ton bng m gi, ta s vay mn cc c php ca mt ngn ng lp trnh no th hin thut ton. Tt nhin, mi ngn ng lp trnh u c nhng thao tc c bn l x l, r nhnh v lp. Dng m gi va tn dng c cc khi nim trong ngn ng lp trnh, va gip ngi ci t d dng nm bt ni dung thut ton. Tt nhin l trong m gi ta vn dng mt phn ngn ng t nhin. Mt khi vay mn c php v khi nim ca ngn ng lp trnh th chc chn m gi s b ph thuc vo ngn ng lp trnh . V d: Mt on m gi ca thut ton gii phng trnh bc hai if Delta > 0 then begin x1=(-b-sqrt(delta))/(2*a) x2=(-b+sqrt(delta))/(2*a) xut kt qu : phng trnh c hai nghim l x1 v x2 end else if delta = 0 then xut kt qu : phng trnh c nghim kp l -b/(2*a) else {trng hp delta < 0 } xut kt qu : phng trnh v nghim Gv: Trnh Huy Hong Trang 6

Gio trnh tin hc i cng

gn ng lp trnh

* Cc t in m l cc t kha ca ngn ng Pascal

4. Thut ton quyThut ton quy l mt trong nhng s m rng c bn nht ca khi nim thut ton. N h bit, mt thut ton cn phi tha mn 3 tnh cht : Tnh hu hn. Tnh xc nh Tnh ng n Tuy nhin, c nhng bi ton m vic xy dng mt thut ton vi y ba tnh cht trn rt kh khn. Trong khi , nu ta xy dng mt thut ton vi phm mt vi tnh cht trn th cch gii li tr nn n gin hn nhiu v c th chp nhn c. Mt trong nhng trng hp l thut ton quy. T tng gii bi ton bng thut ton quy l a bi ton hin ti v mt bi ton cng loi, cng tnh cht (hay ni mt cch nm na l ng dng) nhng cp thp hn (chng hn : ln d liu nhp nh hn, gi tr cn tnh ton nh hn, ....), v qu trnh ny tip tc cho n lc bi ton c a v mt cp m ti c th gii c. T kt qu cp ny, ta s ln ngc gii c bi ton cp cao hn cho n lc gii c bi ton cp ban u. Trong ton hc ta cng thng gp nhng nh ngha v nhng i tng, nhng khi nim da trn chnh nhng i tng, khi nim . nh ngha giai tha Giai tha ca mt s t nhin n, k hiu n! c nh ngha l : 0! = 1 n! = (n-1)!n vi mi n>0

nh ngha dy s Fibonacci f0 = 1 f1 = 1 fn = fn-1 + fn-2 vi mi n>1 Gv: Trnh Huy Hong Trang 7

Gio trnh tin hc i cng

gn ng lp trnh

Theo ton hc, nhng khi nim c nh ngha nh vy gi l nh ngha theo kiu quy np. Chnh v vy, quy c s lin h rt cht ch vi quy np ton hc. quy mnh im n c th nh ngha mt tp v hn cc i tng ch bng mt s hu hn cc mnh . Tuy nhin, c tnh ny ca quy li vi phm tnh xc nh ca thut ton. V nguyn tc, mt bc trong thut ton phi c xc nh ngay ti thi im bc c thi hnh, nhng vi thut ton quy, bc th n khng c xc nh ngay trong ng cnh ca n m phi xc nh thng qua mt bc thp hn. Chng hn, tnh c gi tr phn t th 5 ca dy Fibonacci theo nh ngha trn, ta phi tnh f3+f4, nhng ta cha bit gi tr f3 v f4 ti thi im ny. n y, ta phi li li tnh f3 v f4. tnh f3 ta li phi li v tnh f2,...Tt nhin, l qu trnh tnh li ny phi dng sau mt s hu hn bc. Trong trng hp ny, im dng chnh l gi tr f1 v f0. u th ca thut ton quy l ta ch cn gii bi ton ti mt s trng hp c bit no , cn gi l trng hp dng. Sau , cc trng hp khc ca bi ton s c xc nh thng qua trng hp c bit ny. i vi vic tnh dy Fibonacci, trng hp dng chnh l gi tr ca f0 v f1. N i mt cch chnh xc, mi thut ton quy u gm hai phn: Phn c s L cc trng hp khng cn thc hin li thut ton (hay khng c yu cu gi quy). N u thut ton quy khng c phn ny th s dn n b lp v hn v sinh li khi thi hnh. V l do ny m ngi ta i lc cn gi phn c s l trng hp dng. Phn quy L phn trong thut ton c yu cu gi quy, tc l yu cu thc hin li thut ton nhng vi mt cp d liu thp hn.

II.THUT GIIThut gii chnh l m rng t thut ton Trong qu trnh nghin cu gii quyt cc vn - bi ton, ngi ta a ra nhng nhn xt nh sau : C nhiu bi ton cho n nay vn cha tm ra mt cch gii theo kiu thut ton v cng khng bit l c tn ti thut ton hay khng. C nhiu bi ton c thut ton gii nhng khng chp nhn c v thi gian gii theo thut ton qu ln hoc cc iu kin cho thut ton kh p ng. Gv: Trnh Huy Hong Trang 8

Gio trnh tin hc i cng

gn ng lp trnh

C nhng bi ton c gii theo nhng cch gii vi phm thut ton nhng vn chp nhn c. T nhng nhn nh trn, ngi ta thy rng cn phi c nhng i mi cho khi nim thut ton. N gi ta m rng hai tiu chuNn ca thut ton : tnh xc nh v tnh ng n. Vic m rng tnh xc nh i vi thut ton c th hin qua cc gii thut quy v ngu nhin. Tnh ng ca thut ton by gi khng cn bt buc i vi mt s cch gii bi ton, nht l cc cch gii gn ng. Trong thc tin, c nhiu trng hp ngi ta chp nhn cc cch gii thng cho kt qu tt (nhng khng phi lc no cng tt) nhng t phc tp v hiu qu. Chng hn nu gii mt bi ton bng thut ton ti u i hi my tnh thc hin nhiu nm th chng ta c th sn lng chp nhn mt gii php gn ti u m ch cn my tnh chy trong vi ngy hoc vi gi. Cc cch gii chp nhn c nhng khng hon ton p ng y cc tiu chu n ca thut ton thng c gi l cc thut gii. Khi nim m rng ny ca thut ton m rng ca cho chng ta trong vic tm kim phng php gii quyt cc bi ton c t ra. Mt trong nhng thut gii thng c cp n v s dng trong khoa hc tr tu nhn to l cc cch gii theo kiu Heuristic.

1. Thut gii HeuristicThut gii Heuristic l mt s m rng khi nim thut ton. N th hin cch gii bi ton vi cc c tnh sau : Thng tm c li gii tt (nhng khng chc l li gii tt nht) Gii bi ton theo thut gii Heuristic thng d dng v nhanh chng a ra kt qu hn so vi gii thut ti u, v vy chi ph thp hn. Thut gii Heuristic thng th hin kh t nhin, gn gi vi cch suy ngh v hnh ng ca con ngi. C nhiu phng php xy dng mt thut gii Heuristic, trong ngi ta thng da vo mt s nguyn l c s nh sau: guyn l vt cn thng minh : Trong mt bi ton tm kim no , khi khng gian tm kim ln, ta thng tm cch gii hn li khng gian tm kim hoc thc hin mt kiu d tm c bit da vo c th ca bi ton nhanh chng tm ra mc tiu. guyn l tham lam (Greedy): Ly tiu chuNn ti u (trn phm vi ton cc) ca bi ton lm tiu chuNn chn la hnh ng cho phm vi cc b ca tng bc (hay tng giai on) trong qu trnh tm kim li gii. Gv: Trnh Huy Hong Trang 9

Gio trnh tin hc i cng

gn ng lp trnh

guyn l th t : Thc hin hnh ng da trn mt cu trc th t hp l ca khng gian kho st nhm nhanh chng t c mt li gii tt. Hm Heuristic: Trong vic xy dng cc thut gii Heuristic, ngi ta thng dng cc hm Heuristic. l cc hm nh gi th, gi tr ca hm ph thuc vo trng thi hin ti ca bi ton ti mi bc gii. N h gi tr ny, ta c th chn c cch hnh ng tng i hp l trong tng bc ca thut gii.

Bi tp:Hy xy dng thut ton v v lu km theo cho cc bi ton sau:

1. Gii phng trnh trng phng , phng trnh bc nht hai Nn s. 2. C n hp c khi lng khc nhau v mt ci cn da. Tm cch cn tm c hp c trng lng nng nht. 3. Cho hai s nguyn dng a v b. Tm c s chung ln nht ca a v b. 4. Cho mt dy s a c n phn t a1, a2, ...an. Tm con s ln nht trong dy a. 5. N hp vo 4 s a, b, c, d khc nhau. Tm 2 s khng phi l s ln nht v s nh nht. 6. Kim tra xem n c nguyn t khng? 7. Kim tra xem n c phi l s hon thin khng? (c tng cc c nh hn n bng chnh s ). 8. N hp vo 3 s nguyn dng, kim tra xem 3 s cho c to thnh tam gic khng? N u c l tam gic g? (u, cn, vung, vung cn, thng).

Gv: Trnh Huy Hong

Trang 10

Gio trnh tin hc i cng

gn ng lp trnh

BI 2: G

G LP TR H

I. Khi nim v ngn ng lp trnh & chng trnh my tnhCon ngi lin lc vi nhau thng qua ngn ng, to ra cc mu t ng v m thanh. N gn ng lp trnh cng tng t nh vy, l mt tp t ng v k hiu cho php lp trnh vin hoc ngi dng c th ni chuyn vi my tnh. Cng ging nh ting Anh, ting Ty Ban N ha hoc ting Trung Quc v nhng ngn ng ting ni khc, ngn ng lp trnh cng c cc lut c gi l c php (syntax) m bo ngn ng c vn dng mt cch chnh xc. l mt tp cc ch th (instruction) c sp xp theo mt trt t nh trc nhm hng dn my tnh thc hin cc thao tc, hnh ng cn thit p ng mt mc tiu nh trc ca con ngi nh truy xut d liu, tm kim, gii bi ton, ...Cc ch th ny c th c vit bng nhiu ngn ng lp trnh khc nhau.

II. Cc loi ngn ng lp trnh thng dngC hng trm loi ngn ng lp trnh khc nhau, mi loi ngn ng u c c php ring ca n. Mt s ngn ng th c pht trin dng trn cc loi my tnh chuyn bit, mt s ngn ng khc th - do s thnh cng ca n - tr thnh chuNn v c p dng trn a s cc my tnh. N gn ng lp trnh c th c phn chia thnh 3 loi chnh : ngn ng my, hp ng v ngn ng cp cao.

1. N gn ng myN gn ng my (m my) l ngn ng nn tng ca b vi x l. Cc chng trnh c vit trong tt c cc loi ngn ng khc cui cng u c chuyn thnh ngn ng my trc khi chng trnh c thi hnh. V tp lnh ca ngn ng my ph thuc vo loi vi x l nn ngn ng my s khc nhau trn nhng my tnh c s dng b vi x l khc nhau. Li im ca vit chng trnh bng ngn ng my l lp trnh vin c th iu khin my tnh trc tip v t c chnh xc iu mnh mun lm. Do , cc chng trnh ngn ng my c vit tt l nhng chng trnh rt hiu qu (tc thi hnh nhanh, kch thc nh). Bt li ca chng trnh ngn ng my l thng thng s mt rt nhiu thi gian vit, rt kh c, theo di tm li. Thm vo , bi v chng trnh c vit bng tp lnh ph thuc vo b vi x l nn chng trnh ch chy c trn nhng my tnh c cng b vi x l m thi. N gn ng my cng c gi l ngn ng cp thp (low-level language)

2. Hp ngHp ng c pht trin nhm gip cc lp trnh vin d nh cc ch th ca chng trnh hn. Hp ng tng t nh ngn ng my nhng li s dng cc k hiu gi nh (mnemonics hay m lnh hnh thc - symbolic operation code) biu din cho cc m lnh ca my. Mt c im khc na l hp ng thng thng cho php nh a ch hnh thc (symbolic addressing), ngha l mt v tr b

Gv: Trnh Huy Hong

Trang 11

Gio trnh tin hc i cng

gn ng lp trnh

nh trong my tnh c th c tham chiu ti thng qua mt ci tn hoc k hiu, chng hn nh TOTAL thay v phi s dng a ch thc s ca n (bng con s nh phn) trong ngn ng my. Cc chng trnh hp ng cn bao gm cc ch th v m (macro instruction) c th to ra nhiu lnh m my. Cc chng trnh hp ng c chuyn sang m my thng qua mt chng trnh c bit gi l trnh hp dch (assembler). Mc d hp ng tng i d dng hn m my nhng hp ng vn c xem l ngn ng cp thp bi v n vn cn rt gn vi tng thit k ca my tnh.

3. N gn ng cp caoCuc cch mng ca ngn ng my tnh bt u vi s pht trin ca ngn ng cp cao vo cui thp k 1950 v 1960. N gn ng cp cao gn gi hn vi nim ngn ng m hu ht mi ngi u bit, n bao gm cc danh t, ng t, k hiu ton hc, lin h v cc thao tc lun l. Cc yu t ny c th c phi hp, lin kt vi nhau to thnh mt hnh thc ca cu. Cc "cu" ny c gi l cc mnh ca chng trnh (program statement). Chnh v nhng c im ny, cc lp trnh vin d dng c v d hc ngn ng cp cao hn so vi ngn ng my hoc hp ng. Mt li im quan trng l ngn ng cp cao thng thng khng ph thuc vo my tnh, ngha l cc chng trnh vit bng ngn ng cp cao c th chy trn cc loi my tnh khc nhau (s dng cc b vi x l khc nhau).

4. Cc ngn ng lp trnh thng dngMc d c hng trm ngn ng lp trnh c sinh ra, ch c mt s t l c s dng rng ri v c xem l mt chuNn cng nghip. Cc ngn ng ny u c th c s dng trn nhiu loi my tnh khc nhau. BASIC: vit tt ca cm t Beginner's All-Purpose Symbolic Instruction Code, c pht trin bi John Kermeny v Thomas Kurtz vo nm 1964 ti trng i hc Dartmouth. Ban u, h thit k BASIC l mt ngn ng lp trnh n gin, c tnh tng tc cc sinh vin hc tp v s dng. BASIC tr thnh mt trong nhng ngn ng lp trnh thng dng nht c s dng trn cc my vi tnh v my tnh mini ngy nay. COBOL: vit tt ca COmmon Business Oriented Language, c gii thiu vo nm 1960. c h tr bi b quc phng Hoa K, COBOL c pht trin bi mt hi ng bao gm cc i din t pha chnh ph v cng nghip. Grace M.Hopper l ngi chnh yu trong hi ng v c xem l nh pht trin chnh ca ngn ng COBOL. COBOL tng l mt trong nhng ngn ng c dng rng ri nht cho cc ng dng thng mi. Bng cch dng mt hnh thc ta ting Anh, cc cu lnh ca COBOL c sp xp vo trong cc cu v nhm li thnh tng on (paragraph). Hnh thc ting Anh gip COBOL d vit v c nhng cng lm cho chng trnh ngun di hn. COBOL rt tt trong vic x l cc tp tin ln v thc hin nhng php tnh thng mi tng i n gin. C: c pht trin bi tc gi Dennis Ritchie ti phng th nghim Bell vo nm 1972. Ban u, C c thit k nh l mt ngn ng vit cc phn mm h thng, nhng ngy nay, n c xem l mt ngn ng cng dng chung. C l mt ngn ng lp trnh mnh m i hi k nng lp trnh chuyn nghip mi c th s dng hiu qu c. N hu cu dng C pht trin nhiu loi phn mm k c cc ng thng mi ang gia tng. Cc chng trnh C thng c dng vi h iu hnh Unix (phn ln h iu hnh Unix c vit bng C). FORTRA : vit tt ca FORmula TRA slator c pht trin bi mt nhm lp trnh vin

Gv: Trnh Huy Hong

Trang 12

Gio trnh tin hc i cng

gn ng lp trnh

ca cng ty IBM di s lnh o ca John Backus. Cng b vo nm 1957, FORTRAN c thit k nh l mt ngn ng lp trnh dnh cho cc nh khoa hc, k s v ton hc. FORTRAN c xem nh l ngn ng lp trnh cp cao u tin v c ch bi kh nng ca n cho php d dng din t v tnh ton cc phng trnh ton hc. PASCAL: ngn ng s c s dng ging dy trong gio trnh ny, c pht trin vo nm 1968 bi N iklaus Wirth, mt nh khoa hc my tnh ti Zurich, Thy S. Pascal c pht trin ging dy lp trnh. Tn Pascal khng phi l t vit tt, l tn ca mt nh ton hc, Blaise Pascal (1623 - 1662) ngi u tin to ra my tnh. Pascal, dng trong c my tnh c nhn v my tnh ln l mt trong nhng ngn ng lp trnh u tin c pht trin trong khuyn khch phng php lp trnh cu trc. ALGOL (ALGOrithmetic Language): ngn ng lp trnh cu trc dng cho cc ng dng khoa hc v ton hc. APL(A Programming Language). Mt ngn ng mnh m, d dng, rt tt trong vic x l d liu c lu di dng bng (ma trn) FORTH: tng t nh C, to ra cc m chng trnh nhanh v hiu qu. Ban u c pht trin iu khin knh vin vng khng gian. LISP - LISt Processing: ngn ng tr tu nhn to thng dng. LOGO: ch yu c bit n nh l mt cng c dy kh nng gii quyt vn . MODULA-3: tng t nh PASCAL, dng ch yu pht trin cc phn mm h thng. PILOT - Programmed Inquiry Learning Or Teaching: dng bi cc nh gio dc vit cc chng trnh hng dn CAD. PL/I - Programming Language/ One: ngn ng thng mi v khoa hc phi hp nhiu chc nng ca FORTRAN v COBOL. PROLOG - PROgramming Logic: dng trong tr tu nhn to. RPG - Report Program Generator: dng cc mu c bit gip ngi dng xc nh d liu vo, d liu ra v cc yu cu tnh ton ca mt chng trnh. ADA: ly tn ca Augusta Ada Bryon, ngi c xem l vit chng trnh u tin, c thit k phc v cho vic vit, bo tr cc chng trnh ln trong mt khong thi gian di.

5. Trnh thng dch v bin dchMi chng trnh c vit bng cc ngn ng khng phi l ngn ng my cui cng u phi c chuyn i sang ngn ng my trc khi c thi hnh. Chng trnh ngn ng cp cao c dch sang ngn ng my bng mt trong hai cch : bng trnh bin dch (compiler) hoc trnh thng dch (interpreter).

5.1/ Trnh bin dch :S chuyn i ton b chng trnh sang m my, ri cha kt qu vo da c th thi hnh v sau. Chng trnh ngn ng cp cao c chuyn i c gi l chng trnh ngun (source program) v chng trnh ngn ng my c to ra c gi l chng trnh i tng (object program) hoc m i tng (object code). Khi ngi dng mun chy chng trnh, chng trnh i tng s c np ln b nh chnh ca CPU v cc ch th ca chng trnh s c thi hnh. Khi c hng dn bi cc ch th ca chng trnh, CPU s truy xut d liu v to ra cc kt qu. Trnh bin dch s kim tra c php chng trnh, thc hin cc php kim tra logic v m bo cc d liu sp c s dng trong cc php so snh, tnh ton c nh ngha mt cch hp l mt ni no trong chng trnh. Mt chc nng quan trng ca trnh bin dch l n s to ra mt danh sch li

Gv: Trnh Huy Hong

Trang 13

Gio trnh tin hc i cng

gn ng lp trnh

ca tt c mnh trong chng trnh vi phm c php ca ngn ng. Danh sch ny gip lp trnh vin d dng sa i chng trnh. Do ngn ng my ph thuc vo b vi x l nn cc my tnh khc nhau s cn c cc trnh bin dch khc nhau i vi cng mt ngn ng cp cao. V d, mt my mainframe, my mini v my tnh c nhn cn c cc trnh bin dch khc nhau bin dch cng mt chng trnh ngun sang m my ca tng loi my ny.

5.2 Trnh thng dch :Thay v chuyn i ton b chng trnh ngun nh trnh bin dch, trnh thng dch ch chuyn i mt mnh ca chng trnh v thc hin on m kt qu ngay, sau n tip tc chuyn i mnh th 2 ri thi hnh on m kt qu th 2 v c th. Khi s dng trnh thng dch, mi ln chy chng trnh l mi ln chng trnh ngun c thng dch sang ngn ng my. Khng c chng trnh i tng no c to ra. Cc trnh thng dch thng c dng trn cc my tnh c nhn khng c b nh hoc sc mnh tnh ton cn thit dng trnh bin dch. Li im ca trnh thng dch l lp trnh vin vn c th chy mt chng trnh vn cn li c php. Ch n lc thng dch n cu lnh c li c php, qu trnh thi hnh chng trnh mi b ngng li v trnh thng dch s thng bo li. im bt li l cc chng trnh thng dch chy khng nhanh bng cc chng trnh c bin dch v qu trnh chuyn i sang ngn ng my c thc hin cng vi qu trnh thi hnh chng trnh. V l do ny, ngy nay, a s cc ngn ng cp cao u dng trnh bin dch.

6. Lp trnh cu trcLp trnh cu trc l mt phng php lp trnh c cc c trng c bn sau : tnh n th, cu trc iu khin v tnh vo/ra n. Tun th theo nguyn tc lp trnh c cu trc s gip cc chng trnh d vit, d c, d hiu, d kim li v d hiu chnh.

6.1/ Tnh n th (modules) :Vi lp trnh cu trc, cc vn trong lp trnh c phn r (chia nh) thnh nhng phn nh hn gi l cc n th. Mi n th, c gi l mt chng trnh con trong cc ngn ng lp trnh, s thc hin mt nhim v nh trc trong chng trnh. im li chnh ca k thut ny l n n gin ha vic pht trin chng trnh v mi n th chng trnh c th c pht trin mt cch c lp. Khi cc n th c lp ghp li, chng to thnh mt chng trnh hon chnh to ra c kt qu mong mun. S cu trc (structure chart) hay cn gi l s phn cp (hierarchy chart) thng c dng phn r v biu din cho cc n th trong chng trnh. Khi mt qu trnh phn r chng trnh hon tt, ton b cu trc ca chng trnh s c biu din bng mt s phn cp. Sau y l mt v d :

6.2/ Cu trc iu khin (control structure) :Trong lp trnh cu trc, ngi ta s dng 3 cu trc iu khin to nn logic ca chng

Gv: Trnh Huy Hong

Trang 14

Gio trnh tin hc i cng

gn ng lp trnh

trnh. Mi vn logic u c th gii quyt c bng cch phi hp 3 cu trc ny. 3 cu trc ny l : cu trc tun t (sequence), cu trc chn (selection) v cu trc lp (iteration). Cu trc tun t : trong cu trc ny, vic cc qu trnh c thc hin tun t, t qu trnh ny n qu trnh theo sau n. Cu trc chn : hay cn gi l cu trc nu th ngc li (if.thenelse) cho php cc lp trnh vin din t c cc logic iu kin trong chng trnh. ngha ca cu trc ny l nu iu kin l ng th thc hin qu trnh ng vi iu kin ng, ngc li, thc hin qu trnh ng vi iu kin sai. Mt dng khc ca cu trc chn l cu trc case. Cu trc case c dng khi mt iu kin c kim tra c th dn n 2 hay nhiu qu trnh x l khc nhau. Trong mt chng trnh, menu l mt v d v cu trc case v n cung cp nhiu chn la x l khc nhau. Cu trc lp : (iteration structure hoc looping structure) : cho php thc hin nhiu ln mt qu trnh da trn mt iu kin cho trc. C 2 dng c bn ca cu trc lp l cu trc lp for v while. Cu trc lp for cho php lp li mt qu trnh x l mt s ln xc nh trc. Cn cu trc lp while th lp li qu trnh x l cho n lc iu kin kim tra khng cn ng na. Chi tit ca cc cu trc ny s c gii thiu chi tit trong cc bi hc lin quan n ngn ng PASCAL.

6.3/ Vo/ra n( single entry/exit) :y l mt khi nim quan trng trong lp trnh cu trc. Vo/ ra n ngha l ch c mt im vo v mt im ra i vi mi cu trc trong 3 cu trc trn. im vo l im bt u cu trc iu khin v im ra l im kt thc cu trc iu khin. Tnh cht ny ci thin ng k logic ca mt chng trnh, bi v, khi c mt chng trnh, lp trnh vin c th m bo rng cho d c chuyn g xy ra trong cu trc i na th cu trc iu khin ch i ra mt im duy nht. Trc khi c lp trnh cu trc, nhiu lp trnh vin hay c thi quen chuyn iu khin n nhng phn khc trong chng trnh mkhng tun theo lut vo/ra n. iu ny s dn n mt thit k chng trnh ti, cc k kh khn c v kim tra li cng nh hiu chnh. Chng trnh vit theo li ny s ging nh mt m dy ri !!

7. Lp trnh hng i tngLp trnh hng i tng (Object Oriented Programming OOP) l mt tip cn mi cho vic pht trin phn mm cho php lp trnh vin to ra cc i tng (object), mt phng php kt hp c d liu v cc cu lnh ca chng trnh. Theo kiu lp trnh truyn thng, ngi ta thng lu tr d liu - chng hn nh cc tp tin - c lp vi chng trnh thao tc trn d liu . Do , mi chng trnh phi t nh ngha cch thc s dng d liu cho chnh n. iu ny thng dn n s trng lp m lnh, hn na, mi ln d liu thay i th m chng trnh phi thay i theo. Vi lp trnh hng i tng, cc cu lnh ca chng trnh cng nh d liu c kt hp trong cc i tng m sau c th c dng i dng li nhiu ln bt c khi no ta cn. Cc lnh c bit gi l phng thc (method) s nh ngha cch thc phn ng ca i tng khi i tng c dng

Gv: Trnh Huy Hong

Trang 15

Gio trnh tin hc i cng

gn ng lp trnh

trong chng trnh. Khi dng lp trnh hng i tng, cc lp trnh vin s nh ngha ra cc lp i tng (class). Mi lp s c nhng phng thc c trng cho lp . N goi ra, cc lp i tng cn c kh nng truyn nhng phng thc ca n cho nhng lp thp hn gi l tha k (inheritance). Mt dn xut (instance) ca i tng s cha tt c phng thc t cc lp cao hn cng vi cc phng thc c trng ca n. Khi mt i tng nhn c mt ch th thc hin iu g, ngi ta ch th l mt thng ip (message). Khng ging nh lp trnh truyn thng, thng ip khng cn phi ch r cho i tng bit phi thc hin nh th no m ch cn bo i tng phi cung cp kt qu g. Cn thc hin nh th no s c nh ngha trong cc phng thc ca i tng hoc tha k t cc cp cao hn.

Lin quan n lp trnh hng i tng l cc phn mm hng i tng (object-oriented software) v h iu hnh hng i tng (object-oriented operating system). Phn mm hng i tng l phn mm s dng phng php lp trnh hng i tng. Cn h iu hnh hng i tng l h iu hnh c thit k c bit chy cc ng dng hng i tng.

III. Cc bc xy dng chng trnhVic s dng my tnh in t (MTT) gii quyt mt vn no thng c quan nim mt cch khng chuNn xc, n gin ch l vic lp trnh thun ty. Thc ra, l c mt qu trnh phc tp bao gm nhiu giai on pht trin m lp trnh ch l mt trong cc giai on (thm ch cha chc l phn vic quan trng nht). Cc bc quan trng ca ton b qu trnh c lit k di y:

1. Xc nh vn - bi ton.Bc u tin ca bc phn tch h thng l nhm pht biu chnh xc vn - bi ton, lm r nhng yu cu m ngi s dng i hi. Sau khi nghin cu vn c t ra, ngi phn tch vin thit lp mi ph thuc gia cc d kin v kt qu phi tm. Trn c s c c m hnh vn bi ton, ngi phn tch vin s nh gi, nhn nh tnh kh thi ca vn - bi ton c t ra c ng phi gii quyt khng?

2. La chn phng php gii.C th c nhiu cch khc nhau gii quyt vn - bi ton thit lp bc 1. Cc phng php c th khc nhau v thi gian thc hin. chi ph lu tr d liu, chnh xc.... N i chung khng c phng php ti u v mi phng din. Ty theo nhu cu c th m la chn phng

Gv: Trnh Huy Hong

Trang 16

Gio trnh tin hc i cng

gn ng lp trnh

php thch hp. Vic la chn trn cng cn cn c vo kh nng x l t ng m ta s s dng.

3. Xy dng thut ton hoc thut gii.Xy dng m hnh cht ch, chnh xc hn v chi tit ha hn phng php la chn. Xc nh r rng d liu vo, ra cho cc bc thc hin c bn v trt t thc hin cc bc c bn . N n p dng phng php thit k c cu trc, t thit k tng th tin hnh lm mn dn tng bc.

4. Ci t chng trnh.M t thut gii bng chng trnh. Da vo thut gii c xy dng, cn c quy tc ca mt ngn ng lp trnh son tho ra chng trnh th hin gii thut thit lp bc 3.

5. Hiu chnh chng trnh. bc 4, ni chung chng ta khng trnh khi sai st. bc 5 ny chng ta cho chng trnh chy th pht hin v iu chnh cc sai st nu tm thy. C hai loi li: Li c php l li do khng tun th ng cc quy tc vit chng trnh trn mt ngn ng lp trnh c th. Li ng ngha l li lm sai lc ngha hoc dn n b tc ca chng trnh. Li c php thng d pht hin v hiu chnh hn li ng ngha. Cn phi ni rng vic hiu chnh chng trnh kh phc tp, mt nhiu thi gian v cng sc. Vic xy dng tt, ph hp, y cc b d liu kim chng chng trnh l ht sc quan trng, gip pht hin ra cc li ng ngha ca chng trnh cng nh c th c vn g b b st.

6. Thc hin chng trnh.Cho MTT thc hin chng trnh. Tin hnh phn tch kt qu thu c. Vic phn tch kt qu nhm khng nh kt qu c ph hp hay khng. N u khng, cn kim tra li ton b cc bc mt ln na. N i chung, d thn trng n mc no i na th sau mi bc thc hin nu trn cng khng khng nh c kt qu thc hin tng bc l ng n tuyt i. Hn na, nh bc 5, ta ch hiu chnh tt c cc li c pht hin. Cn c th c sai st khc ca chng trnh vi mt b d liu no khc phc tp hn m ta cha c c hi pht hin trc . Do , ta khng th khng nh c rng, chng trnh ng tuyt i, khng cn sai st na. N h vy, vic gii quyt mt vn c th thc hin qua hai giai on. Giai on u l giai on quan nim, gm cc bc phn tch, la chn m hnh, xy dng thut gii, ci t chng trnh. Giai on sau l khai thc v bo tr chng trnh. Trong qu trnh s dng, ni chung thng c nhu cu v ci tin, m rng chng trnh do cc yu t ca bi ton ban u c th thay i.

Gv: Trnh Huy Hong

Trang 17

Gio trnh tin hc i cng

gn ng lp trnh

BI 3: LM QUE VI BORLA D PASCALI. Khi ng v thot Borland Pascal :1. Khi ng Borland Pascal :N hp lnh ti du nhc ca DOS, c 2 cch: G: BP (enter) nu ng dn c ci t bng lnh path trong c cha G: :\BP\BI \BP (enter) nu ng dn c ci t ti ni khc. Khi ng ti Windows, c 2 cch: Chn menu Start\Run g vo dng lnh nh t DOS. M Windows Explorer, chn a c ng dn ti BP\BIN \BP.EXE. V d : Khi ng Borland Pascal v np tp tin VIDU1.pas cha trong th mc BAITAP a D, nu cha c tp tin ny th s c to mi. C:\BP\BIN \BP D:\BAITAP\VIDU1.PAS Mn hnh sau khi khi ng thnh cng:

ng dn n th mc cha tp tin BP.EXE). -

Thanh tiu Hp ng

S ca s Tn tp tin Hp ni rng ca s y l vng son tho chng trnh Thanh trt dc

Ta hng:ct

Thanh trt ngang Thanh chc nng

Gv: Trnh Huy Hong

Trang 18

Gio trnh tin hc i cng

gn ng lp trnh

2 Thot khi BorlandCN hp phm F10 (kch hot menu), chn menu File, chn Quit. N hn t hp phm Alt-X

II. Trnh son tho ca Borland PascalBC c h thng menu nhiu cp. chn mc trong Menu ta c th lm theo cc cch sau: Chn F10, dng mi tn di chuyn vt sng n mc cn chn ri n Enter. Chn F10, ri n phm c k t i mu (phm chn nhanh mu ). N hn t hp phm Alt + phm c k t mu .

1. M tp tin son tho miChn menu File, ri chn N ew, to file son tho mi c tn mc nh l N ON AME00.PAS, N ON AME01.PAS

2. Lu tp tinN u l tp tin son tho mi cha lu: N hn F2 hoc chn File Save hoc chn File Save AsSave File As C:\BP\BIN \N ON AME00.PAS Files ...\ Cancel OK

Help C:\BP\BIN \N ON AME00.PAS Directory 10:15 am

-

Chn ng dn cn lu tp tin hp thoi Files, chn ..\ tr v th mc cha hin ti. t tn tp tin hp thoi Save File As Chn OK Hoc c th g [ a:][ng dn], ri chn OK

Dng phm tab chuyn i vt sng gia cc mc trong hp thoi Gv: Trnh Huy Hong

Trang 19

Gio trnh tin hc i cng

gn ng lp trnh

N u l tp tin son tho c lu t nht mt ln hoc m bng lnh Open: N hn F2 hoc chn File Save, ni dung tp tin hin hnh s c cp nht nu c thay i. Chn Files Save As, xut hin hp thoi Save File As, thc hin cc bc nh i vi tp tin mi to (tc l lu tp tin hin hnh vi ng dn v tn tp tin khc).

bit tp tin ang son tho c lu hay cha, kim tra xem ca s di gc tri, nu c du hoa th l vn bn c thay i cha c lu.

3 M tp tinN hn F3 hoc chn File Open, hp thoi Open A File s xut hin. Chn ng dn cn m tp tin hp thoi Files, chn ..\ tr v th mc cha hin ti. t tn tp tin hp thoi Files Chn OK Hoc c th g [ a:][ng dn], ri chn OKN ame D:\BAITAP\*.PAS Files .. Bt1.PAS Bt2.PAS ..\ D:\BAITAP\*.PAS Bt1.PAS Replace OK

Cancel Help

486 Oct 5, 2005

11:00 am

III. Cc tp tinh chnh ca Borland Pascal chy c Borland Pascal 7.0, ch cn hai tp tin sau l : TURBO.EXE : tp tin chnh ca TP TURBO.TPL : tp tin cha cc th vin ca TP N u mun v ha th phi c thm cc tp tin: Gv: Trnh Huy Hong Trang 20

Gio trnh tin hc i cng

gn ng lp trnh

GRAPH.TPU, tp tin cha th vin ha *.BGI : cc tp tin mn hnh ha *.CHR : cc tp tin to kiu ch Trong cc tp tin mn hnh ha th thng thng ch cn tp tin EGAVGA.BGI l , v ngy nay phn ln mn hnh u c kiu EGA hay VGA. N u mun xem hng dn s dng Turbo Pascal th cn c thm tp tin TURBO.HLP

IV. Khai bo s dng th vin chu n:Borland Pascal c sn mt s hm v th tc chuNn, chng c phn thnh tng nhm theo chc nng mang cc tn c trng, gi l cc th vin hay n v chng trnh (Unit), nh: Crt, Graph, Dos, Printer, Khai bo: Uses danh sch th vin ; V d: Uses CRT ; Uses CRT, GRAPH ; C 4 th tc u thuc th vin CRT, l : Clrscr : xa mn hnh TextMode(C40) v TextMode(C80) : chuyn mn hnh sang ch b ngang 40 ct (ch to) hoc 80 ct (ch bnh thng). TextBackGround(tnmu) : t li mu nn ca mn hnh. TextColor(tnmu) : t li mu ch trn mn hnh. Tn mu c th l mt s t 0 n 15 hoc c th vit trc tip bng ting Anh nh : White, Black, Green, Red, Blue, ...

V. Cc phm, t hp phm thng dng1. Cc phm di chuyn con trGv: Trnh Huy Hong Trang 21

Gio trnh tin hc i cng

gn ng lp trnh

Phm/T hp phm Home End PgUp (Page Up) PgDn (Page Down) Ctrl PgUp Ctrl PgDn Ins (Insert) Enter

Chc nng Di chuyn con tr sang tri mt k t Di chuyn con tr sang phi mt k t Di chuyn con tr ln trn mt dng Di chuyn con tr xung di mt dng Di chuyn con tr v u dng Di chuyn con tr v cui dng Li li mt trang mn hnh Lt ti mt trang mn hnh Di chuyn con tr v u tp tin Di chuyn con tr v cui tp tin Chuyn i gia ch ghi chn v ghi Xung mt dng

2. Cc phm thao tc trn khi.Phm/T hp phm Shift Shift Shift Shift Shift Home Shift End Shift PgUp Shift PgDn Ctrl Shift Ctrl Shift Ctrl Shift Home Ctrl Shift End Chc nng nh du chn mt k t bn tri nh du chn mt k t bn phi nh du chn mt hng trn v tr con tr nh du chn mt hng ti v tr con tr nh du chn t u hng ti v tr con tr nh du chn t v tr con tr ti cui hng nh du chn mt trang lui mn hnh nh du chn mt trang ti mn hnh nh du chn mt t bn tri nh du chn mt t bn phi nh du chn t v tr con tr v u tp tin nh du chn t v tr con tr ti cui tp tin

3. Cc thao tc xaPhm/T hp phm Backspace () Del (Delete) Ctrl Y Ctrl K Y Ctrl Q Y Ctrl T Gv: Trnh Huy Hong Chc nng Xa mt k t bn tri con tr Xa mt k t ti v tr con tr Xa dng ti v tr con tr Xa khi Xa t v tr con tr n cui dng Xa mt t ti v tr con tr Trang 22

Gio trnh tin hc i cng

gn ng lp trnh

4. Cc thao tc sao chp v di chuynPhm/T hp phm Ctrl Insert Shift Delete Ctrl Delete Shift Insert Ctrl K R Ctrl K W Chc nng Sao chp khi chn vo Clipboard Ct khi chn vo Clipboard Xa khi chn Dn thng tin t Clipboard vo v tr con tr c thng tin t tp tin vo ca s son tho Ghi thng tin t ca s son tho vo tp tin

5. Cc thao tc khcPhm/T hp phm F1 F2 F3 F5 F6 F7 F8 F9 F10 Alt F1 Alt F3 Alt F9 Alt F10 Alt X Alt Backspace Shift F1 Ctrl F1 Ctrl F2 Ctrl K H Ctrl Q F Ctrl Q A Ctrl Q [ Ctrl Q ] Chc nng Hin ln mn hnh thng tin v tnh trng hin ti Ghi tp tin ang son tho vo a N p mt tp tin vo ng khung hoc khng ng cho ca s hin ti Chuyn t ca s n sang ca s kia Chuyn n v tr li trc Chuyn n v tr li sau Thc hin dch chng trnh Tr v menu chnh Cho hin li mn hnh hng dn va xem Ly mt tp tin np vo Dch sang tp tin OBJ Hin mn hnh Version chng trnh Thot khi BorlandC Phc hi li thao tc trc Hin ca s gip theo mc Hin ca s gip v hm, ton t tng ng ... ti v tr con tr Ti lp li thc hin chng trnh n / Hin du khi Tm kim Tm kim v thay th Xc nh cp ngoc bao mt khi lnh

Gv: Trnh Huy Hong

Trang 23

Gio trnh tin hc i cng

gn ng lp trnh

VI. Sa li c php v g ri chng trnh1. Sa li c phpThng thng khi son tho xong mt chng trnh, ta vn cn mc mt s li c php. Cho nn nu thc hin bin dch hoc chy th chng trnh th trn mn hn s hin ra nhng thng bo v cc li ny. Tt c cc li s c hin trong ca s Message xut hin cui mn hnh ngay di ca son tho. sa li ta lm nh sau: - Dng cc phm mi tn a hp sng ti dng thng bo li trong ca s Message ri bm Enter. - a con tr ti ni cn sa v tin hnh sa. - Trong qu trnh sa c th bm phm F6 m rng ton b ca s son tho. Lu : V chng trnh bin dch c th sinh ra cc thng bo li khng chnh xc t mt li trc . N n sau khi sa xong mt s li no . Ta nn bin dch li b i nhng dng thng bo li tha trong ca s Message.

2. G ri chng trnhKhi bin dch v chy chng trnh, c th gp cc trng hp chng trnh b quNn hoc chy sai kt qu m khng th pht hin nguyn nhn bng cch xem tng th chng trnh. Khi ta c th dng cc chc nng thc hin chng trnh bng cch ln tng bc tm li, dng ca s Watch...

2.1 Ln tng bcMi bc thc hin ta bm phm F7, d li. Dng u tin main() s c lm sng u tin. Dng ang ch sng s c thc hin ln bm phm F7 k tip, sau tr v mu nn bnh thng ti lp qu trnh g ri, ta gii phng b nh dnh cho vic g ri trc bng cch vo menu Run ri chn mc Program reset, hoc bm t hp phm Ctrl F2. -

2.2 Dng ca s WatchVic s dng ca s theo di cc gi ca bin trong mi bc thc hin d tm ra nguyn nhn chng trnh thc hin sai. - Chn menu Break/watch, ri chn mc Add Watch, hoc bm t hp phm Ctrl F7 - N hp tn bin vo ti v tr con tr ri bm Enter. - N u mun sa li tn hoc thay bin mt bin no th chn chc nng Edit watch hoc bm Enter ri tin hnh sa li tn. - Mun xa mt bin ta chn chc nng Delete watch, cn mun xa ton b th ta chn chc nng Remove all watch Lu : Gv: Trnh Huy Hong Trang 24

Gio trnh tin hc i cng

gn ng lp trnh

-

Mi ln chn chc nng ny ch c php nhp vo nhiu nht mt tn bin. Cho nn nu mun theo di nhiu bin th phi chn nhiu ln chc nng ny. Khi c ca s Watch, nu chy chng trnh tng bc th gi tr ca cc bin trong ca s Watch s c hin ra v thay i theo kt qu ca tng bc thc hin.

Cc li sinh ra trong qu trnh chy chng trnh (Runtime error) M li 1 2 3 4 5 6 12 15 16 17 100 101 102 103 104 105 106 150 151 152 154 156 157 158 159 160 161 162 200 201 202 203 204 205 206 ngha Invalid function number Sai s hiu hm File not found Khng tm thy file Path not found Khng tm thy ng dn Too many open files M qu nhiu file File access denied Khng truy nhp c file Invalid file handle S hiu file khng hp l Invalid file access code M truy nhp file khng hp l Invalid drive number S hiu thit b khng hp l Cannot remove current directory Khng th xo hoc chuyn th mc hin hnh Cannot rename across drives Khng th i tn cc thit b cho nhau Disk read error Li khi c a Disk write error Li khi ghi a File not assigned File cha c ch nh File not open File cha c m File not open for input File cha c m ly d liu File not open for output File cha oc m xut d liu Invalid numeric format nh dng s khng hp l Disk is write-protected a ang c bo v chng ghi Bad drive request struct length ln cu yu cu cu trc thit b sai Drive not ready Thit b cha sn sng CRC error in data Li kim tra d vng trong d liu Disk seek error Li tm kim trn a Unknown media type Khng bit kiu thit b Sector N ot Found Khng tm thy sector c yu cu Printer out of paper Ht giy trn my in Device write fault Li ghi thit b Device read fault Li c thit b Hardware failure Li phn cng Division by zero Li chia cho 0 Range check error Li trn b nh Stack overflow error Li trn ngn xp Heap overflow error Li trn vng nh Heap Invalid pointer operation Con tr php ton khng hp l Floating point overflow Trn du phNy ng Floating point underflow Trn du phNy ng Trang 25

Gv: Trnh Huy Hong

Gio trnh tin hc i cng

gn ng lp trnh

207 208 209 210 211 212

Invalid floating point operation Overlay manager not installed Overlay file read error Object not initialized Call to abstract method Stream registration error

Php ton vi s du phNy ng khng hp l Qun l trn cha c ci t Li trn khi c file i tng cha c khi to Li gi mt phng thc tru tng Li ng k dng xut nhp

BI TP 1. Khi ng Turbo Pascal. 2. N hp vo on chng trnh sau: Program Baimodau; Uses Crt; Begin Writeln(***********************************************************); Writeln(* Trng Dai hoc Su Pham Thanh pho Ho Chi Minh *); Writeln(* Khoa Toan Tin hoc *); Writeln(***********************************************************); Readln; End. 3. Dch v chy chng trnh trn. 4. Lu chng trnh vo a vi tn BT1.PAS. 5. Thot khi Pascal. 6. Khi ng li Borland Pascal. 7. M file BT1.PAS. 8. Chn thm vo dng: CLRSCR; vo sau dng BEGI 9. Dch v chy th chng trnh. 10. Lu chng trnh vo a. 11. Thot khi Pascal. 12. Vit chng trnh in ra mn hnh cc hnh sau: * ******** ******* *** ** ** ** ** ** ** ** ** ** ** ** ******** ** ********* ** ** ** ** ** ** ** ** ** ** ** ******** ********

Gv: Trnh Huy Hong

Trang 26

Gio trnh tin hc i cng

gn ng lp trnh

BI 4: CC TH H PH TRO G G I. Tp k t dng trong ngn ng Pascal:

G PASCAL

Mi ngn ng lp trnh u c xy dng t mt b k t no . N gn ng C c xy dng trn b k t sau : 26 ch ci hoa : A B C .. Z 26 ch ci thng : a b c .. z 10 ch s : 0 1 2 .. 9 Cc k hiu ton hc : + - * / = ( ) K t gch ni : _ Cc k t khc : . , : ; [ ] {} ! \ & % # $ ... Du cch (space) dng tch cc t. V d ch VIET N AM c 8 k t, cn VIETN AM ch c 7 k t. Lu : Khi vit chng trnh, ta khng c s dng bt k k t no khc ngoi cc k t trn. V d phng trnh bc hai ax2 +bx+c=0 , xt cho php dng k t bit thc Dt,... = b2 - 4ac, trong ngn ng C khng , v vy ta phi dng k hiu khc thay th chng hn Delta,

II. T kho :T kho l nhng t c s dng khai bo cc kiu d liu, vit cc ton t v cc cu lnh. Bng di y lit k cc t kho ca BORLAN D PASCAL : absolute and array begin case const Lu : Gv: Trnh Huy Hong Trang 27 div do downto else end file For Forward Function Goto If implementat ion in inline interface interrupt label mod nil not of or packed procedure program record repeat set shl shr string then to type unit until uses var while with xor

Gio trnh tin hc i cng

gn ng lp trnh

-

Khng c dng cc t kho t tn cho cc hng, bin, mng, hm ... T kho phi c vit bng ch thng.

III. Tn :Cc bin, cc hng, cc hm, cc th tc, ...c s dng trong chng trnh u cn phi t tn, cn gi l nh danh hay danh hiu. Cc tn ny do ngi lp trnh t t v phi m bo ng quy tc: tn phi bt u bng ch ci, k c th l ch ci, ch s, hay du gch ni _. Tn khng c t trng vi t kha. Thng thng tn nn t ngn gn v c tnh gi nh. Tn l mt khi nim rt quan trng, n khng ch th hin r ngha trong chng trnh m cn dng xc nh cc i lng khc nhau trong mt chng trnh. Chng ta c tn hng, tn bin, tn mng, tn hm, tn con tr, tn tp, tn cu trc, tn nhn,... Tn c t theo qui tc sau : Tn l mt dy cc k t bao gm ch ci, s v gch ni. K t u tin ca tn phi l ch hoc gch ni. Tn khng c trng vi tn ca t kho. di cc i ca tn theo mc nh l 127. V d : Cc tn ng : a_1, delta, S1, N um_EVEN Cc tn sai : 3a_1 X#1 f(x) Do te ta A-2 Lu : Trong BORLAN PASCAL, tn bng ch thng v ch hoa l ging nhau v d tn AB l ging vi ab. Tuy nhin ta nn dng ch hoa t tn cho cc hng v dng ch thng t tn cho hu ht cho cc i lng khc nh bin, bin mng, hm, cu trc. Gv: Trnh Huy Hong Trang 28 K t u tin l s S dng k t # S dng cc du ( ) Trng vi t kho S dng du trng S dng du -

Gio trnh tin hc i cng

gn ng lp trnh

IV. Kiu d liu v khai bo bin :1 Kiu s nguyn1.1/ Cc kiu d liu s nguyn trong Pascal:integer -32768 32767 byte 0 . . . 255 shortint -128 127 word 0 65535 longint -2147483648 ... 2147483647

1.2/ Cc php ton s hc trn s nguyn:T kha Div Mod + * / ngha Chia ly phn nguyn Chia ly phn d Cng Tr N hn Chia, kt qu l s thc

2 Kiu s thc - real Real 2.9*10-39 ... 1.7*1038. Cch vit: o Vit theo kiu s thp phn bnh thng. V d: 3.14 o Vit theo kiu c phn nh tr v phn m. V d: 3.93E+02 = 3.93 * 102 = 393 3.14E-02 = 3.14 * 10-2 = 0.0314 Cc hm s hc dng cho s nguyn v s thc: K hiu (x l tham s truyn cho hm) Abs(x) Sqr(x) Sqrt(x) Sin(x), cos(x) Arctan(x) Ln(x) Exp(x) Gv: Trnh Huy Hong ngha ly gi tr tuyt i ca x ly bnh phng ca x ly cn bc hai ca x Sin x , cos x Arctg x ly logarit theo c s t nhin ex Trang 29

Gio trnh tin hc i cng

gn ng lp trnh

Succ(n), n nguyn Pred(n), n nguyn Odd(n), n nguyn Trunc(x) Round(x) V d:

n+1 n-1 True nu n l, false nu n chn ly phn nguyn ca x Lm trn x

x := -3; x := abs(x); {sau khi thc hin lnh ny x=3} x := sqrt(x); {sau khi thc hin lnh ny x = 3 1.732} y := trunc(x); { y = 1} x := round(x); {x = 2}

3 Kiu logic - boolean Kiu boolean l mt i lng ch c th nhn hai gi tr TRUE (ng) hoc FALSE (sai). Cc php ton trn kiu Boolean: and, or, not. V d: a := true; b := false; c := a and b; { c = false} d := a or b; {d = true} e := not(a); {e = false} Cc php ton quan h sau y s cho kt qu l kiu boolean: K hiu = >= < V d: a := 5; b := 6; c := (a > b); {c = false} d := (ab); {d = true} ngha Khc nhau Bng nhau Ln hn hoc bng N h hn hoc bng Ln hn N h hn

4 Kiu k t - char Cc gi tr thuc kiu d liu ny l nhng ch vit, k hiu. Gv: Trnh Huy Hong Trang 30

Gio trnh tin hc i cng

gn ng lp trnh

Cch vit: cc k t c t trong hai du nhy n. V d: Var x: char; x := A; x := a; x := +; x := 1; {ch s 1, khc vi s nguyn 1} x := ; {k t trng} Cc hm lin quan n kiu k t K hiu Ord(x) Chr(n) hay #n Pred(x) Succ(x) V d: Var x, y: char; n: integer; x := a; n := ord(x); {n=97, v s th t ca k t a l 97} y := chr(n); {y=a} x := succ(y); {x=b} ngha Cho s th t ca k t x trong bng m ASCII Cho k t c s th t l n trong bng m ASCII Cho k t ng trc x Cho k t ng sau x.

5. Kiu hng s:Hng l cc i lng m gi tr ca n khng thay i trong qu trnh tnh ton. Khai bo : V d : const tn hng = gi tr const MAX = 1000

Lc ny, tt c cc tn MAX trong chng trnh xut hin sau ny u c thay bng 1000. V vy, ta thng gi MAX l tn hng, n biu din s 1000. Mt v d khc : const pi = 3.141593 t tn cho mt hng real l pi c gi tr l 3.141593.

Gv: Trnh Huy Hong

Trang 31

Gio trnh tin hc i cng

gn ng lp trnh

BI 5: CU TRC C B CA CH G TR HI. Cu trc chng trnh PascalPhn khai bo Program Label Const Type Var Khai bo chng trnh con Phn thn chng trnh Begin cc pht biu, cu lnh; End.

1. Cc khai bo trong PascalProgram tenchuongtrinh; Program N hapdulieu; Const tnhng=gitrhng; Const pi=3.14159; tentruong=Dai Hoc Su Pham Type tnkiudliu= m t xy dng kiu Type diemso=1..10; chucai=a..A Bin v khai bo bin Bin: l nh lu tr d liu v thay i c. C kiu d liu tng ng. var tn bin: kiu d liu;

2. Pht biu gn v th tc nhp xut2.1/ Pht biu gn Gn mt gi tr ca mt biu thc cho mt bin TenBien := Bieuthuc; 2.2/ Cc thao tc xut nhp: Write(): vit d liu ra mn hnh v con tr khng t ti v tr u dng mi Writeln(): vit d liu ra mn hnh v con tr t ti v tr u dng mi. Read(): vo d liu v con tr khng t ti dng mi. Readln(): vo d liu v con tr t ti dng mi Cc hm v th tc thng dng trong nhp xut d liu Hm KEYPRESSED: Hm tr v gi tr TRUE nu nh c mt phm bt k c nhn, nu khng hm cho gi tr l FALSE. Hm READKEY: Hm c chc nng c mt k t t b m bn phm. Th tc GOTOXY(X,Y:Integer): Di chuyn con tr n ct X dng Y. Gv: Trnh Huy Hong Trang 32

Gio trnh tin hc i cng

gn ng lp trnh

Th tc CLRSCR: Xo mn hnh v a con tr v gc trn bn tri mn hnh. Th tc CLREOL: Xa cc k t t v tr con tr n ht dng. Th tc DELLI E: Xo dng ti v tr con tr v dn cc dng pha di ln. Th tc TEXTCOLOR(color:Byte): Thit lp mu cho cc k t. Trong color [0,15]. Th tc TEXTBACKGROU D(color:Byte): Thit lp mu nn cho mn hnh.

3. Li ch thch :Cc li bnh lun, cc li gii thch c th a vo bt k ch no ca chng trnh cho chng trnh d hiu, d c hn m khng lm nh hng n cc phn khc. Li gii thch c t gia hai du { }. Trong mt chng trnh cn ( v lun lun cn ) vit thm nhng li gii thch chng trnh thm r rng, thm d hiu. V d : File Edit Search Run Compile Debug Tool Option Window Help Program bt1; {Chuong trinh in ra dong chu cho truoc} Begin Writeln(Truong dai hoc Su Pham); Writeln(Khoa Toan Tin hoc); End. F1 Help F2 Save F3 Open Alt-F9 Compile F9 Make Alt-F10 Local Menu Bi tp1. Vit chng trnh tnh t s pignet ca mt ngi khi bit chiu cao (Cm), vng ngc trung bnh (Cm), trng lng (Kg). Cng thc tnh ch s pignet = Chiu cao (Vng ngc trung bnh + Trng lng) Vng ngc trung bnh = 0.5 * (Vng ln + Vng nh) 2. Vit chng trnh nhp 2 s nguyn c ti a 4 k s ri thc hin php tr v xut ra mn hnh theo dng sau y: 4321 - 1234 --------3087 3. Vit chng trnh nhp cc tr a, b, c, x ri in ra tr ca tam thc : ax2 + bx + c 4. Vit chng trnh nhp vo chu vi ca mt hnh ch nht, sau tnh ra din tch ln nht m hnh ch nht c th c c. Bit rng: Din tch ln nht ca hnh ch nht l hnh vung

Gv: Trnh Huy Hong

Trang 33

Gio trnh tin hc i cng

gn ng lp trnh

5. Vit chng trnh nhp vo mt k t ri in ra m ASCII ca k t 6. Vit chng trnh nhp to x, y, z ca mt vct 3 chiu. Tnh v in ra di ca vct ny. Cng thc tnh nh sau: di = x 2 + y 2 + z 2 7. Vit chng trnh nhp mt s thc x. Tnh gi tr ca z theo cng thc : z = ln ( x + |sin(2x) | ) 8. Vit chng trnh chuyn t Mile ( dm Anh) sang Km, bit rng 1Mile = 1.609344Km 9. Vit chng trnh nhp vo s tin M (nguyn dng). i s tin ny ra cc t giy bc 10 000, 5000, 2000, 1000, 500. Vi gi thit u tin cho t c mnh gi ln hn, in ra s t giy tin mi loi. 10. Vit chng trnh nhp 3 s nguyn dng a, b, c. Hy tnh v in ra mn hnh gi tr trung bnh cng S v trung bnh nhn P Bit rng: Trung bnh cng : S = (a + b + c) / 3 Trung bnh nhn: P = (a b c) = e * ln (a * b * c) 11. Vit chng trnh nhp 2 s nguyn dng a, b. Hy tnh ab Bit rng: a = e * ln a 12. Gi s li sut mi thng ca ngn hng ABC l q (v d nu sut l 1.75% th q = 0.0175) cho loi hnh tit kim li nhp vn. Vi s tin gi M v q nhp vo t bn phm, hy tnh v cho bit sau bao nhiu thng th c li ln vn tng ln gp i so vi tin gi lc u. 13. N hp vo mt s S (nguyn dng), vit chng trnh i ra gi, pht, giy tng ng. Hng dn: s dng cc ton t Div, Mod vit thut ton.b b 1/ 3 1/3

Gv: Trnh Huy Hong

Trang 34

Gio trnh tin hc i cng

gn ng lp trnh

BI 6: CC CU TRC IU KHII. Cu trc r nhnh1. Cu trc iu kin:Ton t if cho php la chn chy theo mt trong hai nhnh ty thuc vo ng hay sai, bng khng v khc khng ca biu thc. C php: IF . THE ..: IF iu kin 1 THEN cng vic 1 ; Hoc : IF iu kin 1 THEN cng vic 1 ELSE IF iu kin 2 THEN cng vic 2 . ELSE cng vic n . Chng hn on chng trnh sau s thc hin vic tm gi tr ln nht v nh nht ca 2 gi tr.

if a< b then begin Max := b; Min := a; end else begin Max := a; Min := b; endV d : Chng trnh gii phng trnh bc hai. Program ptb2; Uses crt; Var a,b,c,delta,x1,x2:real; Begin clrscr; writeln(N hap a, b, c:); readln(a,b,c); delta:=b*b-4*a*c; Gv: Trnh Huy Hong Trang 35

Gio trnh tin hc i cng

gn ng lp trnh

if (delta