Giáo trình công nghệ phần mềm - Pdf 17



Giáo Trình Công Nghệ Phần Mềm

Mủc lủc

CHỈÅNG 1 5ÂẢI CỈÅNG VÃƯ CÄNG NGHÃÛ PHÁƯN MÃƯM
I. KHẠI QUẠT VÃƯ LËCH SỈÍ LÁÛP TRÇNH 5
I.1. Láûp trçnh tuún tênh 5
I.2. Láûp trçnh cọ cáúu trục 6

ii Cäng nghãû Pháưn mãưm
V.3. Sỉía âäøi chỉång trçnh 42
VI. PHỦ LỦC - ÂÅN VË TRONG TURBO PASCAL 50
VI.1. Giåïi thiãûu Unit 50
VI.2. Cáúu trục ca Unit 50
VI.3. Cạch sỉí dủng Unit 52
VI.4. Vê dủ vãư Unit 53
VI.5. Bi táûp 55
CHỈÅNG 3 57HÅÜP THỈÏC HỌA PHÁƯN MÃƯM
I. XẠC MINH V HÅÜP THỈÏC HỌA PHÁƯN MÃƯM 57
II. CHỈÏNG MINH SỈÛ ÂỤNG ÂÀÕN CA CHỈÅNG TRÇNH 58
II.1. Suy lûn Toạn hc 59
II.1.1. Cạc quy tàõc suy lûn Toạn hc 59
II.1.2. Khại niãûm vãư chỉïng minh tênh âụng âàõn ca chỉång trçnh 60
II.1.3. Tiãn âãư v quy tàõc suy diãùn 61
II.1.4. Quy tàõc âiãưu kiãûn if B then P 62
II.1.5. Quy tàõc âiãưu kiãûn if B then P else Q 63
II.1.6. Quy tàõc vng làûp while 63
II.1.7. Cạc quy tàõc khạc 64
II.2. Phỉång phạp ca C.A.R. Hoare 66
II.2.1. Phạt biãøu 66
II.2.2. Chỉïng minh tênh âụng âàõn tỉìng pháưn ca Div 66
II.3. Chỉïng minh dỉìng 69
II.3.1. Chỉïng minh dỉìng ca mäüt chỉång trçnh 69
II.3.2. Chỉïng minh dỉìng ca Div 70
II.3.3. Âạnh giạ mäüt chỉång trçnh làûp 71
III. XÁY DỈÛNG CHỈÅNG TRÇNH 72
III.1. Måí âáưu 72
III.2. Bi toạn cåì tam ti 73
III.2.1. Låìi gii thỉï nháút 74

II.4.3. Kãút lûn 101
II.4.4. Cạc tiãu chøn kãút thục thỉí nghiãûm 101
II.5. Cạc phẹp thỉí nghiãûm thäúng kã 102
II.5.1. Måí âáưu 102
II.5.2. Ỉåïc lỉåüng âäü äøn âënh ca mäüt pháưn mãưm 104
CHỈÅNG 5 105ÂÀÛC T PHÁƯN MÃƯM
I. MÅÍ ÂÁƯU ÂÀÛC T PHÁƯN MÃƯM 105
I.1. Khại niãûm vãư âàûc t 105
I.1.1. Âàûc t l gç ? 105
I.1.2. Cạc phỉång phạp âàûc t 105
I.1.3. Cạc thê dủ minh ha 106
I.2. Âàûc t v láûp trçnh 107
II. ÂÀÛC T CÁÚU TRỤC DỈỴ LIÃÛU 109
II.1. Khại niãûm vãư Cáúu trục dỉỵ liãûu cå såí vectå 109
II.1.1. Dáùn nháûp 109
II.1.2. Âàûc t hçnh thỉïc 110
II.2. Truy nháûp mäüt pháưn tỉí ca vectå 110
II.3. Cạc thût toạn xỉí l vectå 111
II.3.1. Truy tçm tưn tỉû mäüt pháưn tỉí ca vectå (sequential search) 111
II.3.2. Tçm kiãúm nhë phán (Binary search) 113
III. ÂÀÛC T ÂẢI SÄÚ : MÄ HÇNH HỌA PHẠT TRIÃØN PHÁƯN MÃƯM 117
III.1. Måí âáưu 117
III.2. Phán loải cạc phẹp toạn 119
III.3. Hảng v biãún 120
III.4. Phẹp thãú cạc hảng 120
TS. PHAN HUY KHẠNH biãn soản iii
iv Cäng nghãû Pháưn mãưm
III.5. Cạc thüc tênh ca âàûc t 122
III.5.1. Mä hçnh láûp trçnh (triãøn khai) 122
III.5.2. Mä hçnh âàûc biãût 123

hi 3 ngỉåìi láûp trçnh chênh trong vng 6 thạng thç nàng sút mäùi ngỉåìi chè dao
âäüng trong khong tỉì 5 âãún 6 lãûnh mäùi ngy (?!).
Chênh vç cạc sn pháøm pháưn mãưm khi tung ra thë trỉåìng chỉa thỉûc sỉû hon
ho ngay nãn ngỉåìi ta thỉåìng dng mẻo thỉång mải bàòng cạch gạn cho sn pháøm
mäüt cại âi “phiãn bn” (version) âãø nọi ràòng phiãn bn ra sau â khàõ
c phủc âỉåüc
nhỉỵng khiãúm khuút ca phiãn bn trỉåïc âọ.
V
V
ê
êd
d
u
u
û
û

1
1:
:


Láûp trçnh cọ cáúu trục
Vo cúi nhỉỵng nàm 1960 v âáưu 1970, khuynh hỉåïng láûp trçnh cáúu trục
(structured programming) ra âåìi. Theo phỉång phạp ny, mäüt chỉång trçnh cọ cáúu
trục âỉåüc täø chỉïc theo cạc phẹp toạn m nọ phi thỉûc hiãûn. Chỉång trçnh bao gäưm
nhiãưu th tủc, hay hm, riãng r. Cạc th tủc hay hm ny âäüc láûp våïi nhau, cọ dỉỵ
liãûu riãng, gii quút nhỉỵng váún âãư riãng, nhỉng cọ thãø trao âäøi qua lải våïi nhau
bàòng cạc tham biãún.
Láûp trçnh cáúu trục lm cho viãûc kiãøm soạt chỉång trçnh dãù dng hån, v do váûy,
gii quút bi toạn dãù dng hån. Tênh hiãûu qu ca láûp trçnh cáúu trục thãø hiãûn åí
kh nàng trỉìu tỉåüng hoạ. Trong mäüt chỉång trçnh cọ cáúu trục, ngỉåì
i ta chè quan
tám vãư màût chỉïc nàng : mäüt th tủc hay hm no âọ cọ thỉûc hiãûn âỉåüc cäng viãûc
â cho hay khäng ? Cn viãûc thỉûc hiãûn nhỉ thãú no l khäng quan trng, chng
no cn â tin cáûy.
Màûc d k thût thiãút kãú v láûp trçnh cáúu trục âỉåüc sỉí dủng räüng ri nhỉng
váùn bäüc läü nhỉỵng khiãúm khuút. Khi âäü phỉïc tảp tàng lãn thç sỉû phủ thüc ca
chỉång trçnh vo kiãøu dỉỵ liãûu m nọ xỉí l cng tàng theo. Cáúu trục dỉỵ liãûu trong
mäüt chỉång trçnh cọ vai tr quan trng cng nhỉ cạc phẹp toạn thỉûc hiãûn trãn
chụng. Mäüt khi cọ sỉû thay âäøi trãn mäüt kiãøu dỉỵ liãûu thç mäüt th tủc n
o âọ tạc
âäüng lãn kiãøu dỉỵ liãûu ny cng phi thay âäøi theo.
Khiãúm khuút trãn cng nh hỉåíng âãún tênh håüp tạc giỉỵa cạc thnh viãn láûp
trçnh. Mäüt chỉång trçnh cọ cáúu trục âỉåüc giao cho nhiãưu ngỉåìi thç khi cọ sỉû thay
âäøi vãư cáúu trục dỉỵ liãûu ca mäüt ngỉåìi s nh hỉåíng âãún cäng viãûc ca nhỉỵng ngỉåìi
khạc.
Láûp trçnh âënh hỉåïng âäúi tỉåüng (ÂHÂT)
Láûp trçnh ÂHÂT (oriented-object programming) âỉåüc xáy dỉûng trãn nãưn tng
ca láûp trçnh cáúu trục v trỉìu tỉåüng hoạ dỉỵ liãûu (data abstraction).
Chỉång trçnh ÂHÂT âỉåüc thiãút kãú xung quanh dỉỵ liãûu m nọ thao tạc chỉï
khäng bn thán cạc thao tạc. Tênh ÂHÂT lm r mäúi quan hãû giỉỵa dỉỵ liãûu v thao

láûp trçnh ÂHÂT. Khi thiãút kãú chỉång trçnh, ngỉåìi láûp trçnh nhçn tháúy ngay kãút
qu qua tỉìng thao tạc v giao diãûn ngỉåìi dng (user interface) khi chỉång trçnh
âỉåüc thỉûc hiãûn. Ngỉåìi láûp trçnh cọ thãø dãù dng chènh sỉía vãư mu sàõc, kêch thỉåïc,
hçnh dạng v cạc xỉí l thêch håüp lãn cạc âäúi tỉåüng cọ màût trong giao diãûn.
Cạc ngän ngỉỵ láûp trçnh trỉûc quan thäng dủng hiãûn nay thỉåìng âỉåüc phạt triãøn
trong mäi trỉåìng Microsoft Windows, nhỉ Visual Basic, Visual C++, Visual
Foxpro, Java. v.v
Nhỉỵng tỉ tỉåíng cạch mảng trong láûp trçnh
Láûp trçnh l mäüt trong nhỉỵng lénh vỉûc khọ nháút ca toạn hc ỉïng dủng. Ngỉåìi
ta coi láûp trçnh l mäüt khoa hc nhàòm âãư xút nhỉỵng ngun l v phỉång phạp
âãø náng cao nàng sút lao âäüng ca láûp trçnh viãn. Nàng sút åí âáy âỉåüc hiãøu l
tênh âụng âàõn ca chỉång trçnh, tênh dãù âc, dãù sỉía, táûn dủng hãút kh nàng ca
thiãút bë m khäng phủ thüc vo thiãút bë.
TS. PHAN HUY KHẠNH biãn soản 7
8 Cọng nghóỷ Phỏửn móửm
Thổỷc chỏỳt cuớa quaù trỗnh lỏỷp trỗnh laỡ ngổồỡi ta khọng lỏỷp trỗnh trón mọỹt ngọn
ngổợ cuỷ thóứ maỡ lỏỷp trỗnh hổồùng tồùi noù. Chổồng trỗnh phaới õổồỹc vióỳt dổồùi daỷng caùc
thao taùc coù cỏỳu truùc trón caùc õọỳi tổồỹng coù cỏỳu truùc vaỡ caùc móỷnh õóử nhũm khúng
õởnh tờnh õuùng õừn cuớa kóỳt quaớ.
Nhổợng tổ tổồớng caùch maỷng trong lỏỷp trỗnh thóứ hióỷn ồớ hai õióứm sau :
Chổồng trỗnh vaỡ lỏỷp trỗnh vión trồớ thaỡnh õọỳi tổồỹng nghión cổùu cuớa lyù
thuyóỳt lỏỷp trỗnh.
Laỡm thóỳ naỡo õóứ laỡm chuớ õổồỹc sổỷ phổùc taỷp cuớa hoaỷt õọỹng lỏỷp trỗnh ?
II. Caùc phổồng dióỷn cuớa cọng nghóỷ phỏửn móửm
II.1.
II.2.
Cọng nghóỷ phỏửn móửm laỡ gỗ?
Theo tổỡ õióứn Computer Dictionary cuớa Microsoft Press
đ
(1994), Software

pháưn cỉïng), dãù kiãøm chỉïng v an ton (âỉåüc bo vãû quưn
truy nháûp), dãù sỉí dủng, v.v
Nhỉỵng úu täú cháút lỉåüng bãn trong l l tênh âån thãø, tênh dãù âc, dãù hiãøu m
chè nhỉỵng ngỉåìi lm Tin h
c chun nghiãûp måïi biãútû âỉåüc. úu täú cháút lỉåüng bãn
ngoi l mủc âêch cúi cng nhỉng úu täú cháút lỉåüng bãn trong lải l máúu chäút âãø
âảt âỉåüc nhỉỵng úu täú cháút lỉåüng bãn ngoi.
II.3. Sn pháøm pháưn mãưm l gç ?
Màûc d ngỉåìi ta khäng âënh nghéa nhỉng khại niãûm sn pháøm pháưn mãưm âỉåüc
hiãøu nhỉ l mäüt hãû thäưng chỉång trçnh thỉûc hiãûn mäüt nhiãûm vủ tỉång âäúi âäüc láûp
nhàòm phủc vủ cho mäüt ỉïng dủng củ thãø trong cüc säúng ca con ngỉåìi (v cọ thãø
âỉåüc thỉång mải hoạ). Vê dủ cạc sn pháøm pháưn mãưm :
 Hãû âiãưu hnh : MS − DOS, OS/2, Unix, MAC OS
 Hãû âiãưu hnh mảng mạy tênh : Unix, Novell Netware, Windows NT v cạc
ỉïng dủng trãn mảng LAN, WAN, Internet/Intranet (cạc Browsers, cạc dëch
vủ khai thạc Internet ).
 Cạc ngän ngỉỵ láûp trçnh (chỉång trçnh dëch) : Turbo Pascal, Turbo C, C
++

 Hãû qun trë cå såí dỉỵ liãûu : Microsoft Foxpro, Microsoft Access, Oracle,
Paradox
 Microsoft Windows v cạc ỉïng dủng trãn Windows.
 Cạc tr chåi (games).
 Cạc pháưn mãưm tråü giụp thiãút kãú (CAD, Designers ), tråü giụp ging dảy
 Cạc hãû chun gia, trê tû nhán tảo, ngỉåìi mạy, v.v
 Cạc chỉång trçnh phng chäúng virus, v.v
Dỉåïi âáy l bng tọm tàõt quạ trçnh tiãún họa ca sn pháøm pháưn mãưm :
Thåìi k âáưu tiãn
1950 − 1960
Xỉí l theo lä (Batch processing)

1. Ngổồỡi õỷt haỡng 2. Thióỳt kóỳ cuớa chuớ trỗ õóử taỡi 3. Saớn phỏứm cuớa ngổồỡi lỏỷp trỗnh
Vờ duỷ : Cọng ty Cọng vión

Hỗnh 1.1. Quaù trỗnh taỷo ra mọỹt saớn phỏứm phỏửn móửm Âải cỉång vãư cäng nghãû pháưn mãưm 11
III. Nhỉỵng näüi dung cå bn ca CNPM
III.1. Täøng quan vãư cäng nghãû pháưn mãưm
Cäng nghãû pháưn mãưm âàûc trỉng båíi táûp håüp cạc phỉång phạp âãø phạt triãøn mäüt
chỉång trçnh (pháưn mãưm nọi chung). Sỉû phạt triãøn mäüt chỉång trçnh, hay tiãún
trçnh pháưn mãưm (software process), khäng chè nàòm åí chäù láûp trçnh theo nghéa hẻp
m cn l viãûc triãøn khai cạc giai âoản dáùn âãún láûp trçnh. Táûp håüp cạc giai âoản
ny âỉåüc gi l chu k säúng (hay vng âåìi) ca pháưn mãưm (life cycle).
Våïi mäüt dỉû ạn Tin hc låïn, nhiãưu ngỉåìi láûp trçnh tham gia âỉåüc chia thnh
nhọm, mäùi nhọm phủ trạch gii quút mäüt pháưn ca dỉû ạn. Ngỉåìi phủ trạch dỉû ạn
cọ nhiãûm vủ phán bäø cäng viãûc cho tỉì
ng nhọm, âm bo mäúi liãn lảc giỉỵa cạc
nhọm, kiãøm tra tiãún trçnh phạt triãøn ca dỉû ạn, cháút lỉåüng ca sn pháøm pháưn
mãưm khi hon táút.
Tiãún trçnh phạt triãøn pháưn mãưm gäưm 3 giai âoản chênh l xạc âënh, phạt triãøn
v bo trç, khäng phủ thüc vo miãún ạp dủng, âäü lỉïn v âäü phỉïc tảp ca dỉû ạn
phạt triãøn, cng nhỉ mä hçnh âỉåüc lỉûa chn.
Giai âoản xạc âënh :
Giai âoản ny tr låìi cáu hi l cại gç ? (What?) v khi no (When?) vãư dỉỵ liãûu
(thäng tin) cáưn xỉí l, mủc âêch chỉïc nàng va ìmäi trỉåìng phạt triãøn. Gäưm 3 bỉåï
c :
- Phán têch hãû thäúng.
- Láûp kãú hoảch dỉû ạn pháưn mãưm.
- Phán têch u cáưu thỉûc tiãùn.

Caỡi õỷt vaỡ kióứm thổớ
tổỡng phỏửn
Tờch hồỹp vaỡ kióứm thổớ
hóỷ thọỳng
Hỗnh 1.2. Mọ hỗnh thaùc nổồùc
Dỏựu rũng mọ hỗnh thaùc nổồùc trón õỏy coù ờch lồỹi trong vióỷc quaớn lyù
(management), lỏỷp kóỳ hoaỷch vaỡ lỏỷp baùo caùo tióỳn õọỹ phaùt trióứn phỏửn móửm nhổng
chố thờch hồỹp vồùi mọỹt lồùp hóỷ thọỳng phỏửn móử
m naỡo õoù maỡ thọi, khọng phuỡ hồỹp vồùi
caùc hoaỷt õọỹng õaợ chố ra trong mọ hỗnh.
Tióỳn trỗnh phỏửn móửm gọửm caùc hoaỷt õọỹng phổùc taỷp vaỡ bióỳn õọỹng maỡ khọng thóứ
bióứu dióựn trón mọỹt mọ hỗnh õồn giaớn. Nhổợng mọ hỗnh tọỳt vóử tióỳn trỗnh phỏửn móửm
vỏựn coỡn laỡ chổùng chuớ õóử nghión cổùu. Hióỷn nay, caùc mọ hỗnh tọứng quaùt khaùc nhau
hay tờnh thổỷc duỷng cuớa sổỷ phaùt trióứn phỏửn móửm, gừn boù chỷt cheợ vồùi nhau.
Mọ hỗnh thaùc nổồùc nguyón thuyớ (original) laỡ mọỹt trong nhổợng mọ hỗnh tọứng
quaùt mang tờnh thổỷc duỷng sỏu sừc.
Sau õỏy laỡ mọỹt sọỳ tióỳp cỏỷn :

Âải cỉång vãư cäng nghãû pháưn mãưm 13
1. Tiãúp cáûn thạc nỉåïc (the waterfall approach) : Bao gäưm cạc giai âoản âàûc t u
cáưu, thiãút kãú pháưn mãưm, ci âàût, kiãøm thỉí, v.v , sau mäùi giai âoản l sỉû kãút
thục (signed-off) v tiãúp tủc giai âoản tiãúp theo.
2. Láûp trçnh thàm d (exloratory programming) : Cho phẹp tàng nhanh quạ trçnh
âãø dáùn âãún tênh tha âạng ca hãû thäúng. Láûp trçnh thàm d thỉåìng âỉåüc ạp
dủng trong lénh vỉûc trê tû nhán tảo, khi NSD khäng thãø âënh hçnh âỉåüc cạc
âàûc t u cáưu. NSD quan tám âãún tênh tha âạng ca kãút qu hån l tênh
chênh xạc.
3. Bn máùu (prototyping) : Tỉång tỉû tiãúp cáûn láûp trçnh thàm d. Pha âáưu tiãn bao
gäưm phạt triãøn mäüt chỉång trçnh cho phẹp thỉí nghiãûm. Tuy nhiãn, mủc âêch
ca phạt triãøn l

Trãn thỉûc tãú, cạc giai âoản phạt triãøn pháưn mãưm khäng phi råìi riãng m l gäúi
lãn nhau (overlap) v thäng tin âỉåüc cung cáúp láùn nhau.
Trong khi thiãút kãú, nhỉỵng váún âãư v cạc u cáưu gàõn bọ våïi nhau, trong khi láûp
trçnh, nhỉỵng váún âãư thiãút kãú âỉåüc tçm tháúy, v.v Lục ny, tiãún trçnh pháưn mãưm
khäng âån gin l mäüt mä hçnh tuún tênh m bao gäưm mäüt dy cạc tỉång tạc ca
cạc hoảt âäüng phạt triãøn.
TS. PHAN HUY KHẠNH biãn soản 13
14 Cọng nghóỷ Phỏửn móửm
Tuy nhión, mọỹt mọ hỗnh chổùa caùc voỡng lỷp seợ laỡm khoù khn cho vióỷc quaớn lyù vaỡ
baùo caùo. Coù nhióửu daỷng mọ hỗnh trong tióỳn trỗnh phỏửn móửm. Sau õỏy laỡ mọỹt sọỳ mọ
hỗnh :
1. Mọ hỗnh thaùc nổồùc caới tióỳn
Tỗm hióứu vaỡ phỏn tờch
caùc yóu cỏửu
Thióỳt kóỳ hóỷ thọỳng
vaỡ phỏửn móửm
Caỡi õỷt vaỡ kióứm thổớ
tổỡng phỏửn
Tờch hồỹp vaỡ kióứm thổớ
hóỷ thọỳng
Khai thaùc vaỡ
baớo trỗ
Hỗnh 1.4. Mọ hỗnh thaùc nổồùc caới tióỳn
1. Tỗm hióứu vaỡ phỏn tờch caùc yóu cỏửu: NSD hóỷ thọỳng vaỡ ngổồỡi phaùt trióứn hóỷ thọỳng
baỡn baỷc, trao õọứi (consultation) vồùi nhau õóứ thióỳt lỏỷp muỷc õờch, raỡng buọỹc vaỡ
caùc dởch vu cuớa hóỷ thọỳng phỏửn móửm, lộnh họỹi õổồỹc nhổợng õoỡi hoới cuớa baỡi toaùn.
2. Thióỳt kóỳ hóỷ thọỳng vaỡ phỏửn móửm : Tióỳn trỗnh thióỳt kóỳ hóỷ thọỳng phỏn chia caùc yóu
cỏửu thaỡnh caùc hóỷ thọỳ
ng phỏửn cổùng, phỏửn móửm vaỡ thióỳt lỏỷp mọỹt kióỳn truùc hóỷ
thọỳng toaỡn bọỹ (overall system architecture). Vióỷc thióỳt kóỳ phỏửn móửm bao gọửm

Bn máùu ban âáưu
Bn máùu táưng tiãúp theo
. . .
K
ãú hoảch :
 Táûp håüp u cáưu ban âáưu va
kãú hoảch dỉû ạn
 Kãú hoảch
dỉûa trãn kiãún
ca khạch hng
Â
ạnh giạ ca khạch hng :
Khàóng âënh kãút qu ca cäng nghãû

Ỉu âiãøm :
Cạc phiãn bn (hay sn pháøm) âỉåüc hon thiãûn dáưn theo chiãưu xoạy äúc tỉì trong
ra ngoi.
Nhỉåüc âiãøm :
 Khọ âạnh giạ chênh xạc, nháút l khi gàûp ri ro, khọ kiãøm soạt. Do âọ khọ
thuút phủc âỉåüc cạc khạch hng låïn
 Mä hçnh nuy cn måïi, chỉa âỉåüc kiãøm nghiãûm nhiãưu trong thỉûc tiãùn.
3. K thût thãú hãû 4 (4th Generation Technology)
Bao gäưm cạc cäng củ pháưn mãưm trãn cå såí tỉû âäüng s
n sinh m chỉång trçnh
gäúc theo nhu cáưu ca ngỉåìi phạt triãøn :
 Ngän ngỉỵ phi th tủc
2
(non procedural language) âãø truy cáûp cå såí dỉỵ liãûu.
 Bäü sinh bạo cạo.
 Bäü thao tạc dỉỵ liãûu.

Kióứm th


Nhu cỏửu trung bỗnh
Caùc phổồng phaùp truyóửn thọỳng
Caùc PM sổớ duỷng kyợ thuỏỷt 4 GT
(lỏỳp chọự họứng)
1970 1980 1990 2000
Nhu
cỏửu
phỏửn
móửm
Hỗnh 1.7. Nhu cỏửu phỏửn móửm

aỷi cổồng vóử cọng nghóỷ phỏửn móửm 17
5. Tờch hồỹp caùc kyợ thuỏỷt
Nhũm tng cổồỡng tờnh tọỳi ổu trong phaùt trióứn phỏửn móửm, ngổồỡi ta coù xu hổồùng
tờch hồỹp caùc kyợ thuỏỷt cọứ õióứn, xoaùy troỡn ọỳc vaỡ 46T õaợ nóu.
Mọ hỗnh xoaùy troỡn ọỳc
4 GTPhỏn tờch yóu cỏửu
Laỡm baớn mỏự
u
Thióỳt kóỳ
4 GT
Baớn mỏựu voỡng thổù
n
Maợ hoù
a

Mọ hỗnh voỡng thổù n

II. Phổồng phaùp lỏỷp trỗnh cỏỳu truùc Nóửn taớng cuớa thióỳt kóỳ phỏửn móửm
Phổồng phaùp lỏỷp trỗnh cỏỳu truùc 21
TS. PHAN HUY KHAẽNH bión soaỷn 21
22 Cọng nghóỷ Phỏửn móửm
II.1.
II.2.
Khaùi nióỷm vóử lỏỷp trỗnh cỏỳu truùc
Lỏỷp trỗnh cỏỳu truùc (Structured Programming) laỡ trổồỡng phaùi lỏỷp trỗnh xuỏỳt
hióỷn vaỡo nhổợng nm 70 vaỡ õổồỹc duy trỗ phaùt trióứn tổỡ õoù õóỳn nay. Lỏỷp trỗnh cỏỳu
truùc phaớn aùnh quan nióỷm : lỏỷp trỗnh laỡ cọng vióỷc saùng taỷo nhổng coù tờnh khoa hoỹc
vaỡ coù phổồng phaùp, khọng phaới laỡ ngỏựu hổùng caù nhỏn.
Tờnh logic vaỡ trong saùng cuớa chổồng trỗnh õaớm baớo õọỹ tin cỏỷy, dóự hióứu, dóự sổớa
vaỡ dóự thổỡa kóỳ chổồng trỗnh.
Nhổợng yù tổồớng cồ baớn lỏỷp trỗnh cỏỳu truùc
a) Chổồng trỗnh laỡ mọỹt hóỷ thọỳng phỏn cỏỳp tổỡ trón xuọỳng
Trong lỏỷp trỗnh cỏỳu truùc, chổồng trỗnh laỡ mọỹt hóỷ thọỳng phỏn cỏỳp tổỡ trón xuọỳng,
trong õoù caùc thaỡnh phỏửn tổồng taùc vồùi nhau tọỳi thióứu. Vỏỳn õóử cỏửn giaới quyóỳt bao
gọửm caùc vỏỳn õóử nhoớ hồn, mọựi vỏỳn õóử õoù laỷi bao gọửm caùc vỏỳn õóử nhoớ hồn nổợa, v.v
cho õóỳn mổùc cuọỳi cuỡng laỡ nhổợng cọng vióỷc õồn giaớn vaỡ dóự giaới quyóỳt hoỷc õaợ giaới
quyóỳt rọửi.

Hỗnh 2.1. Chổồng trỗnh laỡ mọỹt hóỷ thọỳng phỏn cỏỳp
vióỷc 1.1
vióỷc 1.2
vióỷc 3vióỷc 2vióỷc 1
vióỷc 1.2.3
. . .


d

a”/M + b”/M
ỈSCLN(b’, d’)
BSCNN(b’, d’)
QÂMS(a’/b’, c’/d’)
ỈSCLN(a/b)
ỈSCLN(c/d)
ỈLPS(a/b)
ỈLPS(c/d)
A
B
C
TS. PHAN HUY KHẠNH biãn soản 23
24 Cäng nghãû Pháưn mãưm
Hçnh 2.3. A gi B, B gi C, nhỉng A khäng gi âỉåüc C
• Hản chãú dng biãún ton củc (global variables) trong chỉång trçnh con vç s tảo
thãm nhỉỵng âỉåìng giao tiãúp khọ qun l. Chàóng hản, mäüt chỉång trçnh con
no âọ lm thay âäøi mäüt biãún ton củc thç åí mäüt nåi khạc, trong mäüt chỉång
trçnh con khạc hồûc ngay trong chỉång trçnh chênh, cng s khọ nháûn biãút sỉû
thay âäøi ny.
b) Khäng sỉí dủng lãûnh nhy goto
Lãûnh goto (jump statement) dng âãø chuøn âiãưu khiãøn âãún mäüt âiãøm khạc
trong chỉång trçnh. Lãûnh goto lm khọ qun l v khọ kiãøm soạt chỉång trçnh nãn
khọ âc, khọ sỉía sai (räúi ràõm nhỉ mọn mç såüi Spaghetti ca ).
Cạc chỉång trçnh viãút trãn ngän ngỉỵ aassembly hồûc trãn cạc ngän ngỉỵ báûc cao
nhỉ Fortran, Algol, Cobol thỉåìng sỉí dủng lãûnh goto.
Vê dủ 3 :
Chỉång trçnh Algol sau âáy sỉí dủng lãûnh goto âãø âiãưu khiãøn vng làûp tênh täøng


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status