Professional Documents
Culture Documents
nguyên lý và phương pháp lập trình
nguyên lý và phương pháp lập trình
nguyên lý và phương pháp lập trình
1
CHÖÔNG TRÌNH VAØ LAÄP TRÌNH
2
CHÖÔNG TRÌNH VAØ LAÄP TRÌNH
* Lòch söû phaùt trieån cuûa ngoân ngöõ laäp trình
WHAT HOW
Moâ taû nhieäm vuï Nhöõng leänh ñeå thöïc hieän vieäc
phaûi laøm chuyeån P1 Pm
P1 Pm Leänh L1, L2, ..Ln
* Quaù trình laäp trình chuyeån ñoåi theo höôùng töø
Chuyeån nhöõng chöông trình phöùc taïp, ñeä qui veà nhöõng
haøm ñôn giaûn
4
PHONG CAÙCH LAÄP TRÌNH
5
PHONG CAÙCH LAÄP TRÌNH
LAÄP TRÌNH GENETIC
Laäp trình theo töï nhieân
Chæ caàn ñöa baøi toaùn thöïc teá veà baøi toaùn sinh hoïc, nghóa laø
taïo neân caùc ñôn theå vaø chaïy qua nhieàu theá heä. Döøng ôû thôøi
ñieåm naøo thì taïm chaáp nhaän keát quaû ôû thôøi ñieåm ñoù.
6
CHÖÔNG TRÌNH VAØ LAÄP TRÌNH
clear X X := 0
INCR: taêng giaù trò bieán leân 1
incr X X := X + 1
DECR: giaûm giaù trò bieán xuoáng 1
decr X X := X - 1
1 caáu truùc laëp: while ... do
8
NGOÂN NGÖÕ BARE BONE
Ngoân ngöõ BB coù theå bôùt ñi moät leänh, chaúng haïn leänh
clear.
Leänh clear x coù theå ñöôïc thay theá baèng moät caáu truùc laëp
while vaø leänh decr nhö sau:
while x not 0 do
decr x;
9
NGOÂN NGÖÕ BARE BONE
Moâ phoûng caáu truùc if … then … else
Caáu truùc ñieàu kieän coù daïng sau:
if ñk then S1 else S2
10
NGOÂN NGÖÕ BARE BONE
Moâ phoûng baèng ngoân ngöõ BB caáu truùc ñieàu kieän
if x<>0 then x:=0 else x:=1 baèng caáu truùc laëp while…do nhö
sau: 1. clear y;
2. incr y;
3. while x not 0 do
4. clear x;
5. clear y;
6. end;
7. while y not 0 do
8. clear x;
9. incr x;
10. clear y;
11. end;
11
NGOÂN NGÖÕ BARE BONE
Xaây döïng caùc pheùp toaùn coäng, tröø, nhaân, chia, pheùp gaùn,
pheùp so saùnh
Pheùp coäng: X + Y => Z
1. clear Z;
2. while X not 0 do
3. incr Z;
4. decr X;
5. end;
6. while Y not 0 do
7. incr Z;
8. decr Y;
9. end;
12
NGOÂN NGÖÕ BARE BONE
Pheùp tröø : X – Y => Z
1. clear Z;
2. while X not 0 do
3. incr Z;
4. decr X;
5. end;
6. while Y not 0 do
7. decr Z;
8. decr Y;
9. end;
13
NGOÂN NGÖÕ BARE BONE
Pheùp nhaân: X * Y => Z
Löu yù caàn duøng theâm bieán taïm W ñeå löu giaù trò cuûa Y
1. clear Z;
2. while X not 0 do
3. clear W;
4. while Y not 0 do
5. incr Z;
6. incr W;
7. decr Y;
8. end;
9. while W not 0 do
10. incr Y;
11. decr W;
12. end;
13. decr X;
14. end; 14
NGOÂN NGÖÕ BARE BONE
Pheùp gaùn: Y X ( Gaùn X cho Y )
Löu yù caàn duøng theâm bieán taïm Temp
1. clear Y;
2. clear Temp;
3. while X not 0 do
4. incr Y;
5. incr Temp;
6. decr X;
7. end;
8. while Temp not 0 do
9. incr X;
10. decr Temp;
11. end;
15
NGOÂN NGÖÕ BARE BONE
16
NGOÂN NGÖÕ BARE BONE
Pheùp chia nguyeân X/ Y => Z
12. while W not 0 do
1. clear Z;
2. clear kq; 13. incr Y;
3. incr kq; 14. decr W;
4. while Y not 0 do 15. end;
5. while kq not 0 do 16. incr Z;
6. clear W; 17. kq = sosaùnh (x,y);
7. while X not 0 do 18. Neáu X<Y thì
8. decr X; 19. kq:=0,
9. decr Y; 20. Ngöôïc laïi kq:=1.
10. incr W;
21. end;
11. end;
22. clear Y;
23. end; 17
NGOÂN NGÖÕ BARE BONE
Leänh invert X
Thöïc hieän bieán ñoåi giaù trò cuûa X (ñaõ giaûi trong baøi taäp 2)
Thaønh 0 neáu giaù trò ban ñaàu khaùc 0
Thaønh 1 neáu gía trò ban ñaàu laø 0
Thöïc hieän chuyeån soá döông thaønh soá aâm
Phöông phaùp: Duøng theâm moät bieán daáu keøm theo moät
bieán x. Neáu bieán daáu = 0 thì x >= 0 .Ngöôïc laïi neáu bieán
daáu = 1 thì x < 0.
if dau not 0 then
clear dau
else incr dau;
18