Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.Wprowadzeniedokomputerów
19
Abydzisiejszekomputerymogływykonaćzłożonezadanie,potrzebujemypre-
cyzyjnegoikompletnegoopisu,jakwykonaćtozadanie,wpostacisekwencjipro-
stychprocedur-noprogramowania”-ipotrzebujemymaszyny,którawykonate
procedurywokreślonejkolejności-tojestnsprzętu”.Instrukcjemusząbyćdokładne
ijednoznaczne.Wżyciu,oczywiście,nigdyniemówimysobienawzajemdokładnie
tego,cochcemypowiedzieć.Nigdyniemusimytegorobić,ponieważkontekst,
mowaciała,znajomośćmówiącegoitakdalejpozwalająnamnwypełniaćluki”
irozwiązywaćwszelkieniejasnościwtym,cozostałopowiedziane.Komputery
jednakniepotrafiąjeszczenzałapać”,cosiędonichmówi,takjakrobitoczłowiek.
Trzebaimpowiedziećzdrobiazgowymiszczegółami,codokładniemajązrobić.
Byćmożepewnegodniabędziemymielimaszyny,któreporadząsobiezprzybliżo-
nymiopisamizadań,aletymczasemmusimywsposóbbardzosztywnynakazywać
komputeromrobienieżnychrzeczy.
Przyjrzyjmysię,jakmożemyzbudowaćzłożoneinstrukcjezezbiorupodstawo-
wychelementów.Oczywiście,jeślizbiórinstrukcjiB(powiedzmy)jestbardzoprosty,
tozłożonyprocesbędziewymagałbardzoszczegółowegoopisu,apowstałewten
sposóbnprogramy”będąbardzodługieiskomplikowane.Możemynaprzykład
chcieć,abynaszkomputerwykonywałwszelkiegorodzajuobliczenianumeryczne,
alemamyzbiórB,któryniezawieramnożeniajakoodrębnegodziałania.Jeślipo-
wiemynaszejmaszynie,żebypomnożyła3przez35,topowienco?”.Alezałóżmy,
żeBmadodawanie.Jeślisięnadtymzastanowić,tomożnaskłonićjądomnożenia
przezwielokrotnedodawanie-wtymprzypadkunależywykonaćdwukrotnieope-
racjędodawania,najpierwdodając35do35,akolejne35dodającdouzyskanej
sumy.JeślijednakrozszerzymyzbiórBooddzielnąinstrukcjęnpomż”,zdefinio-
wanąprzezczęśćpodstawowychinstrukcjiB,któreskładająsięnamnożenie,wyraź-
nieuprościmypisanieprogramówwB.Wówczas,gdyzechcemypomnożyćtedwie
liczby,powiemy:nkomputerze,3razy35”,aonterazrozpoznasłowonrazy”-jest
topoprostudużododawania,którewykonuje.Maszynadzielitezłożoneinstrukcje
naichpodstawowekomponenty,oszczędzającnamciągłegogrzęźnięciawpojęciach
niższegorzędu.Złożoneprocedurysąwtensposóbbudowanekrokpokroku.Bardzo
podobnyproceszachodziwżyciucodziennym;zastępujemyjednymsłowemzbiór
ideiipowiązańmiędzynimi.Odnoszącsiędotychideiiichwzajemnychpowią-
zań,możemywtedyużyćtylkojednegosłowaiuniknąćkoniecznościwracaniado
wszystkichpojęćniższegopoziomu.Komputerysątakskomplikowanymiobiektami,
żeupraszczającepomysły,takiejakten,sązazwyczajkonieczne,adobryprojekt
jestniezbędny,jeślichcemyuniknąćcałkowitegozagubieniasięwszczegółach.
Zaczniemyodskonstruowaniazbiorupodstawowychprocedurisprawdzimy,
jakwykonywaćdziałaniatakiejakdodawaniedwóchliczblubprzenoszeniedwóch
liczbzjednegomagazynupamięcidodrugiego.Następnieprzejdziemyojeden
poziomwyżej,donastępnegorzęduzłożoności,iużyjemytychinstrukcjidowy-
konaniatakichdziałańjakmnożenieitakdalej.Niezajdziemyzbytdalekowtej