Sie sind auf Seite 1von 83
YU ISSN 0353-0469 Racunarstvo ~_- @ nauci i obrazovanju VOL I. BROJ 2/4 OKTOBAR 1987. NOVA KNJIGA BEOGRAD Racunarstvo -u nauci i obrazovanju voun 'BROJ 2/4 OKTOBAR, 1987 TEDAVAS: TRO “Nove Kjiga", Beograd, Ada Ciganlija 6, Poitanski pregrasak 2088. Direkelja: $5737, 556. 753, Redakelja: 544-600, 541-062, DIREKTOR IRO “NOVA KNJIGA* Slobodan Filimonovié V.D. GLAVNOGJ ODGOVORNOG UREDNIKA GASOPISA: profdr Nedeljko Parezanovie IEDAVACKI SAVET: ‘profdr Zvonimir Damjanovié, profdr Miodrag Sibi- ovie, de Miloje Rakotevie, profdr Rama Abdul, [eneralsinajor, Gradisiay Milenavie, mr Milan Zalklsn, ukovnik, Slobodan Filimonowit,” profde Nedeljko Parezanovié, mr Veljko Spasié, Zona Stevanovié UREDJUB REDAKCIISKI KOLEGIIUM: prof.dr Zarko Mijajlovié, me Milan Tuba, mr Dugan Vitar, me Veliko Spasié, profdr Robert Lewis, dr Margaret Cox UREDMIK: ‘ona Stevanovie LIKOVNA OPREMA. Nenad Lasovie CASOPIS IZLAZI Cetiri pute godiénje CENA {po jednom primerku u knji2arsko} meesi 4000 dinara, pretplatna cena 3000 dinara, goditnja pretplata — ‘S000 dinara (za inostranstvo dvostruko) Ziro racun: TRO "Now kajiga" 60812-603-23920 STAMPA “KULTURA®, Baek Petrorse ‘Typeset in THX, Blektronska 011, Beagrad, Vojistava Tiga 64, tel 437-437 Sadrzaj prethodnog broja__ Semantika programskih jezika Zarko Mijajlovi Pregled algoritamskih sistema... 7 Zoran Markovié Automatsko Prevotiene ~ prikaz resultata, : - Ragunari i informaciona tehnologija u britanskim skolama ciseeesee 2D Robert Lewis Matematitki model i simulacija po- pulacione dinamike riba u slatkovod- nom ribnjaku ... 8 Veliko Spasié, Alison Rose Uéenje engleskog pomoéu ragunara.. 33 John Higgins Uloga raéunara u istragivanju i nastavi prirodnih nauka vee 36 Nedeljko Parezanovié Uloga mikroraéunara u skolskim laboratorijama . Bogdan Jankovié, Sreten Suljagié 42 Sadréaj Clanci Primena ragunara u optimalnom obliko- vanju povstinskih otkopa .. Dusen Bratievié Razvoj grafidkog softvera hemijskih i he- mijsko inéenjerskih informacija ....... J. Savkovié-Stevanovié, G.Popovié D. Poleti, M. Mitrinovié Rastavljanje polinoma na faktore primenom matematizkih spektara . Jovan Madié Moguénosti primene konagnih automata u modeliranju atitmeti¢kih operacija Miroslav Martinovié Minat MSE sistem 2a kompjutersku po- drku uéenja osnova matematike .. Roman Matuzewski Basic u pogetnoj nastavi raéunarstva i in- formatike Nedeljko Parezanovié “Stari” i “novi” programi Dusko Vitas Laicki pogled aa kompjutersko prosveti- teljstvo cee DuSanka Ban Prikazi Ragunarska oprema Opticki disk w hijerarhiji pomoéne memo- rije . . . eeaee Miroslav Jelicié Program, Pogled na TEX Cretana Krstev Knjige i tasopisi Prikaz ”Casopisa o ragunarski podrdanom udenju” Veljko Spasié Nauéno-struéni skupovi Logic Colloquium 87........ Zarko Mijajlovié Prikaz 2. jugoslovenske konferencije “Ra- éunar u obrazovanju” «.... Dusko Vitas, Dragan Vasié Prikaz medjunarodnog simpozijuma” Kom- pjuter na sveuéilistu” Veljko Spasié Doktorske i magistarske teze ... Terminologija Da li je kompjuter raéunar? . Dusko Vitas| Verifikacija i korektnost ......... Uputstvo 2a autore 61 69. 1 aL 86 89 98 105 4 118 123 124 - 126 33t - 132 133 138 ui élanci ‘UDK 661.82102 Primena ra¢unara u optimalnom oblikovanju povrsinskih otkopa Dusan Bratiéevié Kratak sadréaj: U radu se daje matematicka formulacija jednog problema optimizacije u projektovanju poursinskih otkopa. Ogranigenja optimizacije izrazena preko uslova stabilnosti formalizuju se preko tzv. referentuih koordinata. Time se omoguéava potpuno priblizavanje og modela ograniéenja, ograniéenjima koja postoje u realnosti, Daje se jedan postupak pribliznog resavanja problema optimizacije, koji se zasniva na dinamiékom programiranju i koji se odvija u vremenu koje je proporcionalno veliéini modela. Takodje se daje i postupak za ocenu tacnosti. Na kraju, uvodi se i postupak redukeije modela. Iterativnim redukcijama mogu da se dalje poboljsanaju priblizna resenja i u mnogim slucajevima tako se moze doi i do samog optimuma. Kljuéne regi: projektovanje pomodu racunara, optimizacija, dinamicko programiranje, projektovanje u rudarstou, povrsinski otkop 1. Uvod potetkorn Sezdesetih godina. Jedan od prvih, a do danas i najznaéajnijih radova iz te oblasti, ob- Rudna tela koja treba da se eksploatisu povesin- _javili su Lersch i Grossmann 1965. godine (1). U skim naginom otkopavanja, obigno su prekrivena _tom radu postavijeni su temelji za dve klase algori- nekorisnim materijalom koji je potrebno prethodno _tama za optimalno oblikovanje povrginskih otkopa- ukloniti da bi se rudno telo “otkrilo”. Taj materi. __metodom grafova i metodom dinami¢kog programi- jal naziva se otkrivka. Da bi se, polazeéi od neke —__ranja. Dok prva metoda uvek daje optimalno, dru- konfiguracije povrdinskog otkopa, doslo do novih _ga daje samo priblidno reSenje. $ druge strane, me- koligina rude, potrebno je ukloniti i odredjene koli- toda. grafova postavlja ozbiljne zahteve u pogledu ine otkrivke. Ukoliko je koligina rude veéa, uto- _kori8éenja memorije i vremena rada centralnog pro- liko je veéa i potrebna koligina otkrivke. Izvesno _cesora, dok je metoda dinamitkog programiranja prosirenje otkopa ekonomski je opravdano samo ako _atraktivna upravo zbog svoje efikasnosti i skrom- je vrednost dobijene rude veéa od troskova prouz- _nih zahteva u koriséenju memorije. rokovanih uklanjanjem otkrivke. Uopite, podela metoda optimizacije na stroge i pribligne, veé se mote smatrati tradicionalnom, kao i neslaganja struénjaka oko toga koje metode vige vrede. Postupku optimizacije nikada se ne podvr- gava realno lediste, veé njegov model. Model pred- stavija samo priblidnu sliku leSiéta, pa traganje za stvarnim optimumom, bez obzira na cenu postupka, nije sasvim opravdano. $ druge strane, pribliine metode mogu joS uvek da daju regenja koja su znat- no boljaod onih koja mogu da daju intenjeri radeéi na klasiéan uaéin. Ipak, znaéajan nedostatak pri- U vezi sa navedenim problemom, prirodno se postavlja pitanje utvrdjivanja optimalnog povrsin- skog otkopa. Takav otkop bi imao osobinu da. bi se daljim progitivanjem vise utrosilo na uklanjanje otkrivke nego sto bi se dobilo u vrednosti rude, i cobratno — ako bi se uzeo bilo koji oblik otkopa koji je manji od optimalnog, on bi svakako imao manje troskove u uklanjanju otkrivke od optimalnog, ali bi udteda u tim troskovima bila manja nego to je vrednost rude koja bi na taj naéin bila izgubljena, Zadatak optimalnog oblikovanja povréinskog ot-_liznih metoda koje su do sada koridéene je u tome kopa zanima struénjake iz rudarstva i ragunarstva to se ne dobija nikakva procena gretke. Za dobi- jo8 od prvi dana primene ragunara u rudarstvu —_jeno priblino reenje ne zna se koliko se razlikuje VOL. I BRO 2/4 1987. 61 RAGUNARSTVO U NAUCII OPRAZOVANSU. od optimalnog, ni po vrednosti ni po polodaju u prostoru. U ovom élanku dajemo formalnu postavku prob- lema konstrukeije optimalnog povrsinskog otkopa, zatim opisujemo jedan postupak 2a pribligno resa- vanje ovog zadatka ina kraju dajemo jedan iterativ- ni postupak optimizacije. Prednost ovog postupka, je u tome Sto se, 2a razliku od drugih pribliznih metoda, pored regenja dobija i procena odstupanja, od optimuma, kako u pogledu prostornog polofaja, tako i u pogledu vrednosti. Zbog ogranigenosti prostora, izlaganje je skra- éeno koliko god je bilo moguée, pri éemu se vodilo raéuna da to ne ide na &tetu razumljivosti. Za sve detalje, éitalac se mote obratiti na [2]. 2. Formulacija problema Uobigajeno je da se prostor u kojem se nalazi lediste i otkop podeli na konagan broj blokova. Zavisno od mineraloskog sastava. bloka, troskova otkopavanja, teansporta i prerade, mode se izraéunati njegova, vrednost. ‘Tako se dolazi do modela ledista, koji se mode formalizovati na sledeéi naé DEFINICIJA 1. Model ledigta L je konaéan skup na kojem je definisana jedna realna funkcija f. Ble- menti leziSta su blokovi. Ako 6 € L, onda je f(b) rednost bloka b ‘Ovako formulisan mode! ne obubvata mnoge as- pekte realnog le#ista, koji bi bili od mnagaja u dru- gim problemima obrade na raunaru. No, za potre- be optimalnog oblikovanja povrsinskog otkopa, ova- ko pojednostavljena formulacija sasvim je dovoljna. Sledeéa stvar koju je potrebno modelirati su ko- sine. Ekonomski bi bilo najpogodnije ako bi po- vrdinski otkop mogao da se kopa vertikalno, kao bunar. Medjutim, zbog sigurnosti, granica otkopa ne sme da ima nagib veéi od nekog kritiénog. Taj ritigni nagib zavisi od geomehaniékih osobina ste- na, dubine, prisustva podzemnih voda i slitno. Ka- ko ée ti parametri menjaju kroz legiste, to se i mak- simalno dozvoljeni ugao takodje menja i zavisi od pologaja bloka u ledistu i od smera. Za svaki blok 6 ledista L odredjen je jedan pod- skup K(b) CL blokova koji mora da se otkopaju pre bloka 6, da bi se obezbedila stabilnost otkopa? Po pravilu, K(b) podseéa na kupu sa vrhom u 6 i nom okrenutim navige. Blokovi iz K(b) koji su ra- aligiti od 6 prethode bloku 6 u bilo kom postupku otkopavanja koji postuje uglove stabilnosti yr) Slika 1. ~ Diskretizacija po 2 i y osi Prema tome, stabilnost povréinskog otkopa mo- 4e se formalizovati na slededi nagin. DEFINICIA 2. Model uglova stabilnosti letista L je jedna parcijalna relacija poretka medju bloko- vima. Skup K(b) svih blokova koji u smisu ove relacije prethode bloku 6 zove se konus stabilnosti bloka 6. Sada se mote definisati i otkop. DEFINICIJA 3. Pourdinski otkop je skup PC L koji ima osobinu da ako blok b € P, onda je K(b) ¢ P. Drugim retima, povréinski otkop sadréi kom- pletne konuse stabilnosti svih svojih blokova, Zadatak optimizacije mofe se formalno iakazati na sledeéi nagin. U zadatom lezistu naéi poursinski otkop cija je ukupna vrednost blokova maksimalna. . Konkretizacija modela leZiSta i uglova stabilnosti Za obradu na ragunaru potrebno je da se konkret- nije formulige kako model leaista, tako i model ug- ova stabilnosti, pre vrai diskretizacija z i y koordinata. Projek- cija dela trodimenzionog prostora koji se posmatra RACUNARSTVO U NAUGI I OBRAZOVANIU 62 VOL. I BROS 2/4 1987. ogranigava se po = i y osi, a zatim se vesi podela na nz X ny elementarnih pravougaonika, kao to je prikazano na slici 1, Svakom pravougaoniku odgo- vara jedan stub ili vertikala u leaistu. Taj stub se deli horizontalnim ravnima na blokove. Dok su di- menzije blokova u pravcu 2, odnosno y ose kon- stantne, podela po = osi ne mora da bude uniformna, veé mote da se prilagodi karakteristikama rudnih Ja, Model le#iéta moze da ima nekoliko desetina hiljada do nekoliko stotina hiljada blokova, Na ovom mestu negemo ulaziti u detalje izraéu- navanja vrednosti pojedinih blokova. Znatajno medjutim, da éemo dalje posmatrati model lezista kao skup glavnih tagaka, koje se nalaze u centrima ‘osnova blokova (a ne u srediétima blokova). Umesto funkcije f (koja predstavja vrednosti pojedinaznih blokova), posmatraéemo funkciju F definisamy u glavnim tatkama. Pri tome je F(t) ukupna vred- nost blokova iznad glavne taéke t. Ozigledno, F se Jako izragunava iz f. Sledeéom definicijom uvodimo pojam granice. DEFINICIJA 4. Skup glavnih tagaka koji na svakoj vertikali ima taéno jednu glavnu taéku nazivamo granicom. Vrednost granice G je Vred(@) = DFO tee Svaka granica deli skup blokova na dva podskupa, — podskup blokova iznad i podskup blokova ispod granice. O8igledno, Vred(G) je ukupna vrednost blokova iznad G. Od posebnog interesa su granice povréinskih ot- kopa, tj. granice koje zadovoljavaju uslove stabil- nosti. Za uvodjenje stabilnosti koristiéemo relaciju prethodjenja, koju emo ovde definisati pomoéu tv, referentait, koordinata. DEFINICIIA 5. U svakom vertikalnom profilu = koji je paralelan nekoj od osa ili nekoj od dijagonala elementarnih pravougaonika, uvode se dve funkcije P, i Qr definisane u glavnim tackama profila tako da zadovoljavaju sledeée uslove: (a) Usvakom profilu x iu svakoj vertikali funkeije Pr i Qy tastu 2ajedno sa = koordinatom. () Smatramo da su vertikale unutar profila uredjene sleva udesno. Ako je taka tz desno od take ty i Py(ts) > Py(ts), onda je z koor- dinata tacke tz veéa od z koordinate tacke t3; ako je tz levo od ty i Qr(t2) > Qx(t1), onda je z koordinata tatke tz veéa od z koordinate tatke th. Punkeije Pr i Qe su referentne koordinate u pro- filu x. Pomoéu referentnih koordinata mode se defizi- sati relacija prethodjenja medja glavnim tagkama. DEFINICIIA 6. (a) Ako su tatke ty ita (tr ¥ ta) na istom profilu 7, tada ty prethodi tacki ty ako i samo ako je Palla) > Peta) i Qalt2) > Qx(ti) « (b) Relacija prethodjenja je ¢ransitivno i reflek- sivno tatvorenje relacije koja zadovoljava uslov (a). Prema tome, relacija prethodjenja definisana je u okviru svakog profila neposredno preko referent- nih koordinata, a medju tatkama koje nisu na is- tom profilu definisana je “preko posrednika” (sto je smnisao tranzitivnog zatvorenja): ako postoji tatka tz koja prethodi taki ty i kojoj prethodi tacka ta, onda ts prethodi tacki t;. Uslovi definicije 5 do- voljni su da relacija uvedena definieijom 6 zaista bude relacija uredjenja (posebno da vadi antisimet- rija) Na slict 2 vidi se da se pomoéu referentnih ko- ordinata P iQ mogu defiaisati promenljivi nagibni uglovi. U odredjenoj meri, finoéa zadavanja uglova ograniéena je diskretizacijom legista, no sa stano- vista prakse to ne predstavlja zmaéajan problem. Vaino je da se mote izbeéi dase lokalna odstupanja od stvarno zadatih uglova ne nagomilavaju. Pomoéu relacije prethodjenja mote se definisati i stabilnost granice. DEFINICIA 7. Granica G je stabilna ako 2a svake dve taéke t1 i te (ti # tz) th ne prethodi taki tz niti tz prethodi taéki ty. Medju granicama mote se uvesti relacija poret- ke, DEFINICIIA 8. Ako su Gi i Gz granice i ako je na svakoj vertikali tatka koja pripada G; iznad ili jednaka tacki koja pripada Gp, onda je G; iznad ili jednaka granici Gy i Medju stabilnim granicama od posebnog intere- sa su sledede dve: DEFINICIJA 9. Granica konusa stabilnosti glavne taéke t, u oznaci GK‘S(t) je maksimalno stabilna granica koja sadréi glavnu taéku t. Granica an- tikonusa stabilnostiGAK S(t) je minimalna stabilna granica koja sadrfi taéku t VOL. 1 BROS 2/4 1987, 63 RACUNARSTVO U NAUCIT OBRAZOVANSU ®©® ®™® *36 OOOO DOO®D © ® OOOO $ 3 ®DOOO® DOOOOO O® ®©O® ® OOOOO®D ©®OOOO® DO OOOO OOO® O® Slika 2. - Referentne koordinate ~ (a) referentna koordinata P, (b) referentna koordinata Q Slika 3. - Konus i antikonus stabilnosti i njihove granice Na slici 3 prikacani su primeri granica GKS i GAKS. Jasno je da sve tazke iznad GK S(t) pret- hode taki ¢, dok t prethodi svim taékama ispod GAKS(). DEFINICIJA 10. Neka je X bilo kakav skup glavnih tageka. Gornja stabilizacijaskupa X je maksimalno stabilna granica GST(X) ispod koje nema ni jedna tacka iz X, Slitno, donja stabilizacija skupa X Je minimalno stabilna granica DST(X) iznad koje nema-ni jedne taéke skupa X. Na slici 4(a) prikazana je crtkastom linjjom GST(X), gde je X skup tagaka koje su istaknute na cttezu, a na slici 4(b) prikazana je DST(X). Lako se moze pokezati da su GST, odnosno DST generalizacije, granice konusa stabilnosti, od- nosno antikonusa stabilnosti. Naime, GST({t}) = GKS(), DST({t}) = GAKS() Osim toga, moze se pokazati da je GST(X)= min GKS(), tex DST(X)= max GAKS(t), tex ito je prikazano na slici 4 4, Priblizno izratunavanje funkcije Vop: 4.1 Izratunavanje V2, u profilu Ako se umesto celog ledista posmatra samo jedan profil, problem optimizacije se krajnje pojednos- tavljuje. Isto vadi i za isratunavanje funkeije Viz. (indeks 2 oznatava da se radi o dvodimenzionom prostoru). Granica u profilu je skup glavnih taéaka koji na svakoj vertikali profila irna po jednu tatku. Na osnovu definicija 5 16 moze se pokazati da je granica Gu profilu x stabilna ako za svaki par tataka t,t) € G, gde je ty na susednoj desnoj vertikali od t, vai Pa(t) > Pe(tr) i Qe(t) < Qe(tr) (a) Optimalna granica G*(t) koja prolszi kroz neku slavnu tacku t moze da se odredi tako Sto se posebno odredjuju levi i desni deo te granice Git) i C(t) Ako ognaéimo Fit)= SY) Fh). negz00) Po)= Ya). nea) RACUNARSTVO U NAUCI I OBRAZOVANJU 64 Vow. I BROS 2/4 1987 Slika 4. - Gornja (2) i donja (b) stabilizacija skupa onda je V3.) = Felt) + Fo()- FH.) Taraz F(t) se oduzima zato sto t € Gz(e) iT € Gp(t), pa se F(t) pojavijuje u oba abira Fy(t) i Fo(t). Fo(t) mote da se iaratuna na sledeéi natin. Ako je t; € Gp(t) tacka na susednoj desnoj ver- kali od t, onda vaii relacija (1). Osim toga, lako se mode pokazati da je GHO\MH = Gl) - Drugim regima, kada se iz G’p(t) izbaci taéka t, do- bija se optimalna desna parcijalna granica za tacku 41. Prema tome, Folt) =F) + OF) =FO+ Fol), (3) pri Gemu se sumacija uzima po u € Gp(ts). Na osnovu jednakosti (3), Fp mote da se izrauna re- kurzivno, po vertikalama, poéev od krajnje desne ulevo. Na krajnjoj desnoj vertikali je Fp = F. Ako t nije na krajnjoj desnoj vertikali, onda se medju tagkama na susednoj desnoj vertikali tradi ty koja zadovoljava uslov (1) i u kojoj je Fp maksimalno. Funkejja Fp(0) izraiunava se jednostavno na os- novu (3). Na sligan naéin, kreéuéi se sleva udesno, moze se iaragunati F,, a na osnovu (2) i funkeija V2, Ofigledno, ovaj postupak je krajnje jednosta- van i brz. Veeme ragunanja proporcionalno je broju glavnih taéaka. Ideja ovakve optimizacije javlja se veé u [I] i dalje je primenjivana u [3] i [4]. Medjutim, u svim tim radovima, stabilnost je bila definisana na krajnje jednostavan naéin: podela po z osi bila je takodje uniformna (evi blokovi eu imali istu visi- nu) i od neke glavne taéke smelo se idi samo jedan blok navige, ravno ili nanie. Ovo je bilo ozbiljno ograniéenje, s obzirom na situaciju u veai sa na- gibnim uglovima koja postoji u realnim uslovima. Razresenje ovog problema pomoéu referentnih ko- ordinata prvi je uveo autor u (2). 4.2 Primena 2D optimizacije za priblizno izraéunavanje Viyy Atraktivnost 2D optimizacije w pogledu jednostav- nosti i breine navodila je mnoge autore da je pri- menjujt za pribliznu optimizaciju u 3D prostoru. Ovde navodimo jedan takav postupak. Na nagin koji je opisan u 4.1 moge se izraéunati V2, u svim profilima paralelnim saz osom. Za- tim se dobijena funkcija mote uzeti kao osnovna (umesto /) za sliéno izragunavanje u svim profilima u praveu y ose. Omnagimo sa F* dobijenu funkeiju, Neka je ¢ bilo koja glavna tacka. Iz postupka ratunanja mote se pokazati da postoji granica G kroz t 2a koju vaii sledeé (a) G 2adovoljava uslove stabilnosti u svim pro- filima u pravcu z ose, (b) G zadovoljava uslove stabilnosti u onom pro- filu u praveu y ose u kojem se nalaai tatka t (©) Fr) = Vred(@), i (4) ne postoji ni jedne granica G! koja zadovo- Ijava uslove (a) i (b) takva da je Vred(G") > Vred(G) Drugim reéima, ako sa T(t) oznagimo skup gra- VOL. 1 BROS 2/4 1987. 65 RACUNARSTVO U NAUCI OBRAZOVANJU nica koje adovoljavaju (a) i (b), tada je FW) = max Vred(G) Gert) Stabilne granice zadovoljavaju uslove (a) i (b) pa je skup S(t) stabilnih granica kroz ¢ podskup skupa P(t). Otuda je max Vred(G)> max Vred(G) . eer) esi!) tj. F*(t) > Veps(t). Tako smo pokazali da je F* majoranta funkcije Voy. Kao Sto je reéeno, pri trazenju funkeije F po- Stovani su uslovi stabilnosti u praveu ose i samo delimiéno u praveu y ose. Zbog toga se ovaj pos- tupak u literaturi cesto naziva dvoipodimenzionom (2.5D) optimizacijom. Postupak 2.5D optimizacije moze se obaviti i tako sto se prvo obavlja 2D optimizacija u praveu y ose, a zatim u praveu 2 ose. U [2] se pokazuje da postoji deset takvih shema 2.5D optimizacije, kada se uzmu u obzir i profili u dijagonalnim praveima. Visestruka 2.5D optimizacija mofe da bude od koristi. Neka su Ff i Fy funkcije dobijene 2.5D optimizacijama i neka je F(t) = min( F(t), F3() + za svaku glavnu taéku t. S obzirom da su Fy i FZ majorante funkeije Vope, to vadi FL>F'>Vop i FE > F’> Vopr - Prema tome, primenom jednostavnog operatora min iz dve majorante F} i Fj funkcije Vope dobija se F” koja je takodje majoranta funkcije Vopt, ali je joj je bliza, ukoliko nije F? = F3 Napominjemo da se sva raéunanja o kojima je do sada bilo reéi obavljaju w vremenu koje je pro- porcionalno broju glavnih taéaka. Osim toga, algo- ritmi kojima se obavljaju ova ragunanja mogu se bez znagajnih posledica u pogledu ukupnog vre- mena raéunanja organizovati tako da su istovre- meno u memoriji raéunara samo dve susedne ver- tikale. 5. Priblizgna optimizacija pomoéu majorante funkcije Voy: Funkejja F* koja se dobija (eventualno vigestru- kom) primenom 2.5D optimizacije, moie se upo- trebiti za priblizno odredjivanje optimalne granice na sledeéi nadin. Slika 5. ~ Priblizno regavanje zadatka optimizacije Na svakoj vertikali odtedi se tatka u kojoj F* ima najveéu vrednost i tako se dobija granica G, koja ne mora da bude stabilna (crtkasta linija na slici 5). Primenom operatora stabilizacije mote se dobiti granica G’ = GST(G) (puna linija na slici 5), koja se mote smatrati priblignim regenjem. Da bismo ocenili taénost priblignog regenja, od- rediéemo interval u kojem se nalazi vrednost opti- muma, kao i granice u prostora izmedju kojih se nalazi optimalna granica. Posmatrajmo bilo koju glavnu taéku t € G koja pripada nekoj vertikali V. Kako je 2a svako ty € V FE Fh) i FM) > Volts), to je aa svako t; € V FW) > Vopt(ts) Ako je G* optimalna stabilna granica, ona ima u vertikali V bar jednu tacku ¢’, pa je F(t) > Vepi(t') Vred(G") . Primetimo da prethodna relacija vadi za svako t € G. Otuda je Vred(G*) < min F*(t) . 166 ‘Tako smo dosli do jednog gornjeg ogranitenja za vrednost optimalne granice. S druge strane, posto Je G jedna stabilna granica, to je Vred(G’) < Vred(G*) < min F*(t) . 166 Prema tome, na osnovu pribline majorante F* funkeije Vopt mode se odrediti interval u kojem se nalazi vrednost optimalne granice. Na osnovu iste majorante, mogu se u prostoru odrediti dve granice RACUNARSTVO U NAUCII OBRAZOVANJU 66 VOL. 1 BROS 2/4 1987, Slika 6. — Redukcija modela Go i G1 (Go < Gi), a zatim i dve stabilne granice i Gi, tako da vai GSGQSG Sais. Neka je g = Vred(G’). Da bismo formirali gra- nicu Go izaberimo na svakoj vertikali prvu tackw tp odozdo 2a koju vadi F*(to) > g (mote se lako dokazati da takva tacka uvek postoji). Sliéno, za granicu G; izaberimo prvu taéku ty odozgo za koju Je F*(t) > g (slika 6). Dokazagemo da optimalna granica ne prolazi iz- nad G; niti ispod Go. Za sve tatke t' iznad G1, odnosno ispod Go, vali Prt’) <9 = Vred(G’) . Kako je Vred(G’) < Vred(G*), to je Fr(t!) < Vred(G") . S druge strane, F* je majoranta funkeije Veps, Pa Je Vop(t!) < F°(e’) Iz poslednje dve nejednakosti sledi Vopi(t’) < Vred(G") , Sto znaéi da kroz ¢' ne prolazi of ialna granica. Kako je G* stabilna granica dija ni jedna taka nije iznad Gy, onda je G* < DST(G1), ier je DST(G;) maksimalno stabilna granica éija ni jedna. taéka nije imad G;. Tako se dobija da je GL = DST(G;) gomnje prostorno ograniéenje optimalne gra Sliéno, kako je G* stabilna granica éija ni jedna tatka nije ispod Go, to je Gh = GST(Go) donje prostorno ogranitenje za granicu G*. Iz svega izlodenog sledi da pomoéu majorante F* funkeije Vp, mozemo da odredimo: (a) priblignu optimalnu granicu G’, (b) interval u kojem se nalazi vrednost optimalne granice, i (c) stabilne granice Gp i G} izmedju kojih se na- lazi optimalna granica. Naravno, ukoliko je F* bolja aproksimacija funk- cije Vopt, toliko je G’ blize optimalnoj granici i bolja, je procena vrednosti i pologaja optimalne granice. ‘Zbog toga je od interesa da se izraéunava F* po- mogu vigestruke 2.5D optimizacije ili da se potragi bolji nadin za izraéunavanje majorante. 6. Redukcija modela Ako se Gb i Gi, ne poklapajn sa donjom, odnosno gornjom granicom modela ledista L i ako se odbace sve glavne tacke iznad Gi i ispod Gf, dobija se model L’ koji ima istu optimalnu granicu kao i po- lazni, Ovaj postupak zove se redukcija modela. U modelu L’ moie da se ponovi postupak 2.5D optimizacije. $ obsirom da je skup glavnih tataka u L’ pravi podskup skupa glavnih taéaka u L, to Je skup granica koje ispunjavaju uslove (a) i (b) u modelu L’ nego u modelu D. Iz toga sledi da majorante funkcije Ves dobijene 2.5D op- timizacijom u L/ ne mogu da budu veée nego L, tj. u L! mogu da se dobiju bolje aproksimacije funkeij Veps nego u L. Posledica toga je obiéno da se re- dukovani model £’ moze i dalje redukovati. Iterativni postupak uzastopnih redukcija moze da se zaustavi u jednom od sledeéih sluéajeva: (a) Gh = Gj. Tada je Gy = G* = Gi, pase u tom sluéaju dobija tatno regenje zadatka optimizacij (b) Interval u kojem je vrednost priblidnog redenja i/ili poloaj granice u prostoru manji je od nekog zadatog. U tom sluéaju, regen je za- datak optimizacije sa trazenom taénoséu; (©) Gi iG poklapaju se sa gornjom, odnosno donjom granicom (redukovanog) modela. LTa- da se dobijaju samo priblitno revenje i ocena odstupanja kao ato je opisano u 5. Prema tome, opisana metoda ne moie se strogo Kasifikovati ni kao pribligna ni kao taéna. Znagajno Je da je u praksi sluéaj (a) veoma éest. deja redukeije prvi put se pominje u [4]. U tom radu, redukeija se uvodi kao sredstvo koje pomade VOL. 1 BROS 2/4 1987, 67 RACUNARSTVO U NAUCI I OBRAZOVANIU dase smanji model, k timizaciji metodom grafova. Postupak koji se tano ialage znatno se razlikuje od postupka izlozenog u ovom radu. Osim toga, model uglova je krainje po- jednostavljen u odnosu na realno stanje i u odnosu na model koji se kasnije primenjuje u metodi gra- fova. Literatura 1. ‘Lerch H, Grossmann I F: Optimum Design of Open Pit Mines, Canadian Institute of Mines Bulletin, Jan. 1965. 2, Dugan Bratigevié: Primena raéunara u kon- strukeiji optimalne konture povréinskog otko- pa, Doktorski rad, Universitet u Beogradu, maj 1986. 3. Johnson T B, Shap W R: A Three Dimen- sional Dynamic Programming Method for Op- timam Open Pit Design, U.S.B.M. RI7558, 1971. 4, Barnes R J, Johnson T B: Bounding ‘Tech- niques for the Ultimate Pit Limit Problem, Proceedings of the 1%" APCOM, Golden, Ko- lorado, SAD 1982. Adresa autora: Duan Bratigevié 11070 NOVI BEOGRAD. Omladinskih brigada 220/I RACUNARSTVO U NAUCII OBRAZOVANJU 68 VOL. 1 BROS 2/4 1987. élanci ‘UDK 681.52, Razvoj er raficékog softvera hemijskih i hemijsko—inzenjerskih infonseeale JI.Savkovié ~ Stevanovié, G.Popovié, D.Poleti, M.Mitrinovié Kratak sadréaj: U radu je prikazan razvoj i primena grafickog softvera kao programske podréke za projektovanje i upravijanje hemijskih procesa. Pri tome je koriséena biblioteka grafickog softvera instalinana na mikroracunarskom sistemu Burroughs B20. Rezultati su prikazani u vidu datoteka grafickih informacija za tipiéne sisteme hemijskih procesa. To su moduli za videstupnjevitu separaciju, hemijsko indenjerske parametre i strukture hemijskih jedinjenja. Prikazani su i rezultati grafickih informacija nekih funkcija za modelovanje proizvodnih sistema. Kljuéne reéi: graficki softver, hemijski proces, modelovanje, strukturna formula jedinjenja 1. Uvod 2. Grafitka biblioteka i funkcionalne procedure Grafigki modul na sistemu Burroughs B20 podréava ——_Graficka biblioteka na sistemu B20 sastoji se od dva. osnovne graficke funkeije (linija, luk, krug, pravo- tipa procedura (1). Glavni deo biblioteke cine neza- ugaonik, ispunjavanje povréina, karakteri, progra- visne procedure koje se pozivaju pomotu grafickog mabilne veliéine i vrste slova). Ulogu grafickog pro- programa. Druge procedure ove biblioteke su za- cesora obavlja Intelov mikroprocesor 8086. Na sis- _visne procedure (zavisne od uredjaja) i iavrSavaju temu su instalirana tri programska paketa DRAW, ge brie od nezavisnih procedura. Funkeije nezar MULTIPLAN i BGP (Business Graphics Package) visnih procedura su: inicijalizacija, slika, predmet, (1-4). atributi, crtedi, tekst, tip slova, labela, transforma- cija, izgled, pokazivaé i dr. Zavisne procedure se jemi s sfora us hemiiskom i rmogu grupisati prema funkeijama koje obavijaju me me ae eee eee ar 581, ) ee sledeée kategorije: kontrola, boja, vektor, inverzna postoji i grafieki simulator GSCHEMER (Graphic ™n!pulacija i alfanurmeri¢hi atributi. i I Grafiéki softver na sistemu B20 dine programski Structured CHEM-o-SyntesizER) koji poktiva ope- i 8 Prog racije hemijske reakeije, razmenu toplote, komipre- _-Paketi DRAW, MULTIPLAN i BGP. DRAW pro- iju i ekspanaiju gnse gram omoguéava predstavljanje informacija pomoéu u panziju 8 dijagrama, Sema i crteza (2). U DRAW programu ‘Treéoj generaciji simulatora u hemijskom inge- U ovom radu je ispitivana moguénost grafizkog _-mogu se koristiti sledeée procedure: editovanje ob- prikaza razligitih hemijskih i hemijsko indenjerskih _jekta, kreiranje templit (template) Sabloniziranih informacija uporedo na tri programska paketa — objekata, otvaranje i zatvaranje prozora, promena DRAW, MULTIPLAN I BGP. Svrha ovih datoteka _palete i zatvaranje prozora, promena palete boja, grafidkih informacija je da posluée za kreiranje blo- __uveéanje linije, centriranje teksta ili objekta, kori- Kova potrebnih za analizu, modelovanje i projekto- _i¢enje predstavijene templit datoteke, izbor Zeljene vanje hemijskih provesa (6). templit datoteke, ponovno vraéanje ia sistema gre- Saka, ponovno vraéanje i2 CLEAR i prihvatanje HELP datoteka. Programski paket DRAW omoguéava korisniku ee dau potpunosti iskoristi sve prednosti kompjuterske clovi ovog Fada saopiteni ou na Tl jugtslovenstom Ste Lee eee eeestvo | proeent tehuke, tafike, Veliki broj kontrolisanih taéaka (1208x912) Durovnike maj 1987. na ektanu i poznavanje koordinata svake tazke ober VOL. 1 BROJ 2/4 1987 69 RACUNARSTVO U NAUGIT OBRAZOVANIU bedjuje postizanje visoke preciznosti i dobre rezolu- cije dobijenih slika. Moguée je kreirati, zapamtiti i kombinovati proste ili slogene objekte, tehnitke ertede i planove, elektriéne, proizvodne i upravljacke Seme, blok dijagrame itd. U ovom programskom paketu veé je programirano crtanje 30 prostijih ge~ ometrijskih figura (od taéke do spirale), aza crtanje Sema iz elektronike i blok dijagrama postoje posebne templit datoteke sa vetim brojem specifiénih sim- bola. Najzanimljivije je svakako ato se kombinova- ‘jem prostih slika mogu kreirati i memorisati slozeni objekti koji se kasnije porivajn pritiskom samo jed- nog tastera. Na taj nazin, svaki korisnik moze imati jedan ili vise svojih templit datoteks sa po 200 sim- bola koje éesto koristi u svojim crtezima. Iz TEM- PLATE menija se takodje pritiskom na taster SCROLL UP, bira objekat iz sledeéeg nivoa ob- jekata, a pritiskom na SCROLL DOWN bira ob- Jjekat iz prethodnog nivoa objekata. Programski paket MULTIPLAN stoji na raspo- laganju korisniku u dve veraije — MULTIPLAN i EMULTIPLAN (progireni MULTIPLAN)(4). Pro- gramski paket MULTIPLAN omogucuje sledeée funkeije: kreiranje radne povréine od 255 redova i 83 kolone, koristedi redi, brojeve i formule; proragun vrednosti radae povréine, automatski ili pomoéu komandi; dodavanje,brisanje, premestanje ili kop- ranje redova i kolona ; otvaranje protora na ekranu; moguénost da se levo od radnih povréina kopitaju postojeéi podaci drugih radnih povréina ; stampanje radnih povzSina ili delova radnih povréina; povezi- vanje sa BGP programima i pokazivanje alfabetske liste MULTIPLAN komandi kao i njihovog opisa. EMULTIPLAN omoguéuje: skladistenje radnih po- viéina u dokument promenljivog formata tako da se mote koristiti radna powrsina programa 2a obradu teksta; koridéenje iteracionih opcija, koriSéenje ras- polodive memorije u tekuéoj particiji za radnu po- vrdinu, displej radne povréine u boji i slanje poruke in B20 operativnog uptavljackog sistema. Programski paket BGP (Business Graphics Pack- age) veoma je pogodan za pretvaranje grafickih in- formacija na osnovu tabelarnih podataka, i to u vidu tri razligite interpretacije: histogrami, kruéni dijagrami i linijski dijagrami (3). 3. Graficki prikaz hemijsko inZenjerskih i hemijskih informacija Simboli za predstavljanje funkcija za modelovanje proizvodnih sistema kreirani u programu DRAW u datoteci GRAFPS, prikazani su u tabeli 1. Detaljniji o-femantras (phen Slika 2. - Primer strukturnih formula koje se nalaze u templit datoteci simboli za predstavljanje modula hemi kreirani su, pak, udatoteci GRAFEP, prikazan u tabeli 2. (2-8). Primena ovih specifignih simbola za predstav- Ijanje tokova hemijskih procesa ilustrovana je na primeru jednog sistema za razdvajanje destilacijom (9-13), koji je pokazan na si.1. Ova grafigka sekvenca kreirana je takodje u DRAW. U hemiji i srodnim naukama, jedinjenja se éesto predstavljaju strukturnim formulama. Ako se ele- menti takvih formula unapred programiraju u tem- plit datoteci, rad ée biti u velikoj meri olakéan. Kao primer, date su strukturne formule nekoliko organ- skih jedinjenja poznatih po svojim donorskim spo- sobnostima, kao to je pokazano na slici 2 Formule se po potrebi mogu modifikovati pove- éanjem, izdudivanjem, rotiranjem itd., kao ato je to pokazano ua sl.3. ‘Tako sada jednaéine: ih procesa sadriaj Cu(ag) + phen{ EtOH) = Cu(phen)(a9) Cu(phen)(ag) + pht(ag) = [Cu(pht)(H20)(phen)] motemo prikazati kao na sl.4 Istragivanjasu, medjutim, pokazala da prikazani kompleks ima polimernu strukturu u kojoj je bakar pentakoordiniran, a ftalat jon ima mostovnu ulo- gu (15). Ovo jedinjenje je Sematski prikazano na slici 5. (s) varajuée jedinjenje nikla: [Ni(pht)(H20)(phen)].H20. Odredjivanje njegove kristalne strukture (16) po- kazalo je oktaedarski raspored liganada oko nikla, a ftalat jon se, za razliku od prethodnog slucaja, ponasa kao monodentatni ligand (s1.6). Rezultati ispitivanja ravnoteznih hemijsko-inge- ajerskih parametara prikazani st pomoéu program- skog paketa MULTIPLAN u vidu dijagrama na sl.7. RACUNARSTVO U NAUCT I OBRAZOVANJU 70 VOL. 1 BROS 2/4 1987. TABELA 1 PROCES > ‘Pabela 1. ~ Grafiéki simboli za modelovanje proizvodnih informacija TABELA 2 RAZMENJIAC KOMPRESOR ‘Tabela 2. - Grafiski prikaz neki modula hemijsko-ingenjerskih informacija ETANOL VODA’ BENZOL Slika 1, - Prikaz sistema za azeotropnu rektifikaciju VOL. 1 BROS 2/4 1987. a RACUNARSTVO U NAUCI I OBRAZOVANJU N N x N QLSsP_§ SOS Slika 3. - Prikaz moguénosti 2a modifikaciju postojedih objekata cu(aq) + SD cron = & cu'(eq) Slika 4. ~ Jednaéina sinteze jedinjenja [Cu(pht)(Hz0)(phen)] prikazana pomogu strukturnih formula Slika 5. — Sematski prikaz kristalne strukture jedinjenja [Cu(pht)(H20)(phen)] RACUNARSTVO U NAUGI I OBRAZOVANIU 72 VOL. 1 BROJ 2/4 1987, Slika 6. - Sematski prikaz kristalne strukture jedinjenja [Ni(pht)(H20)(phen)].H20 UVOZ OBOJENIH METALA U SFRJ PREMA ZEMLJI POREKLA GODINA 1976 ITALIA 2.6% SR NEMACKA 8% V. BRITANIJA 8.8% Slika 8. - Prikaz izvoza obojenih metala VOL. 1 BROJ 2/4 1987, 73 RACUNARSTVO U NAUCI 1 OBRAZOVANSU a 3. Reference Manual B20 System Business Graphic Package (BGP) Release Level 4.0, Copyright Burroughs Corporation, Detroit, etanol{toluen Michigan (1984). 298. Bu8K 4, User's Guide, B20 Systems Multiplan , Relative to Release Level 1.0 Enhanced Multiplan, Level 3.0 Multiplan, printed in Ss US.A., feb. (1985). 5. Sawicki $.J.,Young R.D. Sund S.E., : Comp.Chem.Eng., 10, No.3, (1986) 297. 68. Savkovié-Stevanovie J.,Informacioni sistem u procesnoj tehnici, tem etanol-toluen po dvoparametarskom Nauéna knjiga, Beograd (1987). Wilsonovom modelu 7. CHEMSHARE DESIGN /2000, version 7.6046 ACHEMA SHORTCUT (1985) x,,mol/mol Slika 7. ~ Dopunska entalpija mesanja za sis- Tlustracija BGP programa pokazana je na pred- stavljanju iavoza obojenih metala (17). Prikaz je 8. Peters B.A., Chem.Eng.,May, 13 (1987) 95. dat na sl.8 pomoéu kruznih dijagrama. 9. Savkovié-Stevanovié J., Sep.Sci.Techn., 19, Nr.4-5 (1984) 283. 4. Zakljuéak 10. Savkovié-Stevanovié J., Chem.-Ing~Tech., 57,Nr.4 (1985) 368, Rezultati istragivanja u ovom radu predstavljeni su } 11. Savkovié-Stevanovié J., CHISA’84, u vige datoteka grafitkih informacija za predstav- ” ; Jjanje: funkejje modelovanja. proievodnih sistema, pane Cs 2 Ne Trees mene APSA) tokova hemijskih procesa i specifignih simbola 2a 12. Savkovié Stevanovie J., Simonovié D., predstavijanje strukturnih formula jedinjenja. Pri- J.Chem.Eng.Data,21 (1976)456. mena specifiénih simbola za predstavljanje toko- 7 ee poe Bo, va hemijskih procesa, diskutovana je na primeru 13. Savkovié-Stevanovié J., Bilten korisnika, azeotropne rektifikacije. Simboli 2a predstavijanje Informatika-Interkomere, Beograd, Vol-1, strukturnih formula prikazani su na strukturama Nr.1 (1986) 1 nekih kompleksnih jedinjenja bakra i nikla koji sa- 14. Stojakovié Dj.R., Poleti D.D., Aleksié R.R., drée ligande sa izrazenim donorskim sposobnostima. J.Serb.Chem, Soc.,50 (1985) 241. Renultati dobijeni u ovom radu mogu se u daljem * 5 ane razvoju i primeni programske podréke koristiti rav- 15. ee Lae Lj. Stojakovié Dj., noprayno sa numeri¢kim i bibliografskim datoteka- eta Cryst., C41 (1985) 43. ma i bankama podataka, 16. Poleti D., Prelesnik B., Herak R., Stojakovié Dj..X European Crystallographic Meeting, Literatura 1, Programmer's Guide, B20 Systems Graphics, Relative to Reléase Level 4.0, Copyright Burroughs Corporation, Detroit, Michigan (1985). 2, User’s Guide, B20 Systems - B20 Draw, Relative to Release Level 1.0, Copyright Burroughs Corporation, Detroit, Michigan (1984). Wroclaw, Poland,angust (1986) 17. Statistika spoljne trgovine SERJ, Savezni zavod 2a statistiku (1976). Adresa autora: Raéunski centar Tehnolo- Sko-metalurékog fakulteta u Beogradu 11000 Beograd Karnegijeva 4, P.O.B, 494, RACUNARSTVO U NAUCI I OBRAZOVANJU a“ Vot.1 BROS 2/4 1987, élanci UDK.681.82.00/08 Rastavljanje polinoma na faktore primenom matematitkih spektara Jovan D. Madié U radu je izlodena jedna nova spektralna metoda 2a rastavijanje polinoma ea celim koeficijentima na faktore, Najpre se razmatra rastavljanje pozitivnog polinoma i daje dovoljan uslov za dobijanje dva uzajamno dopunska pozitivna faktora. Proizvoljan polinom rastavlja se na faktore transformacijom u strogo pozitivan polinom (prvi nacin). Isto tako, daju se dovoljni uslovi za rastavljanje proizvoljnog polinoma na faktore (drugi nacin). Kijuéne regi: spektar polinoma, ritam, pruga spektra, multiplikativni izomorfizam, metod pseudospektra. 1. Uvod Dr K. Orlov je dao dve spektralne metode 22 ras- tavijanje polinoma na faktore {1]. Medjutim, ove metode su dosta nepraktitne abog velikog ritma spektra polinoma (nadjenog teorijski). U ovom radu izlozigemo novu spektralnu metodu koja se bazira na rezultatu Postnikova [2]. Za rastavljanje proiz- volinog polinoma na faktore dovoljno je resiti prob- lem njegove rastavljivosti i, u sluéaju pozitivnog odgovora, naéi bat jedan par uzajamno dopunskih faktora polinoma. U radu éemo razmotriti rastavijanje polinoma f(z) = aq2" tage" 4 -tayz+a9 (1) sa celim koeficijentima uz uslove a, > 0,n > 0. Uvedimo sledeée definicije i pojmove, koje éemno ko- ristiti u radu. DEFINICIIA 1. Polinom g sa celim koeficijentima (pozitivnog stepena) naziva se faktorom (deliocer) polinoma (1), ako postoji polinom s (dopunski fak- tor) sa celim koeficjjentima tako da vaii f = 9-s Polintom, koji nema delioce, naziva se nerastavijivim (nesvodljivim), Durinicisa 2. broj Spektar S polinoma (1) jeste ceo 10° >2-a, (3) Broj S je pozitivan zbog uslova ay > 0 i uslova (3). Ako spektar $ izdelimo redom na disjunk- ‘tne grupe od po A cifara zdesna ulevo dobiéemo pruge spektra %o, @1,... ,@n. Tada vadi zapis S = nQn—1*** 1. Razlikujemo velike i male pruge [6]. Pruga je velika ako potinje velikom cifrom (5- 6), mala ako potinje malom eifrom (0-4). Pored toga, imamo tri vrednosti pruga. ‘Nominaina vrednost, pruge je broj zapisan u pri- 1i, Poprauljena vrednost pruge je jednaka nominal- noj ili za jedinicu veéa ako je prva pruga zdesna mala , odnosno velika, Bfektivna vrednost male pruge jednaka je popravljenoj vrednosti, dok je efek- tivna vrednost velike pruge jednaka raalici poprav- Ijene vrednosti pruge i broja 10°. Ova poslednja definicija vati 2a pocitivne spektze. Eektivne vred- = Gn spektra $ i (2) jesu upravo jenti a;, = 0,1 polinoma (1). DerInicisa 3. Spektralni faktor spektra S a ritmom h jeste svaki aritmetitki faktor 5; broja $ koji sa ritmom h jednoznagno odredjuje polinom stepena n > 0. = max {lai} Napomena: Osnivaé teorije matematickih spek- tara je nad veliki matematitar M.Petrovié-Alas. Praktiénu primenu matematiékih spektara dao je S= f(10') (2) Konstantin Orlov. Citaoci, koji dele da se blige upoznaju sa ovom oblagéu, mogu koristiti sledeéu gde je h ritam spektra dobiven iz uslova literaturu: [1], [3], [4], [5], [6]. 75 RACUNARSTVO U NAUCIL OBRAZOVANIU VOL. 1 BROS 2/4 1987. 2. Pozitivni polinomi Derinicisa 4. Polinom (1) nazivamo pozitivnim ako su svi njegovi koeficijenti nenegativai, tj. On, > 0,0n-1 > 0,..-,41 2 0,29 > 0. Jasno je da je proiavod dva pozitivna polinoma potitivan. Medjutim, obrat ne vadi, Ritam h po- aitivnog polinoma mote se odrediti ia uslova h = (a), a = max;{a;}, gde je (a) broj cifara broja a. Sve tei veednosti pruge spektra pozitivnog polinoma su jednake, Kao prvi korak u regavanju opiteg problema ras- tavljanja proizvoljnog polinoma na faktore, Jakov- kin je predlozio razmatranje pomognog problema, (2). Zadatak Jakovkin: Za proizvoljan polinom, koji je pozitivan, naéi bar jedan par njegovih wza- jamno dopunskih pozitivaih delioca (ili dokazati da ‘ne postoji ni jedan takay par). Reenje ovog zadatka zasniva se na sledeéoj lemi i teoremi Lema: — Najveéi koeficijent proizvoda g +s dva pozitivna polinoma g is nije manji od najvedeg koeficijenta svakog od faktora. Doxaz: Neka su big i cj najvedi koeficijent poli noma g i s respektivno, Kako se koeficijent ai54;5 polinoma f = 9-8 izraéunava po formuli dis jo = big Cig +s, Bde tri taéke omnagavaju neke dopun- ske nenegativne sabitke, to vadi dig¢jg > big - Co: Otuda, najvedi koeficijent polinoma f nije manji od proizvoda bj, - jg » odnosno, nije manji od svakog koeficijenta bi, + Cj TEOREMA 1: Svi pozitivni uzajamno dopunski delioci pozitivnog polinoma f sa ritmom h imaju takodje ritain hi (ili manji), i pri tome ako vazi f = 2-8, tada je f(10*) = g(10*) - s(10") , odnosno Sp =S,°S.- ‘Teorema se dokazuje na osnovu prethodne leme i definicije spektra polinoma. Obrat teoreme ne vadi Specijalno, ako je S = a-, i ako sug i's asocirani polinomi, sa ritmom h, sa brojevima a i 6 respek- tivno, tada ne mora da vazi f = g-s. Na osnovu ‘ove teoreme mozemo formulisati sledeée pravilo 2a rastavljanje pozitivnih polinoma na positivne de- lioce. Pravito 1: Neka je f proitvoljan pozitivan poli- nom sa ritmom h., Formirajmo spektar Sy = f(10") polinoma f i rastavimo ga na uzajamno dopunske spektralne faktore. Za svaki par uzajamno dopun- skih spektralnih faktora S, i S, spektra Sp, formi- rajmo (sa ritmom h) asocirane sa njima pozitivne polinome g i s. Svi moguéi parovi uzajamno dopun- skih poritivnih delioca polinoma f nalaze se medju tako formiranim parovima (g,s). Zatim, raéunajudi proizvode g-s 2a sve takve parove i uporedjujuéi ih sa polinomom f, mi dobijamo rastavljanje datog polinoma f na proizvod dva pozitivna polinoma ili uutvrdjujemo da se polinom f ne oie rastaviti na potitivne faktore. Ukoliko je spektar $ polinoma f prost broj se ne mode rastaviti na par uzajamno dopunski spektralnih faktora, tada je jasno da se polinom f ne mofe rastaviti na positivne faktore. Gornje pra- vilo motemo poboljéati rnkovodeéi se sledegim pra- vilom izbora, kojim odbacujemo nepotrebue parove (Sp,,) wzajamno dopunskih spektraluih faktora spektra Sy polinoma f. Neka je 9 = bp2? toe tbo, 8 = Eyal tbe par uzajamno dopunskih delioca polinoma (1). Tada vaie sledeée jednakosti: n=ptg (4) = bp ey 6) by - eo (6) FQ) = (1) (1) @) Posmatrajmo ceo positivan broj S koji pred- stavlja spektar nekog polinoma f sa ritmom h. Oz- natimo sa 7(a) broj efektivnih vrednosti pruga spek- tra S_umanjen za jedan (stepen asociranog poli- noma), a sa o(s) abir efektivnih vrednosti pruga spektra S. Pored toga, neka d{s) odnosno £(s) ounatavaju prvu efektivnu vrednost pruge spektra S adesna odnosno slova. Koristeti uvedene oznake, jednakosti (4’) — (7') mozemo zapisati i ovako: r(s) 1(54) +7(82) @ Hsp) = Haq) +&(ss) (6) d(sy) = d(s,)+d(s,) (6) (sy) = (89) + 0(8,) @ Pravilo izbora: Za formiranje parova (9,8) uza- jamno dopunskih delioca polinoma f treba uzimati uobzir samo one parove uzajamno dopunskih spek- tralnih faktora (Sj, $7) spektra S; polinoma f za koje vaie uslovi (4) — (7) Za sluéaj pozitivnih polinoma i positivnih fak- tora uslovi (4) ~ (7) nisu samo potrebni veé i do- voljni, te vadi sledeéa teorema. TeoREMA 2: Pozitivni polinomi g i s, asocirani sa uzajamno dopunskim spektralnim faktorima S, RACUNARSTVO U NAUCI I OBRAZOVANJU 76 VOL. 1 BROS 2/4 1987 i S, spektea Sy pozitivnog polinoma f sa ritmom hh, jesu uzajamno dopunski faktori polinoma f ako i samo ako vafi uslov (7). DoKaz: Dokazimo da je uslov dovoljan. Neka je h ritam pozitivnog polinoma f i neka je Sy = f(10") njegov spektar. Nadalje, neka su S, i S, dva uza- jamno dopunska spektralna faktora broja S, (sa ko- jima su asocirani pozitivni polinomi a js) takva da vati uslov (7). Dokagiino da ja tada f = 9 +s. Pretpostavimo obrnuto, tj. dajeg-s = F (# f), pri éemu je: Pos Agth +--+ Aie+ Ao f Gnz” +--+ aye tay 9 = bpp tbe tbo s gt? ++ tee +c0 ‘Tada vaii uslov (4), odnosno N = p-+q . Koefi- cijenti Az, & = 0,...,.N polinoma F se odredjuju kao zbirovi svih proizvoda die; uz uslov i+ j = k Kako su koeficijenti aj, by, 4 (i= 0,1,2,...) jed- naki vrednostima odgovarajuéih pruge a, fi, 74 spektata respektivno Sy,5, iS, sa ritmom h, to znati da emo koeficijent Ax dobiti i kao zbir pro- iavoda 6-7; (uz uslov i+ j = &), ths Ag Disses 87- Dakle, Az mozemo dobiti i mnote- njent spektra Sy i S,, ali tako da se mnoge redom pruge spektra S, sa prugama spektra S,. Pri tome, prilikom sabiranja odgovarajudih proizvoda pruga Doajou 8:74 nesemo vrsiti prenos (cifara) na pozi- ‘ciju sledeée pruge. S druge strane, iz uslova Sy = S,°S, pruge ai spektra Sy (koje su jednake odgovarajuéim koefi- cijentima a; polinoma f) mogu se dobiti mnozeéi spektre S, iS, po prugama, ali sada sa uraéunava- njem prenosa (moguéeg). Simboli¢ki: Gino = (hp iBo) « (%q-*170) Pruga ao(= ao) jednaka je proizvodu pruga Bo «Yo, Umanjenom za prenos £9 na poziciju sledede pruge tj ay = Ag — 10" eo, Eo D0 (80) Nadalje, pruga ax(= a,) se dobija iz jednakosti Boys + Bro + €0 — 10%, gde je €1 prenos na poziciju pruge a. Posto je for + Aiyo = Ai, to vadi i jednakost (81): a, =A, +e0-10%, 6, 20 (81) Analogno se dobija ag = Ag+e1—10%e2, e220 (82) ina kraju ay =An +en-1—10"ew, ev>0 — (8n) ‘Time smo pokazali da je N 1i ne-negativnosti ptenosa ¢; i koeficijenta aj) us uslov fore =en=0, Oy = = ayy42 = any, =0 Ovim je dokazano da prilikom mnotenja spek- tralnih faktora S, i S, neée doci do prenosa ¢; iz rage u prugu (za svako i), odnosno da vadi VOL. 1 BROS 2/4 1987, 7 RACUNARSTVO U NAUCT 1 OBRAZOVANJU n=N, ay=Aog, 41 = A1,...,dn = AN To ujedno anaéi da, ako vali uslov (7), tada je ritam h saglasan sa operacijom mnogenja spektara 5, iS,. (Ovo bi bio jo’ jedan interesantan nadin 2a odredjivanje ritma h za proizvod dva spektra.) Na osnovu ove teoreme, zakljuéujemo da spek- tralni faktori Sy i S, dobijeni navedenim pravilom inbora dovode do uzajamno dopunskih faktora g i s polinoma f. 3. Primeri Kao ilustraciju datog spektralnog metoda navodirno nekoliko jednostavnih primera rastavljanja pozitiv- nih polinoma na faktore. Primer 1: Polinom f = 6z°+ 72° 44274247 ima ritam h = 1 i spektar S = f (10!) = 6700417. Is tablice prostih brojeva vidimo da je broj S prost. To anati da polinom f nema poritivnih delioca. PRIMER 2: Polinomu f = 7z°+25+4a4472+6 sa ritmom h = 1 odgovara spektar $ = f(10) = 7140076. Aritmetiski faktori broja S su 4 i 1785019, pri éemu 4 nije spektralni faktor spektra S. Zato se f ne mote rastaviti na pozitivne faktore. PRIMER 3: Polinom f = 225452445224. 8274 5z +5 ima ritam h = 1i spektar S = f(10') = 255855. Prosti aritmetitki faktori broja S su 3, 5, 37, 461, a svi moguéi parovi uzajamno dopun- skih spektralnih faktora jesu $ = 15 - 17057 = 37 - 6915 = 111-2305 = 185-1383 = 461-555. Potreban uslov (4) ispunjavaju prvi, treéi i getvrti par, dok potrebne uslove (5) i (6) ispunjava treci par. Ovaj par zadovoljava i dovoljan uslov (7), tj: 245+ 54+84+545=(1t1+1)-(24+34+0+5). Zato su uzajamno dopunski pozitivni delioci polinoma f upravo attatl, 29432745. PRIMER 4: _Naéi sve pozitivne delioce polinoma, f = 24+ 52%+ lle? + 132 +6. Ritam saglasan sa ovim polinomom je h = 2, a njegov spektar je = f (102) = 105111306. Prosti aritmeticki faktori broja 5 su 2, 3, 17, 101, 3401 i vadi rastavijanje S = 2-3-3-17- 101-3401. Posto su spektralni faktori brojevi > 100, to é parovi uzajamno do- punskih spekiralnih faktora biti: s 101- 104706" 102- 1030503" 153 687002 202-520353 = 303 - 346902 306 - 343501 606 « 173451 909 - 115634 1717-61218 1818-57817 3401-30906 3434 - 30609 5151-20406 6802 15453 10203 - 10302" Potreban uslov (4) zadovoljavaju samo parovi matkirani zvezdicom. Interesantno je da i dovoljan uslov (7) zadovoljavaju ovi parovi. Zato su parovi uzajamno dopunskih delioca polinoma f upravo: f = (+1): (2+42? +7246) = (w@+2)- (23 +32? +5243) (2? +32 +2)-(2? + 22 +3), t Kako je (2 + 1): (¢+2) = 2? + 32-42 to vali konaéno rastavijanje f= (2+ lfet+2)(2? +2243) Rastavljanje proizvoljnog polinoma na faktore Proiavoljan polinom oblika (1) mofemo rastaviti na faktore na dva nagina korigéenjem matematiskih spektara. Prvi naéin se zasniva na ideji Postnikova, a drugi natin je nova spektralna metods. Prvi natin: Posmatraimo obostrano jednomaéno preslikavanje f + f* skupa polinoma f u skup poli- noma f* koji ispunjeva uslove: a) iz jednakosti f= 9-s = f* y b) ako za proizvoljan polinom f i polinome g’ i #/, 2a koje vai f* = g's! postoje takvi poli- nomi g is tako da vali f=g-sig' = 9’, s* = 8! (odnosno, f set Takvo preslikavanje nazivamo multiplikativni izomorfizam (2). Kao multiplikativni izomor- fizam za rastavljanje proizvoljnog polinoma f na faktore koristiéemo preslikavanje f ++ fe, ge je fez) = f(z + ¢) ic neki fiksiran ceo nenegalivan bro}. Derinicia 5. ——_-Positivan polinom nazivamo strogo potitivnim ako je svaki njegov delilac po- titivan. RACUNARSTVO U NAUCI I OBRAZOVANSU 78 ‘VOL, 1 BROS 2/4 1987, TEOREMA 3: Za svaki polinom f oblika (1) pos- toji nenegativan broj c takav da je polinom f, strogo pozitivan Dokaz teoreme zasniva se na éinjenici da za broj ¢ mozemo uzeti najmanji ceo broj veéi od realnih delova nula polinoma f.U tom sluéaju, nule poli- noma f. imaée negativne realne delove, odnosno, polinom f- se rastavlja na delioce sa pozitivnim ko- eficijentima (u op&tem sluéaju sa realnim koefici- jentima), Na taj nagin, strogo pozitivni polinom f, moie se rastaviti na moguée pozitivne delioce, sto Je ekvivalentno sa zadatkom Jakovkina, Sledeée pravilo nam daje prvi naéin rastavijanja proiavolinog polinoma na faktore. PRAVILO 2: Da bismo rastavili proizvoljan poli- nom f oblika (1) treba: 1) naéi ceo nenegativan broj ¢, takav da je poli- nom g = fe strogo pozitivan, 2) rastaviti polinom g na moguée poritivne de- lioce I= 1920 3) dobiti detioce fy, fo, novu formule f= (i)-o fr polinoma f na os- §21,2,057 Za broj ¢ motemo uteti najmanji ceo broj vedi od broja 1+ A, gde je A = maxie(os,..n-1) {lal} » Sto je pomato iz linearne algebre. Pored toga, broj c mogemo odrediti kada su poz- nate pribligne vrednosti nula polinoma f ili za ¢ uzeti proizvoline cele brojeve i proveravati da li je polinom f, strogo poritivan nekim od kriterijuma 2. Druginaéin: Kod rastavljanja proiavoljnog poli- noma f oblika (1) na uzajamno dopunske faktore g i 8, mofemo postupiti kao u odeljku 2, kod rastavlj nja pozitivnog polinoma. Prvi problem je utvediti ritam A koji je saglasan sa polinomima f, g, i i sa operacijom mnoienja spektara polinoma g i s. Drugi problem jeste kako utvrditi da li smo naéli uzajamno dopunske faktore is polinoma f na osnovu spektralnih faktora S, iS, spektra Sy poli- noma f. Prvi problem regava ritam h = max {J hi}, gde je Hf ritam datog polinoma f, a hi je najveéi moguéi ritam koji je saglasan sa faktorima polinoma f. Ri- tam hy faktora polinoma (1) se odredjuje po Orlovu [1] na sledeéi nagin: hy = int (11) +2 (13) hh = ie ( ne )+ +(n ~ 1)log(an + Az) — (n ~ 2) logan us A= Drugi problem redavaju sledeée dve teoreme, pri Zemu za prva nemamo dokaz, pa je dajemo kao hipotezu. Hipoteza: Polinomi g i s, asocirani sa uzajamno dopunskim spektralnim faktorima S, iS, broja S = J{(10"), h= max{H, hy}, gde je H ritam polinoma f na osnovu (3) a hy dobijamo iz (13), jesu uza- jamno dopunski faktori polinoma f ako i samo ako vaie uslovi (4)-(7). Za primenu ove hipotene vali analogno pravilo i pravilo-izbora kao i za pozitivne polinome. Sledeca teorema bazira se na metodi pseudospek- tara i pogodna je takodje za prim TeoREMA 4: — Polinomi g i s, asocirani sa uza- jamno dopunskim spektralnim faktorima S, i S, -spektra S; polinoma f sa saglasnim ritmom h, jesu uzajamno dopunski faktori polinoma f ako vati £20) =9 (10) -s(10) (4) Dokaz: Nekasu S, i S, uzajamno dopunski spek- tralni faktori spektra S, polinoma f sa ritmom h, koji jednoznatno odredjuju polinome g i s. Tada S,=9(10") iS, =s(10") odnosno, £(10*) = g(10*) - s(10") (15) Dakle, ritam A saglasan je se polinomima f, 9 i's. Pored toga, na osnovu (14) i (15) i metode pseudospektara ritam A je saglasan isa operacijom mnotenja spektara polinoma g i s. Zato vazi f(z) = (2) -3(z) Napomena 1: Za primenu teoreme 4 zgodno je koristiti uslove (4)-(7) 2a izbor spektralnih faktora 5, i S, spektra S; polinoma f. Napomena 2: Kod vetine polinoma vati h > hy, gde je h ritam polinoma f ah, ritam njegovih fak- tora. Zato za primenu hipoteze mozemo na potetku uzeti ritam A iz uslova (3), a zatim ga postupno poveéati do teorijski moguée vrednosti h, iz uslova, (13). VOL. 1 BROJ 2/4 1987 79 RACUNARSTVO U NAUCI I OBRAZOVANJU ‘Na kraju navodimo nekoliko primera za ilus- traciju teoreme 4 i hipoteze. Primer 1: — Rastaviti polinom f = 2* +529 + 32? — 7242 na faktore (nerastavijive polinome sa celim koeficijentima). Ritam h saglasan sa f je broj h = 2 (jet je 10? > 2+ maxj{las|}), dok je spek- tar S$ polinoma f broj $ = f(10%) = 105029302. Razlaganjem bioja J na proste faktore dobijamo S=2-7-19-31-47-271, Medju moguéim parovima uzajamno dopunskih spektralnih faktora broja S samo par (S,,5,) = (10199, 10298) zadovoljeva us- love (4)-(7) hipotese. Kako su nizovi efektivnih vrednosti pruga brojeva $, odnosno S, 1,2,—1 od- nosno 1,3,-2, tojeg(z)=2t4224+1 , 9(2)= 2? 432-2 Napomena: U radu [1] za ritmove hy ih dobijeno Je hi =5, h = 22, sto je u odnosu na nagu vrednost h = 2 dosta neracionalno. PRIMER 2: Rastaviti polinom f = 2*—3z+2na faktore. U ovomsluéaju je = 11S = f(10") = 72. Vati rastavijanje $= 72 = 2-2-2-3-3. Uzajamno dopunski spektralni faktori broja S su 6-12 = 8-9. Medjutim, samo par 8,9 zadovoljava uslove teoreme, 4, jer vaai jednakost (14), odnosno 9702 = 98 - 99 te su zato g=2—2,8= 2-1 usajamno dopunski faktori polinoma f. PRIMER 3: Rastaviti polinom f = 229+ 492? — 482 — 3 na faktore. Ritam polinoma je h=2, te je njegov spektar $ = {(10%) = 2485197. Pri tome vasi S = 3-3- 11-13-1931. Jedini par uza- jamno dopunskih spektralnih faktora broja S, koji zadovoljava uslove (4), (5) i (8) hipoteze, jeste par Sy = 99 i S, = 25103, ali ne zadovoljava uslov (i). Zato, poveéajmo ritam h za 1 i ponovimo postupak, Dobijamo: h = 3, S = 2048951997 i S = $-3+3-37- 2051003. Par uzajamno dopun- skih spektralnih faktora broja S, koji zadovoljava uslove (4)-(7), jeste par (Sg, Ss) = (999, 2051008) koji daje trazene faktore polinoma f: gz) = 2-1, 9(z)= 227451243 Na analogni naéin, primena teoreme 4 dovela bi do trazenih faktora polinoma f, Interesantno je da se koeficijent 51 faktora s(2) "vidi" u spektralnom faktoru S, = 25103, ali poito je pruga 51 velika, ona dovodi do koeficijenata -49) Zakljuéak Primena matematitkih spektara skopéana je sa problemom izvodjenja ragunskih operacija sa ”ve- likim” brojevima. Konstantin Orlov je primenu spektara realizovao na racunskim maginama (kalku- latorima), koriste¢i éesto operaciju ”cepanja” spek- tara.na dva ili vide delova (6). B. Mihajlovié je dao jedan program za realizaciju proiavoda dva spektra (1). Medjutim, do danas nije formirana programska podrska za automatski rad sa matematitkim spek- trima, Stoga je interesantno definisanje program- skog jezika za rad sa spektrima i izgradnja odgo- varajuéeg programskog sistema koji bi omoguéio ‘menu matematitkih spektara. Rea- je je predmet daljeg rada autora ovog Literatura [1] K. ORLOV, Aritmeticke i analititke primene matematiskih spektara, doktorska teza, Beograd, 1935. 2] M. M. POSTNIKOY, Razlodenie mnogoélenov na mnofiteli, Matematika v Skole, No 3, Moskva, 1969, 18-24. [3] M. PETROVIC, Les spectres mathematiques, Paris, 1919. [4] M. PETROVIC, Lesons sur les spectres mathematiques, Paris, 1928. [5] K. ORLOV, Aplikation pratique de la theorie des spectres mathematiques de M. Petrovitch au calcul numerique, La Revue scientifique, Fasc.4, Paris, 1953. {6] K. ORLOV, Numerizka spektralna aritmetika i algebra, Drustvo matematigara, fizigara i astronoma Srbije, Beograd, 1973. [7] B. MIHAJLOVIG, Realizacija proizvoda dva spektra na cifarskim raéunskim mafinama, Matematicki vesnik, 4 (19), 1967, 119-122 ‘Adresa autora: Filozofski fakultet, Grupa za matematiku, 13000 Nis Cirila i Metodij RACUNARSTVO U NAUGI I OBRAZOVANJU VOL. 1 BROS 2/4 1987. élanci Mogutnosti primene konaénih automata u modeliranju aritmetickih operacija Miroslav Martinowié Kratak sadréaj: Ovaj rad je na ternu moguénosti primene konaénih automata za modeiiranje binarnog sabiranja i nemoguénosti primene kod binarnog mnozenja. Prvi deo rada je, u stvari, prezentacija konaénog automata koji proverava korektnost obavljenog binamnog sabiranja, dok drugi deo daje dokaz teoreme da proveru binarnog mnoienja nije moguée sprovesti ovim sredstvima. Dalje slede zavrsni komentari i zakljué Kljutne rei: konaéni, automat, modeliranje, binarni, sabiranje, mnodenje. 1. Uvod ty fy fy /v o}.fo}. fr}. fa] >, Dobro je poznata éinjenita da se konaéni automati o/ \a) \o, 1 (a takodje i njihov ekvivalent — regularni jezici) mogu koristiti, @ i vrlo Siroko koriste, u modeli- automat ée prihvatati niske binarnih trojki ranju mnogih komponenti racunara, Leksi¢ka ana- liza u teoriji prevodilaca programskih jezika na primer, pokrivena je klasom regularnih izraza, koja je takodje pojam ekvivalentan klasi konagnih au- tomata. Sledeéi sluéaj vezan za problematiku moteli- ranja konagnim automatima, interesantan je kako sa praktignog stanovista moguénosti izgradnje po Jedinih komponenti, tako i sa teorijskog stanovista, jer donoseéi jedan priliéno neogekivani rezultat go- vori o granicamia do kojih je moguée koristiti ovaj koncept. Prva. da se provera binarnog sabiranja mote izrazi graditi u terminima konaénih automata. njenica je (i relativno poznata i ofekivana) 2. Modeliranje binarnog sabi- ranja konaénim automatom ‘Teorema 2.1: Postoji konaéni automat koji vrsi, proveru binamnog sabiranja (binary addition check- er) Dokaz: Uzimajuéi za alfabet (06-00) (:) @)-@) ako je 21...29 suma od 21...2n i ph..Jn kada se ove niske tretiraju kao binarni brojevi (niz nula u pogetnom delu broja je dozvoljen). Niske se uéitavaju sleva na desno. Jednostavno se moze pokazati da automat K (4,Q,6,F), gde je Q skup unutrainjih stanja dat sa Q= {a1,92, 98}, F skup zavrénih stanja dat sa F={n), i 6 funkeija prelaza data dole navedenim dija- ‘gramom, reSava ovaj problem. Zavrino stanje je ujedno i poéetno stanje qi, dok stanja qo i g3 mozemo okarakterisati.sa "ogekuje se prenos” (qa) i”orsokak” (qa) u skladu sa njihovom semantikom. Stanje q; je "do sada je sve u redu” stanje. Sledeéi primeri ée ilustrovati rad ovog automata. Ispred i iza svakog simbola navodi se stanje u kome je automat bio pre i posle iséitavanja tog simbola, respektivno. Ptvi primer predstavlja korektno binamo sabi- ranje i, dakle, automat ée okonéati rad u svom VOL. 1 BROS 2/4 1987. RACUNARSTVO U NAUCII OBRAZOVANJU Slika 1. ~ Funkeija prelaza (6) zavrinom stanju 91 “0-0-0 -()-Q)-Q-() Drugi primer nije binarno sabiranje, te automat ne staje u svom zavrinom stanju, veé u stanju qs, koje nije zavrino, pa, dakle, niska simbola i nije pri- hyvaéena (automat je dospeo u ”éorsokak”, od cega. se ne mofe oporavil 0 L 1 V am [Oar] lf} a fi} a | o L 1 9, 1 1 0 1 V [0] 93 [0] a3 | 0] a9 | 1) 4s. 0, y, 0, 1 U treéem primeru automat konaéno ostaje u stanju "oéckivanja prenosa” q2, kojé takodje nije tavrino, pa dakle niska opet nije prihvadena: -B-Q-O6 -B)-Q-G6) Korektnost ovog binarnog sabirafa mote se proveriti testiranjem njegove Pascal implementacije date u dodatku ovog teksta. Ova implementacija je uobigajena programska implementacija jednog konaénog automata. Nemoguénost modeliranja binarnog mnoZenja kona- énim automatima Na izenadjenje, 2a provera binarnog mnotenja moé konaénih automata se pokazuje nedovoljnom, S obzirom na dinjenieu da se o mnoienju uglavnom ramniilja kao o "uzastopnom sabiranju”, dakle neem vrlo srodnom, raalika u njihovoj slozenosti je upravo okarakterisana (ne)moguénoséu konagnih automata. Teorema 3.1: Ne postoji konaéni automat koji bi proveravao korektnost binarnog mnozenja. Dokaz: Ukoliko bi takav automat postojao, on bi imao nekih k stanja i morao bi da prihvati i sledeéu nisku, koja predstavlja korektno binarno mnozenje 2+ek (2 na potenciju &) sa 244k (sa 2+* (24k) kao RACUNARSTVO U NAUCII OBRAZOVANIU 82 VOL. 1 BROS 2/4 1987, requltatom), odnosno reé w, opisanu i datu sa: 0\ (o\** A) /o\* w= ]0 0 1 0 y} \o) — \o/ \o Ovde je koristena oznaka n puta za slovo ili reé z koja se ponavlja n puta uzastopce u nekom kontekstu. Y toku isgitavanja zadnjih k simbola automat je morao biti bar u jednom od svojih stanja dva puta. Dakle, mozemo pisati: o\* oy" ov! f0 Oo} =|0 0 0 9, o} \o} \o, gde je automat u stanju q i posle isitavanja. ( . 0 ¢y o} i fo} fo} (#0). 9, 0, 9, Dalje, posto je w prihvaéena, s obsirom na prethod- nu Ginjenicu automat ée prihvatati i sledecu reé: ‘ 0\ fo\*"! o\ /o\*** o| fo 1} fo if \o y \o Medjutim, ofigledno da ovo ne predstavlja ko- rektno binarno mnofenje! 4. Zakljuéak Dakle, mote se zakljuéiti da je mnofenje arit- meticke operacija koja je prebrzo rastuéa da bi se mogla modelirati konagnim automatima, jer p cija koja se moze promeniti binarnim mnogenjem mote biti "isuvige daleko” od najjaée potencije 2a operande (na "putu” koji je dudi od broja stanja). U sluéaju sabiranja, ono sto se menja je u naj- gorem sluéaju pozicija susedna najjaéoj potenciji operanada, a ta razlika 1 je neato Sto se mode pokriti brojem stanja konaénog automata, koji je UVEK vedi ili jednak jedan. Dodatak Programska implementacija binarnog sabiraéa, PROGRAM BINSAB (IKPUT, OUTPUT); {$B-} CONST MAXBROJCIFARA = 50; WULA = 0; JEDAN = 4; ‘TYPE BINCIFRE = NULA. .JEDAN; WENEGATIV = NULA. .MAXINT; SIMBOL = RECORD PRVI : BINCIFRE; DRUGI : BINCIFRE; TRECI : BINCIFRE END; VAR NISKA : ARRAY [1..MAXBROJCIFARA] OF SIMBOL; I,N,BR: NENEGATIV; UREDU ; BOOLEAN; PROCEDURE UCITAVANJE; BEGIN WRITELN (’UCITATI BROJ SIMBOLA ZA UN OSEKJE’); READ (BR); ¥:=0; WRITELY; WRITELN (’UCITATI SIMBOLE, CIFRU PO CIFRU’); WAITELN (°SVAKI U PO JEDAN RED?); WHILE N
Regularity Preserving Relations” ‘Theoretical Computer Science Arden, D.N. (1960) Delayed Logie and Finite State Mashines” ‘Theory of Computing Mashine Design ‘Axbib, M.A. (1970) Theories of Abstract Automata” Prentice Hall, NJ Prirodno-matemati¢ki fakultet Universiteta u Beogradu OOUR MMA 11000 Beograd Studentski trg 16 Vou. 1 BROY 2/4 1987. 85 RACUNARSTVO U NAUCIT OBRAZOVANIU élanci [UDK 810.0824.80 Mizar MSE - sistem za kompjutersku podrsku uéenja osnova matematike Roman Matuzewski Kratak sadriaj: U radu je dat kratak prikaz jezika MIZAR i opisane moguénosti njegove primene u nastavi, Na kraju rada izlozene su moguénosti drugih primena ovog jezika, Kljuéne reti: Mizar, méunar, uéenje, dokaz, dedukcija. 1. Uvod Familija jezika Mizar je kompjuterski orijentisana formalizacija matemalike, a istovremeno je i sem otitka rekonstrukcija jezika matematike. Namenjei su pisanju matemati¢kih tekstova u obliku k ‘omoguéuje automatsku verifikaciju ispravnosti ra sudjivanja, Autor jezika je Andree} Trybulec sa Warsaw University, Bialystok College. Jedan od tih jezika je MIZAR MSE(1), jezik multisortnog raéuna predikata i reda sa jednakodéu (Multi Sorted with Equality). Sluzi 2a uéenje uz pomoé kompjutera u oblasti klasigne logike, a takodje inekih drugih delova matematike (npr. ge- ometrije, teorije skupova itd.). Nagin rekonstruisa- anja dokaza zasnovan je na sistemima prirodne de- dukeije (uslovni dokazi ~ conditional proofs) koji su tradicija poljske skole logike ( Borkowski, Slupecki, Jaskowski ). 2. Prikaz jezika MIZAR. Detaljan opis jezika Mizar MSE dodat je u refe- renci [1]. Za kratak prikas jezika, u ovom radu, koristiéemo se ilustracijom jezika na sledegim pri- environ let x,y,z denote point; let K,L,M denote cercle; = "oO" je nejednakost "in" je predikat pripadanja for KL st KOL st in{x,K] & not in{x,L] begin exercise: (ex K,L,M st KOL & LOM & KOK) implies (ox x,y,z st 6 xOY R yOz & 20x) proof given K,L,M such that KOL & LOM & HOK; consider x such that infx,K] & not in[x,L] by 1, axione; consider y such that inly,M] & not inLy,K] by 1, axiom consider z such that infz,L] & not in[z,™] by 1, axione; B: xOy by 4, 2,35 yor by 1,3, 45 xOz by 1,2, 45 hence ex x, y, z xOy & yOu k 20x by 6, 6 jokaza st end ‘Tekst Mizar-a sastoji se iz dva dela. Prvi, koji potinje regju environ predstavija aksiomatiku koja se sastoji od aksioma teorije i rezervacije tipova za promenijive. Primetimo da taj deo teksta (ak- siomatika) i pravila izvodjenja predstavijaju logicki aparat teorije. U aksiomatici kompjuter proverava, samo sintaksnu ispravnost, RACUNARSTVO U NAUC! 1 OBRAZOVANJU 86 VOL. I BROS 2/4 1987, U nagem primeru rezervisana su dva tipa point i cixcle za promenljive i axion koji govori da 2a dva razna kruga postoji tatka koja pripada prvom od njih i ne pripada drugom, U Mizaru MSE for je skraéenica za for every, st ~ such that, ex - exist, <> ~ simbol nejednakosti, == - je anak iza kojeg stoji komentar. Drugi deo teksta potinje od reéi begin i sas- toji se preteino od dokaza teoreme. U tom delu, kompjuter osim sintaksne ispravnosti proverava i logitku ispravnost. grana dokaza, kao i ispravnost, konstrukcije dokaza. U nagem primeru dat je 2a dokazivanje sledeéi fakt: Ako postoje tri razna kruga, tada postoje tri razne taéke, Oslanjajudi se na axion, tvrdjenje je dokazano uz polaznu pret- postavku o egastenciji tri razna keuga. Zatim, uve- dene su tri pomoéne tatke x, ¥,2, koje zadovoljavaju axiom (retenice 2:, 3:, 4:). Koristeéi pravilo ek- stenzionalnosti za jednakost u sledeéa tri koraka dokaza, pokazano je da su te tri tazke medjusobno razligite. Dokaz je zavréen konstrukeijom da pos- toje tri razne taéke, pri Cemu je koristeno pravilo invodjenja existential generalization rule. Dokazivanje u Mizaru MSE je zasnovano na tri pravila konstruisanja dokaza: generalizacija (gen- eralization rule), jednoj verziji teoreme o deduk- ciji Tarskog (deduction rule). Osim toga, nastaju takozvani pomoéni elementi dokaza kao posredni koraci u provodjenju rasudjivanja. Napisati ispra- van dokaz u Mizaru, to znaéi napisati dokaz koji ée biti akceptovan od strane checkera sistema Mizar MSE. Checker je procedura koja proverava: 1. Je Hi zakljuéak oblika: Bayes Be @ 4a tekst u Mizaru MSE Ts Ais ks Bs a by 1)... ispravan. 2. Jeli teza dokazana. Checker koristi pravilo dictum de omni iamedju ostalog prihvata izvodjenja racuna iskaza, pravi la de Morgana za raéun predikata, mode radit sa osnovnim osobinama jednakosti (refleksivnost, simetrija, tranzitivnost, ekstezionalnast) Algoritmizacija proveravanja ispravnosti izvo- djenja i rasudjivanja za ciljeve ucenja, zahteva pre- iano definisanje i opis moti checker-a i istovremeno daje moguénost izbora takvog checker-a kakav nam jepotreban. Na taj natin mozemo precizno odrediti ‘obim logicke umesnosti koju zahtevamo od uéentka ili studenta. 3. Primena u nastavi Praktiéno uéenje pomocu Mizara MSE odvija se po sledeéoj Semi: 1. Nastavnik priprema uéenicima aksiomatiky potrebnu 2a reSavanje zadataka. 2. Usenik pide na kompjuteru, pomoéu editora, tekst dokaza zadane teoreme. 3. Kompjuter analizira tekst i proverava doku- mentaciju dokaza sa preciznom dijagnostikom, gregaka, ukljueujuéi i gredke u konstrukeiji dokaza, a takodje govori o nedostacima u rasudjivanju, 4. Usenik, nakon eventuainih konstrukcija, po- pravija i ponovo unosi tekst u kompjuter, ponavljajuéi taj ciklus eve dok ne dobije is- pravan dokaz. Na taj natin realizovana didaktika daje uéeniku vlastitog mentora kakav je kompjuterski sistem koji proverava reSavanje zadataka, Nastavnik je potre- ban 2a konsultaciju u slucaju ozbiljnijih gresaka. Pregentovana metoda uéenja pomoéu kompju- tera primenjivana je iamedju ostalih uz * dopisnom kursu logike u matematiékom listu DELTA, Poljska (2), © kursu diskretne matematike na University of Conecticut, USA [3], © kursu metodologije fizike na University of Warsaw, POLISKA, © kursu formalnih sistema u informatici na Uni versity of Alberta, Canada. Nabrojane praktigne primene Mizara MSE i iskustva u vezi sa njima, dozvoljavaju moguénost niza primena tog sistema: © didaktika logike i nekih elementarnih teorija raguna predikata (geometrija, klasigna anal za), « ucenje konstruisanja ispraynih dokaza i njiho- vog redigovanja, razvoj intuicije raspoznavanja ispravnosti ko- raka rasudjivanja, © razvoj rasumevanja pojma dedukeije (npr. u metodologifi fizike }, VOL. 1 BROS 2/4 1987, 87 RACUNARSTVO U NAUCII OBRAZOVANJU @ uéenje logike kroz praken ovladavanja poj- movima, «# alternativno uéenje nekih matematitkib teo- rija (npr. aksiomatske verzije projektivne ge- ometrije, nacrine geometrije). TzleZemo logiku kada pomoéu nje Jelimo da nauimo sluSaoce da ispravno provode rastdjivanje. Testiramo, dakle, logiku kao orudje rasudjivanj ‘To orudje moguée je osetiti kroz uéenje konstruisanja ispravnih matematitkih dokaza, Kori8éenje for- malnog jezika pod kontrolom kompjutera zahteva cod uéenika izvodjenje rigoroznih rasudjivanja, veri- fikacije koje leme treba koristiti, koje pomogne ko- rake, koje pomogne objekte. ‘Uuskom smislu, Mizar MSE moze biti primenjen za dokativanje osobina programa, a takodje za dokumentaciju matematiskih radova [4]. 4, Implementacija jezika ‘Mizar MSE implementiran je u jeziku PASCAL na. sledeéem kompjuterima: APPLE II, IBM PC, Am- dahl, Rainbow, VAX, PDP-11/45, IBM 370/158, HP-9000, AMSTRAD/SCHNENDER. Za IBM PC, Mizar MSE je dostupan kroz electronic mail: INFO - IBM PC SRI. ARPA. 5. Moguénosti drugih primena Provodjenje je takodje jedna od primena Mizara MSE. Matematicki tekst zapisan u tom jeziku, preveden na prirodni jeaik (natural language) mote slugiti kao didaktiéka pomoé pri uéenju osnovnih teorema i teorija. U stuéaju regionalnih jezike, koriétenih od strane male grupe ljudi, br2o i jeftino automatsko prevodjenje moglo bi imati primene pri izdavanju priruénika iz oblasti osnova matematike Sligne primene mognée su i u sluéaju rasprostra- njenih jezika, koji se karakterisu malom popular- nodéu van odredjenih granica (kineski [5]; japanski, arapski). Sistem prevodjenja povezan om, davao bi tekst pogodan za didaktiku, o€iséen od meritoriékih greSaka i jasno sistematizovan. Prevodjenje sa jezika Mizar MSE na naturalni jezik zasniva se na pretvaranju teksta Mizara na. unutragnji semanti¢hi oblik, a zatim sledi sinteza naturalnog teksta. Prevod se odnosi na jeaiéke kon- strucije koje ulaze u sastav dokaza. Na osnovu tih pareijalnih prevoda, gradi se pre- vod celog dokaza, a takodje prelaz sa strukture u zagradama (parenthese), svojstvne maainskom tek- stu, na strukturu u alineama (alinea), svojstvene tekstu naturalnog jezike. Vazan je izbor odgo- varajuéeg bogatog reénika prevodjenih izraza regi jevika Mizar MSE, svojstvenih gramatigkim kon- strukeijama Mizara i karakteristignih jeaickih obrta matematitkog teksta. Translator iavodi strukturnu analiau ulaznog teksta i multiplikativau anatiau gramatickih konstrukeija, u ciljupromene struk- ture u zagradama u strukturu u alineama i istovre- meno za odstranjivanje monotonosti dobivenog tek- sta, Istradivanje nad tim prevodjenjem provode se u Poliskoj [6] i USA [5]. Bibliografija [1] Trybulec A. - Jeayk informacyjno ~ logiceny Mizar MSE (Logic Hormation Language Mizar MSE), ICS PAS Re- ports Nr 465, Warszawa 1982, (in Polish} [2] Mostowski M, Trubulee Z. = A Cettain Experimental Computer Aided Course of Logic in Poland, Proceedings of World Confer- ence on Computer in Edocation IFIP/AFIPS, Nor- folk 1985, North Holland, (to appear) [3] Trybulec A, Blair H. = Computer Aided Reasoning, Logic of Programs, Brooklyn 1985, Lecture Notes in Computer Science No 198, Springer - Verlag [4] Cryszczyszyn ~ An exemple of the use of computer in mathemati- cal work, Studies in Logic, Grammar and Rhetoric, Bialystok 1984 [5] Qin Bin - Translation Mizar MSE texts into Chinese, Uni- versity of Connecticut T.R., 1985 (to appear) [6] Matuszewski R. - On Automatic Translation of texts from Mizar - QC Language into Polish, Studies in logic, Gram- mar and Rhetoric, Bialystok 1984, (in Polish) [7] Matuscewski R. ~ Mizar MSE - Enseignement des Fondements de la Mathematique appuye par Ordinateurs, Monastir (Danis), 1986 02 - 792 Warszawa - Natolin Lasek Bizozowy 15 m.9. POLAND Adresa autora: RACUNARSTVO U NAUCI] OBRAZOVANJU 88 VOL, 1 BROW 2/4 1987, élanci UK sri.evaai.s2 Basic u poéetnoj nastavi ra¢unarstva i informatike Nedeljko Parezanovié Kratak sadrzaj: Clanak obradjuje probleme pocetne nastave racunarstva i informatike zasnovane na programskom jeziku BASIC. U ovoj nastavi neophodno je uskladiti vise ciljeva koji su prisutni u ovakvom kursu. To su opsteobrazovni eilj kursa, sticanje znanja iz raunarstua i informatike potrebnog u nastaznu skolovanja, uéenje programiranja i algoritamskog resavanja zadataka. Sve v0 mora biti realizovano kroz BASIC-jezik. Izlaganje u Glanku je zasnovano u udzbeniku RACUNARSTVA I INFORMATIKE u okviru predmeta OTP za I razred srednje skole. Cilj élanka este da nastavnicima pruzi pomoé u realizaciji kursa, tako Sto ée kroz élanak sagledati bitne sadriaje kursa i njihovu vrednost sa gledista, pre svega, opsteg obrazovanja, a zatim i drugih ciljeva kursa, U celom kursu BASIC-jezik se javlja kao sredstvo za realizaciju nastave, a ne kao objekat izuéavanja u nastavi. Naravno, to se ne moze u potpunosti postici, ali je neophodno koristiti i2 BASIC-a one moguénosti koje najbolje doprinose ovo cilju. Kljuéne revi: BASIC, podetna nastava, raéunarstvo i informatika, podatak, struktura podataka, struktura programa, mikroraunar. . Uvod nata, nastavnici, kao izvodjadi nastave, moraju biti .u potpunosti svesni i moraju imati u ovom pogledu U strugnim krugovima u svetu, pa iu nas, dosta —_évrsta opredeljenja. Dakle, nastaynik mora znati se raspravljalo, a i sada se raspravlja, na temu pr- _koji sadraj imaju op8teobrazovne vrednosti, koji vog programskog jerika u obrazovanju. Odmah da su neophodni kao znanje ia ragunarstva, a koji su bude jasno da ovaj tlanak nema te namere, iako specifiénost BASIC-jezika. autor stnatra da je to interesantna i do kraja.neis- expna tema. Zapravo, u dlanku se polaai od toga 4.4. Qpsteobrazovni znataj da je BASIC taj prvi jezik koji se uéi u Skoli, Raz- : raéunarstva log za to je jednostavna éinjenica da je, po novim nastavnim programima, u nagoj srednjoj Skoli BA- © opsteobrazovnom znagaju raéunarstva postoje SIC predvidjen za prvo uéenje programiranja i prvi podeljena misljenja. Od onih koji smatraju da se susret je predvidjen nastavnim programom Osnova _ova oblast’ mote izuéavati samo kao opstestruéni tchnike i proizvodnje, kao blok nastava uTrazredu li uzestruéni predmet, do onih koji smatraju da srednje skole. Kako ovaj predmet pripada grupi se savremeno obrazovanje ne mote zamisliti bez opsteobrazovnih predmeta, to isadréaj ragunarstva —_opteg obrazovanja u oblasti raunarstva i infor- i informatike, u okviru ovog predmeta, treba da matike, Ima dosta razloga abog kojih treba verovati ima opéteobrazovni karakter. Pored toga, iavesna —_da je to oblast koja mora biti prisutna u opéteob- znanja iz ragunarstva i informatike, koja ée biti ko- _razovnim sadréajima savremene Skole. NaveSéemo risna u daljem obrazovanju u ovoj oblasti, moraju eke od nijih. biti obuhvaéena i u podeinoj nastavi racunarstva S druge strane, programom je predvidjeno da se a) Poznavanje raéunarstva i informatike postaje inuéava BASIC kao programski jezik. Naravno, to neophodno za razumevanje organizacije ¢ funk- madi da ée i neke specifignosti BASIC-jezika biti cionisanja mnogik sluzbi savremenog drustva. neizostayno prisutne, koje sa gledista prethodna dva cilja ove nastave neée biti bitne, au nekim Zaista, u savremenom drustvu sve javne sluzbe slugajevima biée i nepoteline. Svih ovih eleme- su opremiljene raéunarima, sve evidencije gradjana VOL. 1 BROS 2/4 1987, 89 TACUNARSTVO U NAUCII OBRAZOVANIU se nalaze u raéunarskim memorijama, celokupno fi- nansijsko poslovanje banaka i drugih organizacija sa kojima gradjani svakodnevno komuniciraju op- ene su ragunarima. Radni ljudi se sreéu sa raéunarom u proizvodaim halama, kancelarijama i gotovo svim drugim radaim mestima. Ovome svakako treba dodati i sve veéu prisutnost ragunara uv nagim domovima. b) Programiranje osposobljava uéenike da logitki misle i ove svoje sposobnosti primene % resavanju raznovrsnih zadataka iz dhole i svakodnevnog Zivota. Programiranje nije jednostavna primena go- tovih algoritama, kao Sto se esto misli, veé se sas- toji pre svega u iznalagenju algoritama za regavanje odredjene klase problema, To je kreativan posao koji zahteva dobro razumevanje problema, kritiéki osvrt na postavku problema, a zatim stvaralacki razvoj ideja za redavanje problema, koji uvek pod- razumeva apstraktni natin misljenja. Na ovaj nagin programiranje, za koje redovno postoji unutraSnja i spoljainja motivacija uéenika, dobija izuzetan znaéaj u razvoju sposobnosti reSa- vanja problema kod uéenika. Visoka unutraénja motivisanost potiée od zadovoljstva konstruktor- skog rada, jer se programiranjem ratunara da rade odredjen posao, uéenik javlja kao konstruktor magine u kojoj vidi ostvarenje svojih ideja. Spo- Ijasnja motivisanost potiée iz svesti uéenika da radi neSto Sto je moderno i veoma rasprostranjeno u svetu u kome Zivimo. ¢) Programiranje je hreativan posao koji kod uée- nika podstiGe i razvija osobine, kao sto su: upornost, taénost, sistematiénost, urednost smisao 2a samostalni rad. Razvoj postupka za reéavanje odredjene klase problema zahteva upornost, kao Sto je sluéaj pri svakom tragenju reienja problema. U sluéaju pri- mene ratunara to je posebno potencirano traze- njem efikasnin algoritama za regavanje problema. Razvoj slogenih algoritama ne mote se uraditi bez odredjene sistematiénosti i urednosti u radu koja u ovom slugaju nije vestatki nametnuta uéeniku veé uslov da se uspeino radi, Nije potrebno posebno naglagavati da se problem moie resiti pomogu raéunara samo vrlo taénim prenogenjem uputstva za reSavanje problema ragunaru u vidu programa. Najmanje nepreciznosti u zapisu pro- grama tahtevage od uéenika njihovo otkrivanje i otklanjanje u programu. Za ovakvu komunikaciju sa ragunarom neophodno je samopouadanje uéenika u evoje sposobnosti da samostalnim radom ostvari program na ragunaru. Za ovakvu upomost: usenik je nagradjen neposrednim uvidom u ponaganje ragunara saglasno svojim ugradjenim idejama u program. 4) Raéunari nalaze sve veéu primenu u procesu izvodjenja nastave i uéenja, pa je familijari- zacija uéenika sa njima osnovna pretpostavka za uspeh ovakve primene raéunara, Danas se ozbiljno raéuna na primenu ragunara u nastavi, kako za prezentaciju nastavnih materi- jala of strane nastavnika, tako i za uvesbavanje i uéenje ua pomoé ragunara od strane uéenika. Na ovom planu se ne mote nista ombiljno uéiniti ber pomnavanja moguénosti i natina kori8éenja ragunara od strane svih nastavnika i uéenika, To se mofe ostvariti samo masovnim osposobljavanjem uéenika kroz opSteobrazovne sadriaje iz raéunar- stva, 1.2 Znanja iz ratunarstva U poéetnoj nastavi razunarstva i informatike morajw se obraditi i izvesni pojmovi koji ée predstavijati osnovu za dalje sticanje i progirivanje znanja. iz ratunarstva, Neki od ovih pojmova mogu biti ob- radjeni u pogetnoj nastavi, ali mnogi se moraju postupno uvoditi, razvijati i produbljivati kroz pro- gramske sadréaje u vigim razredima. Za ovo pos- toje dva razloga: prvi, Sto bi mnogo detalja u potetnom kursu iz programiranja opteretilo nas- tavne sadréaje i umanjilo efikasnost usvajanja bit- nih pojmova; drugo, sto neki pojmovi ne mogu biti objasnjeni u potpunosti na pogetnom kursu s obzirom na uzrast uéenika i njihovo matemati¢ko manje. 1.3 Specifiénosti BASIC-jezika Programski jezik u poéetnom kursu iz ragunarstva i informatike ima vrlo vaznu ulogu. Ueenjem pro- gramskog jezika uéenici dobijaju moguénost preno- Senja problema na ragunar, sto u velikoj meri ima motiviguéu ulogu u uéenju sadréaja ia racunarstva. Kroz programski jezik se najbrée uoavaju mo- guénosti ragunara u obradi razligitih tipova po- dataka, zatim razligite strukture podataka i pro- grama. Tako su ovo elementi koji su obelezja konkretnog progamskog jezika, oni odrazavaju i moguénosti racunara, jer se sve ove moguénosti, pri inveSavanju na ragunaru uvek ostvaruju kroz maginski jezik raéunara. Na taj nadin programski RACUNARSTVO U NAUCI | OBRAZOVANJU 90 VoL. 1 BROI 2/4 1987. jezik dobija oblik nosioca, a ne objekts nastave iz, raéunarstva. Medjutim, neke konstrukcije BASIC-jezika mogu kod uéenike da deluju zbunjujuée, pa na njib treba posebno obratiti paznju. Zapravo, uéenici moéi da korektno koriste konstrukeije BASIC Jezika u razligitim programskim situacijama samo ako 0 svakoj konstrukeiji jezika steknu korek- tan semanticki model u svojim mislima. Neke specifignosti BASIC- jezika u smislu lo8e struk- tuiranosti i loge itljivosti programa mogu biti prevazidjene vestinom nastavnika da na adekvatan natin iglaze materiju, Za ovo je neophodno da nas- tavnik poznaje sve predaosti i nedostatke BASIC- jezika, sto dobija posebnu tezinu kad je ret o potetziom Kursu programiranja. 1.4 Naéin izvodjenja nastave U nastavi raéunarstva i informatike treba se drZati opstepoznatih didaktiekih principa, kao Sto su: ak- tivnost, nauénost, ofiglednost, postupnost i sis- tematiénost. Ovde posebno treba istaéi aktivnost uéenika, s obzirom da ée se esto dogadjati da uéenici istog rasreda imajer razlitito predznanje iz ragunarstva. Nastavnik mote ovakve situacije da iskoristi kroz dijaloéki metod nastave i na taj naéin udini nastava interesantnijom za sve utenike, U svakom slugaju, u nastavi programiranja pose- ban znaéaj pripada praktiénom radu uéenike sa ragunarom. Cilj ovog élanka jeste da ukaie na sve navedene probleme w poéetnoj nastavi ragunarstva i infor- matike. Dakle, sta su opiteobrazovni sadréaji u ovoj nastavi, koja znanja imaju Siri anaéaj u oblasti raéunarstva, o kojim specifiénostima BASIC-jezika treba posebno voditi raguna, kao i kako izvoditi nas- tavu. Pre nego Sto predjemo na izlaganje, moramo ukazati da ée ono pratiti sadrdaje obradjene u udi- beniku 2a I razred stednje akole [1]. U udabeniku je materija podeljena u detiri dela: 2. BOGATSTVO PODATAKA 3. KA MOGNIJIM PROGRAMIMA 4, KORISCENJE I CUVANJE PROGRAMA Prvi deo izlae pojmove i materiju koji se odnose na prvi kontakt sa raéunatom kao informacionom maginom, Drugi deo obradjuje razligite vrste po- dataka koji omoguéavaju tad sa brojevima, tel stom, grafikom i znakom. U treem delu izlazu se clementarne strukture podataka i programske strukture, Cetvrti deo obradjuje koriséenje spoljnih memorija 2a guvanje gotovih programa, ali i za 2uvanje tekuéih verzija u procesu razvoja programa. 2. Samo poéetak... Ovaj deo materije u udZbeniku ima opateobrazovni znataj i predstavija nezaobilazno zanje iz ratu- narstva. U ovo} materiji ne postoje specifignosti BASIC-jezika koje bi opteretile izlaganje detaljima koji nisu bitni sa gledista pojmova i ananja koje treba preneti uéenicima. Naveiéemo neke bitne napomene ta gledista realizacije programskih tema, iz ovog dela gradiva. 2.1 Prvo upoznavanje sa ragunarom Danas, sahvaljujuéi, pre svega, Stampi, éasopisima i televizifi, veliki broj uéenika stige izvesna znanja van Skole. ‘Tako ée i veéina uéenika imati izvesno predananje io ragunarima. Medjutim, to znanje nije takvo da bi se moglo ragunati kao predananje na koje treba dalje nadgradjivati nova znanja iz ragunarstva jet ée ono biti vrlo raznoliko medju uéenicima, kako po nivou, tako i po razumevanju csnovnih pojmova. Medjutim, to znanje nastavaik ne treba u potpunosti da ignorige. Problem je sligan onome koji se javija medju sedmogodiénjim prvacima od kojih neki znaju slova, neki znaju da itaju i pigw, a neki ne znaju nilta od toga, Takva situacija zahteva da nestaynik na prvim éasovima, roa razgovor otkrije predznanja uéenike i da ih dovede na zajednitku osnovu sa koje ée svi dalje sticati nova znanja. Na samom poéetku ragunar treba predstavit kao i svaku drugu maginu koja ima odredjenu na- menu. Navesti primere ragnih magina i disku- tovati njihovu namenu, nauéiti sta je ulazna sic rovina a ita remultat obrade na masini. Tako se lako dolazi do zakljucka da je raéunar infor- maciona masina, tj. magina koja vrsi obradu podataka. Ovde je neophodno uspostaviti vezu iamedju informacije i podataka. Objasniti na primerima pojam informacije i uvesti podatak kao zapis informacije. Prema tome, informacije se saopStavaju raéunaru, obradjuju i izdaju u obliku podataka. Tako se lako dolazi do funkeija po- jedinih uredjaja ragunarskog sistema, kao ito su ulazni organ, memorija, procesor i izlazni organ. U sastav raéunarskog sistema uvrstiti najmanji broj uredjaja, tj. one koje ée uéenici neposredno koris- titi, a to su tastatura, ragunar i ekran. Uvesti po- jam programa u intuitivnom smislu, koji ée se kroz VOL. 1 BROS 2/4 1987. 91 RACUNARSTVO U NAUCIT OBRAZOVANJU dalje sadriaje produbljivati. Dakle, za razgovor © ragunaru moramo obraditi termine procesor, me- morija, raéunar, ragunarski sistem, tastatura, ekran i program, uz to, svakako, i smisao prefiksa mikro za mikroprocesor, mikroraéunar i mikroraéunarski sistem. Kada su uéenici upoznali funkeiju pojedinih uredjaja dobro je da izvre i njihovo povezivanje, pri emu im treba skrenuti painju na sve pre~ dostrofnosti pri povezivanju elektriénih uredjaja, pai vatunara, Kada je raéunarski sistem povezan moie se izvrditi njegovo ukljuéivanje u elektriéno napajanje, pri Gemu uéenici treba da 2naju sta je pocetna poruka sistema, a nastavnik mora proveriti da li je ova poruka dobijena na svim ekranima u uéionici. Ugenicima se posebno detaljno mora ob- Jasniti tastatura i ekran, jer su to uredjaji preko kojit ¢ovek komunicira sa raéunarom, pa je famili- jatizacija uéenika sa ovim uredjajima bitna za dalji rad. 2.2 Prva komunikacija sa racéunarom Za potetak objasnjenja komunikacije sa racunarom dobro je jednostavno tragiti od uéentka da na ra- éunaru saberu dva cela broja. Nastavnik treba da pogleda razligite ideje uéenika da ostvare ovakvo sabiranje na raéunaru. Odmah ée videti koji uéenici imaju neko predznanje, a koji nemaju. U svakom sluéaju, to ée stvoriti lepu atmosferu 2a uvodjenje pojma programskih jezika. Velika prednost BASIC- Jezika jeste sto je to interpretativan jezik u ko- jjem se naredbe mogu neposredno izvriavati. Ovo omoguéuje da uéenici veé pri_prvom kontakt sa raéunarom rade zadatke koji imaju odredjen smisao, To ohrabruje uéenike i podiée unutragnju motivisanost uéenika za uéenje programiranja. To je osnovni razlog sto u ovoj fazi treba ovladati upotrebom raéunara kao kalkulatora - taénije, kao uredjaja za izraéunavanje vrednosti aritmeti¢kih iarava. Ovo treba iskoristiti za dve stvari: prvo, da uéenici bolje upoznaju tastaturu i ekran i drugo, da upoznaju pisanje brojeva, znakova aritmetickih. operacija i aritmetitkih izraza uopite. Takodje je vagno da uéenici uoge da raéunar prihvata samo sintaksno ispravne poruke, a da na poruke koje ne mote da” razume” odgovara sa izvestajem o sintak- snoj gresci. To je dobra prilika dase uoéi da racunar kontrolige samo sintaksnu ispravnost poruka koje prima, a da ne mofe otkriti semantitke greske u nagim porukama, 2.3. Prvi program Uéenici veé znaju intuitivny definiciju programa, da je to uputstvo ragunaru kako treba da radi pri rebavanju odredjenog problema. Kada sastavimo prvi program, tada treba produbiti i definiciju pro- grama, Da bi jedan spisak naredbi mogeo da cini program mora biti jasno definisano sledeée: 1. koja je prva naredba programa 2. kako se po izvr8enju jedne (osim poslednje) naredbe programa prelazi na sledeéu naredbu 3. koja je poslednja naredba programa. Jasno, ovo je u BASIC-jeziku precizno definisano uvodjenjem brojeva programskih redova, Medju- tim, u mnogim varijantama BASIC-jezika poslednja naredba programa je naredba sa najvecim brojem reda. Ovo ne treba koristiti, veé kao poslednju naredbu obavezno pisati naredbu END. Naravno, ona e imati najveéi broj programskog reda, ali ée bes ikakvog dvoumljenja ukazati na fizidki kraj pro- grama. Dakle, uéenicima treba dati samo ovakvu definiciju fizikog kraja programa, pa zahtevatii od onih koji znaju za druge moguénosti da koriste samo ovako definisan kraj programa, ‘Tako sve bitne elemente programa ima jednos- tavan zapis: 10 PRINT 1 20 PRINT 2 30 PRINT 3 40 END Program poéinje naredbom éiji je broj program- skog reda najmanji, sledeéa naredba je u program- skom redu éiji je broj programskog reda prvi veéi broj, a program se zavréava programskim redom sa naredbom END. Objasniti komande za rad sa programima (NEW, LIST i RUN). Jasno raggraniéiti ragliku iamedju komande i naredbe BASIC-jezika, bez obzira sto a nekim varijantama BASIC-jezika ova razlika praktigno ne postoji, Dakle, na ovoj radlici treba strogo insistirati i kroz ceo kurs se strogo driati. Nikada u okviru programa ne koristiti komande. Na ovaj nagin se stiée navika nemesanja naredbi jezika i komandi programske sredine u kojoj se jezik ko- risti, U drugim programskim jezicima, osim BASIC- a, bige to komande operativnog sistema, Odmah kada unesemo prvi program u memo- riju ragunara moramo govoriti i uputiti uéenike u jednostavne moguénosti ispravki programa. Za ovo {ARSTVO U NAUCI I OBRAZOVANIU 92 VOL. 1 BROM 2/4 1987 se mogu koristiti standardne moguénosti BASIC. interpretatora na nivou programskih redova. Me- ajutim, dobro je uvesti i minimalne moguénosti uredjenja unutar programskog reda. Ovo obuhvata zamenu, izbacivanje i ubacivanje znakova u okviru programskog reda. Sire moguénosti uredjenja koje Festo stoje na raspolaganju korisniku ne treba obradjivati, jer to nepotrebno optereduje kurs. Posebno znaéajan pojam u programiranju, kao iu matematici, jeste pojam promenijive. Pro- menljivoj moze biti dodeljena izraéunata vred- nost ili vrednost sa ulaza. Vaino je na primeri= ma pokazati razliku izmedju programa koji sadrée ulazne veligine i onih koji ne sadrie ovakve velitine Prvi daju rezultate koji zavise od vlaznili veligina, a drugi, pri svakom izvrSavanju, daju iste rezultate Tako sledeéi program uvek daje isti reaultat 40 50 PRINT ¢ END Ali, program u kome promenljive Ai B dobijaju vrednost sa ulaza 10 20 30 40 50 INPUT A INPUT B C=ANB PRINT C END pri svakom izvrsenju moze da daje razlitite rezul- tate, Sto zavisi od dodeljenih vrednosti promen- Ijivim A i B. Razlika je sligna onoj u matemati- ci iamedju aritmetigkog izraza (u naSem primeru 47*12) jalgebarskog izraza (u nagem primeru A*B). Ukratko, ovaj deo knjige upoznaje utenike sa sastavom ragunarskog sistema, funkeijama. po- jedinih uredjaja, natinom poverivanja uredjaja, ukljugivanjem sistema, posebno sa tastaturom i ckranom i naéinom komunikacije sa raéunarom. Ovde se stigu prva znanjao programiranju, upozna- je se sustina programskog rada i operacije nad pro- gramom, kao Sto je iavrfavanje programa, listanje programa na ekranu i brisanje programa u me- moriji. Na ovom nivou treba postiéi i sto bolju familijarizaciju uéenika sa ragunarom (tastaturom i ekranom). Naravno, ovo se moze postiéi samo praktiénim radom uéenika na raéunaru, sto ée se sprovoditi kroz ceo kurs, 3. Bogatstvo podataka Kada je ostvaren prvi kontakt uéenika sa ra- éunarom, mote se pregi ns dalje upoznavanje moguénosti ragunara. To je najbolje ostvariti preko radligitih tipova podataka. Jak razlog za ovo je jednostavna Ginjenica da se nage ragmisljanje i oéekivanje © moguénosti raéunara zasniva na po- dacima, a ne na programu i strukturi programa, Dakle, pritodno je nastavu vezivati za podatke i probleme, a ne 2a pisanje programa to je samo posledica zahteva za odredjenim obradama po- dataka, Za poéetni kurs programiranja izbor po- dataka je najbolje zasnovati na brojevima, tekstom, grafikom i anakom. Ovo je uéenicima blisko i in- teresantno, pa i najvise motiviguée za rad sa raéu- 3.1 Rad sa brojevima Ueenici su upoznali raglidite zapise brojeva, brojéa- nih promenljivih i brojéanih izraza. Kao dalju nad- gradnju rada sa brojevima treba upoznati rad sa brojéanim funkeijama i posebno taénost raéunanja. Iebor brojéanih fimkcija treba izvrsiti saglasno unrastu uéevika, a takodje i izlaganje 0 ta&nosti raéunanja. I jedno i drugo ée se kroz dalje skolovanje svakako produbliivati, ali ove probleme ne treba izostaviti iz poéetnog kursa iz dva razloga: prvo, sto ée uéenici gesto uotiti, u praktiénom radu sa ragunarom, da su neka iztagunavanja pri- bliana; drugo, sto je tagnost ragunanja nezaobilazna opiteobrazovna tema kada je reé o radu sa broje- vima. U ovom delu udibenika obradjene su jo dve teme: preglednost ispisa brojeva na ekranu i progeamski ciklusi. Prva tema doprinosi boljoj dithjivosti ispisa na ekranu, na kojoj se mora insisti- rati u cilju unapredjenja komunikacije korisnika sa raunarom. Na taj nagin se razvija oseéaj uéenika Sta je dobro, a Sta loSe, sa gledista dobre komu- nikacije, Sto je deo opéte kulture o koriséenju raéu nara. Druga tema, programski ciklusi, omoguéuje pisanje interesartnijih programa od strane uéenika, time se doprinosi veéoj motivisanosti 2a rad. Medjutim, naravno, ova tema produbljuje znanje uéenika u tehnici programiranja, Vaino je istadi da je sa gledista postupnosti uvodjenja programskih struktura u nastavi, opravdano uvesti programski ciklus pre razgranate strukture. Ovo je taéno samo ako se programski ciklus definige posebnim nared- bama, bez eksplicitnog navodjenja izlaznog krite- rijuma, Sto je sluéaj sa naredbama FOR...NEXT u BASIC-u VOL. 1 BROD 2/4 1987 93 RACUNARSTVO U NAUCI I OBRAZOVANIU Jednostavni primeri mogu lepo ilustrovati: po- trebu i efikasnost programskih ciklusa u_pisanju programa. Navodimo kao primer izratunavanje kvadrata prvih 10 pricodnih brojeva: 10 FOR I=1 TO 10 20 PRINT I, II 30 NEXT 1 40 END Alternativa za ovako elegantan ciklus bilo bi ponavljanje naredbe PRINT u obliku: 40 PRINT 1, 1#1 20 PRINT 2, 2+2 100 PRINT 10, 10#10 110 END Prednosti su ofigledne, a biée jo8 ubedljivije ako na& program hoéemo da radi ne za 10, veé za 100 prvih prirodnih brojeva. Ostavite uéenicima di is- prave gornji program u ovom smislu, 3.2 Rad sa tekstom Za opite obrazovanje 0 moguénosti raéanara, rad sa tekstom ima vrlo znaéajno mesto. Zapravo, u mnogim primenama raéunara rad sa. tekstom ima centraino mesto. To je sluéaj i sa mnogim lignim koriSéenjem racunara, gde raéunar zamenjuje pisacu maginu. U ovom delu udgbenika sa minimu- mom naredbi i funkcija BASIC-jezika izlozene su moguénosti unogenja, obrade i izdavanja teksta. Uz rad sa tekstom izlogene su i moguénosti organiaacije programske kolekcije podataka. Ovo Ge omoguéiti da se u mnogim primerima sa tek- stom izbegne unoéenje teksta, Sto bi zadatke uéinilo neptirodnim, dosadnim i neinteresantnim, posebno pri igvrdavanju programa. Sa druge strane, ovo je dalje produbljivanje 2nanja iz programiranja, koje je ravnomerno distribuirano kroz ceo udzbenik. Pogledajmo jednostavan program koji ilustruje orist od programske kolekeije podataka: 10 20 30 40 FOR 11 70 5 READ DS PRINT "UNESITE PROIZVODNJU ZA "08 INPUT P vue? wexT T PRINT "PROSEGNA DNEVMA PROTZY 50 60 70 80 ODNIA:"; U/s 90 DATA PONEDELJAK ,UTORAK,SREDA, CETVRTAK, PETAK 99 END Da bismo ostvarili ovakvu komunikaciju ko- risnika sa programom bez koriééenja programske kolekeije podataka morali bismo ponavljati telo cik- usa 5 pute! 3.3. Rad sa grafikom Koriséenje grafigkih moguénosti raéunara moguée jena razliéitim obrazovnim nivoima, jer su naredbe za grafiku vrlo jednostavne i prihvatljive i 2a najmladji uzrast ucenika, Tako da grafika moze da zauzme 2nagajno mesto u poéetnim kursevima iz programiranja, to je i sluéaj w nekim program- skim jezicima (npr. LOGO). Slotenost rada sa gtafikom ogleda se w tratenju efikasnih algoritama u razliéitim grafickim prikazima, posebno kada je ret © trodimenzionalnoj grafici. Ozbiljno ograniéenje u radu sa grafikom predstavlja raspolotiva reali- zacija na mikroratunaru koji se koristi u nastavi. Kako je niska rezolucija (znakovna) prisutna kod svih mikroraéunara, to je za poéetni kurs izabrana ova vrsta rezolucije. To ima neke prednosti i ne- dostatke. Prednost je sto se rad sa grafikom uvodi kroz naredbe koje uéenici veé poznaju, dakle ne prosiruje se skup naredbi. Na ovaj naéin grafika se Javija kao izvanredna prilika da se uveZbavaju veé nauéene naredbe, ali i da se piu programi, posebno oni sa razligitim programskim ciklusima. Svi bitni pojmovi u grafici, kao Sto su elementarni grafigki objekti, slozeni crtedi i animacija mogu se demon- strirati. Posebno je znatajno uotiti diskretnost slike koja se proizvodi pomoéu ratunara. Jedini ne- dostatak ovog pristupa jeste relativno los kvalitet, slike uslovljen niskom rezolucijom, éto umanjuje iz- bor zadataka iz grafike, a i interesovanje uéenika za rad sa grafikom. Ovde svakako ne treba zabo- raviti da najéesée na potetnom kursu ne postoji ni potrebno matematizko predznanje za ozbiljniji rad u grafici srednje i visoke rezolucije. Otud, znakovna. grafika predstavlja dobro resenje za sticanje utiska © grafigkim moguénostima raéunara, bez veéeg matematickog znanja neophodnog a ozbiljniji rad sa grafikom. ‘Tako sledeéi program izdaje 11 grafitkih znakova po dijagonali ekrana potev od gornjeg levog ugla ka donjem desnom uglu ekrana: 10 CLs 20 FOR I=0 TO 10 30 LOCATE I, I RACUNARSTVO U NAUCII OBRAZOVANJU 94 VOL. 1 BROS 2/4 1987, 40 PRINT CHRS (219) 50 NEXT I 60 GoTo 60 Jedno upozorenje, U ovom program je uzeto da se prva pozicija prvog reda 2adaje sa (0, 0), sto kod nekih mikroragunara nije sluéaj, veé s¢ ova pozicija zadaje sa (1, 1). To morate znati da biste dobijali erteze na ekranu onako kako ih zamislite 3.4 Rad sa zyukom Postojanje zvuka na mikroraéunarima omoguéuje ugenicima da piu programe sa zvuénim efektima ili da programiraju melodije. Narodito treba istaci da programiranje evaka omoguéuje svim uéenicima da eksperimentidu sa avukom, pa i onima koji nikada do tada nisu uspeli da odsviraju bilo kakvu melodiju na nekorn od muziékih instrumenata, U udzbeniku se koristi elementarna naredba 22 generisanje avuka u kojoj su parametri frekvenca i trajanje avuénog sighala. Tako se uéenici vezuju za fizi¢ka svojstva zvuka, a musicki tonovi se javijaju kao posebna vrsta 2vuke odredjene uéestanosti Programiranje melodija treba iskoristiti da uée- nici uoge prednost éuvanja podataka u memoriji (naredbom DATA) u odnosu na uncgenje podataka preko tastature, Jednostavno govek ne moze postié unodenje udestanosti i trajanja tona sa ulaza u cilju svitanja odredjene melodije. ‘Trajanje pojedinih tonova u melodiji je znatno kraée od potrebnog vre- mena Za unogenje parametara tona preko tastature. ‘Ako se parametti tona Zuvaju u memoriji, uzimace se onda kada budu potrebni u izvodjenju melodie ‘To je izvanredno lepa prilika da se uéenicima ukaze da neki procesi diktiraju brzinu rada raéunara i ragunar jh mora pratiti. Na ovaj hagin se moze epo objasniti i demonstrirati rad regunara u re- alnom vremenu. To je jedna od vainih osobina savremenih raéunara koja se sreée pre svega u prob- lemima upravljanja procesima, kontroli eksperime- nata, upravijanja letilicame i st. dakle, primenama koje se tesko mogu blige objasniti i demonstrirati uéenicima, Ovo lepo ilustruje razlika izmedju programa koji svira skalu tonova unetih sa ulaza: 10 FOR I=1 TO 8 20 INPUT F 30 SOUND F, 10 40 NEXT T 60 END i programa koji istu skalu svira koristeéi podatke iz programske kolekcije podataka: 10 FoR I=1 T0 8 20 READ F 30 SOURD F, 10 40 MEXT I 50 DATA 262, 294, 330, 349, 392, 440, 494, 523 60 END V oba siuéaja treba svirati skalu sa éetvrtinskim tonovima. Medjutim, u prvom programu to se moge ostvariti sa velikim razmacima iamedju tonova, jet se mora éekati na sporu manipulaciju korisnika preko tastature. U drugom programe tonovi se uzi- maju onom bezinom koja je potrebna. 4. Ka moénijim programima Vaina karakteristika programa sa. kojima se steéu i koje mogu da pifu uéenici u prva dva dela udabenika jeste jednostavna struktura, To su pro- grami u Kojima se nifu naredbe i programski cik- lusi. U ovim programima nema naredbi grananja Sto ih Gini jednostavnim za. pisanje i razumevanje. Medjutien, uvodjenje naredbi grananja dovodi do slotenih programskih struktura, a to znati da ée biti potrebno mnogo vise napora da se sagleda pos- tupak za reSavanje zadataka, a tek zatim, kada smo ovo uradili, mofemo pristupiti pisanje programa. Kako je sada red o slozenijim programima, to se mora povesti raéuna i o tome kako je zapisan pro- gram, éto dovodi do razmatranja programskog stila, 4.1 Programski stil Razmatranje programskog stila mora se zasnovati na znanju uéenika u pisanju programa. To se mote uéiniti jlustracijama razligitih zapisa kon- stanti, promenljivih, izraza, naredbi i program- skih struktura (ciklusa). Kroz ove ilustracije treba pokazati zapise koji su losiji i one koji su bolji sa gledista dobrog stila. Ovo je jedan aspekat pro- gramskog stila, Medjutim, za pisanje slozenijih programa mora biti jasno da je presudno nase razmisljanje o stukturi postupka koji kreiramo 28 reSavanje odredjenog problema. Ova struktura pos- tupka (algoritma) najbolje se uotava koriséenjem algoritamskih gema, Vizuelna predstava struk- ture algoritama ima veliku pedagotku vrednost. Medjutim, ovo je taéno samo do izvesnog stepena sloienosti deme, jer veca slofenost Seme umanjuje viauelnu preglednost pa i smisao njenog kori8éenja. ‘Tako, razmatranje programskog stila u smislu pisanja éitljivih programa i koriSéenja algoritam- skih Sema za sagledavanje strukture postupaka sa VOL. 1 BROS 2/4 1987, 95 RACUNARSTVO U NAUCI I OBRAZOVANIU refavanje problema, predstavija uvod u_ pisanje slozenijih programa 4.2 Razgranati programi Naredba kojom se ispituje istinitost odredjenog uslova omoguéava da programiramo ragunar da redava zadatke u kojima se vréi iabor i donosi od- luka, Ovo je jedna od sustinskih moguénosti ra- @unara koja se mote dobro razumeti samo kroz primere programa u kojima se vidi vrednost ovakve ‘moguénosti raéunara, Tako se moie razumeti kako ragunar nalazi najbolje od moguéih reSenja ili kako u velikom skupu podataka. pronalazi onaj koji nas interesuje i sl. Razumevanje ove moguénosti ra eunare ima vedestruki znataj. Opéteobrazovni, jer daje pravu sliku 0 moguénosti ragunara; prosiruje znanje iz progeamiranja i omoguéuje reSavanje znatno slodenijih i interesantnijih problema na ra- Neophodno je obraditi razligite veste relacijskih iaraze, koji ée pokazati da racunar mote da ispituje uslove brojéanog karaktera, ali isto tako uslove u kojima se poredi tekst. Dok je poredjenje brojéanih vrednosti sasvim razumljivo, na osnova matevnatitkog predananja uéenika, to poredjenje teksta zahteva mnogo vece objaénjenje. Prvo, mora se razumeti prikazivanje teksta u ASCIEKédu, i drugo, mora se rasumeti naéin ispitivanja da li su dva znakovna podatka u navedenoj relaciji ili nisu. Za ovo uvezbavanje dobro je navoditi kratke primere programa koje ée uéenici ditati i analizirati njihove uslove. Posle usmene analize ovih programa, od strane uéenika treba pokazati rad programa na ragunaru. Tako, sledeéi program 10 INPUT A$ 20 INPUT BS 30 IF A$ 0, izraéunavati z tako da je 2 = [2] Na primer, za z = 7, bide z= 2, azar =17,2=4 U veéini programskih jezika postoje funkeije “celobrojni deo” i “kvadratni koren”, pa se ovaj za- datak moze, primenom metode “grube sile”, reiiti njihovom upotrebom. Na primer, u FORTRAN-u se ovaj problem mode regiti iskazom dodele FIX ( SQRT ( FLOAT (1X) ) ) u PASCAL-u iskazom: % S25 trune(sqrt(float(z))). Ipak, funkeija sqrt je, po pravilu, definisana za re- alne argumente, pa se u gornje “praktiéno” redenje jednog celobrojnog problema nepotrebno (i ne bea opasnosti) uvode elementi realne aritmetike. $ druge strane, bududi da je funkeija sqrt pre- definisana, to je postupak’ jaraéunavanja korena prikriven, pa nad njim ne mozemo (a priori) us- i nikakvu misagnu kontrol. RACUNARSTVO U NAUCI I OBRAZOVANJU 98 VOL. | BROS 2/4 1987. 3. “Stari program” Kao sto je Dejkstra naznatio, “stari prograi” su pisani pre deset i vise godina, Na jedno resenje postavljenog zadatka iz tog doba nailazimo kod Mane [7], u poglavija o verifikaciji programa. ‘Tu se zadatak sastoji u tome da se za program prikazan dijagramom toka na slici 1. dokage parcijalna ko- rektnost u odnosu na.ulazno tvrdjenje ole): 220 i izlazno tvrdjenje: ®(z,2): 2 Se<(e+l)? koje je ekvivalentno sa: Vil. Postupak izragunavanja se zasniva na poznatoj Ginjeniei da je zbir prvih n neparnih brojeva jednak kvadratu broja (n+ 1) 2 (4) 143454 00-4 (2240) = (n+)? Teratunavanje se tada odvija tako ato se 2a. svako 1,2... veednost n pamti u promenljivoj m1, pridruzeni neparni broj 2n+ 1 u promenljivoj ys, a suma prvih n neparnih brojeva u yx. Kada je ispunjen uslov jedine petlje: yz > «, tada je fou Vei+y>-, i=o odnosno zbog (*), (y: +1)? > 2. Kako je u prethod- nom koraku bilo y} < 2, to je trazen z, koje zadovoljava ®, upravo ys} Mana dokaauje dalje da je ovaj program parci- jalno korektan u odnosu na zadatu ulazno-izlaznu specifikaciju. U sasvim pojednostavljenom obliku, dokaz se sastoji u sledeéem: preseénoj taéki B se dodeljuje invarijanta, Pi i <2Ama(u tl Aw =2emtl Ova invarijanta ima vrednost tagno 14 bilo koju vrednost koju tokom izragunavanja u petlji, polazeéi od datih poéetnih vrednosti, mogu do- biti promenljive yt, yo i yo. Prvivdlan gornje konjunkeije iaragava da je tokom iavravanja petlje, uy: pritodan broj gj je kvadrat manji od zadatog 2, drugi élan izragava vezu ostvarenu formulom (4), dok treci Glan opisuje da se preko- ys brojaéu yy pridruuje odgovarajuéi neparan broj (24 + 1) je ostaje uvek tagno u petlji, mo- emo se “empirijski” uveriti probnim iaveéavanjem programa sa slike 1. 2a neko utvrdjeno 2. Sama tehnika dokazivanja korektnosti ovog programa bi nepotrebno opteretila ovo izlaganje i biée izlozena na drugom mestu. 4. Interludijum ReSenje koje je Mana prediogio se znaéajno raz likuje- od “prastarih” programa koji se razvijaju iskljuéivo na basi programerskog iskustva i intu- icije i za koje je testiranje jedini nadin verifikovanja. Opisani program je opremljen dokazom korektnosti, pa je izvesno da é 2a svako 2 koje zadovoljava ulazno tvrdjenje g, rezultat 2 zadovoljavati izlazno tvrdjenje @. Kako se na sligan nagin pokazuje da se ovaj program zavréava u odnosu na ulazno tvrdjenje , testiranje nije potrebno. Ipak, navedeno regenje ima nekoliko otiglednih nedostataka. U pogledu formalne strukture programa na slici 1, primeéujemo da se uslov petlje nalazi izmedju dve dodele, u sredini petlje, U doslovnoj line- arizaciji datog dijagrama toka na neki program- ski jezik se, zbog toga, ne mote izbeti kori8éenje bezuslovnog skoka iz stedine petlje. Sa stanovista valjanog strukturiranja programa, pak, trebalo bi ovakvu petliu preformulisati u petiju tipa repeat ili while. U jednom kasnijem povratku na isti primer [9], Mana je bio prinudjen da preformulige ovo regenje na sledeéi naéin: input(z) (yts¥2s¥s) — (0,151) if yo > z then Lz: output(y:) else (41,95) = (v1 + 1,98 +2) wont goto Ly. Lo Ly gde su Lo,L1 i Lz obeledja koja odgovaraju presetnim taékama programa sa slike 1. Ozbiljniji nedostatak ilozenog resenja se ogleda 1u tome ato je ono konstruisano sasvim nezavisno od svoje formalne specifikacije. Kao sto je vet regeno, ulazno-izlazna specifikacija inrazava “ono ato bismo deleli da program radi”, dok sam program “radi ono sto je u njemu zapisano da treba da radi”. U tom smislu, dokazom korektnosti se ispituje da li je za- pis programa saglasan sa. zadatom specifikacijom ia koje se, pak, ne mote sagledati nikakva organ- ska veza predlozenog regenja i same specifikacije. S druge strane, sam dokaz korektnosti implicitno ukazuje upravo na iznesenu Cinjenicu: njime se pokaauje da se datim programom ulazno tvrdjenje VOL. 1 BROS 2/4 1987. 99 RACUNARSTVO U NAUCI{ OBRAZOVANIU mode transformisati u izlazno tvrdjenje. Odavde dalje slede vaine primedbe. $ jedne strane, izabrani postupak iaraéunavanja (V4), zasnovan na (+), nije posledica zadate speci- fikacije. Umesto (+), mogao se koristiti ma koji drugi “trik” kojim se promenljive = i z dovode vezu izreéenu pomogu ® (na primer, jedno drukéi redenje se moze dobiti koristeéi geometrijsku inter- pretaciju (+), prema [11]). Moguée je, dakle, imati bezbroj reienja, zavisno od dovitljivosti, koja su sva podjednako dobra jer zadovoljavaju zadatu speci- fikaciju. Ali iste tako, za evako od takvih reSenja se moie postaviti pitanje: “Zadto bag takvo reSenje?” ili “Kako smo se tog reSenja dosetili?”, koje nuzno costaje bez odgovora. Radi se, dakle, o regenjima Koja se temelje na dosetljivosti ili intuitivnom pounavanju problema, a nikako o sistematiénom postupku koji je nametaut razumevanjem speci- fikacije problema. S druge strane, ovaj isti problem se ogleda i u konstrukeiji invarijante Pu taki B. Mana ({7], p.177) to jednostavno komentarige: “Sada moéemo verifikovati dati program. $ tim ciljem pridrudimo induktivao tvrdjenje P ... taki pre- seka B ...” Odavde vidimo da se i sama invari- janta P, ponaga kao eksterna specifikacija petlje. U nastojanju da ovaj nedostatk prevazidje i da in varijante generige iz samog programa, Mana [8] je kasnije predlozio jedan postupak koji to omoguéava, U tom postupku se prvo heuristicki generiée in- varijanta a zatim se ona “gura” ka podetku i kraju programa, ime se dobijaju ulazno-idlazne specifikacije na osnovu samog toksta programa. Ipak, ni ovaj postupak ne osvetljava organsku veuu koja mora postojati izmedju Korisniéke speci- fikacije programa i samog programa. U tom svetlu, invarijanta P predstavijau osnovi samo drukéiji iskaz veé opisanog postupka izragunavanja [V2] Iz izlozenih komentara proivilazi da je, umesto naknadnog anotiranja veé napisanog programa u cilju njegove verifikacije, prirodniji onaj postupak Koji bi omoguéio da se iz same formalne specifikacije iavede tekst programa. 5. Ambijent za “nove programe” Da bi se otklonili nedostaci “starih” programa, potrebno je, pre svega, imati na raspolaganju jezik koji ée to omoguéavati. Jedan takav “mali” jezik je predlozio Dejkstra [3], uvodedi pojam zasticene komande (engl. guatded command). Sintaksa ovog Jevika je u osnovi ALGOL-lika, a osnovnu razliku u odnosu na druge jezike predstavlja to sto svakoj listi uobiéajenih programskil: iskaza prethodi zaétita (engl. guard): bulovski izxaz kojim se odredjuje pod kojim uslovom ée se ta lista iskaza izvréiti, Skraéeni formalni zapis u BNB-u, dat u (3}, je: {2aitiéena komanda) (vadtita) > (zadtiéena lista) (zaatita) :=(bulovski izraz) (vaitiéena lista) ::= (iskaz) { ; (iskaz) } (wa8tiéeni skup komandi) == (zaatiena komanda) { {] (2aStiéena komanda) } {alternativni konstrukt) :: if (zaStiéeni skup komandi) fi (repetitivni konstrukt) do (zaitiéeni skup komandi) od. (iskaa) ::= (alternativni konsteukt) | (repetitivnt konstrukt) | (“ostali iskazi”) Pri tome, pod “ostalim iskazima” se podra- zumevaju razniiskazi dodele, pozivi procedura, i sl. Simboli {...} se éitaju kao “prageno jednim ili vide pojavijivanja onoga Sto je medju aagrade ukljugeno” a | kao “‘li?. Simbol [] je separator aaatiéenih komandi Na primer, zastigenom komandom fy>esr:aylysesziaeh se izragunava z = maz(2,y). Ovaj jezik zahtevs da se, pti pisanju programa, za svaki linearni nis iskasa precizno odrede uslovi pod kojima ée se taj nia iskaza iavrsiti. Obelezimo, dalje, sa $ ma koji iskaz u ovom pro- gramskom: jeziku, asa Q i sa R, redom pridrufeni pteduslov i pauslov iskaza S. Oznaka, koja potige od Hora (6 {Q} 5 {R} prema Dejkstri oznatava da za ma koju veednost za koju je predikat Q tagan, iavrSavanje iskaza S se zayrSava i za nove vrednosti programskih promen|ji- vih, ostvarene izvrSavanjem S, je taéan pauslov R, Medju moguéim preduslovima Q iskaza S'u odnosu na R jedan odredjuje skup svih stanja 2a koja é, po zavréenom izvrSavanju iskaza S, R biti faino. Takav preduslov se naziva najslabiji pre- duslov (engl. weakest precondition) iskaza S i funkeija je iskaza $i pauslova R. Obelezavamo ga, stoga, sa wp(S, R). Na primer, za iskaz s i+t i pauslov R: i < 1, najéini preduslov je wp(“i f+V,i< I= 59), RACUNARSTVO U NAUCII OBRAZOVANSU 100 ‘VOL. 1 BROD 2/4 1987 odnosno, da bi po iavrSavanju $ vatilo R, mora pre iaveSavanja § biti? < 0. U suprotnom, tj ako je i> 0, R ne mote biti taéno kada se izvedi S. Slikovito govoredi, transformator wp “potiskuje unazad” predikat R kroz iskaz S. Koristeéi se transformatorom wp moguée je pre- cizno definisati dejstvo svakog pojedinaénog iskaza. Ogranigiéemo se na opis iskaza koje éemo koristiti Iskaz, skip (koji je sli¢an npr. sa CONTINUE u wp(“‘skip”, R) = R odnosno, nikakva transformacija nad programs iavrdavanjem iskaza skip se ne viii promen- Ijivim. Iskaz dodele z := ¢, gde je ¢ izrax (u uobigajenom smislu) se moze definisati sa wp(“z := €”, R) = domen(e) A RE ‘de je domen(e) predikat koji opisuje skup stanja u Kojima se izraz e mote izragunati, a RE je rezultat, zamene svakog pojavijivanja x x pauslovu R izra- om e. Na sliéan, ali daleko sloZeniji natin se opisuje i snagenje alternativnog i repetitivnog konstrukta. 6. Anatomija petlje U tagki 5. je u najkradim crtame iclozen jeaiéki aparat koji je Dejkstri potreban za izgradnju “novih” programa. Preostaje nam da ukaZemo na ‘osnovni metodoloski okvir za razvoj novih progra- ma. Do sada izlodeni aparat predstavlja osnova za aksiomatske dokaze korektnosti veé napisanog programa. Ono sto predstavija osnovnu razlikt. izmedju “starih” i “novih” programa je éinjenica da se “novi” programi razvijaju neposredno iz svoje formalne specifikacije: oni se javljaju kao zakljuéak u jednom deduktivnom procesu dije su premise tadate specifikacijom. Ovakvi prograimi se, stoga, jasno razlikuju od onih koji nastaju na bazi programerske intuicije jer su, veé prema samom naéinu konstruisanja, korektni a postupak njihove konstrukeije sadrdi eksplicirano objasnjenje koriséenog nagina izraéunavanja. Takav postupak se, prema [5], zasniva na skupu padljivo odabranih principa, Kojima ¢e wokviruje naéin razmisljanja 0 probleme. Sama konstrukeija programa je rezultat primene odredjene strategije u resavanju zadataka. Kako zadatak postavijen u tacki 2. ilustruje upotrebu programske petlje, razmotrimo detaljnije samo strategiju razvoja petlje Razviti prvo usloy petlje B tako da v “B =» R, gue je P invarijanta petlje, a R pausloy petlje, Razyiti potom telo petlje na takav n: da se obezbedi u konaénom vremenu ispunjenost ustova petlje B uz ofuvanje vazenja invarijante P {5}. Petlja koja se realizuje ovom strategijom ima oblik: {P} do B— telo od {R} Kada se petlja zavréi, mora vatiti +B, pa je zato PAB = R. Telo petije mora obezbediti takvo inragunayanje u kome je, s jedne strane, invarijanta tuvek taéna a sa druge, kojim se polazeéi od neki potetnih uslova za konagno vreme ispunjava uslov izlaska iz petlje. Pri tome, s obzirom na reéeno 0 najslabijem preduslovu, mora biti ispunjeno i PAB = up(“do B = telo od”, R) Otuda sledi da se izra¢unavanjem wp za dato R moie dobiti predikat koji sadréi i invarijantu P i uslov petlje B. Tebniku identifikovanja predikata Pi B navedéemo kasnije, uz odgovarajuée primere. 7. Pogledajmo sada evoluciju resenja zadatka postay- Ijenog u taéki 2. u svetin izlogenih koncepata [5]. Navedena reéenja potigu od Dejkstre, prema [4]. Sam zadatak iz tatke 2. se moze preformulisati na sledeci nagin: Sastaviti program kojim se 2a zadati ceo broj 2 > 0 uspostavlja istinitost predikata: “Novi programi” R: 0<¢2<2< (241)? (1) ili, Sto je ekvivalentno, istinitost sledeée konjunkeije: Ri 05202? S2azr<(zt+l). (2) Iz ove ialazne specifikacije programa se njenim “slabljenjem” moze dobiti moguéa invarijanta petlje programa Koji treba napisati. Jedna tehnika slabljenja se sastoji u brisanju élana konjunkcije. Kandidati koje treba ukloniti iz uslova (2) da bi se ovaj uslov “oslabio” su ili drugi ili treéi aan konjunkeije (jer oni vezuju ulazne i izlazne promenijive). Ako iz (2) izostavimo, na primer, tredi dlan, dobijamo kao moguéu invarijantu sledeéi predikat: P:0<2AP <2. (3) Kako je 2 > 0, inicijalno se istinitost invarijante P postize dodelom z := 0. Kao uslov petlje (s ‘obzirom na izlozeno u taéki 6), moe se uzeti ne- gacija odbagenog lana konjunkeije, tj. (2+1)? < 2. VOL. 1 BROS 2/4 1987, 101 RACUNARSTVO U NAUCI I OBRAZOVANJU U tom slugaju, kada se izvréavanje petlje zavrsi zato Sto uslov nije vise ispunjen, biée izbrisani élan konjunkeije, @ fortiori, tatan. Otuda dobijamo prvu aproksimaciju trazenog programa: ; do (z +1)? <2 7 od Iskaz koji treba da zameni ? u petlji, treba da oberbedi uvecavanje promenijive z kako bi gornji usloy bio u jednom trenutku zadovoljen. $ obzirom na (3), z je odozgo ograniteno ea /2, a najjednos- tavniji natin da se z poveéava se ostvaruje dodelom 2:= 2+ 1, pa otuda imamo program: 2:=0; do(z+1P <2—42:=241lod (4) Lako se sada moze pokazati da je PAB=up(*2:=241",P) tj. da je P invarijanta petlje. Ovo regenje je na Zalost “sporo”, jer je vreme iavrSavanja proporcionalno sa y/2. Sporost. je, pri tome, neposredna posledica izabranog nagina napredovanja kroz petlju iskazom z i= z+ 1. Breina se moe poveéati ako se umesto linearnog, napredovanja obezbedi “bisekciono” napredovanje, inspirisano algoritmom za binarno pretradivanje. U tom smislu, umesto zahteva izradenog predikatom (1), zatradimo da se zadati broj 2 nalazi uv nekom intervalu (z%, y*), gde je y nova promenljiva. Pokusajmo da “pronadjemo” [y/z] tako sto éemo gornji interval prepoloviti a rad nastaviti na onoj polovini koja sadrai 2. Ovim je implicitno izlozen Jo8 jedan postupak “slabljenja” predikata R, postu- pak zamene konstante promenljivom: umesto izraza 2+ 1, uvodimo novu promenljivu y tako da bude: o<2ercy (3) Da bi (5) bilo taéno, mora biti y > z. Ini istinitost predikata (5) utvrdjuje dodelom: gys0c4¢1 Nova promenljiva y je tad. ograniéena sa z-+1 (zbog (zbog gornje dodele). Imamo otuda ntu buduée petlje: PracySatiarcr 2. Uvodjenjem pomoéne promenljive w koja éuva medjurezultat izraéunavanja (2 + y) +2, dobija se konaéan program zy: 041 dozt+tl#yrw=(z+y)+2 ifwewS2—>z:=w DJ vews2> fi od Dobijeni program ima vreme iavréavanja propor- cionalno sa In z. Sledeéi korak u preformulisanju ostvarenog rese- nja je podstaknut namerom da se “skupi” operator celobrojnog deljenja + (x +y je najveti ceo bro} manji ili jednak 2/y) zameni obignim deljenjem. ‘To nas vodi u promenu reprezentacije podataka iz prethodnog reSenja. Zamena + sa / bi bila trivijalna kada bi z+ y bilo uvek parno (jer je onda (2 + y) +2 = (z+ ¥)/2). Kako to nije sluéaj, treba uvesti “smenu”— novu promenljivu t koja ée obezbediti da razlika z—yostane tokom celog iaragunavanja parna. Ovaj uslov se najlakSe postiZe slede¢om smenom: apd: t=2 RACUNARSTVO U NAUCIT OBRAZOVANJU 102 VOL. 1 BROS 2/4 1987. Novu promenljiva y iz prethodnog resenja, izaberi- mo tako da je yartt Sada je, s obsirom da je y — z= t parno, biée wa (sty) F2=24(y—s/2=2tt/2 Zedtita petlje z +1 4 y se neposredno transformige uuslov t # 1, a invarijanta (6) u predikat: P: 0S 2?S2<(zttPA3p2 1: t=P (7) Preostaje jo8 da se promenljive y i w izraze preko promenljivih zit. Ako je w? > 2, to ée biti y:= w zamenjeno sa y:= z + t/2, jer je ety)e2a(ete4le2=r4t/2 iy i= 2+4, pa je odgovarajuéa smena t := t/2. Za w? < 2, sliéno dobijamo: zinztt/2 ew: (2+y)+2=2+t/2iw = 24/2, vidimo dase w moge eliminisati. Prva aproksimacija petlje daje: dot £1if(z+1/2)? <2 2: I) +12)? >2t: fi +1/2 1/2 od Sada se moie lako dodela t := ¢/2 izvuéi ispred alternativne komande, sto daje konaéno program: 2,1:=0, ldo <2 t:=ts2od dot ¢1t:=t/2 if(z+t<2> ] G41)? >a skip fi zt od Inicijalna dodela je, pri tome, rezultat potrebe da invarijanta (7) bude zadovoljena pri prvom ulasku u petlju, U samom procesu izraéunavanja mofe se prepoznati joi jedan elementarni algoritam: algori- tam za celobrojno hardversko deljenje. Buduénost “novih” programa 8. Kada je krajem 60-tih godina, Dejkstra “osu- dio” GOTO-iskaz na progonstvo, mnogi medju programerima odraslim na klasiénim programskim jezicima bili su zapanjeni radikalnoséu ovog pred- loga. Prisetimo se samo upornosti kojom je Donald VOL. 1 BRO’ 2/4 1987. Knut pokugavao da rehabilituje ovaj iskaz [10]. Tre- alo je da prodje vi8e od decenije da bi se nagiroko shvatilo da se iza progonstva GOTO-iskaza krije, zapravo, zahtev za strogom i sadréajnom vezom izmedju nadina razmiéljanja o jedzom problemu i nagina zapisivanja programa. Cini mi se da sliéna sudbina Seka i “nove” programe. Misaoni napor koji se zahteva u procesu stva- ranja “novog” programa mode izgledati preteran u ‘odnosu na jednostavnest nadahnuéa kojim se in- im putem stvaraju programi. Ipak, izlogeni primeri ubedljive ilustruju prednosti “novih" pro- grama a kompenzacija za ulogeni trud je vigestruka: realizovani program je korektan (dakle, ne zahteva, testiranje), elegantan (konstruisan bes poziva na “trikowe") i, Sto je moida najvasnije, uz njegovu iagradnju je izvréen “prinudni? razvoj programske dokumentacije (Koji je bolna taska svih Klasiénih tehnika razvoja programa). ‘Takodje, ostvarena reSenja su iguzetnog kvaliteta i ne mogu se dobiti drugim putem. Biée potrebno, bez sumnje, jo8 mnogo vremena da ideje o “novim” programima postanu progta- merska svakodnevica. Neki preduslovi, sistematsko inugavanje elementarnih algoritama i integrisanje potrebne podréke matematicke logike u progra~ mersko obrazovanje, moraju prvo biti ispunjeni. S druge strane, “novi” programi nose u sebi neophodne preduslove Kojima programiranje do- bija svoju stabilnu metodologku osnovu, a to je prvi korak ka razdvajanju jedne nauke od puke madjionigarske vestine. Literatura 1. Dijkstra, E.W.: Go to statement considered harmful, Comm. of the ACM 11(3), March 1968, pp. 147-148 2. Dijkstra, B.W.: Notes on Structured Program- ming, In: Dahl, O-J., Hoare, C.A.R. and Dijkstra, E.W.: Structured Programming, Academic Press, New York, 1972. 3. Dijkstra, E.W.: Guarded commands, nonde- terminacy and the formal derivation of programs, Comm of the ACM 18(8), August 1975, pp. 453- 457 4, Dijkstra, E.W.: A Discipline of Programming, Prentice Hall, Englewood Cliffs, 1976. 5. Gries, David: ‘The Science of Programming, (Texts and monographs in Computer Science), IV ed. Springer-Verlag, New York, 1987. 6. Hoare, C.A.R: An Axiomatic Basis for Com- puter Programming, Comm. of the ACM, 12(10), October 1969, pp. 576-580, 583 RACUNARSTVO U NAUCI I OBRAZOVAN3U 7. Manna, Z.: Mathematical Theory of Computa- tion, McGraw-Hill, New York, 1974 8. Manna, Z., Katz, 8: Logical Analysis of Pro- grams, Comm. of the ACM, 19(3), March 1976, p. 9. Manna, Z: Six Lectures on the Logic of Computer Programming, Stanford AI Laboratory, Memo AIM-318, November 1978 10. Knuth, D.E.: Stuctured Programming with GOTO statements, Computing Surveys, 6(4), De- cember 1974. pp.261-301 LL. Knuth, D.E: The Art of Computer Program- ming, vol. 1, Addison-Wesley, Reading Mass., 1968, GK % KI O,0,D Adresa autora: Dusko Vitas Ragunarska laboratorija Prirodno-matematigki fakultet, Beograd Studentski trg 16 rt ht Vs 1B F T Ox . GIN h Rt zy, ___} 1c STOP RACUNARSTVO U NAUC! I OBRAZOVANIU. 104 VOL. 1 BROS 2/4 1987, élanci ‘UDK 081.93:3 Laitki pogled na kompjutersko prosvetiteljstvo Dusanka Ban Kratak sadviaj: Uvodjenje kompjutera u bibliotekarske i dokumentalisti¢ke poslove zahteva, kao i u svim drugim oblastima primene, dobro razumevanje specifiénosti struke. Kompjuterasi profesionalci ukazuju redouno samo na tehni¢ku siranu uvodjenja kompjutera, a ne sporninju organizacione i metodoloske promene koje novi alat nugno izaziva u samoj struci i u poimanju njegovih korisnika, U ovom izlaganju, autorica opisuje svoje vidjenje i svoj put u postizanju kompjuterske pismenosti i svakodnevne rutinske upotrebe personalnog kompjutera. Da bibliotekare ohrabri da poénu, ali i da pokaze da se tim putem ne moée ii bez podréke kompjuterasa, autorica daje primere iz tri tipiéna podrugja primene: ¢) pisanja kompjuterom (obrada teksta); b) planiranja i izrade specijalizovanog programskog proizvoda; ¢) kompleksne upotrebe personalnog kompjutera u istrazivanju. Namerno nije pomenut nikakav primer koriséenja velikih kompjuterskih baza podataka posredstvom mikrokompjutera, jer su takvi ciljevi obiéno daleki i teéko dosezni, a svakodnevna praksa nosi dovolino problema koji se mogu realno regiti mikrokompjuterom. Kljuéne regi: kompjuter, laicki pogled, bibliotekarstuo, dokument, 1. Moj mikro tako i softvera kojim se sluZite. Zato je u svakom potetnom uéenju, alii tokom rutinskog rada, nuina Ja nisam kompjuterad, dakle laik sam za podruéje podréka eksperta i ja se od nje ni danas ne odvajam. programiranja i tebnologiju raéunara. Korisnik sam Volela bih zato da vam ukratko ispri¢am kon- ovog novog alata 2a svoje dokumentalisti¢ke, bib- __denzat trogodignjeg procesa uéenja, 2a koje vreme liotekarske, istradivatke i publicisti¢ke potrebe. sam popunila 8 disketa i proizvela preko 1.500 Sticajem sreénih okclnosti pogetkom 1984. go- Strata raznth finalnih dokumenata (ne rafunajuéi dine personalni mikrokompjuter naselio se u moju_-_-‘aravno medjuverzije i kopije). PETER radnu sobu, To je u nas ponesto egzotigni japanac Moda ée vam poneki detalii izgledati trivijalni, OKI IF 800 kapaciteta .... i ostale tehnitke detalje a neki sitni, ali se oni obigno ne nalaze u oficijelnim ni danas ne znam napamet (videti Prilog). ee (manual), koje Pee pripremaju . terasi za kompjuterase (njima je npr. au- ‘Tada sam stekla i svog kompjuterskog gurua Senta ce a i = mislimn da je moja totalna bespomognost pred _f0"ko pisanje nepomnat proces, bibliotekarski prob- ° Jemi su im "Spanska sela” itd). svakom napravom slogenijom od kafemila naprosto Y F izazvala sagaljenje. Na stranu dala, i svaka pe- Tako vam ovaj tekst nete uskratiti, muke sop- dagogija potvrdiée da je pripremanje us stapljiveg tYen0§ Probijanja. kron. vieslojni proces ‘kom uéitelja uvek efikasnije od suvoparnih knjiskih lek- Pjuterskog opismenjavanja, moida izazove radoz- cija. naiost i ponukati vas da probate. Profesionalno znanje u kompjuterastvu najbrie Svoja zapaianja izlogiéu kroz primere od kojih ° 1 Kor i svaki predstavija po jednu tipiénu situaciju: zastareva i veoma je specijalizovano. Nemojmo se Pcdatse ih wentcke ete zavaravati da ga je moguée savladati tek za usputnu ORO RRE Bi ROTC RRy AP Rae ee upotrebs kompjutera keo alata. Reklamni slogani . skog proisyodty tipa” Lako éete vladati nasim mikrobom XY” znaéi FIKUS ili kreiranje novog programskog samo da su vam resursi neograniéeno litno dos- proisyods, tupni, i niu kom sluéaju ne odnosi se na stvarno *BC ili, kompleksna upotreba kom- ananje programiranja i odréavanja kako hardvera pjutera u istradivanju, VOL. 1 BRO 2/4 1987, 105 RACUNARSTVO U NAUCI I OBRAZOVANU 2. Pisanje kompjuterom Mada je obrada teksta relativno kasno potela da se primenjuje u razvoju kompjutera, postala je najrasprostranjenija upotreba upravo personalnih kompjutera (Kalow, 1984). Naglagavam ten personalni kompjuter — za kompjutere u lignoj upotrebi (pa i u posedu). Igre ne komentarigem, mene ni najmanje ne privlage. Zato éu prvo govoriti o toj funkeiji (iako pisanje tekstova u ukupnom bibliotetkom poslovanju na prvi pogled nije mnogo zastupljeno), jer je smat- ram najprirodnijom osnovom (potetkom) za svaku drugu upotrebu mikrokompjutera. ‘Za pisanje teksta, kompjuterasi to zovu obrada teksta (4), koristim WordStar (WS) firme MicroPro SAD, jedan od najrabljenijil programa za tu svrhu u svetu. Pisuéi na kompjuteru, istovremeno sam savla- dala tti procesa: © uéenje samog programa - WS tj. komandi kojima se pige, + nova pravila grafiékog oblikovanja teksta, + nova pravila stvaranja dokumenta (lanka, pregleda i dr.). Utéenje pisanja WordStarom _poéela sam bez naroéitih priprema~- moralasam hitno da prepisem. kratak prilog 7a Easopis, a pisaéa madina bila je pokvarena, U tom tenutku, jedino mi tastatura nije bila strana, joS svoj maturski rad sama sam prekucala, 2 veé desetak godina pisala sam dirck- ‘no pisagom maginom, Sest najbitnijih komandi tada zabeledenih i danas imam na istoj kartici. ‘To su komande za micanje kursora (treptajuéa oznaka na ekranu za mesto pisanja — svetlac 712) po ekranu (levo, desno, gore, dole), komanda za brisanje pojedinog maka (slova, cifte, interpunkeije) i komanda za dozvolt umetanja aakova. Pripremne radnje da bi se tekst pojavio na ekranu i pohranio, obavio je moj ucitelj. Kod sledeéeg prepisivanja zabeledila sam ko- mande 2a pozivanje programa WS, otvaranje i zatvaranje fajle, brisanje reéi, redova, 2a micanje teksta po ekranu i druge ... a onda su apetiti rasli Naredna faza je bilo pisanje na osnovu koncepta, zatim na osnovu najgrubljih odrednica planiranog dokumenta, a onda ”pravo na ekran”. ‘Vremenom sam postigla izvesnu ekonomiénost u micanju kursora prema vrsti komande koja sledi (Sto je najvainije kod najuéestanije komande 2a brisanje jednog maka ili reti). Na Zalost, to se ne da ukratko prepritati Pored svojih beleZaka sa komandamastigla sam, ipak, samo do skraéenog uputstva WORDSTAR COMMAND CARD od dve nepune strane; do danas nisam dospela da bacim ni pogleda na oficijelni priruénik (manual), a kamoli da ga proudim. Ne kaiem da je ovo najbolji metod, ali je priligno efikasan, jer spreéava rasplinjavanje u mnoétvu moguénosti programa WS, koje prevazilaze osnovne potrebe kod pisanja. Grafigko oblikovanje teksta pri velikoj raspo- lodivosti raznolikih fontova, slova razligite veligine, lakog iavodjenja podebljavanja, spacioniranja, pro- mena leve i desne margine, postaje veliki prob- lem znanja, mere i ukusa. Upotrebe raznih makova: ("# $%&? ()=-+*<>/ "je napast kojoj je tesko odoleti. Kako nema posrednika u finalnoj grafitkoj obradi teksta, odnosno dokumenta, autor se iz nenada nadje u ulozi stvaraoca grafizma (graficki urednikk) svog dokumenta, najéesée bez ikakvog prethodnog iskustva (jer je malo autora do sada imalo prilike dao tome brine - to je bio” nigevredan” posao daktilografkinja). Mene je ovaj Sok mimoigao jer sam, prethodno rade¢i u indavackoj delatnosti, prosla ”ostru” skolu redaktora i urednika publikacija. Zavodljivost brojnih grafiékih moguénosti u oblikovanju teksts mnoge je dokumente udinila be- smisleno iskienim poput botiénog devea. Uotava- juéi ov pojavu, pojedine redakcije tasopisa i iz- davadi u svetu, posebno oni koji primenjuju elec- tronic publishing, izdaju detalina uputstva za au- tore o oblikovanju teksta [1], (6). Kao ilustratija neka posluzi priruénik Publica- tion Manual of American Psychological Association [6] na 208 strana formata A-4, sa 35 referenci i 42 dela preporuéene literature, uz naglasak da je prvo indanje bilo 1983, drugo revidirano 1984, a ovo treée 1985. godine. © izboru slova, proreda, prelomu strane, 0 visini, mestu i sadréaju zaglavija (heading) i napomene na dnu stranice (footing), smestaju pagi- nacije, broju redova na strani, broju slovnih mesta u redu, veliéini pasusa i ostalim ”cakama” — drugi put. Ili progitajte u navedenom Publication Man- ual Ustanovila sam takodje i pravilo 0 redosledu operacija grafigkog doterivanja. Prvo kotigovanje slovnih grefaka od potetka do kraja fajle, zatim poravnavanje desne margine u celoj fajli, onda RACUNARSTVO U NAUCI I OBRAZOVANJU 106 VOL, I BROS 2/4 1987,

Das könnte Ihnen auch gefallen