Professional Documents
Culture Documents
C1 Introduction
C1 Introduction
Chng 1
Chng 1: M u
0101010101010101100001 0101010101010101100001 StateController 0101010100101010100101 0101010100101010100101 1010011000110010010010 1010011000110010010010 start() 1100101100100010000010 1100101100100010000010 stop() 0101010101010101100001 0101010101010101100001 0101010100101010100101 0101010100101010100101 1010011000110010010010+ B*u; 1010011000110010010010 y = A*x 1100101100100010000010+ d*u; 1100101100100010000010 x = C*x LQGController 0101010101010101100001 0101010101010101100001 0101010100101010100101 0101010100101010100101 start() 1010011000110010010010 stop() 1010011000110010010010 1100101100100010000010 1100101100100010000010 8/14/2006
Ni dung bi ging
1.1 1.2 1.3 1.4 1.5 Gii thiu ni dung mn hc Gii thiu chung v k thut lp trnh Phng php lun Qui trnh pht trin phn mm S lc v ngn ng C/C++
Chng 1: M u
1.1 Ni dung mn hc
Cc k thut lp trnh c bn, thc hin minh ho trn cc ngn ng lp trnh C v C++:
Lp trnh c cu trc (structured programming) Lp trnh hng i tng (object-oriented programming) Lp trnh thi gian thc (real-time programming) Lp trnh tng qut (generic programming)
Hai ngn ng lp trnh tiu biu nht, thc hin cc k thut lp trnh quan trng Hai ngn ng lp trnh quan trng nht i vi k s in/k s iu khin
Chng 1: M u
Quan im v mn hc
cao kin thc c bn, nn tng:
Thin v t duy v phng php lp trnh To kh nng d thch ng vi cc ng dng khc nhau To kh nng d thch ng vi cc ngn ng lp trnh khc (Java, Visual Basic, C#, MATLAB) Nhn mnh tnh chuyn nghip trong lp trnh: hiu qu + cht lng
Lp trnh h thng (low-level system programming) Lp trnh ha Lp trnh giao tip vi cc thit b ngoi vi ( cng ni tip, song song) Lp trnh c s d liu Lp trnh thnh phn, lp trnh phn tn (mng, Internet)
4
Chng 1: M u
Phng php hc tp
Cch th nht: Nghe ging lm th c ti liu tho lun luyn tp Cch th hai: c ti liu lm th nghe ging tho lun luyn tp Nguyn tc c bn: Ch ng hc thng xuyn! Nhng iu khng nn lm:
Chp nhiu trn lp Hc thuc lng, hc chay Mong i nhiu vo n tp Da dm vo cc bi tp mu trong sch
Chng 1: M u
Cng c hc tp
My tnh PC Mi trng lp trnh: Visual C++ 6.0 (Visual Studio 6.0), Visual C++ .NET, Borland C++ Builder Nn ng dng: Win32 Console Application Ti liu tham kho.
Chng 1: M u
Chng 1: M u
Th no l lp trnh?
Vit chng trnh tnh giai tha ca 100! Vit chng trnh in ra 100 s nguyn t u tin! Lp trnh gii bi ton: "Va g va ch, ba mi su con, b li cho trn, mt trm chn chn" Vit mt hm tnh giai tha! Vit chng trnh in ra N s nguyn t u tin! Lp trnh gii bi ton: "Va g va ch, va vn X con, b li cho trn, Y chn chn"
Y L LP TRNH!
8
Chng 1: M u
Th no l lp trnh tt?
ng/Chnh xc
Tho mn ng cc nhim v bi ton lp trnh t ra, c khch hng chp nhn
n nh v bn vng
Chng trnh chy n nh trong c nhng trng hp khc nghit Chy t li (s lng li t, cng li thp) Mc li nh c th chp nhn c
Kh nng chnh sa
2004, HONG MINH SN
D dng chnh sa trong qu trnh s dng v pht trin D dng thay i hoc nng cp thch ng vi iu kin bi ton lp trnh thay i
Kh nng ti s dng
C th c s dng hoc c k tha cho cc bi ton lp trnh khc
9
Chng 1: M u
Th no l lp trnh tt?
tng thch
Kh nng thch ng v chy tt trong cc iu kin mi trng khc nhau
Hiu sut
Chng trnh nh gn, s dng t b nh Tc nhanh, s dng t thi gian CPU
Hiu qu:
2004, HONG MINH SN
Thi gian lp trnh ngn, Kh nng bo tr d dng Gi tr s dng li ln S dng n gin, thn thin Nhiu chc nng tin ch
10
Chng 1: M u
Gii thut:
Phng php quy (recursive)
if (N > 1) return N*factorial(N-1); return 1;
2004, HONG MINH SN
Chng 1: M u
Lm th no lp trnh tt?
Hc cch t duy v phng php lp trnh
T duy ton hc, t duy logic, t duy c cu trc, t duy hng i tng, t duy tng qut Tm hiu v cu trc d liu v gii thut
Hiu su v my tnh
Tng tc gia CPU, chng trnh v b nh C ch qun l b nh
Chng 1: M u
Cc nguyn tc c bn
Tru tng ha
Cht lc ra nhng yu t quan trng, b qua nhng chi tit km quan trng
ng gi
Che giu v bo v cc d liu quan trng qua mt giao din c kim sot
Module ha
2004, HONG MINH SN
Phn cp
Phn hng hoc sp xp trt t i tng theo cc quan h trn di
13
Chng 1: M u
Nguyn tc ti cao
Chng 1: M u
14
Chng 1: M u
Chng 1: M u
16
Chng 1: M u
17
AX, n n n, 1 AX, n 2 n, AX
7: 8:
Chng 1: M u
18
Nhc im:
2004, HONG MINH SN
Chng trnh kh theo di -> d mc li Kh s dng li Hiu qu lp trnh thp Khng thch hp vi ng dng qui m ln
Chng 1: M u
19
Chng 1: M u
FUNCTION Factorial(n: INTEGER) : INTEGER VAR X: INTERGER; BEGIN X := n; WHILE (n > 1) DO BEGIN DEC(n); X := X * n; END Factorial := X; END END;
Chng 1: M u
21
Chng 1: M u
22
Chng 1: M u
24
Chng 1: M u
Chng 1: M u
Gim ti a lng m ngun Tng nhiu ln gi tr s dng li ca phn mm C th kt hp ty vi cc phng php lun khc Tnh kh chuyn cao Kiu d liu Php ton c bn Cu trc d liu Qun l b nh,...
27
Chng 1: M u
Chng 1: M u
28
Chng 1: M u
29
Lp trnh cnh tranh (a nhim, a lung) C ch x l s kin C ch nh thi ng b ha qu trnh Hiu sut cao
Chng 1: M u
BI TON
GII PHP
TH GII THC
Phn tch
M HNH THIT K
Chng 1: M u
31
Tp hp v phn tch yu cu
Bi v: Khch hng thng bit c l h mun g, nhng khng bit lp hoch cc yu cu Cho nn: Cn phi cng vi khch hng phn hoch v lm r nhng yu cu v phm vi chc nng ca bi ton Kt qu: M hnh c t (Specification Model) n nh v ch r yu cu ca bi ton mt cch tng minh theo mt ngn ng m hnh ha r rng, d hiu nhm phn tch thit k lp trnh thc hin
2004, HONG MINH SN
Chng 1: M u
Chng 1: M u
Chng 1: M u
Cc bc khc
M ha/ci t (Coding/Implementation): Th hin m hnh thit k vi mt ngn ng lp trnh c th Th nghim (Testing, Verification): Chy th, phn tch v kim chng:
Th n v (Unit Test) Th tch hp (Integration Test)
G ri (Debugging): Tm ra v sa cc li chng trnh chy (cc li logic) Xy dng ti liu (Documenting): Xy dng ti liu pht trin, ti liu hng dn s dng o to, chuyn giao Bo tr, bo dng
35
Chng 1: M u
Chng 1: M u
36
Chng 1: M u
37
Lp trnh l g, nm u?
Lp trnh > M ha Lp trnh T tng thit k + M ha + Th nghim + G ri
Chng 1: M u
38
M ch Lin kt
2004, HONG MINH SN
Th vin
CT chy c
Np v chy
39
Chng 1: M u
Chng 1: M u
40
Chng 1: M u
1.5 S lc v C/C++
Lc s ngn ng C
Tin ha t hai ngn ng lp trnh
BCPL v B: Cc ngn ng phi kiu
Chng 1: M u
Lc s ngn ng C++
M rng, tin ha t C Bjarne Stroustrup (Bell Laboratories)
u nhng nm 1980: C with classes 1984: Tn C++ 1987: The C++ Programming Language 1st Edition 1997: The C++ Programming Language 3rd Edition Chun ha quc t: ANSI/ISO 1996
Ngn ng lai
43
Chng 1: M u
Chng 1: M u
Kin trc nn tng phn mm lp trnh phn tn Hng ti cc ng dng Web, phn tn trn nhiu chng loi thit b khc nhau Cc ng dng trn nhiu ngn ng khc nhau c th giao tip mt cch n gin trn mt nn chung Phng php lun: Lp trnh thnh phn
45
Chng 1: M u
Chng 1: M u
46
Chng ta hc c nhng g?
Bit c nhng g s phi hc, hc lm g v phi hc nh th no Hng lot khi nim mi xung quanh k thut lp trnh v qui trnh cng ngh phn mm Tng quan v cc k thut lp trnh Lc s ngn ng C/C++, th mnh ca chng so vi cc ngn ng khc
Chng 1: M u
47
Chng 1: M u
48