Professional Documents
Culture Documents
TNG QUAN
I. MC CH YU CU
Mn Lp Trnh Cn Bn A cung cp cho sinh vin nhng kin thc c bn v lp trnh thng qua ngn ng lp trnh C. Mn hc ny l nn tng tip thu hu ht cc mn hc khc trong chng trnh o to. Mt khc, nm vng ngn ng C l c s pht trin cc ng dng. Hc xong mn ny, sinh vin phi nm c cc vn sau: - Khi nim v ngn ng lp trnh. - Khi nim v kiu d liu - Kiu d liu c cu trc (cu trc d liu). - Khi nim v gii thut - Ngn ng biu din gii thut. - Ngn ng s (lu ), s dng lu biu din cc gii thut. - Tng quan v Ngn ng lp trnh C. - Cc kiu d liu trong C. - Cc lnh c cu trc. - Cch thit k v s dng cc hm trong C. - Mt s cu trc d liu trong C.
II. I TNG MN HC
Mn hc lp trnh cn bn c dng ging dy cho cc sinh vin sau: - Sinh vin nm th 2 chuyn ngnh Tin hc, Ton Tin, L Tin. - Sinh vin nm th 2 chuyn ngnh in t (Vin thng, T ng ha)
III. NI DUNG CT LI
Trong khun kh 45 tit, gio trnh c cu trc thnh 2 phn: Phn 1 gii thiu v lp trnh cu trc, cc khi nim v lp trnh, gii thut Phn 2 trnh by c h thng v ngn ng lp trnh C, cc cu lnh, cc kiu d liu PHN 1: Gii thiu cu trc d liu v gii thut PHN 2: Gii thiu v mt ngn ng lp trnh - Ngn ng lp trnh C Chng 1: Gii thiu v ngn ng C & mi trng lp trnh Turbo C Chng 2: Cc thnh phn ca ngn ng C Chng 3: Cc kiu d liu s cp chun v cc lnh n Chng 4: Cc lnh c cu trc Chng 5: Chng trnh con Chng 6: Kiu mng Chng 7: Kiu con tr Chng 8: Kiu chui k t Chng 9: Kiu cu trc
Trang 1
Lp trnh cn bn
[1] Nguyn Vn Linh, Gio trnh Tin Hc i Cng A, Khoa Cng Ngh Thng Tin, i hc Cn Th, 1991. [2] Nguyn nh T, Hong c Hi , Gio trnh l thuyt v bi tp ngn ng C; Nh xut bn Gio dc, 1999. [3] Nguyn Cn, C Tham kho ton din, Nh xut bn ng Nai, 1996. [4] V Vn Vin, Gip t hc Lp Trnh vi ngn ng C, Nh xut bn ng Nai, 2002. [5] Brain W. Kernighan & Dennis Ritchie, The C Programming Language, Prentice Hall Publisher, 1988.
VI. T KHA
Bi ton, chng trnh, gii thut, ngn ng gi, lu , biu thc, gn, r nhnh, lp, hm, mng, con tr, cu trc, tp tin.
Trang 2
Trang 3
Lp trnh cn bn
V d 1: Gi s c hai bnh A v B ng hai loi cht lng khc nhau, chng hn bnh A ng ru, bnh B ng nc mm. Gii thut hon i (swap) cht lng ng trong hai bnh l: Yu cu phi c thm mt bnh th ba gi l bnh C. Bc 1: ru t bnh A sang bnh C. Bc 2: nc mm t bnh B sang bnh A. Bc 3: ru t bnh C sang bnh B. V d 2: Mt trong nhng gii thut tm c chung ln nht ca hai s a v b l: Bc 1: Nhp vo hai s a v b. Bc 2: So snh 2 s a,b chn s nh nht gn cho UCLN. Bc 3: Nu mt trong hai s a hoc b khng chia ht cho UCLN th thc hin bc 4, ngc li (c a v b u chia ht cho UCLN) th thc hin bc 5. Bc 4: Gim UCLN mt n v v quay li bc 3 Bc 5: In UCLN - Kt thc.
nu b khc 0 th ta kt lun phng trnh v nghim. Bc 4: ( a khc 0) Ta kt lun phng trnh c nghim x=-b/a II.3.2 Ngn ng s (Lu ) Ngn ng s (lu ) l mt ngn ng c bit dng m t gii thut bng cc s hnh khi. Mi khi qui nh mt hnh ng. Khi Tc dng ( ngha ca Khi Tc dng ( ngha hnh ng) ca hnh ng) Bt u/ Kt thc Nhp / Xut Thi hnh La chn ng i Chng trnh con Khi ni Li ch thch
Begin
Nhp a,b
a<b
ng
ng
UCLN=a
UCLN=UCLN-1
In UCLN
End
II.3.3 Mt s gii thut c bn V d 1: Cn vit chng trnh cho my tnh sao cho khi thc hin chng trnh , my tnh yu cu ngi s dng chng trnh nhp vo cc s hng ca tng (n); nhp vo dy cc s hng ai ca tng. Sau , my tnh s thc hin vic tnh tng cc s ai ny v in kt qu ca tng tnh c. Yu cu: Tnh tng n s S=a1+ a2+a3+......+an .
Trang 5
Lp trnh cn bn
tnh tng trn, chng ta s dng phng php cng tch ly ngha l khi u cho S=0. Sau mi ln nhn c mt s hng ai t bn phm, ta cng tch ly ai vo S (ly gi tr c lu tr trong S, cng thm ai v lu tr li vo S). Tip tc qu trnh ny n khi ta tch ly c an vo S th ta c S l tng cc ai. Chi tit gii thut c m t bng ngn ng t nhin nh sau: - Bc 1: Nhp s cc s hng n. - Bc 2: Cho S=0 (lu tr s 0 trong S) - Bc 3: Cho i=1 (lu tr s 1 trong i) - Bc 4: Kim tra nu i<=n th thc hin bc 5, ngc li thc hin bc 8. - Bc 5: Nhp ai - Bc 6: Cho S=S+ai (lu tr gi tr S + ai trong S) - Bc 7: Tng i ln 1 n v v quay li bc 4. - Bc 8: In S v kt thc chng trnh. Ch tit gii thut bng lu :
Begin
Nhp s cc s hng n
S=0 i=1
i<=n ng Nhp s ai
S=S+ai i=i+1
Sai In S
End
V d 2: Vit chng trnh cho php nhp vo 2 gi tr a, b mang ngha l cc h s a, b ca phng trnh bc nht. Da vo cc gi tr a, b cho bit nghim ca phng trnh bc nht ax + b = 0. M t gii thut bng ngn ng t nhin: - Bc 1: Nhp 2 s a v b - Bc 2: Nu a = 0 th thc hin bc 3, ngc li thc hin bc 4
Trang 6
Lp trnh cn bn Smith NguyenktStudio. - Bc 3: Nu b=0 th thng bo phng trnh v s nghim v thc chng
trnh, ngc li thng bo phng trnh v nghim v kt thc chng trnh. - Bc 4: Thng bo nghim ca phng trnh l b/a v kt thc.
Begin
Nhp hai s a,b a=0 Sai Nghim x=-b/a ng b=0 Sai PT v nghim PT v nh ng
End
V d 3: Vit chng trnh cho php nhp vo 1 s n, sau ln lt nhp vo n gi tr a1, a2,,an. Hy tm v in ra gi tr ln nht trong n s a1, a2, , an. gii quyt bi ton trn, chng ta p dng phng php th v sa. Ban u gi s a1 l s ln nht (c lu trong gi tr max); sau ln lt xt cc ai cn li, nu ai no ln hn gi tr max thi lc max s nhn gi tr l ai. Sau khi xt ht cc ai th max chnh l gi tr ln nht cn tm. M t gii thut bng ngn ng t nhin: - Bc 1: Nhp s n - Bc 2: Nhp s th nht a1 - Bc 3: Gn max=a1 - Bc 4: Gn i=2 - Bc 5: Nu i<=n th thc hin bc 6, ngc li thc hin bc 9 - Bc 6: Nhp ai - Bc 7: Nu max < ai th gn max=ai. - Bc 8: Tng i ln mt n v v quay li bc 5 - Bc 9: In max - kt thc Phn m t gii thut bng lu , sinh vin t lm xem nh bi tp. V d 4: Vit chng trnh cho php nhp vo 1 s n, sau ln lt nhp vo n gi tr a1, a2,,an. Sp theo th t tng dn mt dy n s a1, a2,...an ni trn. C rt
Trang 7
Lp trnh cn bn
nhiu gii thut gii quyt bi ton ny. Phn trnh by di y l mt phng php.
Gi s ta nhp vo my dy n s a1, a2,..., an. Vic sp xp dy s ny tri qua (n-1) ln: - Ln 1: So snh phn t u tin vi tt c cc phn t ng sau phn t u tin. Nu c phn t no nh hn phn t u tin th i ch phn t u tin vi phn t nh hn . Sau ln 1, ta c phn t u tin l phn t nh nht. - Ln 2: So snh phn t th 2 vi tt c cc phn t ng sau phn t th 2. Nu c phn t no nh hn phn t th 2 th i ch phn t th 2 vi phn t nh hn . Sau ln 2, ta c phn t u tin v phn t th 2 l ng v tr ca n khi sp xp. - - Ln (n-1): So snh phn t th (n-1) vi phn t ng sau phn t (n-1) l phn t th n. Nu phn t th n nh hn phn t th (n-1) th i ch 2 phn t ny. Sau ln th (n-1), ta c danh sch gm n phn t c sp th t. M t gii thut bng ngn ng t nhin: - Bc 1: Gn i=1 - Bc 2: Gn j=i+1 - Bc 3: Nu i <=n-1 th thc hin bc 4, ngc li thc hin bc 8 - Bc 4: Nu j <=n th thc hin bc 5, ngc li th thc hin bc 7. - Bc 5: Nu ai > aj th hon i ai v aj cho nhau (nu khng th thi). - Bc 6: Tng j ln mt n v v quay li bc 4 - Bc 7: Tng i ln mt n v v quay li bc 3 - Bc 6: In dy s a1, a2,..., an - Kt thc. M t gii thut sp xp bng lu
i=1 j<=n-1 ng j=i+1 Sai
j<=n ng aj<ai ng tam=ai ai=aj aj=tam j=j+1 i=i+1 Trang 8 End In dy s : a1, a2, ,an Sai
Lp trnh cn bn
Cc ngn ng lp trnh u c nhng kiu d liu do ngn ng xy dng sn, m ta gi l cc kiu chun. Chng hn nh kiu int, char trong C; integer, array trong Pascal. Ngoi ra, hu ht cc ngn ng u cung cp c ch cho php ngi lp trnh nh ngha kiu ca ring mnh phc v cho vic vit chng trnh.
Lp trnh cn Smithlnh mt, dch ti uStudio. Nguyen thc hinbn Thng dch (interpreter): L cch dch tng ti
. Chng hn ngn ng LISP s dng trnh thng dch. Bin dch (compiler): Dch ton b chng trnh ngun thnh chng trnh ch ri sau mi thc hin. Cc ngn ng s dng trnh bin dch nh Pascal, C... Gia thng dch v bin dch c khc nhau ch: Do thng dch l va dch va thc thi chng trnh cn bin dch l dch xong ton b chng trnh ri mi thc thi nn chng trnh vit bng ngn ng bin dch thc hin nhanh hn chng trnh vit bng ngn ng thng dch. Mt s ngn ng s dng kt hp gia thng dch v bin dch chng hn nh Java. Chng trnh ngun ca Java c bin dch to thnh mt chng trnh i tng (mt dng m trung gian) v khi thc hin th tng lnh trong chng trnh i tng c thng dch thnh m my.
V. BI TP
V.1 Mc ch yu cu
Lm quen v nm vng cc cch m t gii thut; t ng trc mt bi ton c th, sinh vin c th m t tht chi tit cc bc gii quyt vn .
V.2 Ni dung
Bng ngn ng t nhin v lu , anh (ch) hy m t gii thut cho cc bi ton sau: 1. Gii phng trnh bc 2 dng ax 2 + bx + c = 0 vi a, b, c l cc s s nhp t bn phm. 2 2 2.Tnh tng bnh phng ca n s nguyn c dng sau: S= a12 + a 2 + L + a n , vi n v ai (i=1..n) l cc s s nhp t bn phm. 2 2 3. Tnh tng c dng sau: S= 1 a12 + a 2 a 32 + L + (1) n a n , vi n v ai (i=1..n) l cc s s nhp t bn phm. 4. Trnh by kt qu qua cc bc lp (c m t trn) sp xp dy s sau theo th t tng dn. a) 12 13 11 10 10 9 8 7 6 5 b) 11 12 13 14 3 4 5 6 7 11 8
Trang 11