You are on page 1of 29

LP TRNH C

GD: Dng Th Thy Vn Khoa CNTT vanduongthuy@yahoo.com

Mc tiu
Gii quyt nhng bi ton c bn vi chng trnh my tnh. Dng mt trong cc ngn ng lp trnh vit chng trnh. V d ngn ng lp trnh C.

Hc
- Ngn ng lp trnh C. - T chc chng trnh theo lp trnh th tc. - Nhng k nng lp trnh.

Ni dung
Ch1- Cc khi nim c bn.

Ch2- Cc thnh phn ca mt chng trnh C/C++ n gin


Ch3- Bin v hng Ch4- Php ton v biu thc Ch5- Cu trc iu khin chng trnh (*) Ch6- Hm (*) Ch7- Gii thiu v mng.

Ti liu tham kho


1. Brian W.Kernigan & Dennis M.Ritchie (2000), The C Programming Language. 2. Quch Tun Ngc (1998), Ngn ng lp trnh C, NXB Gio Dc. 3. Hong Kim (2001), Gii mt bi ton trn my tnh nh th no ?, tp 1, NXB Gio Dc.

4. H.M. Deitel and P.J. Deitel (1998), C++ How to program, 2nd Edition, Prentice Hall.

nh gi
KT gia k: thi trn my, 20%

Thi cui k: thi trn giy, 70%


Bi tp trn lp, BT v nh, kim tra, , 10%

im danh, vng t 30% s ln cm thi ln 1; vng t 50% s ln cm thi ln 1 & 2.

Chng 1

Cc khi nim c bn

My tnh (computer) ?
My tnh: - L thit b c kh nng thc hin cc php tnh v a ra cc quyt nh c tnh logic. - X l d liu di s iu khin ca tp cc ch th (cu lnh) - c gi l chng trnh my tnh. Phn cng: - Cc thit b khc nhau cu thnh my tnh (cc n v x l, b nh, a, bn phm,) Phn mm: - Cc chng trnh chy trn my tnh.

Cc n v c bn ca my tnh
Control Unit
Input Arith. & Logic Unit Output

Main memory

Secondary Memory

Ngn ng lp trnh
Ngn ng my +1300042774 +1400593419 +1200274027 LOAD A ADD B STORE C

Ngn ng t hp

Ngn ng cp cao

C=A+B

Ba loi ngn ng lp trnh: Ngn ng my:


Dng cc chui s lm ch th cho my tnh. V d:
+1300042774
+1400593419 +1200274027

Ngn ng t hp:
Dng cc t vit tt ca nhng t ting Anh lm ch th cho my tnh. V d:
MOV
ADD MOV

AX, 0123
AX, 0025 CX, AX

Ngn ng cp cao:
Cc ch th c dng nh ting Anh hng ngy. V d:
SUM = A + B

Ngn ng lp trnh
Ngn ng my +1300042774 +1400593419 +1200274027 LOAD A ADD B STORE C

Ngn ng t hp

Ngn ng cp cao

C=A+B

Trnh dch
C libaray hello.c compile hello.o hello

Edit

Link

Source File
(High-Level Languages)

Object File
(Machine Languages)

Executable

Trnh bin dch

Chng trnh dch chuyn i chng trnh t NN cp cao (NN t hp) thnh NN my.

Trnh bin dch (compiler): chuyn mt chng trnh NN cp cao sang ngn my.
Trnh thng dch (interpreter): phn tch v thc thi tng cu lnh ca chng trnh NN cp cao.

C l ngn ng cp cao, dng trnh bin dch.

Kiu t chc chng trnh


(1) Lp trnh th tc - Tp trung vo x l i vi tng bi ton c th.

- Bi ton c th c phn thnh nhng bi ton nh hn gii quyt Xc nh cc th tc (hm) cn thit tng ng. - Dng gii thut tt nht tm c.

- Cn quan tm: cch truyn tham s, kiu tham s, kiu hm,

Kiu t chc chng trnh (2) LT cu trc (m hnh n d liu)

-Tp {th tc} c lin quan ti d liu m chng tc ng c gom nhm = m-un. - Xc nh m-un cn Phn chng trnh sao cho d liu n trong m-un.
- Cc k thut xy dng th tc tt vn c p dng cho tng th tc trong m-un.

Kiu t chc chng trnh (3) LT HT chng trnh lp i tng.

- i tng lm c s cho xy dng thut gii,

- Xc nh lp cn.
- Cung cp tp php ton/thao tc trn mi lp. - Lm cho lp hot ng hiu qu nh tha k.

Lch s ca C
Ngn ng C c thit k bi Dennis Ritchie ti phng th nghim Bell (cng ty AT&T - M) vo u nhng nm 1970. Chu nh hng pht trin ca mt s ngn ng: ALGOL 60 (1960), CPL (Cambridge, 1963), BCPL (Martin Richard, 1967),

B (Ken Thompson, 1970)


c chun ha nm 1983 bi ANSI (American National Standards Institute) v c gi ANSI C

C v C++
C++ m rng t C, c pht trin bi Bjarne Stroustrup ti PTN. Bell u 1980s. C++ c thm nhiu khi nim c bn mi, to c s cho lp trnh hng i tng v mt s c tnh thun li khc cho nhng d n pht trin phn mm.

Mt chng trnh C tng thch trong c C++ v C.

Lp trnh

?
- Pht biu bi ton.

- Gii c bi ton.
- Vit thut ton cho li gii bi ton. - Vit chng trnh (son tho m ngun) cho my tnh bng mt NNLT (C), lu vo my tnh, gi y l chng trnh ngun.

C libaray hello.c Source File compile hello.o Object File hello Executable

Edit

Link

- Gi trnh bin dch: dch chng trnh ngun sang m my; gi trnh lin kt thc thi, y l bc chy chng trnh. - Nu trnh bin dch bo li, y l li c php xem & sa chng trnh ngun. - KQ m MT gii c l khng ng yu cu, y l li logic xem li cch gii, thut ton & chng trnh.

Thut ton
Vn

Nhng vng mc, kh khn trong cuc sng m ta cn gii quyt. Bi ton
Mt loi vn m gii quyt, cn n tnh ton (php ton s, lun l, quan h).

Thut ton
Thut ton

Cch biu din li gii "bi ton r rng, chi tit c th thc thi c trn my tnh.
Bi ton gii phng trnh bc 1- 1 n. (??)

c trng ca thut ton

- Tnh hu hn: c hu hn bc v phi dng.

- Tnh xc nh: cc bc r rng, thc thi c.


- Tnh ng: qu trnh thc thi theo cc bc ch ra phi i n kt qu nh .

c trng ca thut ton


- Nhn d liu u vo, x l v cho kt qu cui cng. - Tnh hiu qu: khi lng, khng gian, thi gian tnh ton khng qu ln. - Tnh tng qut: p dng c cho mi trng hp ca bi ton.

Cc phng php bu din thut ton


1) Ngn ng t nhin (xem li VD.PTB1) 2) M gi (NNTN + NN LT) 3) S khi: (chn la & hnh ng).

Khi u & kt thc thut ton.


Biu din thao tc x l.

Biu din vo ra d liu.


Thao tc chn la theo iu kin.

Ch n bc thc thi tip theo.

V d: ()

Mt cng ty, mi gi lm vic ca mt cng nhn c nh.

tr 10,000 ng/gi trong 8 gi u lm vic theo qui

Nu lm tng ca (phi lm nhiu hn 8 gi qui nh), th mi gi vt qui nh c tr thm 30%.

Tnh tin cng cho mt cng nhn ty theo gi lm vic ca h.

You might also like