Chuong 2 - Tim Hieu Ve Khai Niem Lap Trinh

You might also like

You are on page 1of 48

Chng 2: Tm hi u v khi ni m L p trnh

GV: Ph m Tr ng Khim

02/2012

N i dung
1 2 3 4 5 Chng trnh v ngn ng l p trnh

M ngu n v trnh bin d ch Qui trnh xy d ng m t ct n gi n Qui trnh xy d ng m t ph n m m Gi i thi u cc phng php l p trnh

02/2012

1. Chng trnh v ngn ng

l p trnh

TH GI I TH C

V N BI TON

TIN H C HA M T NGHI P V

VI C TH C HI N TRN MY TNH L P TRNH CHNG TRNH


02/2012

1. Chng trnh v ngn ng

l p trnh (tt)

Ngn ng l p trnh l g L ngn ng dng di n t thu t ton cho my tnh hi u v th c hi n. Cch di n t thu t ton b ng ngn ng l p trnh nh v y cho ta m t chng trnh.

thao tc 1; thao tc 2; ; thao tc N

02/2012

1. Chng trnh v ngn ng Phn lo i ngn ng Ngn ng my. H p ng . Ngn ng b c cao l p trnh:

l p trnh (tt)

02/2012

1. Chng trnh v ngn ng

l p trnh (tt)

a)Ngn ng my: L ngn ng duy nh t my tnh c th tr c ti p hi u v th c hi n. M i lo i my tnh c m t ngn ng ring c a mnh. u i m: Khai thc tri t v t i u kh nng c a my. Khuy t i m: Ph c t p, m t nhi u cng s c, kh hi u khng ph h p v i s ng ng i l p trnh

02/2012

1. Chng trnh v ngn ng

l p trnh (tt)

b)H p ng : Pht tri n t ngn ng my thm m t s t kha ti ng anh. VD: ADD AX BX u i m: t ph thu c vo my v d vi t chng trnh hn ngn ng my. R t g n v i ngn ng my. Khuy t i m: V n cn kh hi u i v i ph n ng ng i l p trnh.

02/2012

1. Chng trnh v ngn ng

l p trnh (tt)

c)Ngn ng b c cao: u i m: Kh g n v i ngn ng t nhin. Khng ph thu c vo lo i my. C th th c hi n trn nhi u lo i my tnh khc nhau. Khuy t i m: Xa ngn ng my.

02/2012

1. Chng trnh v ngn ng Chng trnh l g?

l p trnh (tt)

Nguyn t c: My tnh ch c th ho t ng khi c nh ng ch d n c th . Chng trnh l t p cc ch d n gip my tnh hon thnh m t cng vi c no l p trnh v i m t ngn ng l p trnh no .
M T S V D MINH H A: Bi ton gi i v bi n lu n phng trnh b c nh t ax + b = c Chng trnh gi i phng trnh b c nh t Bi ton ki m tra tnh nguyn t c a m t s nguyn dng Chng trnh ki m tra s nguyn t Bi ton s p x p Chng trnh s p x p m t dy s nguyn v i n ph n t Bi ton qu n l nhn s cng ty XYZ Ph n m m qu n l nhn s Bi ton qu n l o t o tr ng i h c XY H th ng qu n l o t o i h c
02/2012

1. Chng trnh v ngn ng Ph n m m l g

l p trnh (tt)

l m t h th ng cc chng trnh th c hi n c trn my tnh Gip gi i quy t cc cng vi c chuyn mn. Qu trnh s d ng ph n m m B.1: Ch n cng vi c mu n th c hi n Cung c p cc d li u c lin quan n cng vi c B.2: My tnh x l cng vi c B.3: Xem k t qu c a vi c th c hi n cng vi c thng qua cc mn hnh k t qu hay cc bo co, bo bi u Ho t ng c a m i ph n m m u l s m ph ng l i ho t ng c a th gi i th c trn my tnh.
02/2012

10

1. Chng trnh v ngn ng

l p trnh (tt)

-PM qu -PM qu -PM qu -PM qu

n l h c sinh n l bn hng n l th vi n n l nhn s

02/2012

11

1. Chng trnh v ngn ng

l p trnh (tt)

Ph n m m c 2 lo i: ph n m m h th ng & ph n m m ng d ng. a. Ph n m m h th ng: L ph n m m n m th ng tr c trong my cung c p cc d ch v theo yu c u c a cc chng trnh khc trong qu trnh ho t ng c a my. L mi tr ng lm vi c c a cc ph n m m khc. HH l ph n m m h th ng quan tr ng nh t. VD: H i u hnh: MS DOS, WINDOWN, LINUS, cc driver m thanh, mn hnh
02/2012

12

1. Chng trnh v ngn ng

l p trnh (tt)

b. Ph n m m ng d ng: Ph n m m ng d ng: L ph n m m vi t ph c v cho cng vi c hng ngy nh so n th o vn b n, x l nh, qu n l, tr chi. Thi t k d a trn nh ng yu c u chung c a r t nhi u ng i nh PM nghe nh c, Internet Explorer Ph n m m cng c : H tr vi c XD cc ph n m m nh Visual Foxpro, Visual Basic, Java... Ph n m m ti n ch: Gip lm vi c v i MT thu n l i hn nh PM di t Virus, Sao chp DL, Nn d li u
02/2012

13

1. Chng trnh v ngn ng

l p trnh (tt)

02/2012

14

1. Chng trnh v ngn ng Ch n ngn ng

l p trnh (tt)

l p trnh no l ph h p

Theo v n c n gi i quy t (d a trn kinh nghi m) Theo u th c a ngn ng , ch ng h n: C/C++: ph bi n trong nhi u ng d ng C#, Basic: d dng cho ng d ng qu n l Pascal: tnh c u trc c l i cho d y h c Theo tnh ti n d ng c a ngn ng (d vi t, mi tr ng lm vi c d dng, c th nhi u ng i cng lm, c nhi u th vi n h tr , ) Theo yu c u c a khch hng Theo thi quen c a l p trnh vin
02/2012

15

1. Chng trnh v ngn ng

l p trnh (tt)

Desktop Mobile

C#

VB

C++

Web

.NET

Java

.NET

PHP

Java

02/2012

16

N i dung
1 2 3 4 5 Chng trnh v ngn ng l p trnh

M ngu n v trnh bin d ch Qui trnh xy d ng m t ct n gi n Qui trnh xy d ng m t ph n m m Gi i thi u cc phng php l p trnh

02/2012

17

2. M ngu n v trnh bin d ch M ngu n l g?


Chnh l chng trnh ngu n Th ng vi t v lu d i d ng vn b n C n c chuy n i thnh ngn ng my thi hnh

02/2012

18

2. M ngu n v trnh bin d ch (tt)


M ngu n

Ti n x l

Qu trnh chuy n t file ngu n sang file th c thi

M ngu n c lm s ch

Bin d ch

M th c thi

Lin k t

M th c thi hon ch nh

02/2012

19

2. M ngu n v trnh bin d ch (tt)


Chng trnh d ch l g?
NNLT Chng trnh d ch Ngn ng my

Assembly language code

High level language code

High level language code

Assembler

Compiler

Interpreter

Machine code
02/2012

20

2. M ngu n v trnh bin d ch


Chng trnh lm nhi m v bin d ch m ngu n sang m my g i l trnh bin d ch (compiler) Chng trnh lm nhi m v lin k t v i cc th vi n t o thnh file th c thi hon ch nh g i l trnh lin k t (linker) Chng trnh gip h tr ng i l p trnh ki m l i, g l i cho chng trnh g i l trnh g l i (debuger)

02/2012

21

2. M ngu n v trnh bin d ch


(compiler) (linker) (debuger)

Trnh so n th o m ngu n (Editor)

Mi tr ng pht tri n tch h p (IDE Integrated Development Environment) Cc IDE ph bi n nh: Free Pascal, Turbo Pascal, Borland Pascal, Borland C/C++, Dev C++, Visual Studio, Eclipse, Netbeans, 02/2012 22

2. M ngu n v trnh bin d ch

02/2012

23

2. M ngu n v trnh bin d ch

02/2012

24

2. M ngu n v trnh bin d ch

Eclipse

02/2012

25

2. M ngu n v trnh bin d ch

Eclipse Netbeans

02/2012

26

2. M ngu n v trnh bin d ch

Eclipse Netbeans Visual Studio 2010


02/2012

27

N i dung
1 2 3 4 5 Chng trnh v ngn ng l p trnh

M ngu n v trnh bin d ch Qui trnh xy d ng m t ct n gi n Qui trnh xy d ng m t ph n m m Gi i thi u cc phng php l p trnh

02/2012

28

3. Qui trnh xy d ng m t ct n gi n
BI TON CHNG TRNH

Xc nh bi ton
Lm r cc yu c u c a bi ton

Ki m th
Xy d ng b d li u th nghi m

Phn tch bi ton


M t cc thnh ph n c a chng trnh (d li u v x l)

Ci t Thi t k chng trnh


T ch c n v d li u, n v x l L p trnh t o chng trnh ngu n b ng m t NNLT c th

02/2012

29

3. Qui trnh xy d ng m t ct n gi n (tt) Xc nh bi ton t ki m th phn tch thi t k ci

1. Xc nh bi ton: lm r yu c u c a bi ton, xc nh u vo (input) v u ra (output), cng nh cc rng bu c ton v n (n u c) 2. Phn tch bi ton: d a trn hai thnh ph n Thnh ph n d li u: phn tch cc thnh ph n d li u vo/ra, trung gian c a bi ton lo i d li u tng ng Thnh ph n x l: phn tch cch x l bi ton b ng cng c ton h c, ho c b ng cch x l thng th ng c a nghi p v , trnh by d i d ng t ng gi i quy t
02/2012

30

3. Qui trnh xy d ng m t ct n gi n (tt)


3. Thi t k chng trnh: d a trn hai n v n v d li u: thi t k cc thnh ph n d li u bao g m tn bi n, ki u d li u, nh ngha ki u d li u (n u c) n v x l: bao g m S th t c/hm M t cc th t c/hm (prototype) Thu t gi i t ng qut/chi ti t 4. Ci t: s d ng m t NNLT c th (C/C++) ci t 5. Ki m th : xy d ng b d li u ki m th nn xu t t 5-10 b d li u ki m th chng trnh. S d ng ch c nng Debug ki m l i n u c.
02/2012

31

N i dung
1 2 3 4 5 Chng trnh v ngn ng l p trnh

M ngu n v trnh bin d ch Qui trnh xy d ng m t ct n gi n Qui trnh xy d ng m t ph n m m Gi i thi u cc phng php l p trnh

02/2012

32

4. Qui trnh xy d ng ph n m m
Kh o st Phn tch Thi t k Ci t Tri n khai Ki m tra B o tr M HNH THC N C - WATERFALL
02/2012

Xy d ng ph n m m tun th theo m t quy trnh pht tri n ph n m m hnh thnh m t lnh v c c g i cng ngh ph n m m (Software Engineering SE). C nhi u quy trnh pht tri n ph n m m.

33

4. Qui trnh xy d ng ph n m m
Cc m hnh xy d ng ph n m m khc: M hnh ch V (V-model) Cc m hnh nhi u phin b n (Multi-version models) M hnh m u (Prototype) M hnh ti n ha (Evolutionary) M hnh l p v tng d n (Iterative and Incremental) M hnh pht tri n ng d ng nhanh (RAD) M hnh xo n (Spiral)
02/2012

34

N i dung
1 2 3 4 5 Chng trnh v ngn ng l p trnh

M ngu n v trnh bin d ch Qui trnh xy d ng m t ct n gi n Qui trnh xy d ng m t ph n m m Gi i thi u cc phng php l p trnh

02/2012

35

5. Gi i thi u cc phng php l p trnh 1. Phng php l p trnh tuy n tnh 2. Phng php l p trnh h ng c u trc 3. Phng php l p trnh h ng i t ng.

02/2012

36

5. Gi i thi u cc phng php l p trnh 1. Phng php l p trnh tuy n tnh Chng trnh s c th c hi n theo th t t u n cu i, l nh ny k ti p l nh kia cho n khi k t thc chng trnh. c trng: n gi n. Tnh ch t u i m: ng d ng cho cc chng trnh n gi n v c u i m d hi u. Nh c i m: Khng s ph c t p.
02/2012

d ng v i cc

ng d ng
37

5. Gi i thi u cc phng php l p trnh (tt) 2. Phng php l p trnh h ng c u trc


Chng trnh chnh c chia nh thnh cc chng trnh con. M i chng trnh con th c hi n m t cng vi c xc nh. Chng trnh chnh s g i n chng trnh con theo m t gi i thu t. Cc ngn ng l p trnh c u trc ph bi n l Pascal, C v C++. Ring C++ cn c c trng c a l p trnh h ng i t ng.

02/2012

38

5. Gi i thi u cc phng php l p trnh (tt) c trng: Chng trnh = C u trc d


Cch th c t ch c d li u

li u + Gi i thu t
Quy trnh th c hi n cng vi c xc nh.

M t c u trc d li u ch ph h p v i m t s h n ch cc gi i thu t. N u thay i c u trc d li u th ph i thay i gi i thu t cho ph h p. M t gi i thu t th ng ph i i km v i m t c u trc d li u nh t nh.
39

02/2012

5. Gi i thi u cc phng php l p trnh (tt) Tnh ch t M i chng trnh con (CTC) c th c g i th c hi n nhi u l n trong m t chng trnh chnh. Cc CTC c th c g i n th c hi n theo m t th t b t k, khng ph thu c th t khai bo CTC.

02/2012

40

5. Gi i thi u cc phng php l p trnh (tt) u i m Chng trnh sng s a, d hi u, d theo di. T duy gi i thu t r rng. Nh c i m L p trnh c u trc khng h tr m nh vi c s d ng l i m ngu n. Khng ph h p v i cc ph n m m l n.

02/2012

41

5. Gi i thi u cc phng php l p trnh (tt) V n B ng cch no phn chia chng trnh chnh thnh cc CTC cho ph h p v i yu c u, ch c nng v m c ch c a m i bi ton. Phng php thi t k trn xu ng (top-down).

02/2012

42

5. Gi i thi u cc phng php l p trnh (tt) Phng php thi t k trn xu ng (top-down)
Bi ton Con 1
Bi ton Con 1.1 CTC 1.1

Bi ton Con 1.2

CTC 1.2

Bi ton ban u

Bi ton Con 2

Bi ton Con 3

CTC 3

02/2012

43

5. Gi i thi u cc phng php l p trnh (tt) 2. Phng php l p trnh h ng i t ng Ng i ta coi cc th c th trong chng trnh l cc i t ng tr u t ng ho i t ng thnh l p i t ng. D li u c t ch c thnh cc thu c tnh c a l p. Ngn ch n vi c thay i tu ti n d li u trong chng trnh b ng cc cch gi i h n truy nh p. Quan h gi a cc i t ng l quan h ngang hng ho c quan h k th a: N u l p B k th a t l p A th A c g i l l p c s v B c g i l l p d n xu t.
44

02/2012

5. Gi i thi u cc phng php l p trnh (tt)

c trng
ng gi d li u: Vi c truy nh p n d li u ph i thng qua cc phng th c c a i t ng l p. S d ng l i m ngu n: Vi c s d ng l i m ngu n c th hi n thng qua c ch k th a. Khi , trong cc l p d n xu t, c th s d ng cc phng th c (m ngu n) c a cc l p c s m khng c n ph i nh ngha l i.

02/2012

45

5. Gi i thi u cc phng php l p trnh (tt)

u i m
Khng cn nguy c d li u b thay i t do trong chng trnh. Khi thay i c u trc d li u c a m t i t ng, khng c n thay i m ngu n c a cc i t ng khc, m ch c n thay i m t s thnh ph n c a i t ng d n xu t. C th s d ng l i m ngu n, ti t ki m ti nguyn, chi ph th i gian. Ph h p v i cc d n ph n m m l n, ph c t p.
46


02/2012

5. Gi i thi u cc phng php l p trnh (tt)

Cc khi ni m c n quan tm
Khi Khi Khi Khi ni ni ni ni m m m m i t ng (object) ng gi d li u (encapsulation) k th a (inheritance) a hnh (polymorphism)

02/2012

47

02/2012

You might also like