Professional Documents
Culture Documents
-DNWRVL
UREL
QDSUDZG
"
5R]G]LDWHQVWDQRZLUR]V]HU]HQLHSRSU]HGQLHJRLZFDOHQLHPXVLV]JRF]\WDFKRFLD*
PR*H&LVL
WRSU]\GD'RZLHV]VL
]QLHJRMDNZ\JOGDMSRV]F]HJyOQHNURNLSURFHVX
SURJUDPRZDQLDLFRR]QDF]DMWDNLHSRM
FLDMDNDOJRU\WPVFKHPDWEORNRZ\F]\SURMHNW
3R]QDV] UyZQLH* NLOND PHWRG L ZVND]yZHN SR]ZDODMF\FK QD XV\VWHPDW\]RZDQLH
i uproszczenie pracy.
Problem
Programowanie nie istnieje samo dla sLHELHDE\ZRJyOHPLDRRQRVHQVPXVLVX*\
NRQNUHWQHPX FHORZL 3U]\F]\Q XWZRU]HQLD SURJUDPX PXVL E\ SUREOHP NWyU\ PDV]
UR]ZL]D2F]\ZLFLHQLHND*G\SUREOHPGDVL
UR]ZL]DZWHQVSRVyEQLHND*G\WH*
Z\PDJD]DVWRVRZDQLDNRPSXWHUD&RZL
FNZDOLILNXMHSUREOHPGR]DSURJramowania?
=DVWRVRZDQLH NRPSXWHUD GR UR]ZL]DQLD SUREOHPX SRZLQQR E\ X]DVDGQLRQH
i RSaFDOQH3LVDQLHQDX*\WHNGRPRZ\SURJUDPXSR]ZDODMFHJRQD]DSDPL
W\wanie adreVyZ ]QDMRP\FK MHVW VWUDW F]DVX SURFLHM WR ]UREL ]D SRPRF
QRWHVX,QDF]HMZ\JOGDVSUDZDZEDQNXZNWyU\PREVXJXMHVL
VHWNLNOLHQWyZ
D RG F]DVX GR F]DVX WU]HED Z\VD GR ZV]\VWNLFK QS ]DZLDGRPLHQLH R VWDQLH
rachunku.
6]F]HJyOQLHSRGDWQHQD]DSURJUDPRZDQLHV]DGDQLDZ\NRQ\ZDQHZLHORNURWQLH
OXE ]R*RQH ] FLJX SRZWDU]DMF\FK VL
F]\QQRFL 3LVDQLH GR MHGQRUD]RZHJR
X*\WNX SURJUDPX Z\NRQXMFHJR ]HVWDZ VNRPSOLNRZDQ\FK REOLF]H QD RJy
PLMDVL
]FHOHPJG\*PR*QDMHZ\NRQDQDNDONXODWRU]H&RLQQHJRJG\SU]HZLGXMHV]PR*OLZRZLHORNURWQego wykorzystania takiego programu.
3UREOHP SRZLQLHQ E\ GREU]H RNUHORQ\ 2]QDF]D WR *H PXVLV] GRNDGQLH
ZLHG]LH MDNLH LQIRUPDFMH PDV] GR G\VSR]\FML L FR FKFHV] X]\VND D WDN*H
SRWUDIL ]DSLVD WR Z IRUPLH GDMFHM VL
Z\WXPDF]\ NRPSXWHURZL 3U]\NDGHPSUREOHPX(OHRNUHORQHJRPR*HE\UR]ZL]DQLH]DGDQLD]IL]\NLJG\*
QLH ZLDGRPR DQL MDNLPL LQIRUPDFMDPL G\VSRQXMHP\ DQL FR FKFHP\ ZDFLZLH
11
REOLF]\3UDZLGRZHRNUHOHQLH]DGDQLDPLDRE\SRVWDQSZ\]QDF]HQLHGURJL
SU]HE\WHMSU]H]FLDRZVSDGNXVZRERGQ\PZSLHUZV]\FKVHNXQGDFKUXFKX
3U]\ RND]ML PDP\ WX QDZL]DQLH GR SRSU]HGQLHJR SXQNWX WH VDPH REOLF]HQLD
WU]HEDZ\NRQDG]LHVL
FLRNURWQLHGODVHNXQG
3UREOHPSU]H]QDF]RQ\GRUR]ZL]DQLDSRZLQLHQE\MDVQR]GHILQLRZDQ\
i Z\VWDUF]DMFR]R*RQ\E\WUXGZR*RQ\ZSURJUDPRZDQLHPyJVL
RSDFL
Metoda
3RXVWDOHQLXFRFKFHV]RVLJQLMDNLPLLQIRUPDFMDPLG\VSRQXMHV]PXVLV]XVWDOLVSRVyE UR]ZL]DQLD SUREOHPX 1LHNLHG\ MDN Z SU]\SDGNX VSDGNX swobodnego) sytuacja
MHVW RF]\ZLVWD QDOH*\ ]DVWRVRZD Z]yU NWyU\ NWR NLHG\ Z\P\OL .LHG\ LQG]LHM
WU]HED Z\P\OL UR]ZL]DQLH VDPHPX :DUWR UyZQLH* ]DVWDQRZL VL
QDG SU]\M
FLHP
]DR*HXSUDV]F]DMF\FKNWyUHPRJ]PQLHMV]\QDNDGSUDF\SRWU]HEQ\QDstworzenie
SURJUDPX]QLHZLHONLPXV]F]HUENLHPQDGRNDGQRFL
3U]\NDGHP QLHFK E
G]LH ZVSRPQLDQD Z SRSU]HGQLP UR]G]LDOH NZHVWLD Z\]QDF]HQLD
UHGQLHMGXJRFL]GDQLDZWHNFLH3UREOHPQLHMHVWZFDOHZ]L
W\]VXILWX]DUyZQR
]E\WNUyWNLHMDNL]E\WGXJLH]GDQLD]PQLHMV]DMF]\WHOQRWHNVWXDE\ZL
FQLH]QXG]L F]\WHOQLND PXVLV] WU]\PD VL
SHZQHJR RSWLPXP Z\QRV]FHJR QS ]QDNyZ
2WRNLONDNRQNXUHQF\MQ\FKUR]ZL]DWHJRSUREOHPX
XVWDODP\OLF]E
]QDNyZ]DZDUW\FKZND*G\P]GDQLXZWHNFLHSRF]\PuzysNDQHZDUWRFLXUHGQLDP\0HWRGDWDMHVWGRRF]\ZLVWDMHGQDNZ\PDJDRNUHOHQLDFLVHMGHILQLFML]GDQLDFRPR*HE\NRSRWOLZH
SU]\MPXMHP\ XSUDV]F]DMFH ]DR*HQLH *H ND*GH ]GDQLH NRF]\ VL
NURSN
W W\P PRPHQFLH OLF]ED ]GD Z WHNFLH UyZQD E
Gzie liczbie kropek (co dla
WHNVWyZOLWHUDFNLFKMHVWZ]DVDG]LHSUDZG]LZH=DWHPZ\VWDUF]\]OLF]\ZV]\VWNLH]QDNLZWHNFLHXVWDOLLOHMHVWZUyGQLFKNURSHNSRG]LHOLSLHUZV]ZDUWRSU]H]GUXJLZ\QLNJRWRZ\
1DMOHSV]PHWRGQD]QDOH]LHQLHPHWRG\MHVWVSUDZG]HQLHF]\NWRMHMMX*QLH
Z\P\OL3RXVWDOHQLXPHWRG\ZDUWRWH*]DVWDQRZLVL
QDGMHMXSURV]F]HQLHP
Algorytm
6NRURMX*PDP\PHWRG
PXVLP\]DSLVDMZVSRVyEIRUPDOQ\LV]F]HJyRZ\3RFR"
Komputer nie jest niestety na tyle inteligeQWQ\E\]UR]XPLHSROHFHQLH]OLF]ZV]\VWNLH
]QDNLZWHNFLH1WRWH*PXVLP\QDV]H]DGDQLHSU]HGVWDZLZVSRVyEEDUG]LHMHOHPHQWDUQ\-DN":DQLH]DSRPRFDOJRU\WPX
1
12
-DNWRVL
URELQDSUDZG
"
13
Start
Licznik znakw := 0
Licznik kropek := 0
Tak
Czy znak
jest kropk?
Tak
Nie
Zwiksz licznik znakw
Czy licznik
kropek = 0?
Tak
Nie
Wypisz (licznik znakw / licznik kropek)
Stop
Rysunek 1. 6FKHPDWEORNRZ\REOLF]DQLDUHGQLHMOLF]E\]QDNyZZ]GDQLX
.D*GD ] SRZ\*V]\FK PHWRG PD VZRMH ZDG\ L ]DOHW\ =DSLV SRV]F]HJyOQ\FK NURNyZ
w poVWDFL SXQNWyZ MHVW SURVW\ DOH SU]\ EDUG]LHM ]R*RQ\FK ]DGDQLDFK VWDMH VL
PDR
F]\WHOQ\=DSLVZSRVWDFLVFKHPDWXEORNRZHJRMHVWEDUG]RF]\WHOQ\DOHSUDFRFKRQQ\
w wykoQDQLX:UHV]FLH]DSLVZSVHXGRNRG]LHPDW
]DOHW
*HSRSU]HWXPDF]HQLXQD
M
]\NDQJLHOVNLVWDMHVL
SUDNW\F]QLHJRWRZ\PWHNVWHPSURJUDPX
: P\O WHJR FR SRZLHG]LHOLP\ QD ]DNRF]HQLH SRSU]HGQLHJR SXQNWX QLH PXVLV] D
naZHW QLH SRZLQLHQH Z\P\OD DOJRU\WPX VDPRG]LHOQLH -HVW WR FR SUDZGD ]DM
FLH
14
Projekt
-DNMX*SRZLHG]LHOLP\DOJRU\WPSU]H]QDF]RQ\MHVWGRUR]ZL]DQLD]DVDGQLF]HMF]
FL
]DGDQLD L QLH SU]HMPXMH VL
WDNLPL GHWDODPL MDN ZSURZDG]HQLH L Z\SURZDG]HQLH
GDQ\FKF]\XWZRU]HQLHVWUXNWXUGDQ\FK1DGRGDWHNZL
NV]RSUREOHPyZMHVWQDW\OH
skomplikoZDQD L* QLH GDMH VL
UR]ZL]D ]D MHGQ\P ]DPDFKHP : WDNLHM V\WXDFML
PXVLV] UR]EL VZRMH ]DGDQLH QD PQLHMV]H IUDJPHQW\ GDMFH VL
Z\UD]L ]D SRPRF
proVW\FKDOJRU\WPyZLX]XSHQLWHQ]HVWDZSU]H]RSLVRSHUDFMLSRPRFQLF]\FK:V]\VWNRWRQDOH*\SRZL]DZVSyMQFDR]ZDQprojektem programu.
3URMHNW\ PRJ E\ WZRU]RQH GZLHPD SU]HFLZVWDZQ\PL PHWRGDPL ]QDQ\PL MDNR SURjektoZDQLH ZVW
SXMFH DQJ bottom-up design RUD] SURMHNWRZDQLH ]VW
SXMFH DQJ
top-down design 3LHUZV]D ] QLFK MHVW UHDOL]DFM ]DVDG\ RG V]F]HJyX GR RJyX QD
samym poF]WNX RNUHODP\ ]HVWDZ HOHPHQWDUQ\FK ]DGD NWyU\FK Z\NRQDQLH E
G]LH
NRQLHF]QH GR UHDOL]DFML JyZQHJR SUREOHPX np. wprowadzanie danych,
wyprowadzanie wynikw, obliF]DQLH ZDUWRFL SRUHGQLFK 3R VNRQVWUXRZDQLX WDNLFK
FHJLHHN EXGXMHP\ ] QLFK ZL
NV]H VWUXNWXU\ ]DMPXMFH VL
SU]HWZDU]DQLHP
RGSRZLHGQLR ZL
NV]\FK IUDJPHQWyZ ]DGDQLD ] W\FK struktury jeszcze bardziej
RJyOQH D* Z NRFX GRFKRG]LP\ GR JyZQHJR VFKHPDWX G]LDDQLD NWyU\ ]DU]G]D
SRV]F]HJyOQ\PLPRGXDPL
3URMHNWRZDQLH]VW
SXMFHMDNQLHWUXGQRVL
GRP\ODZ\JOGDRGZURWQLH3RF]WNLHP
SURFHVXMHVWRJyOQHVIRUPXRZDQLH]DGDQLDNWyUHQDVW
SQLHSRGGDMHVL
DQDOL]LHLUR]biFLX QD ZVSyG]LDDMFH ]H VRE F]
FL WH ]D G]LHOL VL
GDOHM D* GR X]\VNDQLD HOHPHQWDUQ\FK IUDJPHQWyZ NWyU\FK ]DSURJUDPRZDQLH MHVW MX* DWZH D QDZHW W\SRZH
-HGQRF]HQLH QD ND*G\P HWDSLH SRG]LDX XOHJDM XFLOHQLX NRPSHWHQFMH SRV]F]HJyOQ\FKIUDJPHQWyZSURJUDPXDUDF]HMSURMHNWXF]\OL]DNUHVSU]HWZDU]DQ\FKSU]H]H
GDQ\FKLSRVWD]ZUacanych wynikw.
15
Implementacja
8II 3U]\QDMPQLHM Z WHRULL ZV]\VWNR SRZLQQR MX* G]LDD '\VSRQXMF RGSRZLHGQLR
UR]SLVDQ\PSURMHNWHPPR*QDSU]\VWSLGRPHFKDQLF]QHMZ]DVDG]LHF]\QQRFLSURJramowania. 7DN WR QLH SRP\ND SUDNW\F]QLH FDR SUDF\ XP\VRZHM SRZL
FDQHM QD
UR]ZL]DQLH GDQHJR ]DGDQLD SRSU]H] SURJUDPRZDQLH VNXSLD VL
Z HWDSDFK RSLVDQ\FK
SRSU]HGQLR 6DPR SURJUDPRZDQLH NRGRZDQLH MHVW MHG\QLH F]\QQRFL SROHJDMF QD
SU]HWXPDF]HQLX ]DSLVX SURMHNWX QD RGSRZLHGQL ]DSLV V\PEROLF]Q\ F]\OL WDN ]ZDQy
M
]\NSURJUDPRZDQLDQDMF]
FLHMZ\VRNLHJRSR]LRPX
=DQLPGRWHJRGRMG]LHPR*HV]MHV]F]HVWDQSU]HGNRQLHF]QRFLZ\ERUXRGSRwiedQLHJRM
]\NDF]\OLQDU]
G]LDSUDF\]DNDGDMF*HPDV]]F]HJRZ\ELHUDWMSRWUDILV]
VL
SRVXJLZDNLONRPDM
]\NDPi).
Uruchomienie
8UXFKDPLDQLH ZLH*R QDSLVDQ\FK SURJUDPyZ QDOH*\ GR EDUG]LHM HNVF\WXMF\FK
momenWyZZ*\FLXSURJUDPLVW\3HQ\SURFHVXUXFKDPLDQLDVNDGDVL
]NLONXHWDSyZ
NWyUHNUyWNRRSLV]HP\SRQL*HM
1DSLVDQ\ SURJUDP QDOH*\ SR SLHUZV]H SU]HWXPDF]\ QD SRVWD Z\NRQ\ZDOQ SU]H]
NRPSXWHUF]\OLQDRJyVNRPSLORZDJR:L
NV]RQDU]
G]LSURJUDPLVW\F]Q\FKVNXWHF]QLH Z\DSLH SU]\ WHM RND]ML ZV]HONLH E
G\ OLWHURZH L VNDGQLRZH NWyUH PLDH
RND]M
SRSHQLSRGF]DVZSLV\ZDQLDSURJUDPXE
G\WDNLH]ZDQHVRJyOQLHE
GDPL
kompilacji).
3R Z\HOLPLQRZDQLX ZV]\VWNLFK E
GyZ NRPSLODFML PR*HV] VSUyERZD Z\NRQD SURJram. Przedtem jednak EH]Z]JO
GQLH]DSLV]JRQDG\VNX. W przypadku bardziej skomSOLNRZDQ\FKSURJUDPyZHIHNW\SLHUZV]HJRXUXFKRPLHQLDPRJE\GR]DVNDNXMFH
] ]DZLHV]HQLHP NRPSXWHUD ZF]QLH OHSLHM ]DSDPL
WD SURJUDP QL* QDUD*D VL
QD
NRQLHF]QR RGWZDU]DQLD F]
FL OXE FDRFL Z\QLNyZ SUDF\ :V]HONLH E
G\ NWyUH
SRMDZLDMVL
ZWUDNFLHSUDF\MX*XUXFKRPLRQHJRSURJUDPXQRV]QD]Z
E
GyZZykonania%
G\WHPRJSRZRGRZDSU]HUZDQLHG]LDDQLDSURJUDPXDQDZHW]DZLHV]HQLH
lub restart komputera) lub jego zachowanie niezgodne z oczekiwaniami (np. brak
UHDNFML QD G]LDDQLD X*\WNRZQLND ]ZUDFDQLH E
GQ\FK Z\QLNyZ -HOL SURJUDP SR
uruchomieniX]DFKRZXMHVL
ZPLDU
SRSUDZQLHWMQLH]DZLHVLVL
UHDJXMHQDSUyE\
16
Zdrowy rozsadek
-HVW RQ QDMZD*QLHMV]\P HOHPHQWHP SURFHVX SURJUDPRZDQLD D GRNDGQLHM
MDNLHMNROZLHN G]LDDOQRFL SUDNW\F]QHM SRGHMPRZDQHM Z *\FLX =DVWRVRZDQLH
zdroZHJRUR]VGNXZ SURJUDPRZDQLXVSURZDG]DVL
SU]HGHZV]\VWNLPGR]DFKRZDQLD
odpowiedniej proSRUFMLSRPL
G]\WUHFLLIRUPRUD]GRERUXPHWRGRGSRZLHGQLFKGR
UHDOL]RZDQ\FK]DGD$E\UR]ZL]DUyZQDQLHNZDGUDWRZHPR*HV]RF]\ZLFLHQDSLVD
w Borland C++ 5.0 RGSRZLHGQL SURJUDP GOD :LQGRZV Z\NRQXMF XSU]HGQLR VROLGQH
przygotowanie w postaci schematu blokowego, listy zmiennych i spisu literatury.
0R*HV] UyZQLH* QLF QLH SLVD D MHG\QLH VL
JQ SR NDONXODWRU : ZL
NV]RFL
SU]\SDGNyZ QDMOHSV]H MHVW UR]ZL]DQLH kompromisowe, tj. napisanie krtkiego
programiku w Turbo Pascalu.
6DPRSU]\JRWRZDQLHWHRUHW\F]QHUyZQLH*SRZLQQRE\WUDNWRZDQH]XPLDUHP'REyU
DOJRU\WPXF]\RSUDFRZDQLHSURMHNWXEDUG]RF]
VWRZ\NRQ\ZDQHVDXWRPDW\F]QLH]D
ich rozpisywanie ma na celu MHG\QLH XDWZLHQLH LFK ]UR]XPLHQLD L QLH SRZLQQR E\
FHOHPVDP\PZVRELH3U]HZD*DMFDF]
]DGDNWyUHE
G]LHV]UR]ZL]\ZDMHVWQD
W\OHSURVWDL*QLHZ\PDJDVSHFMDOQ\FKSU]\JRWRZD3RZ\*V]HXZDJLSRZLQLHQHZL
F
WUDNWRZD UDF]HM MDNR VSRVRE\ XDWZLHQLD VRELH UR]ZL]\ZDQLD EDUG]LHM ]R*RQ\FK
probOHPyZ HZHQWXDOQLH RUJDQL]RZDQLD SUDF\ ]HVSRRZHM R LOH PDV] ]DPLDU ]RVWD
zawoGRZ\PSURJUDPLVW
'\VSRQXMFW\PLZLDGRPRFLDPLPR*HV]MX*VSRNRMQLHSU]HMGRG]LHD:NROHMQ\P
UR]G]LDOH]DSR]QDV]VL
]QDU]
G]LHP]DSRPRFNWyUHJRE
G]LHV]WZRU]\SURJUDP\