84 Inf ormatica : YU ISSN 0350-5596 I I atica Ćasopis izdaja Slovensko društvo INFORMATIK^., 61000 Ljubljana, Parmova 41, Jugoslavija UREDNIŠKI ODBOR! T. Alelcslč, Beograd) D, BI trakov, Skopje j P, Oragoilovié, RljeXa; S. HodSar, Liubljana; B. Hocvat, Maribor ; A, Mandi ii5, Sarajevo; S. Mihalić, Varaidini S, Turk, Saqreb GLAVNI ™ ODGOVORNI UREDNIK: Anton f. Železnikar TRHNICNI ODBOP: V. Batageli, D.Vitas -- programiranje I, Bratko — umetna Inteligenca D, Če^ei-Kecmanovič — informacijski sistemi M. Exel -- operacijski sistemi B. Ožoncva-Jerman-Blaiič -- srečanja L. Lenart — procesna informatika D, Novale — mikroräüunalniki Neda Papld — pomočnik glavnega urednika L, Pipan — terminologija V. Rajkovie ~ vzgoja in izobraževanje M. špegel, «. Vukobratovii — robotika P. Tancig — računalništvo v humanističnih In J družbenih vedah ; S. Turk — materialna oprema A. Gorup — urednik v SOZD Gorenje TEHNIČNI UREDNIK: Rudolf Mutr, ZALOŽNIŠKI SVETl'i T, Bariovec, Zavod SS Sloverìi^e za statistiku, Voìarski P'Ot 12, Ljubljana A. Jerinan-Blaitć, DO Iskra Delta, Parmova 41, Ljubljana ■B. Kiemenćlč, Iskra Teleina cika, Kranj S, Saksida, Institut za sociologijo Univerze Edvarda Kardelja, Ljubljana J, Vicfirìt, Fakulteti! za elektrotehniko, Tria- k? 25, Ljubljana UREDNlèTl'O IN UPRAVA: InforriLa, Parmova '4i, 61000 Ljubljanaj telefon (061) 312-988; teleks 31366 Yü Delta LLTKA NAROČNINA z*a delovne organizacije znaša 1900 din, za redne člane 490 din, za študente 190 din; posameana Številki 590 din. äiRO RAČUN: 5010l-678--Ma4 1 Pri financiranju časopisa sodeluje Raziskovalna akopnost Slovenije. Nil podLii^i iiHitjiija sekretariata zd prosvsvo tn kulturo ät, 42 1 i'-4-i/7<>, z dne 1.2.1979, je časopis opto^sčen temoljneua davka oii proinüta prciìvodciv TISK: Tiskarna Kresi^a, Ljul>i üliiVKJONÄ ÜFREMAi Rastü Kirr'. ČASOPIS ZA TEHNOLOG IJO RAČUNALNIŠTVA IN PROBLEME INFORMATIKE CASOPtS ZA RAČUNARSKU TEHNOLOGIJU t PROBLEME INFORMATIKE SPtSANIE ZA TEHNOLOGIJ A NA SMETANJETO I PROBLEMI OD OBLASTA NA INFORMATIKATA YU ISSN 0350 - 5596 LETNtKS, 1984-St. 3 R, Pileskini 3 A.P.ieleinikar 7 I, Mirić 21 R. Mđi-kovic 27 B. Miniivi lovir. P, Kitlbeitf!-- B. Minovi lov/j<; J5 F", Kolbeter' M. Kukrik- M, Qimv- In o«».« li e. Kästeln; R. Mur?-t II. F-pi^ei B. Dtuiiuvd bi» t viti, Žerovfiik E B I N A ftaivoj rafunalniiivt in u-sm*rje(io ii«br-«l»v*r>Je Frosraoti z* •raMov I ci««nje BPo- AlattrithM for Fast B/D Conw«r»ion of Irttvaers Interaktivni oroar»«* - SIRUP je 49 Par«Ielna izvajanje apr«-vil w v»eor»cesarskem Bist e«u I P»r*l»lno ItvitjatiJe oera-vil w večprocesorske«! sistemu It Priatuo kreiranju ra»pore-djlvaft» ladatak« .., FVesrtmski jczili II ROH A.P.^el.Vf.i tkdr i,,' /2 Uporaba pro»raM«Nih srafov ori usotavljtriju vzporednosti v rafunalnlikih «1-sorltmih II Proar*i»ir«f>J« i tbirhaMi v jeziku CBa»ic Uporabni proarani Novic« in lartiaivosti informatic: YOURNAL OF COMPUTING AND INFORMATICS Published by INFORMATIKA, Slovene Society for ■ Informatics, Parmova 41, 6 icid'; Liubi jana, Yugoslavla EDITORIAL BOARD: T. Alekslć, Beogradf D. Bi trakov, Skopje) P. Dragojlovič. Rijeka I S. Hodiar, Ljubljana) B. Horvat, Maribor} A. Mandilč, Saralevo) S, Klhallć, Varaiđint S. Tuck, Zagreb EDITOR-IN-CHIEFJ Anton P. Železnlkar TECHNICAL DEPARTMEHTS EDITORS: V. Batagelj, D. Vl.tas — Programming I, Bratko — Artificial Intelligtjtice D. Čeiei-Kecmanovltf — Infocsnatlon Systems M. E/el — Operating Systems B. Dionova-Jerman-Blaiič -- Meetings L, Lenart — Process Iriformatics D. Novak -- Microcomputers Neda Paplđ — Editor's Assistant L, Ptpan — Terminology , V. Rajkovlfi — Education i M. Spegel, M. Vukobratovltf — Robotics ■ P, T<>nelg — Coitiptttlng In Humanities and Social Sciences S. Turk — Computer Hardware A. Gorup — Editor In SOZD Gorenje EXECUTIVE EDITOR: Rudolf Mum PUBLISHIKG COUNCIL: T, B?.noveCf Saved SR Slovenije za statistiko« Volarskl pot 12, Ljubljana A, Jerntan~BJaIifi, DO Iskra Delta, Parmova 41, Ljubljana B. KlemenfilS, Iskra Telematika, Kranj S, Saksida, Institut za sociologijo Univerze Edvarda Kardelja, Ljubljana J. Vlrant, Fakulteta za elektrotehniko, Ttia- 5ka Ljubljana HEADQUARTERS: Informatica, Parmovii 41 , 61000 Ljubljana, Vugoslavla Phone: 61-312-9e9( Tele*: 31J66 YU OFLTft ANNUAL SUBSCRIPTION RATE: US3 22 for companies, and US? 10 for individuals Opinions expressed In the contributions are not necessarily shared by the Editorial Board PRINTED 6V: Tiskarna Kreeija, L^^ubljana DESIGN: Rasto Kirn YU ISSN 0350 - 5596 VOLUMES, 1984-No 3 R. ftleakinl A.P.Želeinilmr I. N«rić R. Harlcovlć Hihovilović P. KolbBian B. nihoviloviC Pt Kolb*i*n H. Kukrtha M. Oan* •t All t. K**t«lic R. Hum D. IB. Dtonov* -JwrMin Jt 2*rovnili CONTENTS l^evelooMifnt of CoMPutinlt and Oriented Educa-tion 21 27 31 35 38 49 S3 a/ 69 72 Proarams srsMS I Ur 11 i n^ Fto- Al»oritt»ii»m for F«»t B/D Conversion of Intesor» SIRUP- - An Interactive Pro»r»«i Generator Parallel Task Execution In a hultiprocessor 8u»tMn I Parallel Task Eiecution In « HultÌProcemsor SustÉW It An Approach to In of Ta^h Scheduler in • RmI-tim« Distributed Oceratina Süste« Prosranmins Lansuase Placai II Teatina of MeMorM Application of Prosr«« Graph Analvsis for Measur-Ment of ParallelisM in Computer AlPorithme II Prosrammins Uslna Files in CBasic ProaraniMlna Ouichies Mews RAZVOJ RAČUNALNIŠTVA IN USMERJENO IZOBRAŽEVANJE UDK: 378.681.3 R. FALESKINl DO ISKRA DELTA Posvetov^nge o oDrsnlJinJu Ìol X računalniki je puhazala> dü Manihajo bistveni «lemcnti ttlanshMa prlvtoea* eritnerJalo« analiia z razvitad-ćiMi d»ielami. zasolcvitev virov financirani« in kvantificirane juso-slovanske »otrobe. PrisPBV»l( POvlema razpravo avtoi ja z vidiki, ki a« psineMbni za rafunalniého industrijo [i»v«l0em«nt of CoMPUtln» and Oriented Education At the neetins of acheol coneut*rl«atlon in üiovenza it was found that »one Important plannins »IvMsnta ar« mii>»in»> a comparativ« ana-lu&ia of btrtter develoced countrl«s> auaranteti findnca Bourcasf and Quantified Yiisoslav needs. This article deal^ witK Bome apects as seen from computer industry point of view. 1. Uvod lii'ie 21.4.1984 je potiskala v Ljubljani celodnevno Posvetovanje o uvajanju računalnikov v UsMerJeno izobraževanje. V Sloveniji inaino veliko levilo centrov usnerJeneaa liobralevanJa in osemletk p ki bi Potrebovale Minimalno računalni-tko ocremo. Ideje. kaJ pravzaprav &ole potrebuJejot so dokaJ nejasne. Itelovna »kupinaki naj bi pripravila neka standardno kunfisuracidoi ie uuutovila' da na J bi iMSla vtiaka osemletka po 4 hitne računalnike s tolevj » or Jeni in kaseto lo da naj bi imela vsaka srednja tola en računalnik v konfisuraciJi s 4 terminalii t dokaj moifnim diska« in šibkim disiioAi. F^olea teaa pa naj bi vsaka srednja ioLa imel* vsaJ ie 8 hiinih računalnikov z ustrezni«! kasetnlMi enotami in televiio'" Ji . Ob času Posvetovanja »v ei udclelenci posvetovanja i bilo Jih je okros 80> oaledali tudi raietavn w Iskra Telta v Cankarjevem da«u. fta Potrebovali nujno te ooreno nitieaa nivoJa ali večje tt*-vilo terminalov ali Pa hitne računalnike, na katerih bi bilo «olno oripravlJatl kaseter ki bi Jih polt'» obdelali na večjih računalnikih. Ko se jii^ ^ovurili) o potrebah, se Je PosebeJ UBOtovlJalo število hitnih računalnikov. in razpravljavci «o Pritli do ttevil« 2000 hi4nih računalnikov. Proizvajalci s«o opoiarJali na Probleme' ki izha~jajo predvsem iz tesa, da sistem usmeriniieaa ilobralevahJa itima Plana Na eo'«vetovanJU izi'aleno povpratvvanje po računalniški oif^emi v bistvu ni Plačilno seosobn« Povpr'.iti.'vaiiJii> lil osnovni probleni obratovanja te opinmii' iiisu niti Priblitno razretpni jili. Iiiveraantne ideJ« z di veraantn ini izvor:i financiranja Pa nuJno vadijo tudi v dlveraecitno opremo in naposled v ruteni« kakrtni Nkoli motnosti za standardi zac ijo. V usmerjenem ilOOraievanJu ni konkretnih idej. kako bi pravzaprav povezovali Sinclairje (la katere ic veliko navduten ja ) i oprano' Iskre Delte na wrofesionalnew nlvoJu» Čeprav je ta Probien retljiv z enostavnimi lokalflini nrela-Ml .sa o te« ne razniilJa in v bistvu so prisotntr izolirana diveroenCne IdeJe. Pri nadair>jih »lantaktih industrij« s tolniki bo Potrebna velika mera potrpetijivosti in previdnosti tudj zaradi tesa. ker ni dovoli finan-Cnih sr »d^t ne bi ustrezno delalovala in te obratovalne POMandhlJivottti bi verjetno lahko povzročile Mnoso v«£ie etro&ke kot bi bili prihranki pri liboru c»nJe6e opreme oz. popuati pri nabavi te opreme. fiolnikl se v biutvu obnaiaJo iirazit'o visok po Bvojef veak ima evoJe probleme za naJpomemb-nedte in Ceorav ne vidi. celottä ima ideJer ki iih lelc vehementno ramlasat bolniki ée niso pripravljeni na zdrul^anie in na Izdelavo enotnesa plana nabav opremo uenerJeno iio-bralevanJe, Diveraenfine ideje so prisotne tudi na univariati in pozitivne iihu&nje Republiftkaaa računttkeaa centra in Računa Inifikesa centra univerz» «o v bistvu éolnikom neznane, Z« ttvojo nespodbudno situacldo iftčejo Aolniki krivca predvsem v domači Induutriji, Povečini «o prepričanlt da bi morali domači proizvajalci sami financirati celoten oroJekt opremljanja «ol ž računalniki, prl čemer nc» razmiäljajo niti » ekonomski moči domačih proizvajalcev, ki je za tak proJekt daleč preöibka. niti o kompletnih potrebah celotneaa izobraievalnena «i«tema, Vei kot 70 X vseh računalniških zmošlJivotttl v SFRJ. a katei-imi razpolauaJo izobraževalne ortiianizaciJe. Je iz domače proizvodnje podjetid lokra-TOZ» Računalniki. Elektrotehna-ftO Delta-lukra Delta oziroma iz zastopniJtkih Prouramov teh podjetij C in DEC). Prod združitvijo v enovito nu Iskra Delta sta TQZD Računalniki in DO Iielta viiaka po svojih močeh podpirali uvađanje računalništva v srednje in visoke £ole. Obe organizaciji »ta tudi »odnlovall v pripravah učnih proaramov in lahko rečemo, da se je ta dejavnost nadaljevala tudi po zdrufltvi v enovito delovno oraanilacijo Iskra Delta pred dvema letoma. 2. Potrebe po delavcih za informaci jeko tehnologijo Iskra Delta Je kot proizvodna orsanliaciJa ŽivlJenisko lainteresirana za različne profile delavcev, ki ae srečuJeJo z računalniško tehno-loaiJo, Prvi prufil oblikujejo delavci, ki se zaPOslJujBJo neposredno v razvoJu in proizvodnji računalniških »iatemov. :ln nicer tako v proizvodnji soaraturne kot v »roizvodnJi pi-us-rami-f?iiiirani -Amo za mul t.iilisciPl Inai-na in interdisc jplinariiii znanJa. ki jih morajo imeti strokovnjaki v!ü«h druaih področij, ki se z lnformji:iJsko tehnolosiJo srečujejo v avojih rednih delovnih nroreaih, tako v nn-ocesih drut-benih in upravnih dejavnosti kol tudi v procesih same tir o i / vodn Je v primarnih. sekundarni h in Lerciiarniti t.ek lor jih, Sevfda smo /a in tereairani . da üo ta ziiin Ja orimtL-rlJivs a svetovnimi zniinJi. Hitslimo nam-rt'i;. da uPora t).i ra čmia ini ikij i ehno J un i Je v nati-iC-m ukol.Jii iie mor« t>it:i hit-jt vttito ili-iv.ia i! na kol Jii; v i-a/vuttm !bv(>ttj. Prve (skromne) uapehe pri razširjanju znanj • področja informatike in računalnifttv* smO 1* dosiesll na nlvoJu univerz, če poalcdamo nivo »rednJih Sol. moramo uaotovltir da Je ta nivo zaradi mnOBo večje rai&lrJenoat1. zaradi pomanjkanja računalniAks opremer zaradi pomftfeika-nja učlte^lJev. zaradi p.omanjhanJ« materivllzi" ranih int«roBov dejansko mnoao manj opref^jen* kot bi bilo Potrebno »lede na potreba po prestrukturiran ju jusoftlovanshe drutbe. Ha nivoju osnovnih šol in niljih nivojih eeveda sPlob le n» moreno aovorltl o kakršni koli drtj^eno organizirani akciji, ki bi bila po svojem «tbee-Bu tudi drulbeno relevantna. Potrebe »o dalavcihr ki bodo delali n©poer»dno na razvoju. izsradnJi in vzdrJevanju v inHrma-ciJskih sistemih, so zel» velike. Smatraitto. da bi moralo delati v proizvodnji aparaturn» opreme. proizvodnji programake opreme in v neposredni implementaciji informaci jake tehnoloaide v Sloveniji leta 2000 vsaj ISOOO delavS^ev v celotnem Proijtvodno-poslovnem kompleksu tnfor-; macij^ke tehnoloaiToreJ bi morali na ^^ivojuj srednjih šol takoj zaaotoviti ustrezno itwvllo" mest za te manjkajoče kadre. Uanes lahko ocenjujemo, da dela v proiivodno-poslovnem kompleksu informacijske Industrije v Sloveniji približno 2000 delavcev, če upq^teva-MO polea DQ Iskra Delta Se druu». ozirtiM« če definicijo Pootavimo zelo ohlapno, ker jo v naših razmerah moramo, tem koMPl«»kou mKošt*-vamo poles lekre Delte tudi drua« Iskrin« DO in pa delavcer ki so zaposleni v traovshih ^»lovnih orsanlzacljah in delavce, ki delajo v oraa-nizaciJah. kjer se proizvajajo aamo posamezni elementi računalniške opreme. Drua kompleks delavcev, ki jih j» Potrebno usposablJatir so delavci la ootrebe ImPl^rt^nta-ciJe računalniške tehn.oloai je. kJer k-e za priblitno trikrat večjo število. To levilo predstavlja seveda ootrebne kadre, ki dih Je motno zaposliti na ta način, (la upo^evamo potrebe juooslovanskoaa in pa zlattti Bvii^avn«»» traa po informacijski tehnoloaiji v prl^FOdnJih 15 letih. Poudarimo, da Je (30ZD Iskra ko% colo-^ ta le dan»® zelo usmerjena na avetovni ir» in da se bo ta ui^merJenost še povečevala v naslednjih 15 letih. To pa oomeni. da moramo r#Čunati s kapacitetami In oroanliacijo izobralesfalnesa sistema, kl bo sposoben dati fe v kratk,#« kritične mase kadrov za posamezna podrežj«, kt jih bomo potrebovali za pokrivanj» dejavnosti na svetovnem trau. Jasno je, da nri tem ne računajmo samo na delavce, ki se bodo izšolali v BR Sloveniji. DO Iskra Delta Je 1« danes Jusoslovansk» oraa-nizaclJa s svojimi 094 delavci v 20 krajih širom po drlavi (samo v Beoaradu de več kot 100 delavcev» slej podatke o izobrazbeni strukturi in zaposlitvi po republikah v naslednjih tabelah). Poles tesa ima Iskra Delta kooper^iJsk# odnose na zelu visokem nlvodu s sedem^jstimi delovnimi oroanizacijami iz vso Juaoslav^io. Izobrazbena struktura zaposlenih v DO Iskra Holta 31. 12, 19B3 doktorju znanosti masi str i znanosti visiokoèolska izobrazba vi4 JnJpolska izobrazba !ärednJetSolska izobrazba pul- in nekvalificirani delavci ükupa J ttelđ vi:ev L'.'i.'i.ij-.. --i. .-.i [sf.jjas: c 7 21 120 372 30 '894 Zapualenost dslAVCCtv EiO Iskra lislta PO r><»Bublikih 31. 19Bi SRt Hrvatk« Sft SrbiJa SFf Mftk^tionlJ« £>R Eio»na In Harcssovin« 6S4 133 ■ 26 16 •kupaJ iaco«lai)lh Pri orolivodnJi «»araturn« In proarantok^ uprenta Iti MiavoCs ispirati rastoCo informaci Jako induutrlJo v rtaPubliAke mtfJéi iato »i né »Memo delati lluziJr da bodo tole v druaih r«fPublikah £akal«»r £« »e v SlovanlJi ne homo hitro raivl~ Jali, Nascrolnop uaotoviti MoraMOt d« «o v nukat«rih drusih republikah «poeobnl idrulovati napor» celotne drulben» shupnouti ukrou dolo^ls-^ nit) projektov, kar so le nekajkrat dokazali (Primer SAP Vojvodina in Bft Hrvateke.K iato verJAMemor da botito v JuaottlavlJi preJkoaleJ imeli kadra i* InforMaclJsko induutrlJo. Od «tpósiobnoati izobralevalneiia «l^teMa v Sloveniji bo v vallki meri odvisna velikost aesmifnta Juaoalovafmko InfurMaciJ»ke lndufttriJe> ki sa bo razvil v SloveniJit Vsebina inanJ ir> izobratevalne motude nlki. J V prihodnjih latih lahko prliakuJemo množično uporabo Mated proaramlranesa uČenJa s pomoCJo rafunalnikov in povaiovanJa ra£unalnlAke tehno-loslJe I drualml madlJi ( taprta telavizlJ«r filM. proJakclJe dapoiltivov Itd.T ZnanJa. ki Jih bodo dobili uCencl v usmarJenem IzobralavanJur moraJo biti takar da bodo predstavljala dobro baio la nadaljno spacializaciJo v sami Rroiivodnl orvanizaciJi oziroma za nad*-Uno s»ei:ialliaciJo v delovni orsanizaci Ji p ki ttPorablJa računalnik. Upoštevati moramo todlt da bodo strokovnjaki j*ora11 uporabljati lične Podatke ali p« prouramske produkte ii svetovnih bai podatkovr da bodo morali znati uporabljati sodobno Informacijsko tehnologi Jo tUdI v tem «mlslur da bodo Prüll do. tah baz podatkov na ustrezno raCunalnilko podprt na£inr od koder bodo dobivali podatke o samih programskih produktih. o Patentih» o raziskovalnih In razvodnih naloaah v tuJ^inlr ü Člankih. knJliiah. revi Ja lì. o standard i h"^ Itn. datano Je. da bo moralo biti tem strokovnjakom Jasno. kak&ne so pravne obliko zaiCite 3inanJa. kaj Je v zagotoviti tudi opremo vi&dih fitopenJr pri čemer mislimo na zelo zmogljive delovne Postaje> torej inženirske delovne postaje z arafikor Inženirske delovne PcstaJer ki omosoCado priklJuCevanje različnih instrumentovr to pravi različnih vhodovt in oa Inženirske delovne uostadei ki omogočajo kontrolo različnih craceaov. Iirus segment bodo splošno nameneki računalniki? ki bodo omogočali vključevanje v uporabo podatkovnih baj, uograbo sodobnih »rosramskih oroduk-tovt programskih orodlir programskih seneratgr-jev itd.f v kompletne sodobno proeramake arhi~ tekture in arhitekture mrež. Torej bo /elo važna tudi uporaba teh računalnikov na mednih oodročjihp kjer se računalništvo stika s področjem oraaniiacijer s področjem tehnologiJor s področjem komunikacijo s področjem same elektronske produkcije, tt področjem produkcij® strojne induutriJer s področjem robotitte> ti področjem kibornetiho. Menimo torej> da morajo šale pri opremljanju z računalniki oziroma pri'planiran Ju iKredstevi upoštevati ne samo potrebe oo samih računalnikih. to se pravi po stroJni opremi» po programski opremit ampak morajo x^dovoljevati tudi Potrebe po temr da postane DrenaSanje /nanJ mnogo bolj sodobno. Tukaj Miislimo na vlasanJa v področje, kot so računalniško PoučevsnJe. uporaba sodobnih svetovnih podatkovnih baz itn.. kar pa seveda vso zahteva dodatna sredsti^ in naoore. Kot že rečeno. moramo ta srisdftta plan«ko ^a"otoviii. Vse to oa Je možno ««imo v ohvirih isamoupravne intece-ane skupnosl^i ža izobraževanje in s sodelovanjem poftlicn» organizacije^ kakršno predstavlja na nivoju Univerze Edvarda Kardelja računalniški «enter univerze. Menimo» da Je tudi vse razpravljanje in nJe o tem. ali domača proizvodnja blokir^^^uvox teh hišnih računalnikov ali ne. ravno ne3^(:ija Planskega pristopa v naših razmerah in v bi-fitvu nepoznavanje svetovnih in pa domaČih razmer na tem področJu. Prvi interes domač» Industrije je. da se informacijska huftura ra^èiri^ tu bi bila domača industrija voljna mate|pi.alno podereti Potreben uvoz> v kolikor bi se p^aiia-lo. da Je to optimalna, družbeno ushi^Jena rešitev. Današnji postopek uvoza miltrora&inal-nlkov ni povezan z nikakršnJim dajanjem Jr^gla-6ij domačih proizvajalcev, Jugoslovani. ki niso na delu v tujini, ne morejo uvažati mikrsraču-nalnikov podobno kot katerihkoli drugih pNtdmé-tov ( fotoaparatov, oblek ). katerih vrednost presega predpisani znesek. 5. Sklep Jugoslovanska računalniška industrija mora biti zainteresirana za trs računalnikov v usmerjenem izobraŽevanju pa tudi v onnovnem izobral^a.nju in Želi. da bi se ta trs oblikoval, težnost oblikovanja tega trga pa Je seveda samo v tem. da se zagotovijo ustrezni izvori za fina-^ira-nJe in da se planirajo ustrezna sredstv$. ki bodo omogočala prestrukturiranJe. Se bo^j kot za trenutno Brodaio v usmerjenem izobratiiivanJu pa je industrija zainteresirana za kvalitetne kadre la prizvodnJo in uporabo informacijske tehnologije. Oalašan je v tu Jiln tehnoloških. strokovnih in komercial" nih Časopisih je sestavni del naporov za povečanje Izvoza domače računalniške industrije O CPN 3739 C> PROGRAMI ZA PISANJE PROGRAMOV I UDK: 519.682.8 ANTON P. 2ELEZNIKAR 00 ISKRA DELTA članek oplauje tri qenerltn« sagmente, ki pišejo programe sa vhod, Izhod In navodila. Generatorji so poBBbnl programi, napisani v jeilku CBaslc, generlrajo pa programe (generlrance) v istem jeaiku. Sestavljanje uporabniških programov i vjporabo generatorjev je omogofieno na veS načinov. z generatorji lahko gradimo eno samo reiultatno abirko (generirani uporabniäki program), tako da nad njo zaporedoma uporabljamo generatorje (sproti dodajamo generirani tekst), Zgradimo pa lahko tudi loćene generirane segmente, ki jih v rciultatni program povežemo i INCLUDE ukazi in i roSno napisanimi (dodatnimi) programskimi segmenti. Seveda pa lahko uporabimo tudi meSani naSin sestavljanja rezultatnega programa. Programe Writing Programs I This article describes three generating segments for writing Input, output, and instruction programs. These generators are particular programs written in CBaslc and generating programs in the same language. The assembling of user programs by means of generators can be done in severai ways. Using generators a single (resulting) file (user program) can be built by sequential usage of several generators (adding new program text to existing .one In the file). But, one can generate Isolate gser program segments and put them together (by placing them into program, and linking them) using include directives and inserting program text written by hand. The third way is to use a mixed approach for program assembly (sequential adding and include procedure). I. Uvod Programi, ki piäejo programe, se imenujejo tudi programski generatorji (kratko generatorji). Kako lahko program napiSe uporabniški program i uporabo dialoga za doloCeno aplikacijo? HajpreprostejSa tamisel programskega generatorja temelji na enostavnem povezovanju ie Izdelanih rutin (podprogramov, prevedenih v strojni jeilk), ki jih je mogoCe lni«laliitr»tl {»odi-fIciroti, parametrično prirediti) z dialogom med uporabnikom in generlrnim sistemom. Določeni parametri teh osnovnih rutin so uporabniško spremenljivi (nastavljivi), t4ko da dobi lahko rutina opredeljeno (dovolj natančno, speclall-tirano) funkcijo, taklen generator proizvede povezavo uporabniško modificiranih rutin na ravnini strojnega jezika. ZahtevutijÈa in semantično ^plo£ne;]äa zamisel programskega generatorja temelji na izvirnem razvoju programa v visokem programlrnem jeziku (prenosljivost na različne sisteme z ustreznimi prava.jalniki) skladno s semaatiko uporabniškega algoritma. Od te spioän« zamisli je mogoče sestopati na več načinov in v več korakih, tako da se de vedno dosegajo bistveni praktlfini u-člnki (v lahkotnosti, prijaznosti, hitrosti in avtomatičnostl nastajanja novega programa). V praktičnih primerih avtomatičnega ali natančneje polavtomatlčnega generiranja programov bomo lahko izbirali poti med obema skrajnoetl-ma, tako da bo tudi izdelava (razvoj) generatorja (programa, ki piSe programe) potekala v sprejemljivih časovnih, stroikovnih in kadrovskih obsegih. Samisll programskih generatorjev v tem članku bodo temeljile na generiranlh izdelkih (generirancih) v visoke» programlrnem jeziku in v posameznih primerih bomo uporabljali jezik CBaslc tako za generatorje kot la generlrance. V prvi fazi boroo gradili enostavnejše (vendar net.rivialne), parcialne generatorje, ki jih bomo povezovali interaktivno, ročno, s poseganjem uporabnika prek urejevalnika v generirane segmcrun2 ubvhad3 CRUN VER 2.07P étevilo spremeniJlvh ? 10 nim^ntiJa PolJ ? ^ IMD aprewenlJivke Stev, 1 ( ♦ la ni/) e ? prvo. Tekst ja spredtenlilvko Prvo.idie»; 7 Vstavi im«» Ime spremenljivk» fttev, 2 ( « la nii) < ? druao.ime;« Tekst xa spremenljivko cJruao.iMe«' ? Vstavi druuo iM< Ime aor«nunlJivke étev, 3 <♦ la niz) f ? priimek» Tekst za spremernlJivko priimek»; ? Vatavi priimek4 Im« apremenlJivke Stev, A ( * za niz> » ? ulica* Tekat la sprentenlJivho ulica«* ? Vstavi ivie ulice « dtevilko« Ime Bpretaenldlvke ètev, S («za niz) » ? post.tttev« Tekst za spremenljivko pout.stev»« ? Vstavi POÈtfio Ätevilkot Ime «premeniiivhe Mev, 6 <* i» niz) t ? kraj» . Tekst za spremenljivko kraJ«« ? Vstavi ime kraJa» Ime apremenlJivke 4tev. 7 <« za ni») t ? drsava* Tekst za spremenljivko drsava»» ? Vstavi ime drlave« Ime spremenljivke ätev. 8 (* za niz) « 7 datum* Tekst za spremenljivko datum*' ? Vstiivl datum vplaćlla« Ime spremenljivke fitev, 9 <* ia nil) i ? »oesek Tekst za spremenljivko jnesek» ? Vstavi velikostvplačilai Ali lelia preizkus obmocJa o?,nlh skokov In subrutinakili klicev) t dialog za oSLiivi lòcvan je vrstic imamo na koncu to litìte. Sovoda fitev i lo mof.nih vhodnih sproiininl jlvk oc bo vnaprej omejeno (npr. Stovllo polj v ^aplaii) in spremenijivčna Imena liodo Laliko svobodno (uatrezno) izbrana. Po i:ioLrc;bi bomo Inliko dialog in gcneri-iMn i Ki;i.!iiif-ut t Uli i spruim^ii tli (s) spremembo g«n«rnl-orja In/alt v. roi^no modifikacijo). »IN prvo.lm»»C50),Ii dru9o.ime»< 50 ) rD prii«ek»(2iO>.B ulica«<50)rö P0«t,stev*(SO),D kraJ*< 30)rti tlriava»( 50>,» datum«(SO),D znesek(SO),ti »tatu»*( 50 ) iXol 20 PRINT 'Vstop atevilka 'i ±» 30 INPUT 'Vetavi imel 'i prvo.1m»9 40 INPUT 'Vstavi druso i«»» (Ce Je)« druso,im«*< iX) 50 INPUT 'Vtitavi priimek» '( priimek** 1X> IF priimek«iX)-'KONEC' THEN GOTO X3Ü 60 IUPUT 'Vstavi im« ulice » »tevllkot '» ullca*«iX> 70 INPUT 'Vstavi poitno ttevllkot 't Po»t,atev#MX) 80 INPUT 'Vstavi ime KraJa» '» kraJ« 90 INPUT 'Vstavi ime države» '( drjava»(l!(> 100 INPUT 'Vstavi datum vplačila« 't d«tum» IF »neEektlX)<190.00 OR » znesBkl iX))1900,00 THEN GOTO UO 120 INPUT 'Vstavi «tatua naroCnika» '( st»tu9»(i*) i«=.ix+n coro 20 130 Ali želiS shranitev na disk D»«»«, BDVBlSHBUaStttina Alzaia Pritar»M la oblihov»nJ« virtudnosa proarAM« Ime iblrkei OBVHODS.IDAS Im« 'IncXud»' iblrke» OlüDiaK.BAS «Mrttc 19B4> A, f. p BI mtamtsv» m u tame^it, 41 ■jum'Ktwm v mtmmna n « bii o D ----D t B V 10 Hlh t loX< 200 ), v«< 200 200 ), lv«< 200 200 ) Vhudni dlttlos -O 0 -I) inpui 'Število spremonliilvk ? 'lnX INPUT poIJ ? '(«vX Für iX^l TU rtXt tlPX.l )"*t' THEN tÌPX(iX)«-3 PRINT 'Tehit z« »prcMenlJivko 'ivWiX)»'» " INPUT p* 1*( JXJ^-^etrttplc >t JX-jX+l at=" IF n>t)l THEN at»"',ti* 1«( JXì^'niH '^vti 1 )+'< •+»tr»<«X )+ ')'+*» for ixb-2 to nX if 1x<«x then iX)"' VvtCiX)+'( •+tttr»(MX)+' )'+a» NEXT iX Plca-ftlctlnc It— D Ohllt(»vanđB vrwtlc» tX"l I«-"iX™l'< dX-JX+l 100P»PlC D Đ D- OblikovanJ« PRINTr INPUT In IF stavkov vhodne zartke I»< jX)=""» JX-JX+1 I*( jXWtr«(Plc)» Plc"Plc+lnc» jX-iX+1 "t 1*'. JX-JX+t I«jX)"'PRINT "Vfttop številka FOR iX-l TO nX er»Plc l^JX)""« dX"iX+l 1»( JX)"»tr»t Plc-Plc+inct iX-JX+i 1»( jX>i=*INPUT iX)+"*t '+v«+-'(lX)' jX'-JX+l ■ IF iX< HX THEN OOTO 20 Đ D » [t Izstop Iz vhodne zanke dnX-JX REM Indwks Izstopneaa atavka IF ttPX 1»( jX )-«*IF "+v»( IX >+ '( iX )" tv»+q»+' THEN GOTO * JX-jX+1 20 II It II -------------------------------------ß D Oblikovanje preizkosa (ibr»»äJ* U ---------:--------------------------D IF tlpX(lX)<>2 THEN ßÜTO 25 l»(jX)«*IF '+v«< iX iXX'+lv«< 1X)+* OR II* JX«=jK+l l»(jX)«' '+v»'->-hvt(lX)+ D ■ THEN GOTO •+»tr«er > dX~jX+l 25, NEXT IX l»(jx>«"i jX«JX+l !•(jXi-'lX-iX+lt DOTO '+»tr«»" j, jl-------------- El D Dopolnit p II------------- 1«( dnX )»'l»< 4lnX )+«tr*< pIc ) jX«JX+l 1«( jX )='str*< pie ) XINCLUDE obdiak.b^u END L-ista 3. Proqcain na tćj listi (zgoraj) je vhodni generator, kt z svojim dialogom odatki, ki se vstavljajo s konKOJe. Ta vlioiinl generator je enostaven in bi ga bilo mogoče dopolniti še tako, da bi v generira ntjm HegmeiiLu povzročil niistanek ustreznih (parametriziranlh) ko-montarjftv, ki bi omogočali lažjo ročno (Hodl f Ikiiol jo gcncr Iranca nastanek segmenta za vpisovanje vhodnih podtilkov (epremonljlvk) v diskovne zbirke različnih tipov (zaporedni ali naključni illJBtO])) nastanek fjruglli semantični)» dodatkov (po [lOtrobi ) BKBVBffIHHKBfll RHflSKIHBSBHa BnBlBtfBBBBIfla»ll|IBWnil^lWB tiols •Rnerir«n»»a oroaraM* n* i*«lon In n« dlak 4v izbr«no zbirh»> Iffl» zbirka« OBDISK.HAS Ti iblrk« ie 'iitcluds' zbirk« i* OBVHOĐ3.flA8r QSIZHÜKS.BAa In OBUKAZl.BAB Maree 1?S4 A. P. 2«lainltt«r U B --0 D D D t> D —D D— Đ D— KM« —» [I —o PRINT« PRINT FOR kX-l TO JX PRINT l*(kX) NEXT kX P Shranitwv n* (ll«k all ii«tap 7 INPUT 'Ali I®li4 »hr«r)lt«v n« dlftk td/n) ? *n* if zto'ò' and i«<>*d' then goto 90 Đ Zapla aan«rlr4n«aa oroaraM« n* dl«tt PRINT 'All lelln novo «li obstojwäo ,» Pl»(2CK>)rP2»t 2tì0>,p3«200) D— [I B— Izhodni dialoa -ti ti -Il INPUT 'àtevil« uoremenlJlvk ? '(nK FOK TO nXt tÌPX(iX>0» NEXT 1>C FOR IX«! T» nX " PRINT 'Iwe spremenljivke 4tev. "t iXt O • (♦ »a nil ) < ' INPUT w«< iX > IF rÌ3lit« ■ ^ IF len(pl») > «X: THEN DOTO 30 40 PRINT' 'stolpna naslovna vrstica Mev« 3 INPLIT »3«( iX> IF lsn) > MX+" )t •+» chr»< 34 iX)+clir«< 34)+'t ' ■ JX=jX-H. NEXT iX . 1*( JX )='FftINT* iX^'JX+l 1»='+v«( iX )+'( iX )'»D . JX=JX+li£i. GOTO 50 . l««' «X» •+»tr»(wX(iX)>+ti ■> dX»'+tt-tr« JX-JX+-1 ■ ■ I«( JX )» • OQSUB 6000 • . JXoJX+l ISO ■ . tX"=tX+«uX(-iX-l )+orX 1*{JX)='' PRINT t«b< VD étrt(lnt(tX+wX(tX)+l>)+'-Ien{tì«))r ' NEXT iX 1»( JX)!=' ■ PK'INT" ■JX=JX+1'; l»("iX)«'NEXr iX' .dx"jx+i / ; " XINIXUUE obdittk.bas END Lista 5. Ta lista, kl prikazuje program 0BIZH0D3,BAS, kaže drugega od treh programskih' generatorjev; ki jih bomo uporabljali. Znak '«' se uporablja namesto znaka (YU abeceda).. Ta generator iitia oštevilčene vrstice (od 10 do 50), vanj vključeni segment QSDÌSK.BKS na koncu liste pa ima oštevilčenja od 55 do 100 (glej ' listo Ha začetku generatorja imamo polja' spremenljivk, m v teh poljih se bodo paralelno; zbirali podatki za- posamezne spremenljivke (npr. tlp%(l%), v(!U%>, w% (1%) , d%(l%), pi2(ift), ,p2S!(l%), p3?(l%) za spremenljivko z indeksom it). Dimenzija teh polj omogofia zajetje 200 Izhodnih spremenljivk, Nä '-zadetku opredelimo število spremenljivk ni nàto pa začnemo teh.n% spremenljivk zajemati. Najprej' zajamemo Ime spremenljivke v vfl(i%), potem se določi njen tip%(li), vstavimo Sirino njenega stolpca w%{is) in Število mest za decimalno vejico d»(i%j. Nadalje vstavimo Se tri stolpne naslovne vrstice plü(li), p2?(i») in p3?(l»). Zadnji podatek, ki ga vstavimo, je Število pre-■ sledkov med stolpci sp%, V polje 10 se .bodo shranjevale vrstice generlranega programa, ki se bo oblikoval v treh zaporednih FOR zankah (glej -listo). Generirril program oblikuje nato Se FOR stavek za vstavljanje spremenijIvSnih vifednoBti v Izhodno tabelo (glej kasnejši primer) z uporabo zunanje rutine, oStevilÖene s 6000, To konverzijsko rutino bomo napisali ročno In.ne bo generirana. Na koncu liste'imamo znani segment OBDIŠK.BAS (lista -I) za izpis generlranega segmenta na zaslon in nato Se fnoSnega zapisa v Imenovano zbirko. 12 w. 3. Izhodni programski generator Kakšen generirani Izhodni programski segment pravzaprav iellmo? Semantično se bodo v tem ge-ncrlranem segmentu pojavile spremenljivke iz vhodnega generiranega segmenta in izhodni generirani segment bo semantično nadaljevanje vhodnega generiranega segmenta (ta segment se bo v celotnem generlranem programu pojavil za vhodnim segmentom).' Kakäna bo dovolj sploiina oblika Izhodnega segmenta? fio je Izhod povezan s.podatki v zbirki In veČina uporabnih programov bo to povezavo imela, potem pričakujemo v Izhodnem generlranem segmentu del, ki bo zagotavljal prenos podatkov z dlskat vendar tega dela zaenkrat ne bomo obravnavali. Največkrat bomo s programom, ki ponazarja izhodni segment, želeli oblikovati nekakSno preglednico (npr. cenik, račun, seznam, tabelo). Tako bomo imeli motnost, da z dialogom oblikujemo stolpce tabele, napise (naslove) nad stolpci, njlbivo širino, njihovo medsebojno razdaljo In da v te stolpce vnašamo vrednosti z dialogom določenih spremenljivk. Ker bomo primer z dialogom za generiranje Izhodnega segmenta obravnavali v enam od.naslednjih poglavij, si na kratko oglejmo zgradbo Izhodnega generatorja v listi 5. Na začetku programa v listi 5 Imamo definicijo ustreznega Števila polj. Z INPUT stavkom določimo število izhodnih spremenljivk, ki jih nato poimenujemo. Imena shranjujemo v polje vjt in ugotavljamo, ali so spremenljivke tipa niz In če so, jim v polju tlp% prirejamo vrednosti 3, Ker bo Izhodna spremenljivka oblikovala stolpec v izhodni razpredelnici, se vprašujemo za Širine stolpcev In te Širine shranjujemo v polje w%. Kadar je spremenljivka Številska, ji doloSlmo Žtevllo mest za decimalno vejico (piko) (nič most pri celih številih, npr. pri komadih). Ta Števila Bhranjujemo v polju d». K vsaki spremenljivki določimo njen trlvratlöni stolpni naslov v Izhodni tabeli in te tri naslovne vrstice shranjujemo v polja pl^, p2$ In p33. Pri tem ne dopuščamo, da bi bila posamezna naslovna vrstica daljša od Širine polja (w%). Ko so ti podatki zbrani, določimo še Število presledkov med stolpci (oddaljenost, spremenljivka spi). V polju se bodo shranjevale vrstice izhodnega (generiranega) programa. Prva vrstica generiranega programa je stavek PRINT. Ostali PKINT stavki v [jolju 12 bodo oblikovali za vsako Izhodno spremenljivko trlvrstični stolpni naslov (trije zaporedni FOR stavki v listi 5). Ko je tako oblikovan programski segment za izpis vseh stolpnih naslovov v izhodni tabeli, se morajo oblikovati Se stavki za Izpis vrednosti izhodnih spremenljivk v posamezne stolpce tabele, in slcor z generacijo ustrezne FOR zanke. Tu se program končuje z INCLUDE ukazom, ki izpiše generirani prorjram na zaslon in omogoča zapis tega programa v Imenovano zbirko (lista 4). 4. Programski generator za navodila Namen programskega generatorja za navodila In izpis tekata (zbirka OBUKAZl.BAS) je generiranje stavkov za pojasnila uporabniku In za Izpis različnih besedil v uporabniškem programu. Ta generator mora proizvesti ustrezne PRINT stavko, dana pa mora biti tudi možnost za popravljanje vrstic besedil, vstavljenih z dialogom (vrstična urejevalna subrutlna), Na koncu dialoga se genor-lranl program IzplSe na zaslon (zaradi kontrole) in po potrebi shrani v Imeno- vano zbirko. Seveda lahko programski generator (zbirka 0BUKA21.BAS) uporabimo večkrat in oblikujemo ločene segmente (shranitev nastalih ge-nerirancev v različne zbirke), ki jih bisJBO kasneje vključevali (z INCLUDE ukazi) v reaultat-nl uporabniški program. Lista 6 prikazuje generator 0BUKA21.BAŠ. Ha začetku se pripravi zaslon In dialog se začne. Nato se vpisujejo Želene vrstice, ki pojasnjujejo program, vstavljajo pa ee rosllčna besedila za kasnejši izpis. Funkcija tega generatorja je razumljiva iz liste 6 In Iz It&snej-ših primerov. 5. Generiranje določenega primera Doslej sicer smo opisali tri generlrne programe, in 0BVK0D3,BAS (lista 3), 0BIZH0P3,BAS (lista 5) in OBUKAZl.BAS (lista 6) ki jih lahko uporabimo pri avtomatičnem oblikovanju določenega primera. V tem primeru imajmo določene segmente, ki jih bomo dodali r^Čno (v skladu s semantlko programa), ker jih z obstoječimi generatorji ne bo moč generirati. Uporabniški program je mogoče zgenerlratl v eno samo zbirko, tako da v ustreznem vrstn«9!ii redu uporabljamo generatorje in dodajamo ročnO manjkajoče segmente. UporabniSkl program ^ lahko generiramo tudi s sestavljanjem rtiell&nlh zbirk, ko uporabimo INCLUDE ukaze. Ta n^in generiranja bomo prikazali v našem primer«. Lista 7 kaäSe konkreten uporabniški progrmm, ki je hkrati tudi načrt za generiranje, S ^àm pro^ gramom iellmo pisati ponudbe za različni^izdelke. Ta program vsebuje pet generlranlh «egroen-tov, ki jih vključujemo z INCLUOE ukMsl, In »loeri A2UKAZ1.BAS AZVHODl.BAS AZÜKRZ2.BAS AZ IZHODI,BAS AZUKAZ3.BAS generiran z generiran z generiran z generiran z generiran z OBUKAZI,BAS 0BVH0D3,»AS OBUKAZl.pAS OBI2HOD3,BAS OBUKAZl.SAS Rutina SUBRl.BAS je bila napisana ročno In ve» oetali tekst programa OBPROG.BRS v lisfrt 7 ja bil dodan ročno. Oglejmo si nastanek posimeznih INCLUDE segmentov tega programa. 5.1. Oblikovanje segmenta AZUKAZl, Na začetku liste 7 smo najprej pripravili zaslon, nato pa smo vključili segment AZB||AŽ.BASt ta segment bomo dobili z uporabo genjiratorja 0BUKA21.BAS. Na začetku želimo oblikovati navodila za uporabo programa in prav to funkcijo bo opravil prvi segment. Lista 8 prikazuje Izvajanje generators)c«ga programa OBUKAZi.BAS, S katerim Želimo oblikovati programski segment AZUKA21.BAS. Generatorju sporočimo približno število besedilnih vrstic (20). sledi navodilo za končanje vstavljanja besedila In za odgovarjanje na vprašanja. Sedaj lahko vpišemo 20 vrstic besedila, IzsMplmo pa lahko tudi prej, če vstavimo s konrele znak 'CTL-u'. V 1?. vrstic smo vpisali želeno uporabniško navodilo in v vrstici 13 smo Izt^prili z znakom 'CTL-u', Vpisano besedilo se nati Izpiše v obliki, ki se bo pojavila pri izvajdfcju, uporabniškega programa. Sedaj je mogoče v^lHloe |a poljubno popravljati, če se za to odlt^lmo, C« se ne, sledi na zaslonu izpis generlrati^ga segmenta in vpraSanJe za shranitev na disk v ime- ta £i Prosran za ubllhovanJ« uporabnl&klti D nat/odll » D Đ Bin K aiMC^Ctl Imo iblrkn« OmJKAZl.BAS Ime 'include' zbirke« OEiniÜK.BAS niar»c 1V84 A. P. ?.el»xi(iikar : B »1UIE1 Btìtn^woi HtmtiL: 411B U;;B D A Bf m onuvi» A XIB n v Ö NEXT IX JX'nlX XINCLUOE obdl»lt.baa » —D [I 10 l> • Priora va zaslona« hUM^r clear aa»="chr»( 30 )+i:l>r«( 2A ) PKINT [I Začetni ctialDs in opredelitev znakov C 110 >£1 £1—■ [1 E— » U [1 II D D [1 El ti— ---p [I ----D bo pribliino ? '»i* REM Znak 'CTL-u' 'CTL-ij' xa kunCanJe' Na vpraćania odnovarjaj z d/n ali X D/N* INHJT 'Koliko vrstic UIM !♦(int(1X*1,5)> cr»nch4-*< 13) e NEXT iX PRINT INPUT *AÌi ielift surifmenitl vrstico ? IF i«< >"d' AND z»< THEN GOTO 30' IZ« INPUT 'Kater-o vruticu ? '(InX IF Ìi,X>f,lX OR lnX PK INT INPUT "Ali J» to orava vrstica ? '»zt IF z»< >'d' ANU i*< >'D' THEN (30T0 !♦( InX PftüMP 'Ixuiài vrstico '(InX 00SU6 110 CiO I O :jo lili £1— Obi ikuvanJ<ü tir itiada Joäih PRINT stavkov ti ------------:--------------------:-------------------It FOR TCJ nix Ifi=l(jn< lt< iX ) ) FOR jX=l TÜ IX IP IX'^'O THE:N 1«< iX>=f'PRINT'( GOTO 40 IP ltifl»< 14( ), 1 )< >' " THEN GOTO 1«( iX iX').lL>n< 1«( 1X}}-1 ) NbTXT 3S et+'^'i.aW "t jX ) IP THEN eJ»-"t öji=" Hi( iX "PRINT • + iX >+»«* ^/rstiäna ur«Jevalna »ubrutina Pomen krmilnih inakovt D ---Il D h t> D D BS (:r» AND ch»< >ba» ANB ch«< >«« AND len< I«( InX ) X-l THEN £> l«(lnX>='"> GOTO 110 IP = THEN Đ ItC InX i^ilefifC 1« InX ). len< 1*( InX > )-l )t» GOTO 110 IF cht-cr« THEN lnX"lnX+H RETURN STOP Jjlsta 6, Program v tej listi lahko generira programske segmento za izpis razliCnlh besedil' (v uporabniškem programu)f to velja tako za navodila o uporabi generiranega programa kot sa izpise, ki so povezani .s semantiko uporabniške-' ga programa. Znak 'CTL-u' sö uporablja za kòn-Canje generiranja, znak BS (backspace) pa prt popravljanju vpisanega besedila. Program 0BUKA21.BAS je tako enostavni utejevalnik in. generator. Tudi ta generator vključuje segroent OBDISK.BAS U INLUDE ukazom). Znak 'fi' je nado-i mestilo za znak 'S'. novano zbirko (AZUKAZI.BÄS). Tako je ustrezni programski segment dobljen in shranjen, t 5.2. Oblikovanje segmenta AZVHODl.BAS Naslednji segment v listi 7 je AZVHODl.BAS, ki ga generiramo s programom 0BVH0D3.BAS. S tem segmentom moramo zajeti želene, vhodne spremenljivke. Lista 9 prikazuje izvajanje generatorskega programa 0BVH0D3.BAS, V ponudbi bomo Imeli določeno Število izdelkov, )tl Imajo enotenske cene. Torej bo Število spremenljivk 3 (količina. Izdelek, cena), ponudili pa bomo lahko do 20 različnih Izdelkov. Podobno kot v listi 1 določu--jemo podatka, ki spadajo k posameznim spremenljivkam (ime spremenljivke, pripadajoči tekat za zajemanje, kontrola vrednostnega območja). Proti koncu dialoga določimo spremenljivko za končanje in njeno konCno vrednost, tako da bomo v uporabniškem programu lahko izstopili pri manj kot 20 Izdelkih, Ker potrebuje ta generirani segment oštevilčenje programskih vratio, določimo še začetno in InJcrementno Število. Generirani program se nato zapiSe na zaslon, kot kaÄe lista 9 in se končno shrani v Izbrano zbirko AZVHODl.BAS. Tako Je segment oblikovan in shranjen za vključitev. llltJfl^lll^JflBSaUBBW^lityiSHIkaiimiVAKBaiBBWDIVdtlfeiESatlBMVP t> PrÌM*r a*n«rlr«n«i« u»or*bnltl<«»» D p proaraM« Đ ------------------------------------------» D IM iblrktti OBPROO.BAS O D iMMn« 'Includ*' xblrh« AZUKAZl.EtAS & Đ AZWÜtil.DAB V P AZUKAZ2.ÌIAS £i S AZIZHUĐ1.BAS P p AZUKAZ3.t>A6 V p SUEiRl.EtAS V B «prll 1984 A. 2«leinlhfer t ~ chr«(30>-»-chr«(2«) PRINT •«* »(INCLUDE «lukail.bM» XINCtUIiE «tvhodl.b«» mX " 1X-1 tt » O EiIM c«l.cantt(20) FOR nX~l TO mX nX >«ttoIl«:ln«< nX >*tc:en«( nX > tt-tt+cvl.csHAtnX) NEXT nX LPRINTER XINCLUIE «xuh^xZ.bas XINCLUDE ailihodi;b«ft * w tt GOSUB 6000 PRINT PRINT * pkupaj'l t«b(4£"l«n)la« PRINT XIMCLUIIE ftzuhazS.baa XINCLUUE itubrl.ba« END Llata 7, Ta lieta predstavlja generirani upo-rabnläkt program, kl je nastal z avtomatičnim generiranjem segmentov AZ77?7??,BAS In z ročno napisanimi segmenti. Pro9ratn je primer t« pisanje ponudb. S stavkom LPRINTER ss ponudba izpiše na vrstičnem tiskalniku. Celoten program jé mogoče napisati tako, kot je prlkaiano v tej XlBtl, ko BO bili generirani posameanl segmenti tn ko smo natanko določili semantlko programa. Znak se uporablja namesto znaka 'S'. 5.3. Oblikovanje segmenta AZUHAZ2.BA3 Nadaljnji segment Iz liste 7, ki ga moramo oblikovati (generirati), je zbirka AZUKAZ2.BAS, S teffi sògmentom dobimo Izplsni program, a katerim je določen sede?, pošiljatelja ponudbe, datum, ätevllka dopisa in opis predmeta ponudbe. Lista 10 kaže najprej ustrezen dialog, ki se konča v 14 vrstici, ,ko smo vstavili znak 'CTI.-u', Na koncu vpišemo dobljeni programski segmet v zbirko 2 Imenom AZUKAZ2.BAS, ki se vključuje v celoten uporabniSkl program v listi 7 z ukazom ilNCLUDü; azuk4z2.bas. 5.4. Oblikovanje segmenta AZIZHODl.BAS V listi 11 itoaino prikazano izvajanje generatorja ÒBIZ11UD], ko generiramo vključltveno zbirko AZIZHODl.BAS za llsto 7, Pri tem generiranju moranto upoštevati združljivost vhodnih in izhodnih sinroincnl j ivčnih imen (vhodno semantlXo) . Najprej se opredeli Število spremenljivk, ko ielinto 4 izltodnä tabelne Stolpce, In sicer za spirotiiiinljlvke Lista S. Spodnja lista prikazuj« dialog in generacijo za program, ki bo izpisal navodila za uporabo programa. Ta navodila vstavljamo z dialogom vrstico za vrstico (13 vratio), tonča-mo pa v 13. vrstioi z znakom 'CTL-u'. VstivlJ«-: no besedilo se nato izplSe v obliki, Ko$ jo bo izpisal uporabniški program. V tej toŽki je moSno Se popravljanje vstavljenih vrstic. Zatem se izpiSe zgenerirani program na zasiofi in shranimo ga lahko v imenovano zbirko. A>crun2 obukazl CBUN VER 2,07P Koliko vrstic b» Pribliloo ? 20 ^^ifti CTL-u' la konCand« Na vpraianJa odaovarJaJ t d/n ali z V/H yplfti vrstico i Vpiftl vrstic« 2 PKOGRAH ZA IZPIS FONUPBE Vpi4i VTtttico 3 VAilSi vrstico -4 Ta proaran bo napl»al ponudba ali vrstico 5 naročilu xa do 20 izdelkov. Vpili vrstico 6 Voiii vrstico 7 Pri potrditvi na zaslonu vstavi Vpiii vrstico e opis Ixdalkar nJ«aovo cano in Vttlii vrstico 9 količinu. Vplftl vrstico 10 Vpl«l vrstico 11 Votavi iMtt Izdalha 'KUNEC, ko i» Vpiöi vrstico 12 seznam končan. VplAi vrstico 13 PROBRAH ZA IZPIS P(»4UDEtE Ta pruaraM bo napisal Ponudbo ali naručilo la do 20 izdelkov. Pri potrditvi na zaslonu vstavi opis izdelka, nJesovo c«no Ip količino. Vstavi i»s ixd«lka 'KONEC, ko d* suznam končan. Ali talli spreMenltl vrstico ? n PRINT PRINT tat)(č)t*PROC»AM ZA IZPIS PONUDEC* PRINT PRINT *Ta prosraM bo napisal ponudbo ali* PRINT t4b(3 )>'naručilo za do 20 Izdalkov.* PRINT PRINT 'Pri potrditvi na zaslonu vstavi' PRINT tat>( 3 >f *oPis izdalka, nJvaov« cano in* PRINT 3 >t'količino. * PRINT PRINI 'Vstavi ima lidalba 'KONEC, ko J»' PRINT tabi 3>>'saznam končan.' Ali lalii shranitev na dish td/n> T d Ali teliš novo ali obstojačo zbirko ? n Vstavi ima zbirka T azukail.ba« Ali ieils končati 7 d A> <*>crijri2 üt>vhod3 CRUN UER 2.07P étevilu apremenljivk ? 3 " Dimt^hliiJa »olj ? 20 Im» sRrD«i ' ? izdelek» Tehat uoremenlJlvko-i»delek»s ? Vt^iavl Ime izdalha« Imi» upreMonljlvke'«tev. Z' (* nlii ) • ? cena Tektàt z« soremeniJivku cenat ? Vaiavi ceno la enot« izdelka« Ali Jeli» prtäiiku» obmocJa < d/n > ? d NüJManJi« biureJeMlJivA vrcadneut ? 10 NaJvećJa eorejemlJiva vriidnost ? 10000 Itn» üPt-emenlJlvka ötev. 3 ( * nlx> « ? količina ■ Tekut za spr-emenljivko kollcinai ? Vistavi itovilu koeov izdelke« Ali leliu »i-i^izkus obmocJa < d/n ) 7 d NaJniiiniia spreJeMlJiva vrednoat 7 1 Najveiia sorejttml jiva vrednost 7 200 IiiJekiü RPi-emcol Jivke /a koiiiartie ? 1 Kakćna Je vrednost konćanJa 7 KONEC številka zaćetne vrstic« pruurawa ? 20 FVoaramaki inkreMenf vretic« 7 20 20 Hlh l»delek»( 20 cBna(20).ri k>10000 ThEN HOTO 80 100 INt-'UT 'Vatavi filevilu koaov izdalka)*» IF ki)licina200 THEN GÜTO 100 GDTO 40 120 Ali lelii ahcanitov na disk Lista 10. Spodnja lista prikazuje generiranj« besedilnega segmenta za primer ponudbe, ko Imamo, 13 vrstic teksta. Po dialogu se konäna oblika tzpiäe in generirani program ae poka£e na zaslonu. Ta program še nato lahko vpiSe v imenovano zbirko, v našem primeru v AZUKAZ2.BAS. A>cr 7 d ■ dol' ètev. dop. 443-S2KL'. A > la 1 i« I« nil > * A>crun2 cbllhod3 CRUN VER 2,07P ètevllo BPr*«i»nlJlvh 7 In« «premunìJlvkc» tt«v. 7 huliclna Slrlna «tulpctt 7 4 ätevllo maat t* docl«uilno veJlco ? O Ikmmo 3 nmilovn« vrnttc« z* »tolOBci Stolpna nattlosm« vrtitlc« At0V> 1 ? (com> Stolpni! naiilDvna vrntic» itav. 2 ? Stolpna naslovna vrstica *t«Vt 3 ? --- Imo npramoiil Jivkt) ttev. 2 < * la nix) t 7 Iziieleh« Širina stolpca ? 7 Imamo 3 naulovn« vrstic« xa stolp«ct 1 7 OPis 2 7 Hvali 3 J------- StulPria naslovna vrfttlc« itmv. Stolpna naslovna vretlca At«v. Stolvnii naulovna vrstic« 4t«v. Ime ttPrem«nlJlvlte Atnv, 3 < * i* nix) * 7 cena äif-ina stolpca ? 8 Število MeiBt la decimalna vuJico 7 2 Imamo 3 naslovno vrstica ia stolpec« Stolpna naslovna vrstica Ätev, 1 7 cena Stolpna naslovna vrstica fttev. 2 7 enota Stolpna naslovna vrstica &tev. 3 7 ------ lm0 spremenljivke 4tev. 4 * ? cel.cena öirlna stolpca 7 10 ätovllo mest la decimalno veJlco 7 2 Imamo 3 naslovne vrstice la stolpec« Stolpna naslovna vrstico fitev, 1 7 shvipna Stolpna naslovna vrstica fitev. 2 7 cena Stulcna naslovna vrstica Atev> 3 7 —-— Število presledkov med stolpci 7 4 PRINT PRINT lab( 5>t 'kom. 'p PRINT tab( 14 )f *opÌs*l PRINT tati<2ó)»'cena'i PRINT tab< 38 >»'skuPna't PRINT PRINT tab(7)("*l PRINT tat>(13>f'tivali't PRINT tab( 'enote'* PRINT tab(37)i'cena'» PRINT PRINT taWHJl"---- PRINT taW 13 )t •------- PRINT tab(24)»'--------*l F-RINT tab(3ó)»'----------*» PRINT FOR 1«™1 TO mX a">kolici(ta< iX) uX" 4« OtIiqUti &0Ü0 PRINT tab(9-lent4f )>< a»» atuuijdEFleh«« IX > PRINT tab<20-len(a«>>> a«» a»caj)a< IX > wX".at dX-a l3ÜSUt> ÄOOO PRINT tab<32'-len(at)>t a«t ■ "cel,cena kjX- 10« 'UOÜÜEI Ò000 PRINT tab(4ò~len(a*)>t a*t PRINT NEXT IX All lelii& shranitev na disk ? d All lelis novo (n) all obstoječo (o) iblrko 7 n Votavi Ime zbirke 7 ailihodl.bas AU lells končati < d/n ) 7 d A> Lista 11. Leva lista prikazuje generiranje iz-' hodn«ga uporabniSkega segmenta za printer ponudbe, ko se bodo v Izhodni tabeli pojavlàe vse tri vhodne spremenljivke (količina^ cena) in ie dodatna izhodna spremenij ivka cel,cena, ki bo produkt količine In oeine. Po vpraSanju o Številu spremenljivk (4) sledi za vsako spremenljivko vpraševanje o njeni Slrlni stolpca« o Številu decimalnih mest la decimalno vejico v njenih vrednostih ter o treh naslovnih vrsticah spremenijlv£nih stolpcev v tabeil. Ko smo za vse 4 spremenljivke odgovorili j>a postavljena vpraSanja, se na zaslonu izpi^ generirani program. Ta program Ima natanko izračunane pomike za ustrezno oblikovane tabelne stolpce, v katere se bodo vpisovale ft^premen-Ijlvöne vrednosti, Subrutlna 6000 bo ni^lsana ro£no (glej kasneje). Na koncu dialoga sledita Se standardni vpraSanjl o shranitvi genSürirane-ga programa in o končanju generiranja. A>crun2 obukaxi CRUN VER 2.07P 10 Koliko vrstic bo priblilno 7 VPiäi 'CTL-u' za konCanJe Na vpraftanda odsovardad z d/n ali z D/N Vpiäi vrstico i VpIAI vrstico 2 VpiAi vrstico 3 Ra^iin Je Plačljiv v IS dneh, Vpi&i vrstico 4 Vplfti vrstico 5 Hvai« t» Važe lanimanJe. VpIAI vrstico 6 Vpifti vrstico 7 P, P, Premočrtnik. komercialni direktor VpiSl vrstico Q Vpifti vrstico Vplttl vrstico 9 10 RaCun Je PlaClJlv v iS dneh. Hvala za Vate zanimanje. P. P, premoCrtnik, hoMercialni Direktor * . . . , . All jelli spremeniti vrstico ? n PRINT PRINT PRINT 'Račun d« plačljiv v IS dneh.* PRINT F'RINT 'Hvala i« Vaie lanimsn^«.' PRINT PRINT "P. P. Premočrtnlkr komercialni direktor' PRINT PRINT ■....................• Ali lelli »hranltvv na disk (d/n) 7 d Ali ielis novo all obstoječa ibirko ? n Vstavi ime zbirke 7 azukazS.bas Ali lells končati (d/n) ? d A> Lista 12. Gornja lista prikazuje generiranje' programa la konftno besedilo ponudbene|É primera, ko je bil uporabljen generator OBuj^Zl. količina. Izdelek^, cena, cel.ccna Za vsako od teh spremenljivk doloöitoo z dialogom ie pripadajočo Sirino tabelnega stolpca, pri številski spremenljivki öe äeleno ätevllo decimalnih mest za vejico (natančnost prikazovanja) in po trt naslovne vrstice (naslov v tabeli). Na koncu začetnega dialoga določimo Se razmak med posameznimi stolpci. Ko smo ta podatek vstavili, se na zaslonu Izpiše zgenerlcani programski začenja v listi 11 s 16 PRINT stavki In ae nadaljuje z generirano FOR zanko za vpisovanje vrednosti v tabelne stolpce.- Tu se pojavi tudi subrutlnski klic fiOOOf ta subrutlna je oplsaTia v listi 13. S končnim dialogom liste 11 zaplSemo dobljeni program na disk In končamo generiranje segmenta AZIZHODi.BAŠ. Subrutink 600O 'Include' iblrha SUBRl.EtAS ÄOOO a » Intt «HlOČdK-t-.S lOCdX > » «tr*< a ) FtETUAN Lista 13. Ta lista kaže subrutino za pretvorbo In zaokroitltev Številske vrednosti 'a' v niz Zank 't' nadomešča znak • tt GOSUB 6000 PRINT PRINT " tab(46-len{a?)), a? Izpisane Se tri vrstice, srednja od njih bo vrstica s skupno vsoto. V tab(46 - len(a?)) smo vrednost 46 vzeli Iz liste U (zadnja vrednost za tabulacljo proti koncu lista). t8 K c "3 ' i i M c v ' * c ■It • u f v s M u s « fe V v.- Č V u c rt * UM O V H c ge u X K 4'<-) o u I ihOü. S o •o I» •n M« o •S I <0 >• i J( <• e > v o B n z a H S a A A rt H H • a A o •o ■d 3 c. o i « s C H •H H « Ì& I» «. I» « Q • lA « a » ^ C 3 i a i e s u in jK* * * ■rt* H i« » o c ^ c s <• IH E u « « « « v ->'->' v ^ A A ^ A A A " np». K rt ri rk * » 1 4> 4> v * * X I« w S IH i-t ; Äi, noi I .MMMMH mmhmmmmmmmm i m M rt o> * w « w _ I rt -Q ^ S »MiiHdticartu i t Ss « i I It u I INWJ10-0KIB0-O OOOOOOOOrt y 0) H rt ££ IJ i 4 R rt rt rt rt aaaoniaaaoa«aa U) M U) S co a « « 4 M « JC AAA • a M rt M M N a n A H ! <5! « m aaannaaoaota M L £ « S v T! s o n L W £ <• U 4 « rt I« Ù. rt > i g ut rt 4 N 5 4 .2 o 01 jO -o ■d N 3 rt h rt tt a N Ip c o rt o rt A LI o i i « 3 It C -n e e evo H e rt rt rt > -o +J I» rt rt rt rt ■D O O I. s • O u ^ M M rt w v U Jt t) a ^ a ^ e « ■"S Ž 11 N t S ti rt rt in -O • a v v ■H .k £ • I» > " > jt O C kWh » n rt -- rtvU L ^^ iflS UDrt « H« "agrt ft • -ft ' ** NttO MMMMMHMMMMZ £ rt K rt Ù « I £ M • •>.. »jIHIIiHtlllllUlINII^jVItlilllHSIIUillHIIIUtl Lista 14, Tä lista kaie Izpis programa OBPROG.BAS med prevajanjem, ko se na mestih INCLUDE ukazov z liste 1 vstavijo prlpadajoŠa zbirk« (AZ?7777?.BAS in SUBRl.BAS), K INCLUDE zbirki pripadajoča basadilo je za vrstično številko oznaCeno z znakom 's' ali * (pri deklaraciji in pojavitvi nizne eptemenljlvke). Iz listo 14 je tako mogoöe razbrati z INCLUDE ukazi vstavljene sogniente in segmente, ki SO bili v listi 7 vstavijeniro£no (vrstice z znakom 't' za urejevalno ätevllko)• Tako zbrana lista oino9oča v kritičnih primerih semantl&en pregled nad programom kot celoto In.njegovo možno popravljanje (modificiranje). 115" NEXT iX IIÄ« 117« 118« * " tt 119« DDSUB 6000 120« PRINT 121« PRINT • BhupaJ*» tab(4A-len<*»>)(«• 122« PRINT 123« 124» XINCLUDE azukaz^.ba« 125"« PRINT 12&« PRINT 127- PRINT 'RaCun Je plaCldiv v 15 dneh.* ■ 12B" PRINT 129« PRIWT 'Hvala z« Vale lanimanJ«.* 130" PRINT 131" PRINT 'P, P. Premočrtnih, kOMercialni direktor' 132™ PRINT 133« 134« XINCLUDE aubri.ba» 1 t)---- v -- 136- D .................Subrutlna AOOO ' C 137" n 'Include' zbirka SIJBRl.BAS {t 13(3- ---------[) 13»- 140" ÄOOO 141«' a lnt<4»10C(t*+.5 )/{ 10CdX> 142"» «« str«») 143" RETURN 144« 145« END NO ERRORS DETECTED CONSTANT AREA« lÄ code size« 1445 hata stmt area« 0 variable area« 104 A> ■ Segment tiNCLUDE a£ukaz3,bas «INCLUDE subrl.bas iaplBe aklspnt del ponudba In vključuje eubicu-tlno 6000, 6. Prevod pcogranut obprog.bas Program obprog.BAS i liste 7 je uporabnllkl program (generirani program^ generlranec), ki ga moramo s prevajalnikom za jezik CBaslc Se prevesti/ Prevod programa z liste 7 pa je.mogoä pod pogojem, da se na Istèm disku nahajajo Se vsi njegovi include segmenti (parcialno generirane zbirke az777???.* In zbirka sufirt.bas), Lista 14 prikazuje prevajanje (kompilacijo) programa OBPROG.BAS, in sicer sporočila na zaslon med prevajanjem. Prevedene vrstice programa so urejevalniiko ošna£ene s Stevilkaini 1 do M5t tó'ao dejanske vrstice programa, potem ko so bili vključeni vsi INCLUDE segmenti. Za ustreznim INCLUDE ukazom se pojavi ustrezen program s predznakom ' ali ' tnlzna spremenljivka) , Lista 14 prikazuje tako nazorno celoten (podroben) program OBPROG.BAS, Na koncu liste imamo Se sporofllc o Številu napak (ki jih seveda nit In o Številu zlogov za pomnilna obmoäja konstant, ukazov, podatkovnih stavkov in spremonlji Na koncu te liste itnaroo Se nekaj sporočil» ki dajejo podatke o itevllu napak (teh seveda v koh&no prevedenem programu nI), 'o Številu zlogov v pom-. nllnlSkem obmoCju konstant, v ukaznem obmoSju (prevedeni ukazni kod), v obmor. £ju podatkovnih stavkov.in v obmofiju spremenljivk. Iz te liste je razvidno, kako je mogoCe vključevati drugačne segmente od obstoječih, npr, ko Selimo spremeniti sklepni del ponudbenega do-^ kumenta. Tako bi imeli v vrstici 124i' lahko Ielle nekega drugega segmenta. Po-' dobno bi lahko spremenili tudi struktu-; rp subrutlne 6000. . SploSno velja, da; Imajo progranlrnl jeziki z INCLUDE ukazom določeno strukturlrno prednost pri generiranju, ker omogočajo enostavno zamenjavo obseSnih segmentov v obstoje-i Cih programih In seveda a tam povezano uporabo raznovrstnih generatorjev od' primera do primera. i A>crun2 obpro» CRUN VER 2,07P PROGRAM ZA IZPIS PONUUBE" Ta program bo nipleal ponudbo ali naročilo X« do 30 izdelkov. Pri potrditvi na zaslonu vutavi opis lidelka, nJeaovoceno in koltCino, Vstavi iwe izdelka 'KONECr ho i» «eznai« konCAn, t^atop stevilha 1 ^'Qtttvl ima pma Vtttavl ceno énutp izdelka* Vutavl Atevilo hóéov ixdelk«* Vatop fitcvilha 2 Vmtavi ime tzdelkaf mafoh Vestavi ceno za enoto Izdelka« Vtttfivt koauv Izdelka« Vstop »teviika 3 Vaiavi Ime izilelha t «lončeh Votavi ceno za enoto lx 1250,55 Š 1150,23 Ì3 Lista IS. Ta lista prikazuje zaslonski del dialoga pri izvajanju programa OBPROG, Uporabnik vstavlja zahtevana podatke e pomočjo programskih navodil. 20 Lisičja cest« 24 - 29 610C0 Ljubljana DO Nov« NienalerlJa Ob potoku A3 A9113 M a d j 1 d u 1 LJublJan«. 22; <4. 19S4 Stev. dOD , 443-52lonudbo s tiakalnl-koni, ki jo prikazuje lista 16. Lista 16 je lično Izpisan dopis. Izvajanje programa se naposled konča, ko se po izpisu pojavi na zaslonu So nebistveno sporočilo o napaki (Error RG). Slabost programa OBPHOG.BAS jc njegova subru-tina .6000, namesto katere bi bilo smotrneje uvesti PRINT USING stavek. 8. Sklep V tem članku smo pokazali primere programskih generatorjüv In nnkatere probleme, ki se pri generiranju pojavljajo. Ti primeri generatorjev HO v blHf.vii primitivne generativne procedute ozlvoma mi;taproco£lLire, kot so bile obravnavane v <ìoì lil ((2, 3) j , Proyraniskl yenùrator bi lahko imel nekatere la-atnOHtl motćiproc-iitturo ((3)), njegova slntakona definicija pa 1*1 Hevutla morala ostati v okviru ciioÄnostt l'/raSiìvo v določenem prograinlrnem jeziku. Zaiilmlv.i bi bila zgradba metagenera tor ja, Kl (jI ijcnorJ r,ä 1 riiKllćtie generator jo, ti jia ra-Knovrtitno ntxitaliiilSkc programe. Seveda je izdelava iHiitagciieratorJa lirez nadaljnoga mogoča In tudi viSji:: mcLagi.-noratlvno ravnino so dosegi iIvc, ALGORITHMS FOR FAST B/D CONVERSION OF INTEGERS UDK: 681.3.05:510.5 I. MARIĆ INSTITUT „RUDER BOŠKOVIĆ" Thi process of converting binary Inlegers with v»rla01e lengths Into decimal BCt> coded Integers Is considered. Four different conversici algorlthma. like auecesalva divleiohe by ter,, »uccesalvs dlvialons by powers of ten and conversions by means of look-up tables containing the binary values ir the [corresponding dvclnal digits or BCD digit weighting raetors, are cosparso and analysed. The algorlthtu ire lenllz^đ on the POP lt/03-L slcrocomputer and cne peraneters like algorlthns execution tlaes and prograa lengths ere nieasured ant analysed. The reaults or the seusüi-ements are presented. ALCOfllTHI Zk enztf B/D konverziju cijelih BNOJeVt - U radu s« raiinatra (it^vupak pretvorbe binarnih cijelih brojeva raillćlte duljine u dakadsbce EtCf^ kodirane eljal* Uspoređivanu ^u 1 šnalldrsna ietirl ratllilta algoritna pretvorbei uiastopno dijeljenje ä iéset. utastopno dijeljsnjs s poteri-Ijàaa od deset, te pretvorba pomoću tabll'c» uresi'-KSVanja koje sadrže 111 binarne vrijednosti odgovarajuće dakaOske xnanenke ill vrijednosti teflnaklh faktora MCP --isiiitriii:«. Mjerene su 1 snaliiirsne brzine lEVOđenja algoritama t -iuijlne programa te prlkaianl reiultati mjerenja ^igorltol su realizirani na laboratorijakoa alkroraEunalu PDP 11/OVL. IUTRÙliUCTION . Binary te deelBal jat log^a many digits is r..quired :n representing aj! }.nLeger nunrner afiei- conversior. Er*oc; case a into Citise 6. The bases l' 9rni 10 ars In'jnmaiersjrable baaes J ht; Tfl^ i , where .r and J dr-v- [ritegsra. Thus, of binary into decimal nuuuer ^nd vie* versa not. possible by means of series of shlftinga, but the rcrrespondin^ srithDetic r^it.lonA rir-* necessary instead H Tn cases wher* the liirge ,'^inount .;>f input or output data are nesded, the conversion time might take a gr-fiiv jeal 'jf totaj processine i^ff i^ri this p»pet Soir« different software realizations cf the conversion algrrithcs are presented, and son« advantages and disadvantages tfith-regard to the program lengths and algo- ritmu times are diacussed and analysed. "iJe -isve .-estrlcted our attention to the pure softwa- • r'e real.Uati::r.f anly. Certain conclusions might also be applÉWbjf t.-i t»te --ardware considerations. There are severa. dir:>rtr.i of the convareion on the compu-r.ert. t-ji tnir !noat f avourable on« fairly depend» upon sari -fjupute"- instruction s«t and Its application, lenerall;.. twr.' dtrfrrent coBputers do not necessarily ^av» tri^ -lari t-.tiaun convaralon algorithm. COHVERSION tLGOfflTHMS Two different approacfies to the Conversion procesa are conaiderej t conaraloi By nm «rifletta tilsilM «rt «onverai« by Deans al' suooeasive divlalaie. D* conversions by means of the iooK~up tablets, as composition-Of ahlftlng and subtractl* :)n orerat.fons. are particularly suited for hardware solutions, oecjiuse ofttte simplicity and «ffldancy at' the i-esUzBtiijr£ Aa it will be shown, thle does not mean to be true in tt,e software considerations, especially on th* eoaputara having k harduar* InplaMntad division Instruction. a. B/D oonveratoM by ewana of look-up Ublaa Tha decliMl Integer can be repraaantad aai n-l D • ^ d^.lO^ <1) laO where n represenle the rumber of daotnal dlgltet d. Is 1 * the value of the 1-th deolml digit and ID Is tha oor-reapwidirig weighting Tactor of the Irth digit. The values 10^ In binary representation, uhere lit,.t.n-1, are atored In tho look-up table. B/Đ conversion Is perroraed by successive eubtraotl-ons or ths current nunber to^ Trco th« binary nunbar to be converted, beginning fro« the largest value toward the sjnellest nunber 10, sach tlae Inorenenting tha value of the current decimal digit until the result of the subtraction beccnes negative. One step before the negative result of tha subtraction is obtained, the oal-culatlcn cf the current digit Is over. Then ths next lesa algniricant decitnal digit la calculated. Tha least aieniricant declstal digit Is .the final result of Uie esrlss of shlftlngs and subtractions and It Is attached to the previously calculated digits. This conversion requires B-l binary valuea of 10^ to be stored in the lock -up table where N'log 2 (2) and K la the Integer detioting the binary number length In bits. If the decimal digits are repraaented In the BCD code, the declMl number nan be written In the forat D . ^ Z_ 1(0 JiO where « la the total nunber of decimal digits after conversion, representa the weighting factors cr 6) of the corresponding bcd digit and k can be either 0 or I depending upon the presence of the corresponding weighting factor in the digit..The look-up table contains the valuea 2'^. 10^ (J<0.....3, l>1,...,n-t) In the binary representation. The conversion is parfornad by Rtans or successive subtractiona of the stored numbera from the binary number which has to be converted. If the result after subtraction is positiva, tha subtraction operation will be carried on or halted if negative. In the case of positive result, showing the preaence or the correapending weighting factor in the declnsl digit, one la attached to the resulting number at tha position of the least signiricant bit and sero if negative. If the calculation Is not over the reeultlng nunber la then shirted laft one«. At tha and oT calculation ths resulting nunbar la shlftad left four tinca and ths laaat algniricant digit la #d*) and H denotaa the binary length in bita. b. B/D convarslona by successive divisions If the Integer dlKlsicR Is hardware resllsad by th« Instruction of reasonable execution tins, It la poasibla to construct tha B/D ccnveralMi with comparable or even better execution tioae than those using look-up tablaa. The result or an Integer division Is Integer quablent and integer renlnder. ir the division by ten is performed, the renlnder represents declnal digit. Ths declnal number osn be written In the rollowlng wayi D » dg + 10(d, 10(dg ♦ ... + lO'd^j),..) (5) where d^.....are corresponding deola«! digits. Obviously, ths reminder arter tha rtrst Integer division by 10 la the laast slgniricsnt digit d^. Ths next bcfs signiricant digit d^ is ths reminder sftar the second' division, eta. Tha software raalltatlon of the c^nveralon algorithm la very slnpla. The use of the' unsigned Intepp division Instruction will be by far 9cre sdvsnttfoous for the algorithm execution time, than the use ef tha signed division instruction. In order to avoid ^rflOHa St slgnsd divisions by ten, for sxsnple, the nud^ar nual) be divided by twenty at flrat, then tha quotient multiplied by two. If the renlndar la <10, ths division la ended, otherwlsa tO la subtracted from tha renlMer and the quotient is Incremented. Tha unsigned division Instruction Is particularly aulted Tor such applisatlona, because no cverricw can occur at successive divisions (the reminder Is always ssaller than ths divlser). In this way the ccnvaralon by Mana oC auccsssiva dlvlaicna would be considerably faater If realized by unsigned division instruction. The conversion procees can be accelerated If the divisions by powers or ten are combined. The cMvaraion or the binary Into declaal nunber having at moftt four decimal digits might be perforsed by one division by hundred and by two divisions by ten. This Is a vary fs* vourable manner cf B/0 converalon, particularly for tha large nunber lengths where the total nunber of baaio divisions, as tha tine ccnauntng operation, can b* significantly retViced. The baalo division repreaenta m execution of single instruction. According to that, at k first we can divide the binary nunber by 10 in order tO obtain th« r«aind«r» being <10 i then divide the re- 2 £ slndeps by 10 to form subrenlndere being <11) finally divide th« eubrealndere by 10, «here the quotient and the reninder represent tvo eucceedlng BCD digita or the reeutting deolaitl number • In order to enphaelie the inerita of the dlvlelon inatruotlen application In the B/Đ conversions, the seca algori thus wer« realltsd by osans of the aortwjre inplemented division Instruction. ■ RESULTS OP MEASUBmENTS - PB^BHTATION AND ANlfLIàlS The conversion of variable length binary nuobers ' into the corresponding BCD coded deelntal nunbere have been realized. Binary number length ranged from 8 to 64 blta In the 6-bit Incrementa, therefore there are 8 ne-aaurlng points over the entire Interval. In order to obtain as much as possible true results of the useure-Mnte, a separate program has been realised for each number'length rather than a general one* This resulted in different program lengths ae Meli as execution tloea. Special prerod for the execution lime meesurenenta using the real Use line clock has b^ uritun. Ftor thia reason, real executlm times are durter then the insented ones, txA this Is oT no kportanoe in the mitual oatfarlscn of the a]«crlthmB.. ' Ihs results <£ im naasuroient are preae(tt«d In "Übte 1.. In designation of the conversion programs "BDxyy" the letters BD denote binary to decimal conversion, the most signiricant digit i denotes the conversion type ' and two least slgnlficsnt digits yy ahov the binary : number length in bits. Throughout the text ue shall re fer to the different converelons as followst BDI - B/D converaion by oeMS of look-up tables (values 10^, where a satisflea BD2 - B/D conversion by Means of look-up tables (values Is1.....m-l, J>0.....3 where u satisfies (0) BD3 - B/D conversion by nieans of successive (hardware) divisions by ten BD4 - tì/D conversion by means of successive (hardware] divisions by powere of ten (lOOOp, 100 and iO) BD5 - B/D conversion by means of successive (soft-wars) divisions by ten BU6 - B/D converelbn by aeans of successive (soft: ware} divisions by powers of ten (tOOOo, 100 1 and 10) i ' n ■ . [ Figure I graphically liluetretes the converaion program lengths versus binary number length- From the presented results of the neasure«ients it can be seen that the conversion slgorithas have quite ; different characteristics considering the progrsM length. B/D The longest Aversge PrograM conversion converaion conversion length type time /nna/ time /mms/ /words/ B0I06 355 , 266.9 27 DD208 . 275 ' 248,1 30 BD30a 245 243.3 16 BDloa 243 242,1 ts ei>50B 445 429.2 35 BDeOS 325 313.9 44 BDtlfi 1 OTT 721.0 34 BD216 665 588.9 40 BD316 T6T. T65.5 17 BDHIfi 593 569.8 30 BWtó 2 405 2 358.7 30 BDet6 1 725 1 682.5 56 BD 124 2 341 1 534.0 48 BD221I 1 577 1 340.0 84 BD324 2 129 2 094,0 37 BD424 1 065 1 059.0 35 BD521t 7 065 6 995.2 64 BDiZU 3 265 3 165.6 64 BDI 32 5 018 3 606.0 70 fiD232 3012 2 580.0 111 BD332 2 872 2 827-5 36 . BOD 32 2 105 2 091.8 66 Bb532 9 565 9 279.3 6i ai>632 5 065 4 990.1 121 BDI 40 a 775 6 107.4 95 60240 5 375 4 524.4 191 BD340 5 355 5 300.1 49 BDI 40 2 865 2 851.5 70 : BD540 18 865 18 4T1.4 75 BD640 7 865 7 7TT.7 BDI 48 12 521 8 711.Ö 110 6D248 6 29T 5 302,5 2Ì6 BD 348 6 29T 6 167,5 49 U)llU8 3 961 3 935.4 73 Bb54B 22 19S 21 759,2 71 BD&48 10 698 10 555.5 ■ lis BDI 96 16 725 11 629.0 138 BD25S 9 765 B 077.0 322 BD356 9 485 9 366.6 67 BDU56 4 605 4 546.3 76 BD556 34 065 33 280.9 90 BD656 ÌZ 865 12 T03.1 117 BDI 6« 23 305 16 002,1 163 BD264 10 990 9 085.0 360 BD 364 11 225 11 150.7 . 67 BDlän 6 315 6 265.0 79 80564 40 665 39 687.2 68 80664 IT 065 16 826.9 116 Table 1. B/D Conversion tinee and program lengths i itti-tfi -fifil. __SOl^'- le * t* 14 II to u ■ NUMBER ItNOID Figure 1. Conversion program lengths M « 24 w- for tha wry l«r«« binary mwMr l*n«ths tho BĐ2 oonvar-aiim.g«n«riilly need» cwre progrtM ungry than any othet-ooAvaralon becauaa of the lengthy look-up tabla. *ccw dins to ti) It takea binary nunbara iH«'log,g 2-1) etoped In tha look-up table. The BI>1 oonveraion requires about four tlwa ahorter l«ok-up tabla than B02 conversion («a equation (2>), and, In aocordanoe with that, oonaidarably laaa progran MDory. ror tha very large nutiber langthe it tenda to be four tiowa ahorter than the BM eonverelon progre«. The nanory uaed to etore the look-up nuobara tn the BDI and BD2 converalona, when expraeead In tha t«rffla of bytea, la [«.log,(,2-1 and , reapeotlvely. It la evident that the neoeeaary memory apaca for tha look-up tabla growa with tha poaer of 2 In both conver-elona with an Increaae of the binary number length. Con-ptred to other convaralone, tha BD3 eonverelon takea tha laaat amount of program nomory space because of the alM* pie realization of the ropotltlva dlvlelon by 10, The Bpit convaralon Includes three consecutive euccasslve dl* visions by 10000, 100 an 10 and It lo slightly mora coapllcated than the BD3 conversion and needs corraapwi^ dlngly more program raeaory. The BD3 and BDI oonverolon progfama coti;d also be made a little shorter uhen realised by the unsigned division instruotion. for a amali binary number lengths, the BD6 conversion needs more program iBemory than any other, becauae of tha aoftware realized divisions by powers of ten. This initial defect dlaappears In the caoe of larger number lengtha. The BOS eonverelon needs eonalderably lesa program «emory because of the single software reallzatlona of the division by ton. Figure 2 graphically llluatpatea the avsrsge conversion times versus binary number length. If we suppose the uniform distribution of the decimal digits, then the average number of subtarotlona of the stored values per each calculated digit la 5-5. Furthermore, one addition per each stored value needa to be done In order to restore the positive value of the number. Therefore the sverage number of subtractions psr converted o-dlglt BCD number Is 5.5{m-1> plus «-1 additions. Additions and oubtractlons are time consuming operatlone particularly «hen applied to lengthy numbers. The BD£ conversion haa U compare oparatlone per calculated digit and average number of 1.5 subtractlona psr calculated digit (1.5 Is average numbar of ones In the BCD digit). In this wuy the average number of compare nad Bubtractlon operations per converted ra-dl«lt BCD number is Km-D and 1.5Cm-n, respectively. Generally, compare la faoter than the eubtractlon or addition operation particularly for the lengthy numbers becsuse the result of the compare operation ia often known after the single or fen moat oigniflcant words have been conpared, That la the reason why the BD2 eonverelon is considerably fsster thsn the BDI conversion. It U It tt U KHAHV HUMBta tlH»TH [kit)] Figure 2. Average conversion tlmaa ■ t« u » la (I aiNAiiv number lenoih [ktii] Figure 3. Converalon tlna par bit Figura 3 shows oonveraion time per bit. It can be seen that tha conversion tlM psr bit incraaaes when extending tha binary number length. The convaralon by meana of stored powers of tan (DPI) hss tha IsrgeH and the conversion by means of succaaalva divlalona by povera of ten (BPH) the analleat increaae of the oonyeraioi) time per bit uhen Inereaalng tha binary number laTigth. From Figura 1 it can 1 t A ^____Bpi —J-1 ——' ■ t It u 11 to i* M at aiwaftv muhbes lenoth [kii bit regardlaaa of tha binary nuabar length while tha progrwf as . langtha per Bit In the. donvarnloino by Mans of sueo««-J.V« dlvieionfl (BĐ3} «od BU ar« dsora^aing Nb»n Incre-aalns tha bUnary nunbar lanatt). The converaion by aaana of »ueMaslva dlvialona bjr potMirs of 10 (BD^) tiaa the shortaat oonveralon ,tlM over the sittlr* ranga. CooiiMred with the eonvepaione by. Detme of aucc«aslve divlslMta by tan CB03). tha nunbar of baalo divlttlons In coMidaPably t^uced. Let ua sup* poaa binary hunber h•vl^^[ H-blt lanstti and the corica» . ponding decimal nuobar having wkKlnun m BCD oodad digits, than tha total nuuber of the baalo dlvlaiona by ten In order to convert binary Into decloal number (SD3 converalofO la («-1 > • . The avara^ number of the basic dl/lalons by 10000, 100 and 10 In tirw BD*! oonver- slon ura 16 «+1 "T and rsspeotlvaly> Tha Bveroga number of tha beale dlvlelona In tha BD3 and BD<) for the correepondlns binary number lengths are ahDwn In Tabla 2. Binary number length /bits/ Total number of basic divisions . Maxlsum nuHber of BCD digits ffi)3 m & 2 2 3 16 5 21( m 8 a 32 18 11 10 to 33 15 12 <12 20 15 56 64 ■ 28 17 64 76 3' : 20 Table Ayarsge nuobar of baalo divi s Ime in BD3 and BP4 oonvaralen program» Th« average number of baelc divisions In the BĐ3 converalon tends to be with the factor of ^ bigger Uian, In the BDit converalon for the very large number lengtha. Owing to the amslier nuaber of the necessary bsslo divi* •lOns, as the tloc oonsumlng operatlona, tha BDI conyerr alon has accordingly ahorter oonyerslon tine than the BD3 conversion. As evident frei» Table 1 and Table 2, i the conversion tinea are not (ilrectly proportional to , the numbsr of the basic divisions, because of the Ihflw-ence or: tha convarslon time of the other instruction In the cohverclon program, and the suitability to writs a conversion program for the specif^d number length. Tha average nurabara of the baalc'dlvislona presented In Table 2 ere vsluEble In the general Iterative conversiti < procesa and can be reduced if separate prograas are written for the particular number lengtha. Duri^ tta i conversion by means'of aucceaeiye divisione,.the number length decroflsea after each dlylaton and the neoaaasry ; number of tho basic dlvielón per each eyccedlng dlvlai-on decreaaee, too. It is'posslble to write such s gene* rei convarelon program but it would be eometlDes more ćomplloated and usually slower, program than the separa* te programa written for the particular number le^th*. The conversion tines In the BDI and Bt)2 conversions ar« fairly dependent upon the values of the binary nuR-: bere. The bsalo division takes approximauly the skMe division tlae regianileae of the converted nuMbers. Therefore, unlike the BDI and BĐ2, the BD3 and BDI con-veralons have very saall dieperaion of execution tinea. As it osn be seen frOM the preaented results of the a*-: asurement BĐ5 and BĐ6 conversions have the progra« lengths oonparable with other e«nverBionB and even better than BOI and ^ conversions for very large number lengths, but the Horat convaralon U^s oyer the entire range. CDNCLUSnMg Sines baM conversion Is frequently ueed In a.digital data ccmputer proeeaalngs. It la often necessary to increase Ute convaralon speed aa much as poaelble particularly In the real tl«» applicaUons or in the applications where the large amounts of data need to be C Code Application In the Floating-Point ArlthiMtlo Algorithma", Procéedlnga of the ISHH "MIMI 82" Paria 19fl2, pp. 8-11 3. Edward L. Braun: "Digital Computer Design", Acadealc Presa Inc., Hew York 1963. 4. LSI 11 Microcomputer Handbook, Digital Equipment Corporation, Maynard Maaaachusetts. ARTIFICIAL INTELLIGENCE International Sunnmer Seminar August 27 — September 1, 19S4 Dubrovnik, Yugosiävia 9 O d ^ òòóòòòòò ! ■ • -- ĆJSd C±] CD PROORAM AND TOPICS OF Trn SIMIMAR MONOAV. Auguit IT, 8.00— 9.00 Re^latTBtlon S.OO—11.« LsBrntflg t e oo—19.30 RoboHos and ftasflmbty-orlAnt^d reftsoning TUESDAY, AuguM it 9.00—IÌ.30 S(»tlsl planning 14.00—10.30 Lsarnlng WEDHt«DAV, AueiiM 29, 9.00—11.30 Michlns Lsamlng 1 eoo—19.30 Autixnatlc synthesis ol SKPert knowledes In m^tcal Applications THUeiSDAV, August 30, 8W—1330 AuWmstle synthwH baMd on: al laarning b) qualitativa nodsllng OÜO—13.30 Automaitlc Laüralng FRIDAV. August 31. 9.00—12J0 Piactlgal aspects of machina laamlAg <0.00—19.30 UscMne Lesrnlng P. H. WINSTON T, LOZANOwnez T. LOZANO-PEREZ P. H. WINSTON R. MICHALSKI 1. BRATKO I. BRATKO D. MICHIE D. MICHIE R. MICKAlSKt GATURDAV, Septsmbof 9.00—12.30 Automatic Underatudtng of Natural Language E. HA1CH0VA 13,00 Closing aaaslon ACCOMMOOATtOM Duo to hsa^ damand for hotol sccommodatlon In Avgust in Dubrttvnlk, partLf:lpants ars advised to mske K^al rassrvatkins in advsncc. To secure KcommodstlenT Itie arKlossd form sliould bs submitted, logethar witb tha Indicated deposit, directly ts ^Iscs Hotel, Dubrovnik, so as to arrtve before July 1. 1904. After thts date accommodation cannot ba guarantead. SPONSORED ev — 'Ivo Lola Rltiar", lulachlr>a lndu$try, Balgrade — The Jnatitute for Nuclaar sciences. 'Sons Kidric'. Vln£a TItME ANO PLACE Tlv Seminar will ba held frtim Monday. August 2T througti Saturday, Septetnber 1, 1904. at Paince Hotel. Dubrovnik. Vugosls^ia. ORGANIZED BY Csntar for Advanced Studies, Kneis Mlloia 8, 11001 Belgrade. Vugoalsvia. and ETAN/SVI — Vu^slsv As-scjciatlon fiw Al. REGISTHATIOH Tile Seminar is open to all Interested on completion of the application form end payment of the registration fee of US $ 2S0. Ttie tee ahould be mads payable to: BEOBANKA—REOCRAO—VUCOSLAVIA eOSII-SJO-IS-tSl -2573^21 -01003 YUGOSLAV SOCIETY FOB ET AN With 0 note: Fer Seminar Artificial intelligence For Yugoslav participants, the amount of 1500 Yugoslav dinars should bs trsnsfered to see t>(o: e0003-eTS.|it IS. INTERAKTIVNI GENERATOR PROGRAMA -SIRUP UDK: 378.681.3 R. MARKOVIC DO ISKRA DELTA K«da J« o gaMrstorlaa prograna. prvo treb« rtiltl diloDu; Da. li c.i'etia korisnlttu cnoguéitl. proàlranje predviđenih mosućnosti ili se isdržatl u "zatvorenoD" elatvu ge-nerisan^Ja. Prva varijanta podrazuoeva jeneriaanje izvornog koda, zahteva prevodenj« prograaa i po pravilu trail <1* korisnik pssnaje progronlranje. Kod pruDtne druge varijante odDan »e dobijkju isvrSnl progresi i korianik ne nora da pu^naj« progrsilranj«. Pri SIRUP-a opredetill aio se za drugu varija- ntu 12 sleueiih raxloga: - brie ee dolwl do i»vrin06 prograaa • «iiiifitl koplanlol obrada podataka ne raapolaiu davo-IjÌTijm broj« proreslonalno ùbuóenlh progranardklh -- greške eu avedan* na a Inintai ,poéto ee radi aa veé gotovlA 1 proverenlA progrmive . • paket pokriva veći deo opìtlK potr«t>a u abradi koje se najieióe pojavljuju - veuia su retki generetori programa koji ne lafitavaju profealonalno inanja prograilranja Ili pmnavanje operaciunc>g siatma. Sta je to SIRUP? Na»lv SIRUP J« skraćenica od Syst« of tnt«r«°tive Record Updating and Processing. SIRUP Je akup interaktivnln progrma la rukovanja podacima i za genertsanje Izvršnih prngrwa opSte nana- ne- Kcoe Je namenjen SIRUPT aiFUP Je nimenjen za opitu upotrebu pri rukovanju podacima. Mogu ga koristiti osobe flje osnovno snanje nije vezano za rad aa rafunari«ia, ali ijtaju potrebe za obrađen podataka. Zato J« koneapelja rada »t SIRUP- pMnavanJ* bilo kog prcgronskog Jezika. 3. [la kurianiKu pruti itu v«ćl koafor pri r«du, pri ča. au Je osim već navadenlh olljeva dat naglaMk na potret>nla kontrolama u radu 1 pulpunim obevaitava-njae na exranu.. tako da Je veći dao rada pravilno uaaeravan od atrana ra£un*ra> Su noie SIRUP? Kako radi 3tRUp7 Prlllkoi rada na obradi podataka veći dao vrwena posvafen Ja pripremi podataka sa konafinu obradu. SIRUP tu pruža korisniku aledef« noguénoatl: 1. FonuatIzovan1 £ kontroltsanl unos podataka u sekvenoljaln« 1 Indeksna datpteke^ I 2. Fomatlzovano Ilatanje slogova na skranu 1 ita-apaču. Za raznorodna aplikativna naKsns koriste sa lati program. SpaclflÜtioat nnana odreduja a* paranetrln» koje korisnik aoi cadaja* Faranetrl a* unosa u 'pafi-neterake datoteke 111 direktno u levrine progrspe, prlllkon ganerlaanja korisničkih Ijsvrinih prograna pa-ranetrl se aneStaJu u progrona 1 na taj način nas^mja prograt nezavisan od parmetarske datoteke 1 od smup-a. 3. Pretraživanje datoteka; pronalaženja »logova, iznienu podataka % selekciju slogova prona slobodno izabranim krltérljittloa." ' Progrml SIHUP-a su aiodularno građeni tako da Ja za-taloanje nenorlje optinalno, s neaa ograničenja u broju tetmlnala koji ih koriste Istovrmano. 4. Logičku kontrolu sadrilne datoteke ša listan gre-iaka. 5. Izradu programskih nisnu-a za Tormlranja aplikativnih paketa. 6. Izdavanja prateča dokinentaolje. 7. PcMoč pri rukovanju sa datotekasa. S, Obradu podataka pcooću korisnikovih fomula u kojtna mogu da sa Koriste osnovna računske opars-oije ( + .-;»!,/). lekorlščenje ovih nogućAoati älHUP-a reallzuja ae ' krm b rs u'Izradu Izvrinih programi odredivan Jan par-' anetara za posebne usIove'svake aplikaoije. Pri realizaciji nije potrebno da izvrSlool raspolažu inanjaa programskih Jezika, već Je dovoljno poznavanje naterljala za obradu i^zahteva seno obrade. Pri tone Je vrane potrebno za početak ekaploataoije ovih progrspia svedeno na. najnenju ttoguču meru (30-60 min. u odnosu na kUeično prograslranja se prevođen njem programa koje aože trajati nekoliko dana). Se upotrebixt SIRUP-a ae snanjuje angaìovanje progruiera i računara 1 do 90*. " Postupak generlsanja Izvrinog (binarnogl progr»a koji zamenjuje prevođenje izvornog koda progrMa aiigažuje red raiunara'nanje ckÌ''30'sekundi, Kod rada sa funkcljota koje koriste itaopač Tormlraju se Izlazne datoteke koje su JednosnaČno imenovane ko-rlšćenjan ternlnalakog broja, tako da n««a kolizije kada ae sa vile tsnnlnala istovmeno koristi Stafl^a^ Prillkon unoienja parcnetara korisnik privroaeno fornirà paranetarsku datoteku Iz koje sa u Tazl generl-aanja parametri prenoee u Izvrinl binarni prografli > Parametarske datoteke ne moraju se Čuvati posla generlsanja, ali kod eventualnih Izmena ill dopune ztìtte-va potrebno Je izvrlltl korekcije u njima. Đokunentaolja o karaketristlkama Izrađenih programa dobija se u potrebnoj formi Iz sadrilne >«rwietM>eklh datoteka. Ha taj način doblja ae detaljan opis.K^gra-«a ea slikama upotrebljenih ekrana. Datoteke fomlrane SIRUP-on 1 podaol u njima su standardni za odrađeni tip raSunara tako da sa mogu korl-etlti 1 aa evlm progronlna koji au pisani na net»« od programskih Jezika. Takode se SIRUP-ovim pro^mlma mogu koristiti svi podaol u datotekam« bez obxlr« na njihovo poreklo. Pre početka rada ea slatoncn SIRUP potrebno Je pri-pronltl uobičajene podatke koji se inače prlprat«Ju pre početka programiranja. Faza unoäenja paranetara koja zamenjuje pisanje Izvornog koda programa uamerena Je kontrolen uzajamnih veza ,ltiiedu parametara 1 objašnjenjima iepiaanijA na-ekranu. Kako a» korlati SIRUP ■, ■ Da bi sa realizova1« ava mogućnosti SIRUP*^ njegovo konlšćenj« Ja organlzovano kroz đevat osnovnih ruiVkcii ja: ■ " I . " ■ ■ ■ t. Utas podataka Z. lapravk« podataka 3. IiveStaJl- t. Urada ME«If-a ■ V .- '.i.'■'. 5, (^HDoćni progranl 6. Kontrola slogova T; SeUkclJa slogova 3. CeneriaanJ« parametara 9. Izmene parametara Unos podataka . Koristi aa za unos podataka u sekvencljalne 1 indeksna datoteke, te za obradu tračunske operacije, rormule). Kod unosa se prlmenjuju sve kontrole odredene parametrima generisanin od strane korisnika. U^oa u Istu indekarni datoteku mguć Je sa vlia terminala Istovremeno a u toku rađa moguće Je duplülratt polja, kao i prenositi podatke Iz već postojećih datoteka u.'alstemu. Funkcija 1 omogućuje gansrlsanje korisničkog Izvršnog programa za unos 1 obradu podataka. Specifičnosti programa au odredene parametrima Iz odgovarajuće parametarske datoteke. Oeneri-sanl prograni su nezaviani od parametarske datoteke 1 od StRUP-a. Z. Ispravka poäataka Ova Tunkclja omogućuje Ispravke na slogovima se-kvenctjalnlh 1 Indeksnih datoteka preko naške ekrana uz prlmsnu svih kontrola određenih para~ metrlnta kao u funlcljl za unos podataka Pristup odredanom slogu moguć Je preko vrednosti ključa (za Indeksne datoteka) Ili prema položaju aloga u datoteci (za sekvenoljalne da^cake). Klinkclja ? omogucuje genarlsanje korisničkih Uvršnlh programa za Izmenu podataka. Njihova spe-'^r ciplćnostl su odredene paramstrlMa. Gsnerlsanl programi au nezavisni od parametarske datoteke 1 od aiBUP-s, 3. IzveitBji Fkinkcija onpfufav^ formatlzovano listanje slogova na skranu 1.na :itampaČu. H»gu'se prikazivati deiovi slogova po izboru, a fort^t prikaza se odreduje pa-rametrioa. Onogučan Je rad sa ekranom do 132 enaka u redu, a limađu polja au dozvoljena računska operacije, Za Izvsitaja na itampaSu oMogiićena je isra-'da vertikalnih Zbirova. Zaglavlja tabela dobljaju se slobodnim «rtanjen na ekranu 1 mogu zauzinatldo 10 redova. Prlatup slogovima u se kve nei jalni» datotekam Je po-položaju, a u Indakairilm po ključu^ - Pojedina polja aogti se preneti iz 5 dodatnih datoteka u sistemu. Fkinkcija 3 pMogučuje genarlsanje korisničkih programa za Isradu izveitaja. KJihove specifičnosti su odredena parametrima: (jsnerlsanl programi au nezavisni od parametara i od 3IRtIP-a. 1). Izrada MENU-a ttoogućuje generlsanje HCNtl-a pomoću dve masks ekrana. Preko prve »aske se slobodno crta izgled ekrana MENU-a a preko druge inaske.se unose veze HENU-a. Parametri za Izgled i veze se autoaatskl un«iae u : param«taraku datoteku MENU-a. Oenerlsanl HENU-i su IzvrSni programi koji povezuju do 36 različitih probama 1 procedura dobivenih aa SlRUP-ora 111 na bilo koji drugi naćin. Hanu Interaktivno preko naške ekrana koju Je korisnih kreirao onogućuje Izbor pojedinačnog prograwi 111 procedure.Ha takav naćln au programi 1 procsdurs povezani u Jedinstveni paket'. Broj nivoa za povezivanja različitih KENU-a nije ograničen. 5. PoMoćnl programi ' Ova funkcija omogučuja Štampanja parametara progra-i ma i parametara HENUr«. Pored toga au u njoj obuhvaćene mogućnosti koje Inače pruìa operativni sistem (rukovanje aa datpt«-' kana). SIRUP omogučuja ua psi no rukovanja aa datot*-i ■ ■ . ' \ kana i bez poznavanja operativnog slstena. so Za rad sa datotekaoa postoj« eled«£s nopićnostl: - Derinlsanja datoteka - Bbi'lsanje datoteka • Kopiranje datoteka - Pregled svih datoOeka - Pregled pararnetaraklh datoteka (programa,MEHU-a 1 Izveštaja). 3. Preko treieg «krana se unose granlSne vrednosti Intervala na koja sb tnože polje kontrollsatL. I). Preko četvrtog ekrana ss odredu Ju karakteristike pojedinačnih polja. Preko petog ekrana sa unos« formule pomoču kojih će se vršiti odredene obrade. 6. Kontrola slogova Ova funkcija Služi la pronalaženje onlti slogova u sekvenclJalnim 1 Indeksnim datotekama, koji ne zadovoljavaju neki od uslova traženih parametrima. Na listi grešaka ae doblja podatak o broju sloga u datoteci Ili o vrednosti primarnoga klJuSa, sadržaj polja koje ne aadovoljava kontrole 1 uslov kontrole koje to polje ne zadovoljava. Time se doblja osnov za rad sa funkcijom Z. Ova funkcija onogučuja generlsanje korisničkih Izvrsnih prograna za kontrolu slogova clJe su specifičnosti odredene parametrima. Cenerisani programi su nezavisni od parametarske datoteke i od 3IflUP-a. T. Selekcija sliosova Služi la pretraživanje datoteka, pronalaženje alo-gova, izmene na slogovima i selekciju odredenih slogova aa izdvajanjem u druge datoteke. Kriteri-Juml za definlsanja karakteristika traženih slogova su slobodno izabrani ključevi u području sloga. Ovih ključeva nože biti do 12 I dozvoljena au sva preklapanja nenju njima. Ka ekranu se doblja tipska formatlzovana slika sloga 1 ntoguće Je pristupiti izmeni do nivoa poje* dlnačnog znaka. Prlmena Je noguča na indeksne i sekvenclJalne datoteke. 0. Cenerlsanje parametara Koristi sa za generlsanja paramatarsklh datoteka potrebnll) za rad funkcija 1, 2, 3, i 6. Oanertaa-anje parametara se vrši prsko pet saaki ekrana: 1. tVftko prvog ekrana se odreduJu osnovna karakteristika radne datoteke I datoteka kontrolu. Rad Ja usneravan aa strane raČunara. 1. Poaoču drugog ekrana se kreira Itgled ekrana i to aa slobodni« "crtanjem". Ukoliko ae rad sa ovom funkcijorn ne zavrSi regularno Ili se iz nekih razloga prekida, ooguća Je nastaviti generisanje Iste parametarake datoteke koriščenjem funkcije 9. U generisanoj parametarskoj datoteci se sapisuje sistemski datutn. 9. Ispravke paratnetara Koristi se za izmenu 1 dopunu parametara u parame-tarskla datotekama preiranln funkcijom S. Rad ea ovom funkcijom Je sličan radu sa funkcije» broj S, sve kontrole su sprovedene na isti način. U datoteci se upisuje datun iivrlene izmene. Dijalog Između korisnika i računara uenerava rad na taj naSln Sto su sprovedene sve potrebne kontrole, a na ekranu su data uputstva kako treba po* stupati. Kod zahteva gde Je odgovor složeniji, korisnik Ina na raspolaganju pcnočnu funkciju gde se na ekranu ispisuju detaljna uputstva. Svi dljaltai su predvideni na više Jezika (srpsko-hrvatski, slovenaSkl, makedonski i engleski), « prelaz sa Jednog Jezika na dru^i Js vecma Jednostavan i brz (oko 15 sekundu). SinUP radi na sledoćln slstenlmat - na računarima iz proizvodnog programa ISKRA DELTA pod operaclonln slstonlma DELTA/M 1 DELTA/V - na svira računarlna iz faallije PDP II sa opsr«-oionln alstencm R3X - na računarlBs ISKRADATA C 16 i C 19 pod opera-cionim slstoiao ITOS. Nije potrebno prisustvo ni Jednog progrmskog prevodioca na računaru. Paket SIRUP Je do sada instaliran kod tS korisnika ISKRA DELTE. PARALELNO IZVAJANJE OPRAVIL V VECPROCESO RSK EM SISTEMU I. B. MIHOLOVILOVIC, P. KOLBEZEN UDK: 68t.S19.7 INSTITUT JOŽEF STEFAN v Olanltu so podan« k«r«ktBrt«tika va{tprac«>tirsklr> sistemov, ki poa«nLJo praktiCno •dino rseitev t4 iidovoljitsv zahtav po vi« veeji proc«cni «otii raeun«lnikov. Istofiitno pa s» kal« v«lika potrBba la naertovsnje učinkovitih paralelnih algoritoav, Ritvoj raäunalnifike telìnolof^iJ» pogojuje hitro upadanje cens hOMponentae HP listttfiov, t tB* pa »oltnoct načrtovanja paralslnih raCunalnihov i ^«C hot 1000 procesorji. PARALLEL EXECUTiOH OF TASKS IN NULTI PROCESSOR SYSTEnS, 1.PART.- In this article the aultiprocessor systems are d«sorib«d. MPS otter a natural solution to th« ever-increaiing deaand tor ooaputing power. At the san« tine, th«ir «volution tias brought about the ne«d for the d«velope«nt ot elficient parallel algorithas. The advances in computer technology have drattically reduced the cost of oonpanents, and it is quite conceivable that parallel computers conpoted ot 1000 or «ora processors. UV/O D Zahtevan« velik« procesne noBt danaln'jih računalnikov lahka pridobi«o na sietensken nivoju tako, da poveCaao inoglJivo«t procesorja in oaagoCiea hkratno livajanj* velikega . Karakteristika teh računalnikov Je takoiaenovano oevltienje tpipelIntng)) Prednost takUnih radunalnikov Je v te«, da so povse« programsko transparentni. NJihpvi procesorji so precej zahtevni« sami pa nimajo «odularno strukturo In zahtevajo precej visoko (anesljlvcftt dalovanja. 3. SinD (Single Instruction Multiple Data). Sam sodijo vsi vektorski, array In'asociativni procesorji. Značilnost tah slste«ov Je ta, da : laajo eno centralno procesno enoto. Ta dakodlra tok in InstrukolJ in ganerira «nolioo ukatov, ki Jih dodeljuja procesni« «laAanto« tako, da J« «oSna paralelna obdelava podatkov. 4. HIHD (ttuUlpl« Instruotlsn Multiple slste« «estavljajo enak« ali razlittne pi^oasne enote, qlk. Zaradi konfliktnih «ItuaoiJ Je Ktevllo procesorjev v siste«u onejno.t uvajanje« posebnih preklopnih struktur med procasofje« In pofflnilnlko« pa J« «olno verj«tnast pojava t«kvlta procesorjev poveöuje tudJ etevilo resorsov, ki se delijo «ed procesorje. Gostota Inforwaoljskega pretoka v mcdpi'-ücä'^nr'iklh konunikacljah na ta naUin ■mòttno naraste. Prav iato Üelinu, da Ja pi-i'noä'na funkcija Öl« blläJa lInearnl obliki, dalo slstsna (Job) p t» raiiJelJano v mnoHioo manjSih KImbn1 J. neodvLsnlh opravi 1 (tasksj, katerih 1 ivaJ<>nJe .zahteva Manj medprooesorskih komunlkac i J. . lane^iljivost «Isteaa. Znana je dednicija, po kateri ja zanesljivost v delovanju slataM* enaka pogojni verjetnosti, pravilnega delovanja stEte«a v öasu 0-»-t, Üa Je la-ta pravilno tl«>tQval te v (Jaso t=0. Seveda Je v prlmurn veÄprooesorskeg« sistema taka dt>(Inlclj3 zanesljivosti prcved posplotiana. Pri izvdjanju en^ga opravila n^vadnu sodeluje ved procesorjev, val pa delujejo pocl ra^lltiniml pogoji. Poleg Lega luCimo re durili a nt. na in neredundantne sisteme. Pri redundantnih sisteraih podvojenost delujotllh konipuinent omogofia zanesljivejše delovanje sistema kot nelota. Zanesljivost delovanja rtidufidanlnega «tsteraa (ki ja v bistvu veCproneenreki sistem) doloöata zanesljlvoat delovanja posaaiainih modulov in Izbira nodala takolmenovane Fault- tolerant sheas. FT sistemi BO sposobni, da odklanjajo vsa mol-'fabltne napake v delovanju «aterialne in/all programske oprana brez posredovanja Oloveha. Da takSen Bisten deluje, mora vsebovati ali sistemsko ali selektivno redundanco. V slstanu; s sistemska redundanco delujejo vse enote hkrati In ste« varujejo celoten sistem pred fflorebltnlo izpadom) 6e se pojavi v eni od enot napaka. Je z ispadom le-te sistem vselej zaSöiten z drugo delujodo enoto. V sistemu a selektivno redundanco posebna procedura v ' realnem Haeu odkriva nedeluJoCo enoto In preostalemu deluJoCemu delu sistema priklopi novo deluJoCo enoto. Veftprocesor&ki sistenl sodijo v razred sistemov manj obCutlJlvih na napake (fault tolerant systems). Stopnjo neobčutljivosti na napake ocenjujemo pri VP sistemih š takolnenovano zmolfnostjo prenosa odgovornosti za izvajanje opravil Iz enega elementa na drug element sistema, ne da bi se spremenila učinkovitost celotnega eietenai Oa , Je VP Elsten tak8en, da ima omejene procesne zmotnosti, pravino da Je sistem napakovno mehak sistem. V svetu Je zgrajenih razmeroma malo VP sistemov in {ie ti so grajeni namensko za reševanje toCno doloCenlh problemov, Kot primer naj navedemo tipiCni multiraCunalniSkl . Sistem, ki Js zgrajen na C. M. univerzi C.mnp. Namenjen je ceSevanJu problemov na podroCJu umetne inteligenco (raBunalnlSki govor in vid> in razliKnim numeriCnim problemot*. Operacijski sletem Hydra omogoCa, da Je računalnik uporabljiv tudi kot veC.uporabniški sistem. UpraviCenoat naCrtovanJa VP sistemov iSKemò v neglsds na povedano zaneslJivost .taksnega sistema vsekakor v paralel izmih, ki so pogojeni Se : samo aplikacijo. Oaenjenl paralelizmi se kaüejo na tri nafiinei ~ VeC neodvisnih uporabnikov sistema z veliko bazo podatkov kot so sistemi rezervacij, banBnl sistemi in podobno. - Potencialni paralelizmi. V programih, ki so pisani za enoprticesorske siateMe, so. Cesto moirni paralelizmi; Ce Je njihovo Število omejeno (ne veS kot 10), je smiselno, da takSnl programi teCejo na Vp sistemu; - Paralelna dekompozicija. Veliko Je računalniških aplikacij, katerih programi so dekooponirani zaradi bolj učinkovitega izvrševanja celotnega progra«a( kot primer vzemimo probleme na podrofiju umetne Inteligenco, ki so polni razliOnih paralelizmov. Bolj Je primerno, da takknl progrant tuCeJo na VP raCunalnlku namesto, da oblikujemo serijo opravil, Vi bi povsen neučinkovito potekala na enoprocesorskem sistemu. Rekli amo ITe, da Je v kompleksnejših aplikacijah amlsälno vetlje raCunalnieko delo razdeliti v manjka opravila In le-ta dodeliti procesorja« tako, da Je med njimi kar najmanj . kcKiunlkaciJ, ki potekajo na nivoju podatkov I DoloCitev razmerja cena/uCinkovltOst Ja pri VF sistemih precej zapletena. Kljub tamu pa vena, da na velikost tega raznerja upllvajo trijo parametrii Razvoj sistema, modularnost, podaljšanje livljenske dobe sistema. Cas, ki Je potreben za razvoj VP sistema Je vsekakor dalJSl od Casa, hi Je potreben za uvajanja sistema v katerikoli aplikacijo. I«to lahho sistemu, hl I» deluje« rannero«« preprosta dodajaao procesne enote x nanenon, da doeeSeMo maksimalno sposobnoet sistema, (kar pa Je «olno le, de Je celoten tiste« modularno grajen it enostavnejših Materialnih In progranslilh «odulov, Hoduli so optimizirani la speolflBna opravila, ki Jih opravljajo v sWteeu. Najveäjo xmogljlvaet enoprooesorshega stste«a haj hitro dossteno za r«x«eraaa visoko ceno, oedten kp VP slsten s svojo eoditljrno igradbo omogotta nadgradnjo sistema in s te« vefijo zmogljivost la tlstveno Manjto ceno.Hkrati pa modularne nadgradnja pogojuje tudi dalJSo llvljensho dobo slstena. L_ l.-betic^M'biUca 1. eli T.rathl, Hoshe Krlger, Multiple nioroprooessor Systeesi and When) Coeputer, Naroh Uhat,. Uhy, 2. Arvind, R. lannuool, A Critique ol nultlprooeselng von Nat4iL«nn Style) CoAMunloations ol ACH« April ffiB3 3. G. Gardarln Design of Databaee IFIP, t9«3 • Hultlprooessor relational Syst««! infor«abion prooessing S3, «UfdtOtdlltininKUBtllttinHBllAvAtkrllttllHinfllllllldlAIlttflVtn^riltlltStlHIiK» DOtaissvtbAstiitBjSHttastaiawKiaaiitvnwtii at PUPt^AklEK XZ PREJÖMJE ŠTEVILKE ČASDF^ISA INFURHATICA u » Uredništvo In tiskarna £«soPi»a * se unravl£udeta xa napakot ki d« nastala « pri lanenJavl naelovov » £lankov avtorJa H. Kukrlka V na tttraneti in dlOt Informatica 8. 1994 - 8t, 2. (M tt 0 kft^tftlu Atevlik«^ tttft n^ttlov« pruvllnal B mm m biaipiww b iwittii&ib b bttn »mm m vwk b b niphaiib b mmmm m mmmm mm «isBBSttw noia B uf «niiK« wcattM «ISIB ADHIII ncotitiaB ca«i feaaaiaeHiÉiMtamiitaÉiai paralelno izvajanje opravil vecprocesorskem sistemu ti. b. miholivilovic, p. kolbezen UDK: 681.519.7 INSTITUT JOŽEF STEFAN v KUnktt «o podan« blitvtin» i«>rnlc» la njertov«nJ« par«l*lnlh «Igorltaav, Dtirovntvan« ta laitnaitl parcialnih algorltaov In cklaclj* ■•(} taal alQorltal m piratalnJnl raeiinalnlfl((l>l »trulituraai. PosabaJ ao oplaana laatnoatl In nakatarl p4r«lalnl algorltal i* tlltlD «ultlprocASorska «Utana, PAHAliEL tXb'CUTION OF TASKS IN tlULT 1 PROCESSOR SYSTEnS, 2-PAftT.-Tha purpo«* at thia artici» la to oraAta a g«ner«l ttacavork tor tha study ot paralisi «Igorithat. A tüHODony ot p^rallal algarlthna, based on thalr ralatlons to p«r«Ual oonpütar afchltacturas, la Introduoad. Eii«tiplai ol p^rallal «Igorlthns tor HIHO •ultlpt'ucassors ara glvan. Uvod N a£li im Po naßlnu prouvsiranJ«, hat J« Flynn razdalil vsa vaCpracasorsKa slstaaa, aodljo taholnanovini «slnhranl vaftproca^orik1 stslaal (VP3> aad nino računalnika. TakBan VPS vaCkrat t«ttnuJa«o tudi aolt Ir^eunalniSk i sistea. Cenovni atemontl Lakttnlh slstamov -su fijjvttCkrat stjod^rdnl i-jCunalnllil ti_31 ti, PDP tt In pod.), V RUnku na bo.po gavtirill o piidi'Ubnl igr4dlit js 1 nhi-oncgd •lil t 1 ( tieiinjlnifikiiijj »istima (AriRS), taovat) aa hinm oin-1 i I1J tlwllnicljo jüinhronih VP • I , kl bina Jo obravnavali I« v prva« ilk^lij lstuli»unski!.jj «lanka. VP sist»n ja ■ nntloa di^oit v 1-in i h procasor Je v , vBah proaaaor lij.iJj W'itwn jirjijitK», aed teboj pa kniiiiirtlcÉi'jJii praho bkupnaga (itiKni Iniha. V firlmttru, da *a pracatna anota aail ^t>t)Oj CdillCnu, poseganja v skupni |)ciinnnr\lli nI unltar*na. To pa Je vtrah, 4» Ja poteg asinhronega delovanja prisotna ta dodatna aqlnuvL pojava kaatlänaga stanja v itatuvanju VP slbteaa. V svatu obstaja vati prtmiTOv asinhronih auttlradunalnlfhlh kititiiaov, audti.'» kn Ju naOrtovan'ja paralatnlh algorltao/, ki bi biti udinkavltl v taktnih Blitwiiilh dandanas le stabo railskano, Nj»»»to, d« nj«rtuJ«mo vedno nova algorltaa, lahka |)arv In neodvisnih opravil znotraj pri)gr4aa t«r «adsebojne odvisnosti aad opravili. M* L* naBln igralen piralalnl progras lahko Itvaja raillCna opravila po pi-Milhoitnii lailinas gralu relaolj aad opravili. Pij|«g lafja aor^ju biti paritetni al^nritai, ki 30 mt.Dirijsni AMRS taVlnl, d* je C**, ki j« pitl.i'ril'itti ti h'.^aijiuk jt) ned posaaeznlal i-aRuiidtfM k 1 «4nj«i od Casa, ki ga potrebuje puid.«atnln za ttlMO računalnike, V obah pri*erlh Je prisotna dehoapoiloiJa problaaa v opravila, ki se Izvajajo soCasno, Pri SlnO raOunatnlkih srofiujomo takolaenovana slnhrona koraön» algoritma, hI zahtevajo centralni nadzor, pri Mino ra«unalnihin pa asinhrone algorltaa, hi so, kot praviao «oCno "razdrobiJeni V detlnloljl paralelnega algorltaa Ja podCrtan* beseda prooe«. Proces Ja osnovna enota del«, hi ga nedeljivo opravi n»h proflt* v vaeraCunalnllthaM alstaau. Daletlan J» i segoentOM prograaa, hi latitio raiporcj« Md prooasorja. Paralelni al^orltca skrbi i» neposredni nadzor nad procasl* SatovanJ» procesorjev nadzira oparaoljshl »Ista«, HI • poaoäjo paralelnega algorltaa nadzira Izvajanje In dodeljevanja prooisov «noti* znotraj sisteaa. tta splotno so lahho proctfvarji aed eeboj railiBni, Prograa sa tdhki> livaja na vefi procesorjih hkrati. Pri tea se lahho enaki prooasl odvijajo soBaang na posaaeinlh raCunalniShIh anotah sistaa«. Koaunlhaoije aad procesi potvhajo preko globalnih spreaenljivh tpraoblihovanJe podathov v skupnea poanllnihu) taho, da sa rezultati procesiranja obUhuJaJo brai zakasnitev In so odvisni od sprotnih vrednosti globalnih spreaeniJ1vh. Pri ULudlJu odnosno načrtovanju paralatnlh algorUmov na* tanlaat« predvsea dve aerili ta ocanjtfvanja «Igorttaov, To «ta pravilnost In ijRlntiovitust algorltaov. Od vsakega algaritaa da Ja pravilan, vendar so raiUfini pubLopkl pravarjanja pravilnosti telo zahtevni. Prlavr enega od nadihov testiranja 36 pcavilnoeti je t«, da v programu voriflolriM tahftne globalne «prBaenlJivko, tel po iivaj»nju prtigra«a dobijo prlÄahovano vrednost. Ufltnhovltofit je poflieabna karaktarivtlha paralelnih algoritmov. -V njej se odrala ve«j« hitrost Izvajanja paralelnih algorltnov napra« sekvenCnltn algoritmo* pri »naki laneslJivoatl pravilnega iivajanja In rabi prostora. S o Ö asn .1 sistem osnovo p o(d at kov S tem Ijraiom poimenujemo taksno osnovo podatkov, v katera sotiasno posegajo številni procesi• Eden od pomembnih kriterijev, Ki dolofiajo soeasno livajanje procesov, predstavlja taholmenovana etrnjenost podattcov. ReCemo, da so posegi v osnovo podatkov pravilni) Ce se po vsakem posegu strnjenost podatkov ohranja. Pri soäaenih procesih obstaja namreä molTnost, da se nekateri podatki nenaseljeno sprenene, s äemer ni vet) lajanAvno pravilno izvajanje prograna. Strnjenost podatkov Je tako poruSena. hshanlzen', ki v safiasnen sistemu osnova podatkov ohranja strnjenost podatkov loienujemo «otiasni nsdior (concurrenoy control>. Do danes eta v veljavi nekako dva pristopa k reševanju problema ohranjanja strnjenostl podatkov. Prvi sloni na metodi zaporednosti, ki ne zahteva' poznavanje strnjenosti v osnovi podatkov, temveC poznavanje sintakse posameinih posegovv osnovo podatkov. Drug pristop sloni na vnaprejšnjem poznavanju strnjenost! podatkov z namsnoM, da se zgradi učinkovit sobasni sistema osnove podatkov. 1, Metoda zaporednosti Metoda zaporednosti, temelji na predpostavki, da Je soCasno procesiranje osnove podatkov enako uClnhovlto, kot zaporedno procesiranje« Pri ten se mora strnjenost podatkov ohranjati. Poseben sinhronlzaoiJski pi'otokol doputläa la pravilne posege v osnovo podatkov in onogoCa posebna stanja, In sicer blokiranje odnosno sprostitev osnove podatkov nad kateri«! se Izvaja doloden proces, ficvorlmo tudi o dvofazncEti procesov, Redečo, da Je prooes dvotazen, Öe ne posega v osnovo podatkov brez posebnega predhodnega posega. Vsak poseg v osnovo podatkov vsebuje torej dve lazli daljto fazo, v kateri se omogcttl dostop In zajeitianj» podatkov, in kraJBo fazo, v kateri se dostop do podatkov blokira, podatki pa obdelajo . Proces razvräöanja (schedule) v «nolflol soCasnih procesov ae izvede te prad Izvajanje* programa. Razvrstitev Je lahko popolna ali 1* delna. Delna urejenost se lahko kasneje ffiodldclra glede na VP siste«, na katere« se procesi odvijajo. Serijska razvrÖCanje pomeni v bistvu serijska poseganje v osnovo podatkov, V sploSnem pravimo, da je proces razvrädanja legalen, fie ne vsebuje poseyov, ki bi lahko blokirali tiste podatke, po katerih sega tudi drug proces. Na ta naSln lahko pride slste« v konfliktno stanje. Na sliki 1 Je prikazan primer legalnega razvrtidanja dveh dvofaznih procesov PI in P2. Na sliki 1 vidimo, da sta akciji A in S v proaesN PI o;. P2 povsem neodvisni, saj uporabljata neodvisni 6pre«onlJivki. Akcija A se lahko izvaja pred akcijo B ali obratno. To 1. out lupiva točk K 2. cticlutive loth y 3, read v 4. teady 5. write ■ 6. unlock M 7. rcKclutiv« lack M (Mirile K 8. 9. fwrito y 10. 11. thare loth y 12. unlock N 13. re^d y M. unlocK y Slika 1 pomeni, da se razvrfitlanje -eoflasnlh procesov v nlCemer ne razlikuje od serijskega razvrööanja» po katerem bi se Izvedel najprej proces P1 nato pa proces P2. Ii taga slfdl naslednji Izreki Katerokoli legalno razvrHtJanJe dvofaznih procesov je ekvivalentno serijskemu razv^ltOanJu le-teh. Predno podrobneje proublmo ta izrek, si oglejmo nekaj novih pojmov. Sraf soodvii>ir\o«tl razvredanj je direkten graf, katerega vätliiäa oznatlujajo procese (posegi v osnovo poditItoV), povezave med vozllSđl pa označujejo medsebojno odvisnost procesov. Tak .graf opisuje sb^nja osnova podatkov pri vseh procesih, ki s« s* izvajali po grafu razvrjtttanj. Pravimo, da sta dve razvrSfianJi ekvivalentni, tie i«ata #hatt graf. Vsekakor lahko sodasno izvajanje dvofaznih procesov privede sistem v dead-look stanje. V tem prlneru Je potrebno (pottA, ko je dead-lack stanje detektirane) proces, ki je povzroOil konfliktno stanje ponoviti, t^ zgornji izrek zagotavlja veljavnost dvoiaznlh procesov, ponovitev enega ali drugega procesa ne povzroda izgubo podatkov. GolJ nazorno predstavo o stanjii sistema v priMeru dveh soüasnlh procesov fposegov v osnovo podatkov) dobimo, Se uporabimo enostavne grafldne metoda. Na sliki 2 Jf prikazana gratidna ponazoritev primara li slike 1. Katerakoli IraJektorija v tem "dvcdlmenzljskem prostoru" ponazarja «Oasno izvajanje dveh prooasov. S tofiko F je é^natteno stanje, ko sta oba procesa zaklJuCena, Krivuljo aed tcdkama O In T imenujemo tNdi "progresijska krivulja", ki Icfii oelotÉte ravnino v dva dela. V nekem trenutku s« lahko zgodi, da progresijska krivulja vstopi v okvirjeno obdoöje (D), kjer obstaja velika verjetnost pojava dead-look etanja. Po^aiibno todko predstavlja vstop trajektcrlj* v «bmotlje D, kar pomeni, da bosta procesa zanesljivo prieia v konfliktna situaoljo. Torej j;« mogotta daseCl prepreöitev dead-look stanja z preusmeritvijo teka trajektcrlje nekaj korakov pred obmoöjem D. Datekoijske algoritme, ki bi na ta naflin reševali problem konfliktnih situacij je veliko. Vsem takitnlm re«iiyam Ja skupno to, da zahtevajo poznavanje vatlih ali vsaj enega parametra, ki "kale v prihodnost". Fpt in«nM BANKE* »Ifloplt«»« J« t« p«M«t»P ■•kalMAln« vcUkosi vsahi«« vira, v katsrtg« bo prooB» poiBOil y B«»u proojfltaoj;. HahUlaatna v.lIkpU vir« oinafluj« turtl Slika:2 upraViflenpat prooe«« do vir«, Prahtläno j« dallnlalja tega pariaietra povss« raaln«, laj vnapr«jllnja dalobitsv «atasinalna vrsdnosti .viroy sodi v ladotno: «paoif ihaoU? prooffov, Algoriten-obllhujs-pösttg proosaa v dbmoan vir ;SBèc pod pogojen, dat -ja vaota vaah tahtav po virih« vkl^uflno « UhoflUl paaegl,.«anji» kot ja upraviicitneat prooaea do virov,in da 'Obstaja nli prooaaov, ki sa bodo lanastjivs : iivodli pod pogojelit, ii posega v osnovo podatkov ae livaja le pod pogojen, da poveg ne raiveljavi trdltv«, veljavne ta stavek, ki istaOasno pripada tudi drugim posego«. Lahko nastopi prliter, da neben od poaegov ne oaogoea ijvajanje naslednje«» koraka. To pčaenl obstoj (fead-ilock stanja, Čemur enostavno sledi ponavljanje posegov v osnovo podatkov. ZaK1Jutiek V dlanhu sne obravnavan paralelne algorit«e la asinhrone vedprooesörske sisteme. Te*o probleMa predstavlja potrjevanje pravllnoati In utiinhovUoetl algoritmov zaradi äalnhrönostl prooesóv. V vaQprócaeorskth slsteelh, kjer so na« mane, igolj sintaktittne . lastnosti osnov podatkov, lahko lagbtbvlmo pravllenalgoritem le I metodo xaporednoeii. Oé pa J^ v osnovah podatkov podana tudi semantika podatkov, ki obseg:B strnjenosti podatkov in informacijo o posegih procesov v osnovo podatkov, se ponuja motnost la načrtovanje veliko bolj uBlnkovltlh algoritnov. Le-ti podpirajo'kar najvettjo itophjo soSashegà Uvajanja. Anallia udlnkčvitasti paralelnih al.gorlt«ov ta večprocesorske slsteae je preoej lahtevna, «aj tias izvajanja posaMeinih prooesov (bolje opravil) nI konstanta, teeveti nakljudna spremenljivka, iato Je y anallii ufilnkovitostl potrebna raba modelov, ki slonijo na statlstltfnin metodah. ' • i K« konau pònovno poudarl«o, da so. algorltelf ki so grajani la asinhrone vaflproaesorektt sistem« «odularni. VoBja «tevildnoat «odiilov -pa občutno imanjttuja nepotrebno fiakanje v -medproceeorski komunlkaoljl. C1] Kuok D., Th« structure of Coeputers and Computatlians, John Wiley and Sons, York, 1987. t23 Lamport L., Proving the ocrreotness of Kultiprooese •Prcgraas IEEE Transaotions on Software Engineering, harch 1977. Gerard H, Baudet The Design and Analysis of Algorith«» (or Asynchronous Multiprocessor« Carnegie neUon u, Report, April 197». INFORMATICA 3/1984 PRISTUP KREIRANJU RASPOREDJ I V ACA ZADATAKA U DISTRIBUIRANOM IZVRSNOM SISTEMU SA RADOM U STVARNOM VREMENU M. KUKRIKA UDK: 681.3.06 elektrotehnički FAKULTET BANJALUKA SAIFTTAK - Probl«tatika izbora optinalne «rtdtekture raspodijeljenog sistx-tite nije do^foljno istražena, a rtnoga važna pitanja su ostala bez odgovora. Mda je ovaj froblem rijeSen trebalo bi s-i^tfLnirati pristi^ raspodjeli zadataka po računalina, te redoslijed njihovog iivodjenja u svakon od raöunala. Ako se postavlja zahtjev da ae u stvamun vremenu izvede n sadataJca na » procesora pri fienw je n nro^ veće od m (n » rr), tcšor! izvodjenja bd fiesto trebalo odgovoriti na pitanje kojem od pripravnih zadataka pridijeliti procesor. TU zadaću, uz ostale upravljavke aktivnosti preuzim^ jezgro raspodijeljenog izvrSnog sisteira. U ovan radu rasporedjivaf je definiran kao skup identičnih algoritama, od ieojih se svaki izvodi na vlastitan rafunalu. Pretpostavlja se da paralelni procesi tekom izvodjenja fiesto izmjenjuju pomice, re stoga mijenjaju i svoja stanja iz pripravan u blckiran i obrnuto, ABSTRACT - tU APPROACH TO ÌESIGH OF TASK SOCDUUB DJ A REALrTIrtE CI?" RISIH-LD OPDWTIHG SlfSTDI. The research problems associated with the optijral architectures of hl^ly parallel structurx^s are difficult and less Moll undei^tóod. However, wt«n the system's architecture has been dertemined, other significant problene are allocacticn of tasks and scheduling of processors. If it is requiered to execute in real time a n nun^ier of processes at a ■ nurter of prc^ssors (n » ra), a frequent question v^ich raady process is to be assigned to processor is apparent and to be answered while ci3it>uting. It is the task of the operating systen keinel to provide the neoessaiiy management opuMiou. Sdrteduler described in this paper cuter can mn Its cwn local scheduler. It is assLned that parallel processes reflect a strong Cooperation; message evr^iange with cthttr processes is quite frequent, and as a caisequence xiTe processes will oaitinoiwly diange the execution state rađu definiranu prc^aiTicm, pa se izvodjenje skvq>a za- . dataka liiože povjeriti ili moćnom procesoru, öija 6e brzina ostaviti dojam paraleUiog izvodjenja, ili pak zadatke razdijeliti na vi£e rai^unala. 0 podjeli vrenana da-Ikle, govorimo ako se Ì2vodjenje skupa zadataka povjeri (noćnom procesora, a o podjeli mjesta ako zadatke raspo-dijeliJTO na viSe računala. U uvjetima kada se traži što hitniji odgovor na pobude, [TUlt i programiran j e omogućava brie vrijeme odgv vora, se izvodjenje zadatka može prekinuti nakcn bilo kojfcg koraka, te rastaviti kasnije s jedno«nainim kcTiaćnim reKultatcm uz jedini uvjet da se u medjuvremenu saiuva pretl-icdno stanje prekinutog zadatka. Na taj naSin se u računalu može paraleliio odvijati nesmetano više zadataka, ako se osigura oni jedan drvigcoi ne mijenjaju stanja, tj, da se svaki oì njih odvija na vlastitom skupu registara i memorijskih lokacija. Ovakvu razdvojenost najlakše je csigurati višeprccesor*;kaii gradjon, te se viäeprocesorski i raspodijeljeni sistemi mogu smatrati proširenjem ncfioprocesorstcih nultìpvograroskih sistema kod kojih virtualna maSina postaje stvarna. Činjenica da se svaki zadatak izvodi na vlastitom računalu trebalo bi da owiguäi znatno ubrzanje rada i na pivi poglej se fini da su svi px^lemi time rijeSeni. Me-djutim. Olii tek iapoćinju: ^kiogi id'.ia.i^i Kojtj tn i^podijeljeni sistem trebaj da rjeSava ne mogu se pretvwiti u älsto paralelne algoritme. Votpunu uporedivcst u izvodjenju zadataka je veoma teSko pofii ići ako su djelovanja u sistemu msdjuovisnd, a to je uprdvti karakteristika sistema koji nas primamo zanimaju. !^±'lenatika analiziranja i specificiranja svojstava paraitflÌKma u skupu zadata)« rasotiatrana je detaljnije u ( 1). Drugi protilem je odredjivanje topologije raspodijeljenog sistena. Izbor natina povezivanja raCunala diktiran je zahtjevinw koji se na sistem postavljaju {vrijeme odziva, fleksibilnost itd.,.), a zasniva se na kcnproni-su zahtjevd ix>u?.danosti i cijene. Cptimalna je cna topologija koja će postavljene zahtjeve ostvariti uz najru-nju cijenu (2). RaspctJLjftlieni sistemu u odnosu na jednoprocesorske posjeduju joÈ je'Jnu klasu sredstava koje rasporedjuje izvrSni sistdn, a to su procesori. Odluka o raspored j iva-nju zadataka po raćunaliiiB, kao i odredjivanje redoslijeda njihovofi Izvršavanja u svakom od raCunala mode bitne utjecati na perfonnanse raspodijeljenog sistema. Tu zadaću, uz cerale upravljaćke aktivnosti preuzijia raspodijeljeni izvrSni sistem. ■i. BASt-UDIJCUlfI IZVRSNI SISTEMI Ctenovna zadaća pfì kraironiu si,8teiieke (irogronel^e podrške je ostvarivanje najbolje mogufie raspodjele po-Btojećih sredstava, kako bi se Sto viSe zadataka moglo poreda isivoditi. Uzme U su u cÄJZlr da u mspocJljelje-iiim sistemima [Kistoji miogostruki izboP tla 11 se upra-vljiVlki iiadaci odvijaju uporedo ili jedan aa drvgim, laaEpodijellenih izvrSnih sis-Voniđ, U literaturi poatoji viSe, primjena realiziranili .i/vt.'änlh siuttiuB za viSei\ačunareke strukture kao što au izvc-čui sistofii Boücoü za Atacne system Medusa za Üii»ClÜ), Starw za Qii* (11), Mike za IJDUCH (12) itd. Hrc'jia (S,6,7) raspodijeljeni izvrSni sistem nože se realiziiatl kao navi pristup - realiziran Je Lix^Mit UiÌK - iiirtifjii operativni sistem za raüunala tipa V^ i PDP/ll povezana u prstenastu mrežu. Poitojeće izvrStie sisteme je Sesto te^ prilago» dlti, pa se pjina (lonekle ma[>a podrediti organizacija cijele«, ffiattìtiia. Stoga eq izlaz moie potražiti u r^ra-di kotice|icije. jezgra (S,6). Koncepcija jezgra sastoji se u tane da se u nepreki dlvm nči^inu luda obave, samo najnužnije ikoije, i da se, Sto je noa^i prije dozvoli prekidanje, Minindziranje dijeJa sifiteni-ske progrfrniske podrika koji ne smije biti pnJkinut jü od velikog značaja aa rad u stvarnem vrema-t nu. Kod sistem» sa mtJoiti u stvarnem vremenu pojedino akcivnoiiti C'ie koji /Äidì liitno trt-Kilo Izvewti. Ii:vcil)fenje /„ktitka koji viÄi Oi|redjon.ì iztvičunava- nja preuzeće u kriznim situacij^ aio računalo koje je sa sistemskog stanovišta u tom trenutku najpodobnije. Time se po prùicipu spojenih posuda ukupno opterečatje raspa-edjuja je«^olilu> na sve učesnike, a jedrvolilco opterećen siatemi je i sistem maksimalne pouzdanosti i raspoloživosti.- ■ , . . • Svako od računala u sistanu posjeduje vlastitu kopiju BÌBt«na zadataka, te j« sposobno, na Osnovu odluke globalnog losporedjivača preuzeti dio z^taka divgog opterećenog rvjčunala, U (3) i (1) su predstavljena dva deterministička algoi ritma za rašpo«r«djivanje zadataka po laCunaliro, a u ovcnt i^u je definiran algoritam za odiedjivanje redoslijeda izvodjenja pridijeljenih zadataka u svakom od računala Za razumijevanje ovog algoritma potretno je poznavati m(> del zadatka! / 3. MODEL ZADÄTKA . . Raspodijeljeni programi ou programi koji se sastoje od dva ili viäe zadataka koji medjusobno komuniciraju isključivo izmjencm por^. (14,15,16), Zadaci unutar raspodijeljenog prograna na dijele nikakve varijable, svaka v^ijabla pripada odredjenan (Ickalnan) zadatku, l^ra-r vijanje u r^äspodijeljenem progranu je takodjer raspodije4 Ijeno, nema centralnog zadatka koji bi upravljao akcijani pojedinih zadataka ili usmjeravao porake. Pri tene,bi tni-balo težiti da se što vÌ5e zadataka izvräava i^jotsdo, te da se medjuzavisnim zadacima,c«ogući da , Izmjenjuju potw ke, ■ • ■ Preira siici 1 strukturu zadatka predstavljano kao Blijed izvränih segitenata izmedju kojili su umetnuti pozivi jezgiM za predajem POR) i prijeman (CEK-POD) poruka, te za zavrženj^ zadatka (ZAV-ZAD). Naker» tega Mdatak se zavräava. IpdQlolt A iMvrtnI tgm*nt F/teo. fOlt ta/ Cgx, FOO ICf. F/liO it/ - rAV.ZAÙ A ' Ül.l, Ri^doslijfid izvodjenja zadatka /.ad/tt^K koji je aktiviran u nekon od računala mož« se nači u slijcftočim stanjiniaj - R - izvodi se, Ìli je pripravan za izvodjenjei ' - W - čeka na podatke koje če mu poslati ostali zadaci (tj. na akcije koje au potpuno neovisne o njenu). ili na pcftvrdu o primitku patvk« toju j« poelao divglm zadacima. Zadatak prelazi Iz stanja R u stanje M u trenutku kdda etniktuta programa diJctira prijem ili predaju poruke. Prijemon poruka ili potvrde za predanu porvku zadatak iz stanja W prelazi u stanje R 1 uvrStava se u rep pripravnih zadataka. Na slici S. je prikazano u kojim aluSajevima sada-tak prelazi iz stanja R u etanje U, a na slici 3, u kojim slučajevima iz stanja W u stanje R. ©■-^ M>D/srA.2AĐl lAV.IAOf CeK.POD Sl.l. Prelazak zadatka iz stanja R u stanje W Pri tame staraćenioe imaju slijodeöa znaCenja! U elu&aju porelaza R - > W ; POD - ladatak je pretilo poruku i Sekaće na potvrdu STA-ZAD - trebalo bi startati zadatak višeg prioriteta ZAV-'ZAl) - zavräen je neki dnjgi zadatak Cl'K-POD - zadatak se ne može nastaviti ddc ne primi odgovarajuće podatke ©■- POT I no I riMS. OUT SI,3. Prđiazak zactatka iz stanja W u stanje R. U oluedju prela^^ W - > R HJT - atinla je potvrda predane portike H» - stigli su podaci i» osnovu poruke CEK-POD 17Mi;-afl' - iuteklo je vrijctne ptetlvidjeno za odgovor i iiostiipak se [idnavljd M. t)ia Pripravni za izvodjenje sa prethodnim stanjem Ćekaj - potvrdu 3) Pripravni za izvodjenje sa prethodnim stanjem nije ni počeo sa izvodjenjerti. Za sve zadatke koji su preili u stanje Pripravni za izvodjenje na osnovu primljenih podataika egzistiraju kć(*)a)iina, U'nastai^u je opisani postupi algoritamski ptned-: Utdvljen. ■ PrOL-edure Udjela _"prciceEara () - ; t* aJgoHtam za lokalno x«spcredjivanje zadataka *). ;i ; t^ potn^a za hitnim zadaoitna unutar repova *) .; tup (1> = Prlprćiv»l_za_lzvodjenje sa prethortnun sta-i j ■ ■ : " . njero ćekajjvjdatke . : rep (Z ) = Prtpravni_za_i zvodjenje sa prethodnim eta-» njejn ö.eküj_potvi>du' = .■ iwp <3) E K^ipiàvni_z3_izyodjenìe sa prethodnim sta: njt;jn nije_nl_poCco_Ba_izvodjenjt«i .. V , !.. 1.! ProriaUženja pripramih zadataka unutar repova ČEKJ^ i a:K_PCfr kao i koordiniranje wlh repova sa ulamin prihvamiclita zd potume d pcmke FOR 11= 1 to 3 DO ; : ■ BBGIW (* potr^ za hitnim zadacima uiutar t«ppw \ , f ! F bi;ipJ(ojiJiitan;(repaV ir'(Ncrr:V)c=o)).TOE« REHUW (CTAKT (X))l ■ OÌDI- (• izbor zi^tka toj««!» «« 8« dodijeliti i>rooe8e«c •) (» dodjela prioritet« reppvina zadotAkfl •) (• k < 1 < m *) "rep (1) : • kl ' rep ) !» t^ rep (3) ! > m i: ; (» prioriteti se smanjuju svaki put kada ee Izabere zadatak iz prlpadnog rapa *) IF etar_Kad « star_za H i , IF par_z^ a po(r_zad - 1 THtM.M J » M-l; (» potraga za zadaclina u rapu l>ripravni_ta_livodje-njè sa prethodnim stanjem CefcajjiajwrUku *) IF (par_zad < 0) THEN BtBIN IF (HOT (prazan C«p<3)» THEM po(r_zad k i ■ ■ . RCTUPH (START (prvi_u_i«pu (3))h (• izabrar ja najhitniji zadatak jer Je rep organiziran pfTWÄ hitnoeti izvodjenja •) (• Neke od alternativa pei oven pristupu eu't CTAPT T, , (• potraga za zadaolita u repu PriprBvni_za_Ìivòdler : . nje-sa prethodnim stanjem fiok«J_naj)rtvtilu •) IF (pot^zad < 0> THEN . "■■-Sv.BroiN ■ ■ ...V".. IF (HOT {prazan(rep(a»> THOf " ^ ■ bcgih ■ V-. ^-.i- ' ■ - ' ■ ' . - > pot^zad « l ^ BETUKH (STAUT tpi'vi_u_repu (2))>i (* potraga za zadacima u repu Prlpmvni_za_izvodjenje tia prethodii-Uii stanjem iavodjtaijsjtijejii^poSelo *) ir {star_zad < 0) IHtN IJffiTN ir (HOT (pttiian(rep(l))} TIDJ) BrKIK star_3iad s m ^ RI-'IURM (START {prvl_u_repu (DJ) i DIR; EKÜi DID. t. ZAKLJUČAK Giavtie pfednosti raspodijeljenih sistema u odnosu na druge račuiiai^ke strulfture, koji motiviSu daljnja istraživanja u cblasti njihovog pfojelctiranja i lagpa-dnje su modiilanvost, pouzdanost, pixipuBnost sistema^ bt'xiiia, efikasnost rada, noguinosti proširenja, laspglo^ živost, prihvatljiva cijena i dinge, To su i osnovni ci» ]jevi koje b'i trebalo postići izgradnjcni takvog sistene^ Miidjutini, prednosti koje uvodi uporedno izvrfiavanje > zadataka u raspodiieljenijn eiatemijia su ogianičene slo» Jjinožću ['ealizaci je i^ravljačkih mehanizana, te defini-ranjmn pristupa kcitiunikaciji i sinhronizaciji medjuza-» viujiih zadat:aka koji se izvade na različitim mjestima u sistemu, U siatemiiiB kod kojih je kcminikacija zaano -vana na izmjeni pcn:\U[^ loSlti osobina sistema, (ij pi'istupa problemu raspored j i van j a zadataka po raćiinalina ovisićej i dct li će se raspodijeljeni siatemi pcikfizciti boljina od niultipragramjkih i viSeprocesorsk-th siütedta. Ako Sü postavlja zahtjev da se u stvaman vremenu i/.viKie (1 vadritaka na in proceaoia pri äemu j« n iitnogo veće, oJ III (n » m), tokoiti izvocijenjo bi ćesto trebalo od-" govoriti jit) pitanje "Kojem od pripravnih zadatka pridi-» jej.ili piioceKor'f", Strategija p*>cjrB kojoj še donosi ova o^Huka ridi-.iva s« algointam raspa-edjivanja. Primjena po» /natiti RVi-tii.t^tij jd Taajjot-edjivanja, kao Sto su ^FS, KR 1. dtMgo, (a ćlo fie Čini u većini postojećih ras pod i je 1 je ■• nih eistena), mogla bi negtitivno utjecati na perfotiransa tiisci;tiK, Haim;, ovi ja'-iiitupi ne ii?iitäju eksplif.itno u obzir nuiljuouianosti zadataka koji se izvode na razUči'' tim mjutitijiii u sifiUimii, Produženo vrijeme odgov^ura poje* (tinog r\ičun.:ilj mnifi uptotavati druga ivićunala da iwte »a iiuksint^ilnim ućinkimi, ^JiOg toj^a predloženi algoritam onijctviii ki itorij pr-i iMlm^ivanju uzinti siianjiviinje krtininikatnjMKùg oplticććtiiija Liistmiu. Nupiwluktivrw wi-jtmi juil H'bnii dii hi? diiiioHe odluka je vüojö jtuleiio 1 nrt iWiüi o iiilonikicikfijtì so dotiijajti od ostiiltli mću« naia. Predloženo rjeSenje bi etoga trebalo potpomoći ubrzavanje izvrćavranja zadataka u drugim I^aču^alilna, te uticati na smanjenje uku|>nog vremena odziva sistema. UTERATURA 1. Kukrika,M,; "0 mcgućnostijiH uporednog izvrSav^nja za--dataka u vifiaračunarskim sistemima", I Sinpozij o prcr* oesnom upravljanju (JUREMA 19e>t>. 2, Kukrika, M. ; "Pristup organiziranju lokalnih mre!ta mikroraSunala" V medjunarodni sinpozij "Ktmpjuter na sveuSilištu", C:avtat (-1983). 3. Kukrika, M,; "Pristup dinamičkom t\asporedjivanju zadataka u prstenastoj mreìi računala", Informatica 2 (isei). 4, Kukrika, M. i "Neke rtogučnosti ravncmjetnog koriStenj^ računala u viSer^unarskirn sistemine sa radan u real-' nam vrenenu", VITI bosanskottercegovački siirpozij informatike, Jahorina (19an). 6. Clark, D, et al,i "Dasign of distributed systane supporting local autonoiryr", Proc. Ì980, IEEE OmBN, (feb. 19B0), 6. Preebles, R.: "Adapt! A guest systettf', Proc.1380 IEEE CXMPttJN, (feb. 1990), 7. Tanenbaun, A.; "Conputer Netwrka", Prentice-Hall (1961). e. Rowe, L et al. "A local networSc based cn the IWIX operating system, IEEE trans, soft, eng., vol. SE-B, no, 2, (niairch 1982). 9. Solanon, M et al,: "The Rpsooe distributed op«natlng system". Proceedings of the 7th syitposium an operating systems principles, (dec, 1979). 10. Ousterbout, J et al.; "Medusas An exper^iment in distributed operating system structure" Cairn. ACM vol.23, no, 2, (feb. 1980), 11. Jones, A.! "The object model; A ccficentual tool for structuring software", Lecture notes in oonfmter science vol, 60, Springer Verl«^ (1976). 12, liu, H,! "Dasi^ of a network operating syst^ for the distributed double-loop computer network (COLCW) Caiputer networks, Horth-liolland publishing oaiqjany (1982), 13, Kukrika, M.t "Primjer realizacije jezgra za i«d u stvatTwm vreitenu", VI nedjunarodni eijnpoaij "Kan)Ju-ter na sveučilištu", Cavtat (198t), lt. aiAHWjK, et al.,ì "Distributed eimulation; A case study in design and verification of distributed programs, rm: trans, on Software Ehgineering, vol, se-!f, no. 8, septeiiiier 1979. 15. Hansen, P, B.: "Metworkr A Multiprocessor Program", IfXE Tron, cn Soft. Eng,, May 1979, 16. Kukrika, M.; "Primjer sinhronizacije roedjuzftvisnih zadataka u raspcxjijeljenùn sistemima", Etan (198>(), informatica 3/1984 PROGRAMSKI JEZIK PASCAL ti. UDK: 519.682.8 M. GAMS O), I.BRATKO (2,1), V. BATAGEU (3), R. REINHARDT (1), M. MARTINECd), M. SPEGELdK P. TANCIG (1) (1) limitut,.j|OŽEF STEFAN", (2> fakulteta za elektrotehniko, univerza e. kardelja (3) fakulteta za naravoslovje in tehnologijo v' . loi.tiJ )(' iit)j|>nij JljisDt.il l.l.ivlli) p)fodplio (iit viiljuje) nekotete irli* prugrami' tan|ò. 2 uporobo človeku botj noiavnefjfo itilo progtamiroiijo t* pov*£i> produktivnolt piogronnerjo. piogigm vetkrot bererrto, kol )x> gn piieino. Viok jeilk. I* poiebej pa tplojno nomen-ikl |eilk, je ino^oie "zluiuLtll)", lo j* uporobiti no neprime-r*n Iiu£in. Hpi. pt0||i0in*ijI, ki 1 Fwtrona pteidejo no Fouol, pugtNIo brsi poliahe uporabl|oja "^olo" ttav*k. Podobno tuliko *lo*iibiniu Pctiiol L nepr*iniilj«nO uporabo (jlobol-nlh «iiieiiiaiiljivk , t/ 2.] . Sirukfurironjo Pojtol omogiičo učinkovito itrukturirooj«, tj. pravilno itruk-turo lopito olgoritrm. Otnovni fo trije principi itrukturiron* grodnje progromov: o) od igoroj novidol (top-down) b) od tpodoj novigor (bottom-up) c) kombinacija a In b. Princip "od igoroj navzdol" gradnje programov j* v tem, do oUett»« heterogen« koi* delim» m ttnnjl« It» bolj tompaktri« dele. Monjia dale ložj* obvlodarno, preglednotf ralla. Princip "od ipòdqj navijor" ^dnj* proefomov j* v t*m, da t* oekotaro otnovno opravilo - atonnrrM funkcij* - pogotto ponovijo. T* otomorne op*r«cl[* no|pre| lokodlromo, nato po ćimvei otialih podprogromov gradimo t Cfmv*« klici i* kodiranih podprogramov Tako lahko rM^ltxtromo progiam« i manj kori*, "mod" koda rtato»*. V ptakii la najbolj pogotto iradujemo i uporaba obeh-itilov, toko do iprotl fozbijomo većje koi* v itnr^jte, kadar po noTetin» r» otnoven podprogrcim, ga takoj lakodlfomo. Med kodl-ronjein vedno pfev«rjomo, ali lahko koklno nologo r*limo loko, do upotobimo f* lokodlron (omiIc* poprovljen) podprogram. Podprogrom noj bo dolg okoli ene Hrani In noj vt*buj* nq|v*e 7 podprogramov Podprogrom mofo Imeti oi«i*[«n pr«tok Inforna-cij preko timmonj patameirov. Za globaln* *pt*m*nl|lvke gl*| pravilo it*vi|ka 2,2 Kador bo progtom obMlan, motomo pr*d kodironjain vedeli, kaj via bo lettovljolo en modul (la Overloy« uli Kl viebirako puvtam loten* rt(i>dut*), drugod* po pori- programov wjii f» flMidlti», ompolt jih flfodimo "od ipodo( novigor" ali v obliki produkcljtkth ilftemov /2,3/. Slika I: Struk»urlran[« "od zgotoj navzdol": veije modula lazbljatno v monji« toko, do med moduli nt povezav. "Ideolno" kontfoloo i^rukturo je drevo bf« prekriva-njo Hitov, grodimo ga od tgoioj navidol. Stiko 2: Struktur if on Jo "od »podoj novzgor": OMtovn« podprograme iimpr«! lokodiramo In oital« podprogram« gradimo t pomotjo že kodlronlh podprogramov, ki »o dottopnl v»e(n podprogromom. Kontrolno itrukturo |« nsplonoren uimerjen grof, prekrivonjo je precej. Vtok Izmed nottnov kodtronjo Ima tvoje prednotll In ilobotrl. Golj pogotto irećamo kodlronje od zgoraj novzdol, ker laije rozbijanio velik problem rw ložje podprobleir» tn zato je pre-glednoit obi^iano zelo dobra. Struklurifonje od ipodaj navzgor omogoio veliko likoriUenott kode, vendar rd primerno zo vio podroija. Kljub temu je po mnenju nekaterih ob pazljivi uporabi lo Izredno učinkovita metodo, Poglejma «I rezultate ilruklurironja na primeru Iz Nterotur«/4/; Ko to obitojećl program v jeziku PL/1 preoblikovali iz ne-itrukturlrone oblike v itrukturliono, to lettirons oiebe ta razumevanje n«ttiukturirofi«gO piogiarr» potiebovole dvakrat vei iato kof 10 roiumovont* itrukturlrao« verxlj«. Tud) druj^ faktorji kot clklomotlćno komplek*rwit (uttreso Intuitivnomu pojmu loplatenotH ciklov) to m biltven» tiboijtoll pri pralctlfno Itti KItrotti tzvalanja. Pać po »e j* bUtvono (za polovleo) po-doljtolo Itevtlo vrttic prograitn, rwjvei no roCurt deklo^cl) procedur. 2.2. N« uporoblloj goto »lavkov in globalnih tpremerttjivk, će to nt nujno potrebno. 2.2.1. Pogotta uporabo kontirukla "goto" «lo potlobla iltljlvo^t kod« /4/, xoto ga up0T0bl{ koratruktom (to obttojo v nekaterih verzljak Patcalo). Komantof: V Potco-lu je zadovoljiv konitrukt WHILE twa DO BEGIN IF olorm THEN EXIT Coll Izjamoma 'G0T0111'*), ENDj 111; "LOQP" konttrukt )a po mnenju vaiine nepotreben. 3.4.3. Monjkojoči "ELSE" v "CASE" itovku. Komantor: Smitaino bi bilo dodati "ELSE" all "OTHERWISE" korvttrukt v "CASE" ttovak, ia[ zahteva molenkoiten poprovek prevojalnl-ko. Novejfi prevajalniki ga veilnomo irrrajo. 3.5, Slaboili 3.5.1. Vrtini rad evaluoclja BooIovìK izrotov, V poglavju 3.1. imo omenili, do ni ) 0) DO ... WHILE (pOnil) AND itkonoVtel>M DO... WHILE NOT «af{f) ANO NOT (ft - '*') DO ... Komentor! V priročniku bi morali doloCIti naain ovr*dnot«njo BoolovIh Izrozov. Ftecaj bolji« |« ovrednotenj« t preklnllvlio, 3.5.2, Datoteke, StaiKtardnI Paical nimo deflnlronagp povezovanja loglfnlh datol«k z dototeicaml v operocijikem tUtemu. NImo ilotakia zo brortj« In pitonje po dototekah z direktnim dostopom. Nima indektno takvenclolnlh dolotek. Okenc« v datotekah je vedno Inklolizlrano na tekoie meito v dototeid, kor otežkoćo interoktlvno delo. Pri branju tMmerlfnlb podatkov |e otaikoiano teitironje konco dototeke. Korrwntart Opit odpironja datotek alt bronjo po datotekah z direktnim doito-pom je moino vaian no operocijikt tiitam, zoto i« tlntoktif-no močno razlikuje. Veilrw teh problemov )a zadovoljivo ra-leno no konkretnem prevajalniku. Hujio pomonjkljivoit ja po-manjkonf« Indakioo lekvenciolnlh datotek na večini prevajalnikov, La redke verzij« Patcolo (Paical R) jih Imajo. No iploino pa to datotek« [tbko točka paicota. 3.5.3. Prirejanje začetnih vrednotil. V Paicolu n« morerno upoiobitl nailednjih Izrazov; CONST n = 10, m = 20, t = n * mj VAR o: arfay[l..n*m| of Integer, BEGIN o (3,4,5, ,.,) Prov toko ne moremo deklarirati začetnih vrednoiti ipremen-Ijivkom prt deklorocljl, ne obttoja ekvivalent "DATA" itovku Iz Fortrono. Komentor: Prirejanje začetnih vrednotil bi khko zalo enottavno dodati v prevojolnlk. Nekateri prevo]olnlkI Imajo dano to moinoit, 3.5.4. Nezmoinotl direktnega dotego računalniških ertot. Poical nimo poiebnlh koniirukiw za tlttemtko delo kol npr. Modula ali C, Komentor: Te naloge bhko reolizlroi z zbirnikom, kar po ie vedno nI ertakovrodno jvzlkam zo tlitenvko delo. 3.5.5, Pomanjkonja "laitnih" ipramanijivk. Potcal rtima nih «premenljivk, torej podprogram no more ImeH tvoja tpre-manljivke, ki bi obdrlak vrednoti do ponovnega klico podpro^ gromu, na da bi bilo vidno vtem oitolim podprogromom kot npr. globolne ipramanijivk«. Komentor; Zorodl veltkega pom«- , na «kritih ipr«| primernih področij učinkovito Izboljfomo lastnosti Pascolo, tako do uporabi^ podprograme v zbirniku oil fortronm. Poleg tega lahko uporabimo -bofj speciolizirono usmerjane verzije kot USCD Pascal zo ml- ' kroročunalnlke, pascal PLUS za ditkratna timulocija In Concurrent Poscol zo aplikacije V realnem čatu. Novejii pcttcoli utpeino relujajo večino tu omenjenih problemov. 6. Zoključna"oceno Nakoj tlobosli Potealo bi lohko z minjmalnim trudom odprovill, toko da bi Imel prevajalnik malo popravkov, runkcijtko pa bi ' bil Poscol precej močnejJI. In najbrž bi moro» vtokemu Poicolr ikemu prevajalniku dodoli indektno tekvenciolne dototake. (Va^t cej kritik je nemogoča rozrelltl, ne do bi ta pravojoinlk In jezik pretirono roziirilo. Večino otttenjenib problemov ima(0 novejii pascoli obićojno dokoj elegantno reìenlh. Kljub vtemu pa je Poicol po svojih lastnostih varjetrM edan najboljiih prad-; ■tovntkov algafllmlfnlh tplolno nomaniktK Jailltl kot FORTRAN, COBOL, BASIC oH P t/l w v tplointm ob-{•ktlvno ntkuj tlobti, £«prov to prlinafn«|)1 ta dolof«no po-drofjo. V*l|a iK»Ì«dn|*t Pateol (trt podobni |*zlkt kot MODULA'2 ali iooilc* AD£) |» verjetno «dtn i«o|bol]llb iplolito namantlcth {ozlkov, feprov >koro| no vtakom oijem podroi|u lahko nafdamo [etlk«, kt to bol|lt kot Patcol, UOnkovttoit nove|ilt) Potccltkllt prevajalnikov tako glede dolfirte kode Benerlronega programa In hitrattl livatonja ko-o-goćojo loieno prevojortjo, utpelno teitlronfe (debugger) tn 1ma[o interpreter In prevajalnik, ter vts to Integrirarto in ittoiatno dotlopfio, to bittveno boljle orodje zò tettlranje, kol po npr. Polca I. Tudi Pojcoltke knjižnice t iplolno uporabnimi podprogroml to le redkokdaj komercialno dotegljlve in |lt) mora uporabnik pitati tam, le zlotti kodor bi rad odpravil kokino pomanjkljivoit Rotealo t podprogramom v zblr-rtem jeziku, Rovno to po }e podroije, kjer lahko v notled-njlh lotih pričakujemo najvafje koroke naprej. 7. R. Callllolaut A Letter ta Editor, ACM SIGPUN NotkM, Vol, 17, Num.12, itr. 10 - II, decembw 1982 e. K. Jemen, N. WInht Potcal, Iber Monkwl and Report, Springer Verlag, 1978 9, Second draft propotol ISO/DP 7185 • Specification for the Computer Programming Languoge • Potcol, Potcol Newt, Num, 30, december 1980 10. N. WIrth; The Oeiign of a Potcol Compiler, Software Practice ond Experience, 1, ttr. 309 - 333, 1971 U.K. Mogel: A Report on o PASCAL Quetrionalre, ACM SIGPUN Notice», Vol, 17, Num, 10, ttr. 23- 33, oktober 1982 12, Benchmark tett rva Quicktortu, Special Softwore Limited, InrormaHca 3, ttr. 77, 1982 13, M. Gonu, I, Bralko, V. Botogelj, R. Reinhardt, M. Martlnec, M, Spege), P. Tonctgt PASCAL I (prtmer{ava I oitollml [eiikl). Informatico I, »tr. 22 - 2Ó, 1984 7. Literaturo 1 , E,B. Levy: The Cote Agolmt Patcol at o Teaching Tool, ACM SIGPLAN Notlcet, Vol, 17, Num. 11, ttr. 3942, hoventber 1962 2. D.A. Wotermon, F, Haye»-Roth: An Overvleyr of Pottern-Dlrected Inference Syttemt, Academic Prett, 1978 3. M. Gonffi: Pomen In vloga znanja v littemih io Intet-okcijo z uporobnikom, magiitnko delo, juni) 196! 4. J.L, Eithor, M. Morcotty: Improving Computer Program Keodlbllit/ )o Aid Modlflcotion, CACM, Vol. 25, Num. 8, ttr, 512-521, avgutt 1982 5. R, ColMIou: How to Avoid Gelting SCHLONKED by Patcol, ACM SIGPLAN Notice», Vol. 17, Num, 12, ttr. 31 - 41, decomber 1963 6. H.E. Sumner, R,E, Gleovet; Modulo-2 — A Solution IO Poicol't Problemi, ACM SIGPLAN Notice«, Vol. 17, Num. 9, ttr. 28 - 34, tepletr^er 1963 ti« Btttia»«»!« iibttB«* n »attn i»a>iiiiiiiN»iM«tti8i«4 iwat«»i>fi i«i«ii«iiiit«*iu9iitti«iti wmBiiijnaipi*« m « Hovictf il tfitttlt(jt4 *J0l4»f Btttfàn* m «HHVVIlHHaHfVVnWlBHKHanVIKaftHRnniHHaitlVIiiniHWlHISHtCIJIIiniUHItBWHMlK Dum«C «nokertl£nl Mlkrer«Curi«lnlk tip« UEC Pod vodetvon M.M.MllttilCe i» bil rezvit »notcet-ttCnl «IkroreCunelnik MMA-H z DECoviw l«-btt-nin wlltr>oproc«»or'T-llr Itl uoeriblJü epnr«-' eld«kl aietBM RT-lt, Te reCurtelnlk Im* 4*t<-zlo-Inl hitr>l POMrtllrtlkr dvoJ« ««rlJtthltt In Vn« pe-relwlne vrete, l(rMilnik le upuiilJivl disk ltd* Pradvldttn J« tudi krmilnik i« trdni di^k. Po-debrteet x Mlkrorefiurielnikum VT-ISO im oftltne. ProareM z« novaievenJ« rt« tl»k«nlt> vviJlh Ne IJ8 im bil reivit proitrent ze l*li«nJ« P0v»iev n« tlekertlt) v«zdltt (M. Gam« >, Probl»M 54f0 pev»-i«v im npr. ta pro»r*M r*zr»*il v kot 4 urett (reCunalnlk D«lt* 4850 K Prearen v p»-k«tu i ruttn*ml za lirleovanJ» wIibm, fjlntev iri Itdwlevo trakov z* nuM*rt£ne krMlld«nl vrtelrtl •troJ. A. P, 2»i*ir>ltter TESTIRANJE ROM POMNILNIKOV uuk: 6813.325.6.08 B. KASTELIC, R. MURN, D. PECEK institut „jožef stefan" V ćlanku opisujamo t«*tnl postopvk (« testiranje delovanj« In verifl-hactjo VMblne ROM po«nitntk*> PoKtopek je zasnovan na prograMkn r«-ćunanju ciki iena'kod« nad tMtlranln področjem pomnilnika in varifila-cijo te-te. Na koncu ćlank« Ja prilstan izpis podprograiaa la računanja CRC la nikroraćunalnik s procaaorjan hàaoo. TESTING RDM MEMORY. In the papar the dynamit and static taat procedures for testing and verifying RON - Itiok like nanorlas are described. Tne basic elemanta of procedures ars cyclic redundancy codes. At the end of the papar the <»BOO processor soit«are procedura for CRC generation is «hptm. I. UVOD V nikroraćunalnlAkih sietenih vedno aravano poleg poMnllnika z nakljućnim doctopoa IRAMt la pomnilnik a stalno vaabino, ki Jo lahko «amo £tt«fl>u > ROM poanllnik. Ta je va£i« ali iMnJ«a kapacitete, kar lavisl od konfiguraciJa slsta-na. V sistemih, kf Imajo na razpolago xunanje poflifiitn« «nota, te v ROM pomnilniku običajno zapisana te oanovna atstemsKa programak« Oprm-ma, ki nam omogoCi nalaganje prograidov v dalov-ni pomnilnik. Obatajajo p« tudi manJAl «ikrora-Cunalnl&ki eistami , ki i«ajo vso sistaMkO programsko opremo ahranjano v ROM pomnilnlkut Tudi ROK pomnilnik je potrebno obCasno, pradvM« pa ob zaznanih neragularnaatih delovanj« slste«a, praizkuelti in verificirati njegovo vMblna. ROM pofinilnlk je funkcionalen, £m lahka v vsakem trenutku pravilno ćlt«mo vsebino vaake celic«. v ROM pomnilniku se lahko napak« pojavijo na podroćju pomnilniikih celic, v dekodirni logiki ali v Citami logik). Vse napaka na področju pomnilnitkih celic se ob predpostavki, da j« bi) KOM pomnilnik pravilno («pisan, odralajo kot spreineuiba vsebina ane «11 vaC poanilnih celic. Za napake v dekodlrnl in ćitalni logiki zado«Ca model napak z« podroCJ« poMtilnikklh celic. v RUM pomnilnik na aoramo zapisati znana vsebini?, zato je za odkrivanj« napak potrebno poznavdiijp ie napisane vsebine. Ma j enostavne j postopek la odkrivanje napak bi bila verifikacija v«(>hine z ustrezno rafaranćno vsebino, ki bi bila larikù zapisan« na «unanji pomnilni enoti. Tak postupek je zelo tfolgotraJan, pote« tega pa obetajajo tudi «isteol brei zunanjih po»-nllnih enctt, Rra«' ti ststa«! p« tmajo ROTI pomnilnik riajveCje kapacitet«. Mckateri uporabljajo 2d verifikacijo vsebine ROH pomnilnika kon~ traino vsoto, ki pa Je preveč nezanesljiv* I« odkrivanje napak v pomnilnikih večje kapacitete. Ml smo izbrali testni postopek, ki z« posamezno pomnilno vezje izračuna ciklični kod. Izračunani ciklični kod nrittarJaMo z referenčnim kodom in, £e se ujemata. J« vaebin« ustrezne«* pomnilnega vezja pravilna. Naloga je bila realiziran* v okviru diagnostičnega paketa z* mlkroračunalnik TKÒSOO, ki M g« iideluj« potreba t«lttfonlJ« I8KRA - T«l*~ mati (ca. VERIFIKACIJA PODATKOV 6 ClKLICNIlIt KODI F(K> • GtxlK'-'+RCKt •• P fim) j» tako zgr«Jan, d« bo vvdno d*ljlv c 0«ner«tor«klM polinomo». Ravno to lutAäst pa uporabimo pri varlfIkaciil. Ma «prajanml atranl dallffla kodirani polinom fik> prav tako i o*nB~ ratorahlm polinamom r>t*+M» •■ toiOli Algebrajske kode lahko spremljamo a poli-nomooi X neodvisno spremenljivko m. Tako lahko Informaci Jo lOOllOlOOOU,. predstavimo kot polinom In sporočilo lOlOlOOOl. To sporočilo najprej prttdstavino kot polinom G(t(t » t+K»+K*+X» Ker Je N-K - 5, pomnožimo G()t) z k* in delimo « P (M) I GtMl = 1><*+0><'+0K'+1K»+1M*+.,, = l+X*+J«*+)<»+K'*n«.. .. « Had polinomom g(k) lahko izvajamo različna operacije z vednostjpt da velja se&tevanje po modulu 2 iK'+lK" lti*-t-Ox* -I«- " Ox" a » Oxf « Ix" (tlOtOlI dentei J -11loooi111 10001OO1O1ooooo llOlOi 101110 Ufi;»] llOlil U0Ì21 lOOIOO tioion toooio mifli 101110 110110 u It IfvoGient Janec - ««tanak Informacijski polinom otnačino z g(k) in Je stopnje < K tdollina informacije Je K bitovi. Polinom, s katerim delimo informacijski polinon, se imenuje generatorški polinom tn ga označimo s p(k). Celo aporoCilo se imenuje kodirani potinom, označimo ga z F « p Je N~K bitov, torej Je stopnje < N-K. Q lOOOlOOlOlOOOll Ce sedaj F«»+x"+x» Ustreza mu regletr«Ka ureditev na sliki i. Ù h Ù B^ DDQQBuQSQQQQDutSSQS 4 I <3: DATA m SLlKfl It Realizacija CWIHCCITT standarda V registrih se po vsakem bitu ohranja ostanek delitve. Pri oddajanju se na koncu vsebina registrov odda za informacijskim delom eporočita. Na sprejemni strani, se v enakem veiju deli kodirano sporočilo. Na koncu delltv« Je ostanek v rBqji&trlh ob pravilnem sprejemu O. Iz teorije ciklićnih kod (i) izhaja, da ima generatoreki polinom P(x) nasladnje lastnosti) 4) odkriva vse enojne napake pri poljubn^ zaporedju bi tov) b) odkriva vsako liho *t«vilo napaki C) odkriva vse dvojne napake, će Je doltln* U celsga sporočila manJAa ali enaka.32767 bitovi d) odkriva vsako skupinsko napako doltine 16 bitov al i manJi Bi odkriva 997X skupinskih napak doltine 17 bitov pri poljubne« zaporedjul f> odkriva 99,99ax skupinskih napak večj» doltine kot 17 bitov pri poljubnem zaporndju. 3. TESTNI POSTOPEK Za odkrivanje napak in veri-flkaciJo vsebl- ' ne ROM pomnilnika smo upbrabll.l lastnosti cik-liCnih kod. Predpost«vill emo namreč, da nimamo na razpolago referenCne vsebine flOM pomnilnik», zato boNio za vsebino posamezne^« vezja izračunali ciklično kodo oziroma ostanek po standardu CRC - CCITT. Pri diagnostiki ROH pomnilnikov velikose- , rijskih sistemov imamo lehko v okviru diagnostičnega programa v posebni tabeli shranjene oat^ke deljenja R(xt. V tem primeru dodamo vsebini RDM pomnilnika de ustrezni ostanek deljenj* In vse skupaj delimo z generatorskim polinomom. Ce Je ostanek deljenja nič pomeni, da v vezju ni napak ali, da jih generatorski polinom ne odkrije. Kot smo videli v prejšnjem poglavju je verjetnost, da genératorskl polinom v vezju, ki ima manjšo kapaciteto od 32767 bitov, ne odkrije obstoječe napake> zelo xelo majhna. V maloserijskih sistemih, ali v sistemih, ki nimajo sandardne vsebine ROt^ pon^ilnika, ne moremo uporabiti te ugodne lastnosti cikličnih kod, saj običajno nlmatip v okviru diagnostičnega programa ustrezne tabele ostankov. Zato se pri teh sistemih zadovoljimo z računanjem ostanka deljenja informacijskega polinoma z ge-neratoraklm polinomom^ Ostanek deljenja na koncu preveri operater * referenčnim ostankom. Za- , radi hitrejše verifikacije izračunamo poleg ostankov za posamezno vezje &e skupni ostanek deljenja za celotni Rütl pomnilnik. Ce se skupni ostanek ne ujema, lahko operater na podlagi ostankov posameznih vezij določi vezje z napako. 'Testni postopek obsega programsko računanje ostanka delitve. Programsko pretvorimo vsak zlog v zaporedje osmih bitov. Tako dobimo serijsko zaporedje bl'tov d^mne nxS, kjer je n kapaciteta vezja ROM pomnilnika v zlogih. To zaporedje bitov smatramo kot serijski izvor podatkov, oziroma informaciJskl polinom, ki ga delimo z generatorekim polinomom. V posebnih . registrih se nam tvori ostank, ki ga na koncu ovrednotimo. Na koncu članka Je prilolen Izpis podprograma za računanje CRC nad definiranim ponmil-nizkim področjem za mikroračunalnike s procesorjem M6eo0. Omenjeni procesor potrebuje pri ' "'SSÜS' •w n §§ is ^ i a o t Ìì I k ts" Süll a z I III ii is^i ■latmski uri IHHc la lavajanj* CRC «Igorlta« n»d poAnilnlikl« področjen vallkMtl Ik xlogov priblltna 0,S ««kund*. 4. LITERATURA t. R. Nurn, D. Pe£«kl VarlflkaclJ* in zanoüi-voBl pr«nos* podatkov pri «odobnih poMnilnikih, IJ9 OP-175, d»tomb«r 1979 2. R> Murn, D. Psćaki Zan«slJivost in vari-fika-cija napak pri swijskih pranoslh podatkov, Zbronik radova JURENA 24 (i979), 2 svazak a a a o l^ o u § § li ^ i it niA S8 88 §§8 8§ii . 0. 1 » I ti 0. o 8 8: 8=9-§ S o § 1 3. 3t Viranti Zana«ljiv<»t raCunatnlAkitf mimt*-mov. Fakulteta 2a slaktrotahniko, Ljubljana, 19BÌ 4. B. Kaetelic, R. Murn, D. Pećeki Funkcionalno tastlranj« mlkroraCunalnitklh anot. Informatica 2/3, 19B3 «v««***«« l'in Its lì iL in UN i IO x Hl N W N N i^rs 4 « « « « « N N N M M M is: i Sì o i M. I Uì\ % « i X M M M X < 3IS9!; a: « a 4 o ä 55 M u 3 t [Sil o luui o, A. lil o N I <0 I I o i 888 888 81888. Ù. M S 8 ft fr^l lllls uporaba programskih grafov pri ugotavljanju vzporednosti v računalniških algoritmih ii. b. D20N0VA-JERMAN, J. 2ER0VNIK udk: 51d.698 institut jožef stefan POVZETEK. Prikazan« lO metode zo merjenje vipOradnMt) y raiunalnilkih programih, ki la anollto olgorttmov uporabliojo pro-grotntke grafe, ^tovne «naibe is vzporedno in xap0r«dn0 izvajanje raiunolniikih ukai«^ to kortiFrutrone ta dvo modelo roiunol-nijlte orhitekrure krmìijena i pretokom podatkov. Raim*r[« med enatbomi je jpombijeiio ket merilo In oceno o oUtojetIK vipo-iMinottih v rotunolntikepn aigorirmu. V kratkem to podone Mnovne (natUnotti totiiTiatnikov krmtljinth t pretokom podaikev. ABSTRACT. "Applieotion ot ptogtom groph anoiyiìi Tor rneoturement oF poiollelitm in computef olgorlthim", Techniquet oF program graph onolyi!) or* uted to mtoiure the porelleliim in cQinfiuter programi. Far a given lemontic model of otehiteelyrol lupport, chorocteritlic timing equotiom ate flttt corMtructed ftftm the high level piagtoni to dewflbe the leqyentiol and parallel enecution timet. The rotio oF thete eqMtlom It then uied ui o meokui* oF the Inherent poralleliiin In the progrom. Croph or«l>^lt technique« ore illuttioted utirig two dato flow modeli of orchireirtuial tupport. The baile feature of doto flow computer! ore described very briefly. 5.3. Uporobo modela 1 pri Viedrtotenjit konitruktov vtlfego nivoja Model 1 in metode iotovr«ge vrednoteni« ptogronvkega grofa omogočata vrednotenje konitruktov viljego nlvajo kot to lan- ke in pogojni ttavki. Pri tem je no j pomembne j ie, do 10 ti konttiukti primerno (ttukturlroni. Coiovne enoibe lo doloiene operocije to ponozorjen« tkupoj z vozliići, ki te operoclje preditovliojo v uimetjenem giofu no ililti I, AclkUino »truktu-I ro gioFov zgrodimo tako, da voiliiio, v katerih prthojo do i lOprtlh krogov, trontfoimiiomo v tron«Itivnu obKko (4). Obliko korokterittiine enočbe je endko ne glede no to oti gre zo vzporedno ali zoporedno izvajcnjS progiomo. Oznaka t le oorau no čot potreben zo izvojonie ttrojnega ukozo, Kon-ttrukti % slike 2 omogoćojo Ìzro£un korokteristlćne ioiovne enoibe zaporednega izvojonjo io celotni progiom z enoitov-nim leitevonjem iotov posomeznih vozlišč. Korokterlitiino • eno£bo vzporednego izvojonjo konttruiromo i pomočjo kon*-itTuktov iz ilike 2 in iledečego pravilo: će to voxli{£a nI, n2, nk podotkovno neodvitra potem je njihov zbirni vzporedni ćot izvo^njo er^k mox (tpori, tpor2, ..«ftpork),. Vio vozliiio iz tlike 2, ki to ozriaòeno z f) to lettovlfeno iz rottičnih korvitruktOM !n ottiogočojo konstrukcijo ioiovrte enoi* be progrortio z vrha novzdol. Vozliićo ozrwceno t P po ozno-iujejo predikote. Vte operacije v vozliiiih B, ki tledi{D vOiliiéem P iokojo no ovrednotenje predlkoto. Tak potek iz-vejonj^^ jtf ^klodti i r^novno predpojtovko, do uporobl[aino proceti^ f^noto t povrotno fonko v podatkovnem toku, tako kol je ponazorjeno no tlikoh 2c, 2d, 2e in 3f. Zokatnlhi'e vteh opetocij, ki lo odvitne od porametiov, kotere poireduje "while-do" lonko po zokijuèenem izvojonju to v tkiodu i r>atinDiT}, po katerem deluje procetr>o enoto t povrotno zonko. Podobne zakoinitve, ki naitajojo v "repeot-untiI" tonkoh nl-to v iklodu z delovanjem proceiorjo kol je bil ilufo] t predhodnimi lonkomi, ket ponekod ptihojo do piekrivonjo med iteroctjomi. To je lahko vir retnih nopok pri uporabi modelo zo računanje éotovnih erìdfb progromtkih grofov. Do monj retnth nopftk lohko pride pi-i vrednotfrnjn lokatnliev v opero- cljoti, ki ko odviti^e od lihodnih vrednoiil v pogojnih itovkih. Tok tlućoj je ponaiorjen v voillUu Oft no tükoh Sc in 2d. Sliki 2h in ii ilustriralo traniltIviiO prtdttawitev »onk v programu. (lukOvno enoibo Ut ttetokurslvne procedure r« itlkt Ig vkljkj£kj[e fot za obl'kovonje itrwkture argumenta ozlrorntt' izvajanje prOLeduie 6 in predelavo ttruktute orgL^mento. Sllkl 2(i in 21 kožeio ćotovn* enotbe za bronje (oli zopìt) elemen-torniti vrvdnotti in ±ai )>atreben io izvojonje operocij ''reodttdh", ".^lita" in "writedit" ter io it^ie ''leleci". V ptedhoOtili: ),.igiovjih imo t pomojjo taiovno Uvrvdnotenego ijimerjeiiegu i^iiuFo 0' • IN',A',T, B) Opredelili medlo za oceno vipoiedi>utii v roiunolnilkih progromìh. Merilo vzpo-rednottl noin doje razmerje med iosom viporednego In zopo' rednego ìivajonju algoriiira. V ìtultracljo metode tmo no tli-k1 3. poncizurili onolizo progromct noplionego v viiokem pro-groirakem jeziku. Poleg programa, tllkó 3, kaže ie čotovno ovrednoteni uimerjenì graf progroma in korakteriitiine iatovne enačbe. Ćos izvojonja v powmeinth voilllüh je ovrednoten t pomočjo preilikov, ki to ponazorjene no ilìki 4. Kako vrednotenje poteko, bomo pokazali z liro^unom foto zo vozliiče 3. Vozlitče 3 ponozorjo Stavek v visokem progroimkem jeziku. Zo izvajanje tego stavko sta potrebno dva ukozo "select" (2 ćotovnl enoti), ukaz "multiply" (6 iosovnlh enot) In ukoz "oppend" (I časovno enoto), skupno 9 čosovnih enot zo vso-ko od NI iterocij. Dejansko potrebuje voilliče 3 le 6 čotov-nih enot, loj te ukoz "telect" lahko Izvojo v paraleli. Iz tlike 3 je lazvldno, do je ocerra vzporednotli (Vz) 13/38 dobljena pod predpottovko, do M Ni približuje neikončnosti In da nojbolj globoko gnezdeno zonko dominiro nad potekom obdelove Postopek izročunavonjo notranje (inherent) vzporednosti v algoritmu lohko ovtomotizirorrto toko, do Izdelomo sìrrejlotor. Zo potrebe tirnulatorjo predttovimo progromskl grof v obliko, ki ponozorjo iivojonje na strojnem nivoju (?). Čotovne vrednosti opero-clj podoriio v celošievilnih iporntrttkih čosovnih ciklov. Toko no primer in teiievonje lahko ugotovimo, do zohtevo to opero- (o) ewl0nm«nl T (AS) o «um of mochln» * l*v«l optratioM 7 (AS) - height Of porM trt» Id) If P ^ B, KCONO)--??) +^r(B,) + .tjUBj) (b) fork, join and Oft t>p«ralort T(F) ='rg)-7l0R)-0 {•) r do B p«ot B u;^ t T(LOOP)-N^(r{B) + ììf)) fll* " f Ttoutpul) = I (OUT,) T(Our,) -fk ,-))r(wrtudit)t Mwrir«) (l) fnj^ filo ■ f fwiSf^'jI'-'-'k,.....^..... 7(lnEut) »piN,) + f{r«od) + 2r(»i!jit«t) + t(f«»d>+t{tii^«t) Sllka 3. ProditovlIAv iaiovnegfl yredrM>t«n|Q vt{|lb komtruktov se 1. I: = t f 2. while f while J < N^ D(l,j):=£(i;j)»10, J:=J + 1} end i t:=l + 1i ct}a 4 ipomirake cìkt«, «nega zo izvojon]« ukazo "Store", enega zo ukoz "Addition" In dvo za izvajanje ulcozov "Fetch". Za oceno iaio Icomplektnih operatorjev le lahico utpotobljo formule, ki jih je predloga) OeZugUh (10). Rezultotl dobljen[z uporabo predlagon« (»>etodei(I2) koiejo no obttojeCo vzporednott v programih pitonih v vitoltem prograrrakem jeziku, in jih led vzporednim in zoporednim Izvajanjem niso absolutne. Hem 8uf Hem o) Prireditev vrednosti vektorja t®* = I, t^ = 2 1 k Mem b) Opewcijo z vektorji t*=1 + 1+k+l =l< + 3, t'' = 2' ]7N,K,:t«H,N} 1 "l J J (|:0 j^(G') = 5+31tsl, + 73N,N2 r (G') - 5+ 4N, P ' + maxi4N,+ 1ĆN,, 5N, +4N,N2 + mo>t4N,N2< 34N,N2)1 = 5 + 9N, + OaNjN^ lim 73/36 ot N. - « Sliko 3, Analiza programa, pilonego v vtsokonivojikem jeziku Čas izvojtitijo Operacije 1 select, opi^nd, constant 3 negate, not, reodedlt 4 +, - , relotionols, or, and, writedit 5 obi, orctan,. log^, sqrt i e tonh, cosh, *lnh, cot, itn, ton 10 read, write 12 orcco«, orctin, u apply Sliko 4. Čail izvajanja lo osnovne strojne operacij' Sliko 5. Model 2 6. UPORABA MODELA 2 , Model 2 predstavlja nadgrodnjo modela ), Zo rozliko od modela I, omogočo sprejem In obdelavo vektorsko predstavljenih in zapisanih podotkov. Vsako vektorsko operacija zohteva pred izvajanjem hkratni dostop do vseh ope-rondov. Pri implementociji koncepta roiunalniko krmiljenego s pretokom podatkov operacije z vektorji povzročajo dolo-: iene težove zaradi problemov pri dodeljevanju spomina In zorodi večkrotnega kopiranja podotkov (v primerih ko veè vožiiić potrebuje Isti podbtek). Model 2, 20 rozliko od modela 1, elemente polj poillja ^ skozi funkcionalno enoto tako kot koie sliko 5. Ukoz no strojnem nivoju, določa začetno lokacijo vektorskih operondov v spominu s podatkovnimi strukturomi, raziiiritev opsrandov ter vrednost inkrementa. Kontrolo zortke, ki usmerja pretok vrednosti rrwd spominom in med funkctonolnimi enotomi je del logike vgrajene v funkcionalni enoti. Pretok vektorskih elementov iz spomina v posamezne funkcionalne enote in nozoj poteka skozi erva vrota v Spominu. Pri tom zonemorjqmo vte moine konflikte, ki lohko nastanejo pri vzporednem delovanju več vektorskih funkcionalnih enot. Čas Izvojanjo vektorskih operacij jo izročunol Ramo-moorth/ (11): t'' + (N-l)t'' t ' ' w = t kjer je t^ čas potreben zo pripravo enote, M j« dolfina vektorja In t^ je enako recipročni vrednosti kapacitete, cevosto organiziranih enot. Tako je na primer no tlikrSb t enoko; = 3 + k In t" =2 k oxnoau)« n»vtlko »«enwnrov v iMvtlko 3 m raralo na poir«bM tpomlmk* cikl« so doMgo eparandov In ihran{*-van|» rezulloKi. Sfiko 3a kai* pMnottavll«no itrukiure d«lo-vonio In poirabnt £o» pri prireditvi vredn«(l vtktorju. SllkpA koh) dal progrgimi v vtigkam programketn failku fvzpOf«d(M tmjlco programa li illk« 3) In foievrM ovr«diw r*til graf, DO PARh=1 TO N l}| 0(l)i-V(0*Ci« ra/novrstnlh podatkov! zlasti v ' pro-itr.imth z mnoilčmo podatkovno obdelavo. Različne IzvimUiu jezikov tipa Basic uporabljajo zblrčne rutine dostopanja za shranjevanje in razpoznavanje podatkov. V tem članku bomo obravnavali osnove in prlmure zbirSne organizacije v okviru jaslk« CBaslc2 (s prevajalnikom na sistemu CP/H) . Sistem CP/M vzdrüiOu vobču imenik zbirčnlh krmilnih blokov (FCli zìi Fllti Control Block) na aiHku (vlnčcstrskum) In/all tUskotl. PCB vsebuje zblrčno imo, gtovlto zblrfinih zapisov In na-vtKtbi! fizični)) luk.irlj, hI JUi zitaL'düjo zblrčnl IJijiliitki na dliskii UD). Slstisiu CIVM ju povezan t diskovnimi (.■nm.iinl prt;k ohhovuIK slutomöklh riilln (ÜHW), kl till u|M)r.ilil»io tklm, preliodnl proiiraml (vključno programi napisani v jeziku CiMulcl), ko ilOBtopajo v zbirke. Z osnovnimi rutinami o/lrumj (K)aiilmlrnl stavki Jozlka Cll.ttll<:2 liihko ztiUki! ol.llkii)t;niO (CHEATK stjvok), t)dplraiiu> (m>KN atavuk), ziiplr.imo (CU)-SK tftavek), iHticmo (Hi;Al> Htaviik) In v nje zapl-Miit«""! IPKINT Bti»vi>k). l'ditatkl SL* obdelujejo v uiT'IiiHiittlh, kl so nimmukr.ttni k I I2tì zlotjf^w. No-katisrl lezlkl t l|.;i ll.tiili: v/(trìujo viitf jmtrob-ne kjzalt;« In pviiUit koviiu vintiiìnlke (iipr, Clia-t,iko da ii|ii>i':itiiil k ni oiiui jen ii^i z.ìptsi: (ll|JI . I2H l't l /.btri'Jtlil) (iOHl.ftpUl H« u- tKit abl ill kll.-i flVM siiitotiiii. V naslednjih odstavkih ai bomo ogledali stavke juzlkit cnaslcS 23 zblrčne dostope. Ja aktiviranje in diiaktivlranje sc uporabljajo trlje stavki, In Slcur CREATE, OPEN in CLOSE. Ko je bila zbirka odprta, jo mogoče z READ In PRINT stavkom zbirkt! brati in v nje» zapisovati. Aktivno zbirko je mogoče dcaktlvlratl s stavkoma CLOSE in DELETE. Jezik CBaslcS je bil uporabljen v Številnih aplikacijah tnalih poslovnih sistemov, primeren pa je tudi za tehnične aplikacije zaradi dvojne dolilne aritmetičnih operandov (U-meatna aritmetika). Obseina literatura za uporabo jezika CBaslcS opisuje področja glavne knjige ((2)), računovodskih operacij (O)), plačilnih seznamov z obračunavanjem stroškov ((4)), različnih drugih aplikacij ((S)) Ud. Tudi v uporabniških skupinah (CPMUG in SIC/M) se je nabralo veliko uporabniških programov, mod drugim p« bo bile Izdano tudi diskete a celotno programsko opremo knjig ((2, 1, 4)) za sistemo tipa CP/H, Prevajalnik CBaslc2 jo Izdelek podjetja Compiler Systems Inc., P.O.Box t4S, Sierra Madre, CA 91024. Jezik CBaslc ima lastnosti strukturiranih jezikov, kot so Pascal, Ada In PL/I. Ima racionalno upravljanje pomnilnika, ne potrebuje oäeevlIČevanja vrstic kot drugI jeziki tipa Ba-aic, daje dovolj natančne matematlčone rezultar te, dopuSČa uporabo nlznlh In fitevllsklh spremeni JlvČnlh Imen do dolžino 31 znakov (val ti znnhl »o I>1 fitvuni), .NajpomembnejŠa lastnost jezika CDaiUi:: p.i jo možnost obdelave zbirk z za-IMirotìMÉm Iji nctključnin dostopom, V tem članku himin opis,a I raznovrstne molnostl obdelave zbirk v okviru jezika CBaslc2, 2. OPEN stavak OPEN stavek odpre (aktivira) 2a obstoječo (ne novo) sblrko za branje in pisanje (popravljanje, dodajanje), SploSna oblika tega stavka je fst etavka] open ime zbirke ~ ~ iRECL dolžina zapisa;! — ...... [buff ätevilo sektorjev RECS ätevllo_zlogov J AS fttevllka zbirke {, iiiie_zbirke [recl dolžina zapisa] ÄS itevilka zbirke ffiUFF število sektorjev RECS ätevTlo zlogovj} Imamo tale pomen znakov in sintaksnlh kategorij» E i t > oglati oklepaj in zaklepaj v paru nakazujeta opcijo (moänoat) kategorije med njima, In sicer njeno enkratno ali nobenkratno pojavitev zaviti oklepaj in zaklepaj v paru nakazujeta iteracijo (ponovitev) kategorije med njima, in sicer njeno poljubnomnogokratno ali nobenkratno pojavitev ~ znak ' ' je kategorijski vezaj St_8tavka ~ je številka stavka (pred stavkom) v Basic programu lroo_zblrke. ~je nizni izraz za ime obstoječe zbirke na disku, ko lahko navedemo tudi diskovno enoto, npr. "CiPOSKUS.DAT"> lme„zbirke je nizni izraz, ki upošteva CP/M format dolilna_zapisa je RECL Izraz (RECLje okrajšava za RECord Length), ki doloma fiksno dolžino zapisov( vrednost tega izraza mora biti pozitivna (sicer napaka v času Izvajanja)f zbirka je z uporabo RECL pridevka dostopna naključno (neposredno, direktno) ali zapo^ redno, brez uporabe tega pridevka pa samo zaporednof RECL izraz mor« biti številski (nenizen) in realne vrednosti se pretvorijo v celoštevilske ätevllka^zbirke je Izraz z vrednostjo katerega se priredi odpiram zbirki njena razpoznavna Ste-vilkat ta vrednost (številka) se uporablja v nadaljnih programskih navedbah zbirke (v drugih zbirSnlh stavkih)) vsaka aktivna (odprta) zbirka mora imeti enolično prirejeno Številko v intervalu (1,20)( Če vrednost as izraza ni v tam intervalu, se v času izvajanja pojavi napaka) a3 izraz, tj« St«vilka_zblrke mora biti Številski (nenizen) , realna vrednost pa se pretvori v ce-loštevllsko število sektorjev je lUFF Izraz (BUFF je okrajšava za buffer, tj. vmesnik), katerega vrednost je število diskovnih sektorjev dana zbirke, ki se bodo obravnavali v pomnilniku naenkrat (skupaj)t iz definicije je razvidno, da morata biti BUFF In HECS izraz oba prisotna. Če pa ju nI, je vzeta vrednost 1 za BUFF Izrazf pri naključnem dostopu v zbirko mora biti vrednost izraza število sektorjev enaka », če je bil BUFF Izraz uporabljen, sicer se pojavi napaka v času izvajanja» Izraza ätevllo_sektorjev in fttevllo_zlo9ov sta vselej numerlčna ~ ötavilo zlogov je "RECS izraz (RECS je okrajäava za records) in ko se je pojavil BUFP izraz, se mora pojaviti tudi RECS izraz, vendar se njegova vrednost ne upoštevat za prihodnjo uporabo naj bi bila vrednost RECS Izraza , (tj, število zlogov) predvidena za opredelitev Števila zlogov v sektorju (12B, 256 zlogov itd.) Največ dvajset zbirk je lahko hkrati aktivnih (odprtih). Vmesnlškl prostor za zbirke sa dodeljuje dinamično) pomnllniSki prostor se zaseda pri odpiranju Ln sprošča pri zapiranju zbirk. Primeri OPEM stavkov so tilei 1234 OPEN "BtIKE.TXT* AS 17 OPEN ime,zbirke^ AS stev.zblrke« \ BUFP 26 RECS 128 OPEN ime.delovne,zbirke« (tren.zbirka»)\ RECL del.đolSlna% AS tren.zblrkat \ BUFF vmesnlk% RECS 128 3. CLOSE stavek S CLOSE stavkom se odprta zbirka deaktlvlra, tako da nI več dostopna za vhodne ali izhodne operacije, Sploäna oblika tega stavka je [št stavkaj CLOSE Številka zbirke J (7 8tevilka_zbirke \ Pri zaprtju zbirke se sprosti njen vm«^nlSkl prostor v hitrem pomnilniku, če se na zaprto zbirko nanaša IF END stavek (glej kasnajt«), ta stavek nima učinka. Vse aktivne zbirke m avtomatično zaprejo s STOP stavkom, ali če e» vstavi znak 'CTRL-z' z INPUT stavkom. Zbirka se ne zaprejo, če se vstavi znak 'CTRL-c' s konzole, ali Ča se pojavi napaka v izvajalnem öasu. fttevllka zbirke je Itavllski izraz v intervalu (1,20) in njegova realna vrednost se pretvori v celo-Stevllsko Primeri so tllet 926 CLOSE st.zbirke» CLOSE nova.glavna,zbirkat, stara,zbirka«,\ poprava,1983% POR X* " I TO Btev,zbirke» CLOSE X» NEXT 3t% j. CREATE Stavek CREATE stavek je podoben OPEN stavku, vandar ee s tem stavkom odpre nova (neobstoječa) zbirka na izbrani diskovni enoti, SploSna oblika tega atavka je fSt stavkal CREATE ime zbirke ^ "CRECL dolžina Z: AS številka zbirke [buff Število sekto ~ RECS število z ime zbirke [ RECL dolSina zapisa] ~ AS Stevllka_zblrke [buff Število sektO' RECS StevTlo zl Pomen posameznih izrazov v tej definiciji (št_stavka, lme_zbirke, dolžina zapisa. Stavilo sektorjev, Število zlogov) Je enak pomenu teH Izrazov v OPEN stavku. Će š CREATE stavkom odprta zbirka ie obstaja, sa njena vsebina zbrlfte ln se začne oblikovati nova zbirka. Imamo tele primere CREATE stavkov; 1532 CREATE "NCVA.2BI" AS 13 BUFF 4 RECS 256 CREATE glav.mojster? RECL g.zap.dol* \ AS g.zbir.stev% CREATE "Bt"+ IneS! + left$ (str?(t.d%) ,3)\ AS t.d% V zadnjem primeru se lme_ztiirke pojavlja kot sestavljen nizni Izraz, ~ 5. DELETE Stavek DELETE. Stavek zbrlša navedeno zbirko (njeno i-titc, povezano s Številko zbirke) iz zbirSnega invenlka (\a disku. Splošna oblika tega stavka je [št stavkal DELETE številka zbirke , {, Številka_zblrke) številka zbirke je 7opet izraz v vrednostnem intervalu (1,20); če v danem trenutku ni' prirejena številka aktivni zbirki, sé pojavi napaka v času izvajanja; izraz Stevllka_zbirke Je Številski in pri realni vrednosti nastopi pretvorba v celoätevilako vrednost; Se se številka zbrisane zbirke pojavlja v IF END stavku, nima ta stavek nobenega učinka Primeri so-tile: 9200 DELETE 1, 12 DELETE st.zbirke%, st,izh.zbirks% i% O WHILE i« •< st.del.zbirke« t» = i% + 1 DELETE i» WEHO 6. IF END Stavek IF END Stavek omogoča obdelavo pogoja konca aktivne zbirke. Splošna oblika tega stavka jè t št stavkal IF END številka zbirke "then št stavka Ko Je bil zaznan konec zbirke, se lahko zgodi dvoje: če je IF END stavek za določeno zbirko bil izveden (to pomeni, da je zbirka aktivna^ se prenese programsko krmiljenje na označeni stavek, ki je oštevilčen s št stavka za rezervirano besedo THEN) če pa IF END stavek ni bil izvršen, se pojavi napaka v Času izvajanja. J . ■ " IF liND stavek mora biti sam v programski vrstici, Več IF END stavkov se lahko pojavi^v programu za dano zbirko. 2 uporabo DELETE ali CLOSE stavka za dano zbirko zgubijo ustrezni IF END stavki svoj učinek. Za izraz Stovilka_zblrke.veljajo podobna pojasnila kot v prejšnjih stavkih. Čo obstaja pogoj, ki povzroči prenos programskega knnil jenja na označeni stavok, se vsebina sklada popravi (obnovi) na pogoj, ki je obstajal pred stavkom, ki je povzročil IF END aktiviranje. Če je bil stavek, ki je rezultiral v prenof! krmiljenja, v subrutinl, se mora Izvršiti RETURN po obdelavi pogoja konca zbirke, Tma-nio tale prlmerai IP EMD THEN 500 IF END st.zbirke* THEN 100.1 IF END Stavek se lahko izvrši (uporabi) pred prireditvijo imenu zbirke ustrezne številke zbirke (1, 20). Naslednji OPEN stavek za zbirko, ki ne obstaja, bo povzročil učinek, kot da je bil dosežen konec zbirke, V haslednjsro prit5eru se krmiljenje prenese na , stavek s Številko 500,5, če zbirke mojster.pod ni na diskovni enoti Bt , Po uspešnem odprtju zbirke (OPEN stavek) bo konec zbirke med branjem povzročil nadaljevanje programa s stavkom, številka 500. Torej imamo: IF END Jff stev,moJst.zbirkeS THEN 500.5 OPEN "bimojster,pod" AS stev.mojst.2birke%S BUFP 6 RECS 128 IF END Jf stev.mojst.zbirkei .TMEN 500 IF END Stavek se lahko uporabi tudi pri zapisovanju v zbirko. V tem primeru se programsko krmiljenje prenese na stavek, povezan z IF END stavkom, ko se pojavi poskus zapisovanja v zbirko, vendar na disku ni veČ dovolj prostora. Del zapisa, ki je bil oblikovan, se bo lahko, zapisal v zbirko. Pri zbirkah s fiksno organizacijo ae zadnji zapis lahko prepiše, ko še sprosti dodatni prostor. 7. FILE stavek Ta stavek ima obliko ^Št_3tavka3 FILE ime_zbir)ce [ (đolž_zaplsa)] {, lme~zblrke t_(dolž~zaplsa)J J lme_zblrke ~je nizria spremenljivka (ne sme biti nizni izraz),, ki se ji številka zbirke, priredi kot naslednja prosta števiTka (začenši z 1)( če je vseh 20 številk že prirejenih, se' pojavi napaka) spremenljivka ime_zblrke ne sme biti Indeksirana, mora biti~tipa niz, ne sme biti literal ali Izraz dolž_zapisa v oklepajih je Številski izraz Imamo tale prinverai , FILE ime$ FILE ime.zbirkeiS (dolžina.zapi3a%) 8. READ stavek Obstajajo štiri oblike READ stavka za dostopa-; nje v diskovne zbirke. Prva dva tipa READ stavka imata zblrčni dostop, ki je podoben INPUT stavku za podatke s konzole. Druga dva tipa sta podobna INPUT LINE stavku. Splošna oblika za zaporedno branje je tale: Cšt_stavkal READ števllka_zbirkO) spremenljivka f, spremenljivka"^ S tem READ stavkom se bere zaporedno Iz navedene zbirke (njej prirejena številka), Zbirka se bere zaporedno polje za poljem v spremenljivke, dokler vsaki od spremenljivk ni bila prirejena vrednost. Polja so lahko celoštevilaka, realna in/ali nizna in so ločena z vejicami. Izraz Stevilka_zblrke Je Številski, njegova realna vredno8t''se pretvori v celoštevlisko, Vrednost se mora nanašati na aktivno zbirko, sicer ae . M pojavi napaka v Izvajalnem fiasu. Imamo tale primera t HEADflf?! nlx$, stavilo KEAO jt inojat.2blrka%) ime?, naalov?,\ mestoli država^, tel.stevllkaff Sploäna oblltta drugega tipa READ stavka je lst_atavka 1 READ Številka zbirke, spremenljivka spremenljivka} Številka zapias je izraz, s katerim se Izbere zapis za branje) nakljufinl zapis, dolofien s Številka zapisa, se prebere z navedene diskovne zElrke, đoloSene s Številka zbirkei polja zapisa so prirejena spremeijTvkam v listi spremenljivk) napaka aa pojavi, 6e Je spremenljivk več kot polj v zapisu) izraz Stevllka_zaplsa je numerl£en In realna vrednoet^se pretvori v celoStevilsko, vendar ta vrednost ne sme biti enaka O, je pa lahko v intervalu (1, 65535) Pri uporabi te bralne oblike je morala biti zbirka aktivirana (odprta) z uporabo RECL illena . Naključno branje brez določenih spremenljivk postavi dostop v zbirko na izbrani zapis In nadaljnje zaporedno branje se izvrSi z dostopom v Izbrani zapla. Imamo tale primeri HEAD ^ atev,zbirke%, atev.zapisat) \ inte^, dohodek, ure, prispevki, dopust^ Naslednji obliki JtEAD stavka obravnavata zbirke kot vrstice besedila. SploSna oblika za zaporedno branje jej l^ät stavka] READ Jfc Številka zbirkej ~ LINE spremenljivka Ta stavek prebere zaporedno vse podatke Iz navedene zbirke, dokler se ne pojavi znak pomika valja (CR), ki mu sledi znak pomika na naslednjo vrstico (LF). Podatki se preberejo do teh znakov (ne vključno s CH In LP) v LINE nizno spremenljivko. Ce ta spremenljivka nI nizna, ee pojavi napaka. NakljuSna oblika READ LINE stavka jet l|st_stavka^BEAD4t' Številka_zbirke, ~ Številka^zapisat LINE spremenljivka Ta stavek prebere'zspla, ki je določen s Ste-vllka_zapisa Iz zbirke Stevllka_zblrke, Podatki zapisa se priredijo nizni spremenljivki LINE Člena. REAP LINE etavek omogoča dostop do zapisov, ki vsebujejo ASCII podatke v poljubnem formatu, vendar na osnovi vrstioa-za-vrstlco. Npr. poljubna zbirka, oblikovana s CP/M urejevalnikom, ee lahko bere po vrsticah. V primeru READ ^ 13| LINE v.nizjl se preberejo vel znaki naslednjega zapisa, dokler se*ne pojavita CR in LF. Dodatna primera stai READ ij^* 13) LINE nasi .vrst .besedi lafl READ |>vhođ,zbirka«, zapls%) LINE naslednji)! 9. PRINT stavek Stiri vrste PRINT stavkov so predvidene z& izdajanje podatkov v diskovne zbirke. Zapisovati je mogoče zaporedno in naključno (neposredno). Prva in druga oblika PRINT stavkov stat [št_st«vka] PRINT ^^8tevilka_zbirkei spremenljivka ( 7 spremenljivka J [st_etavka]pRINT ii^SteVilka_zbirke, ~ ätevilka~zaplsa) spremenljivka spremenljivka^ Tu je St stavka številska konstanta. Izrazi pa so ätevlTka zbirke, številka zapisa in spremenljivka (glej prejšnje definicije). Prva oblika PRINT stavka izda podatke v naslednji zaporedni zapis zbirke, navedeno s Stevil-ka_zblrke. V zbirko se vpišejo vrednosti spremenljivk kot polja zapisa in te vrednosl^l so .v zbirki omejene z dvojnimi narekovaji In ločene z vejicami) zadnje polje v zapisu je omejeno z znakoma CR in LP. Izraz števllka_zblrka za znakom je št^ilskl, pri čemer se realna vrednost pretvori v oelo-števllsko. Vrednost izraza 9tevllka_zbirke mora navajati aktivno (odprto) zbirko, **aiOer se v Izvajalnem času pojavi napaka. Druga oblika PRINT stavka Izda naključni (neposredni) zapis, katerega lokacija v zbirki številka zbirke je določena z vrednostjo izraza številka zapisa. Pomen formata je enak pomenu za zapie~v zaporedno zbirko. Zbirka za ta PRINT stavek je morala biti odprta s * fiksno dolSino zapiaa. Napaka se pojavi, .če v zapisu ni dovolj proatora za vse podatke. Izeaz šte-vllka_zapl3a mora biti Številski in realne vrednosti se pretvorijo v celoStevllake^ Vrednost Izraza Itevilka_zaplaa ne sme biti enaka O, ker se sicer pojavi napaka v Izvajalnem ča- su. Vrednosti (1, 65535), številka^zapisa so v intervalu Imejmo primere* PRINT ^t'4^ "Petra, Mlcika" PRINT ^ stev.zblrket i imejf, dohodek, naslov^ PRINT f placai, številka.zaposlenegat|\ razred tštevilka.zaposlenega«), \ ure (številka.zaposlenega«) PRINT 13, 61} datum Obravnavani obliki PRINT stavkov oblikujeta zbirke, ki jih je mogoče brati z upociabo READ stavka (glej poglavje 6). Vse vrednost, ki se pošiljajo v zbirko, ao omejene z vejiéSimi all pa z dvojicami CR In LP. Vsi nizi ao Naprti v dvojne narekovaje ("), ' Kadar š^ellmo Izhodne podatke posebej oblikovati (npr. v poslovnih poročilih), se lahko uporabi PRINT USING stavek za diskovne zbirke. Imamo dve splošni oblikii ei Ist stavkal PRIMT USING formatt # številka zbirke) . spremenljivka BpremenljtvkaJ fSt fltavkal PRINT USING Eotmatj ~ # Številka zbirke, ÌStevtlka_zapi8ai epremenljivka {, spremenljivka J S tema stavkoma se vpisujejo podatki v zbirke z uporabo . .tiskalnih formatnlh možnosti (izraz format za rezervirano besedo USING). Formatna možnosti 30 enake onim za koniolni izpis. Prva stavčna oblika velja za zaporedni zbirftnl dostop k podatkom, drufja pa za nakljuCni (neposredni) podatkovni dostop. Zapisi so omejeni z dvojico CR in LF. Izraz 'format' za besedo USING je tipa niz in pojavi se napaka, če se vstavi številski izraz. Če jé formatni niz ničeln, se pojavi napaka v izvajalnem Času, Pomene ostalih izrazov pa že poznamo iz prejšnjih definicij (8tevilka_.zbirke, šuevilka^^zaplsa, spremenljivka) , ~ Oglejmo ai tale primer) ŠTEVILKA.iBlHKES ■ 7 UDKLtK» " "VRTALNI SThOO" CEiiA •> I234&«6T CHLATE "ütCEWlK.DIN" AS STEVILKA-ZBIHKE» PAIÌE.ZELENEI ■ I FOFiMl» o 'DIN »01»»».é»' FOBMS» - "DIM »»,*»»' tli If PAnE.2El.EWEX TMEM FORMATI ■ FORMU \ ELSE FORMATt » F0HK2I PHiNT USIM6 "CEHA IZDELKA JE FORHATSIN fSTEVILKA.ZBIRKESI IZOELEKt, CEHA tF PARE.ZELENE» THEI4 PAKE-ZELENES »Ot UUTO IIIS ELSE CLOSE STEVILKA.ZBIKKEt £ND Po jizvräitvl te procedure dobimo rezultat v dani zbirki (izpis z TVPE ukazom}t A»TVPE D|CEHIK>D1N CENA IZUELtiA 'VRTALNI STROJ- JE OIN CENA IZDELKA "VRTALNI STROJ" JE DIH A» U[5čraba dveh zaporednih dvojnih narekovajev v nizu povzroči Izdajo enega dvojnega narekovaja v zbirko. Oglejmo si možnosti uporabe različnih formatov. 9.1, Polje niznega znaka Lnoznakovno nizno podatkovno polje ja določeno B klit;ajem (znakom '1') , Prvi znak vrednosti naalodnje spremenljivke v PRINT stavku se izda kot izhod. Npr, za prvo,imej! = "Anton"t drugo,Ime - "Pavel" prli.itiükjS -- "Žoleznikar" PHINT USINtS "I . 1, S"}jt3(\ prvo,lineJ(, drugo, Ime^, prlimekj! se Izda v odprto zbirko številka 3 zapis A. P, ieieznikar V tem prlmtsrii ae znak ' v formatnem določilu obravnava kot lltcralni podatuk. Iz primera spoznamo pomen oziroma učinek dolofiila. V listi I so zbrani vsi primeri (program) poglavja 9, lista 2 pa kaže zaporedje zapisov (vrstice) za te programske primere. 9,2, Kizna polja s fiksno dolžino Nizno podatkovno polje fiksne dolžine z vefi kot enim mestom se določi z dvojico ulomkovlh črt , (znak '/'), ki sta ločeni z nič ali več znaki. Dolžina polja jo enaka Številu znakov med ulom-kovima črtama plus dve. Med črtama je lahko poljuben znak in polnilni znaki se ne upoštevajo^ (upoäteva se le njihovo število), Nlzni Izraz (spremenljivka) iz tiskalnega seznama je levo poravnan v fiksnem polju in na desni strani polja dopolnjen s presledki (razvi-, dno iz liste 2). Niz, ki je daljši od podatkovnega polja, se na desni strani <^dreže. Npr. program formatia « "Potreben del je /.,5.,,.0..i..,7/" sest,del(l = "avtomobilski zaganjač" PRINT USING formatl?i)fl7j seat.del^ pošlje v aktivno zbirko številka 17 zapis Potreben del je avtomobilski zaga (glej drugi zapis liste 2), Uporaba pik In številk med ulomkovlma črtama omogoča verifikacijo dolžine polja (15 + 2 ■= 17)t ti znaki se ne pojavijo v izhodu. 9.3. Nizna polja spremenljive dolžina Nizno polje spremenljive dolžine se v formatu določa z znakom '» ' (glej predprejšnji primer);■ to ima za posledico, da se izda niz natanko tako, kot je zapisan. Npr, programsko zaporedje podjetje? = "DO Iskra Delta" PRINT USING "S «"j+SlS "To sporočilo je namenjeno podjetje^ izda v zbirko s prirejeno številko 9 zapis To sporočilo je namenjeno 00 iskra Delta (glej zapis 3 v listi 2). Niz je lahko desno poravnan v. okviru fiksnega polja z uporabo spremenljivega niznega polja. Naslednja rutina kaže primer dolz.polja» =20 presi? - " " tel.st? = "061-211-635" PRINT USING "if- a"f f-lljN right?(pre3l?+tel,st$(, dolz.polja%) ko se v aktivno zbirko Številka 11 pošlje zapis ^ ■ 061-211-635 (znaki ' označujejo presledke v zapisu in seveda niso del zapisa), Ker je v tem tiskalnem seznamu ana sama spremenljivka, se uporabi kot llteralnl znak. Sicer pa znak označuje Številsko podatkovno polja (glej naslednji odstavek). Ta primer je pokazan tudi z zapisom 4 v listi 2. 9.-4, številska podatkovna polja številsko podatkovno piolje je določeno z znakom <2 B 1:1 h- fraizUu^ formati»« n« disku H ii oaulikvJit 9 Et -------------------------------------j, INPUT 'y«tavi l«e *bir(«t?( f» CREATE f« AS 1 Primer ii oodpoalavja 9,1 prvo.ima^ *Anton*« druaa.iMiet 'Pavel' prilMQk« ° 'Žele^nlhar' PRrNT USINB •) . ! . 4. ' ( *11 » prvo.lMefr D Zap la Ol — Primer iz PosnoalavJ« 9.2 füDnatlt = "Potreben del je /..5.,,,0,,,.,.7/' sest.Oel« =« 'avlumobiltitd xasanJač' PRINT U8IN0 formati»» «II aettt.del« ti 2apis 02 £i 1. primer ii PodPoalavJa 9.3 oodJetJe» = '»O Iskra Delta" PRINT USING "i. A'» *lt ti "To apuročllo Je namenJeno nodJetJe$ D Zaple 03 h ti------- 2. primer i* padposlavja 9.3-------D dolz.PolJaX ° 20 Mr«Bl* " " tul.at« - '<^1-211-633' PRINT USINO '«t.'» 411 Đ riaht»ioao,ioaoi: se poälje v zbirko e Številko 12 zapis (zapis 9 v listi 2) 100 1,000 10,000 Vsaka vejica, ki se pojavi v podatkovnem polju, se vračuna v dolžino polja. Dejansko je potrebna ena sama vejica, da se vgnezdene vejice pojavijo v zapisuj vendar je pregledneje,, če se ■vejice vstavljajo v podatkovno polje tako, kot naj bi se.pojavile v zaiplsu. Npr. formata tt*t§t»èià*»» povzročita enako obliko zapisa, le da prvi format omogoča izdajo 9, drugi pa 10.Številk... Če se uporabi eksponenčna oblika, ae. vejica ne ! zapisujejo! vejice se tu obravnavajo kot znaki, Z. dvema zvezdicama (znaVt '•') v , formatu s« . lahko dopolni zaòetek podatkovnega 'polja., Z dvema dolarskima znakoma (znak se lahko dobi plavajoči dolarski «nak. Eksponenöni format se ne sme uporabljati z zvezdläniro polnilnim ali plavajoCim dolarskim znakom. Dvojica zvezdlčnih ali dolarskih znakòv'je vključena v seštevek razpoložljivih mest polja in znaka se v Izhodu pojavita le, če je dovolj prostora za Število, zvezdifinl ali dolarski znak. Izdaja dolarskega znaka se zaduši pri negativni vrednosti. Npr. pri segmentu , ,cena « 87fi5432,01 PRINT USING 't*3t Cena,-cena PRIMT USING ; centtf-^cena se izdata v zbirko Številka 3 zapisa ! **0,76S,<32,O1 »-6,765,432.01 765,432.01 -6,765,432.01 (glej zapisa 10 in 11 v listi 2). Število se lahko zapiSe s sledilnim namesto z vodilnim predznakom pri negativnem Stovlluj i-^ mamo primer ' PRINT USING - "ittts 10, 10, -10, -1<) ; ko se zaplfie (zapis 12 v listi 2) 10 lOOE-Ol 10- lOOE-01- če je minus prvi znak v Številskem podatkovnem polju, je položaj predznaka fiksiran z nasled-, njim napisnim položajem. Pri pozitivnem številu se natisne presledek na mestu predznaka, sicer pa minus, V primeru PRINT USING •i#6jl0.-l0 se zapiše v zbirko številka 6 (zapis 13 v listi 2) 10 10 će Število ni prikrojeno Številskemu podatkovnemu polju, se natisne znak '%', ki mu sledi število v standardnem formatu. Imamo npr, X = 132.71 PRIHT USING «»».»'tibi X, X Xo se zapiše (zapis 14 v listi 2) % 132,71 132,7 f .9,5, znaki pobega Večkrat se pojavi potreba za vkljuftitev znaka ■ kot llteralnega podatka, ki bo del podatkovnega polja. Vključitev doseSemo s "pobegom" znaka. Obrnjena poševna črta (?,nak ' \ ') pred znakom povzroči, da se njej sledeči znak obravnava kot . ll.teralni znak. imamo primer stev.i2delka% =37 PRINT USING "Številka Izdelja je 6) stev.izdelka% ko se zaplSe v zbirko s številko 6 (zapis 15 lista 2) ■ Številka Izdelka je ■Jf37 V primeru ' \\ ' se zapiše znak Če je zadnji znak pobega v formatu, še.pojavi napaka v izvajalnem iiasu. 10, Programiranje z zbirkami MoSnosti za dostopanje v zbirke so v jeziku CBasic dokaj raznovrstne, saj je omogočena uporaba različnih zbirSnih,organizacij in doatòpr nostnih metod. 10.1. Zbirčna organizacija ; ZbirČna organizacija predpisuje način predstavitve zbirke na pomnllnem-mediju (disku, diske-' ti). Vsi v jeziku CBasič zapisani zbirčni podatki imajo znakovni format, ko se uporablja ASCII znakovni kod. Vsebine nizhlh in Številskih spremenljivk se predstavljajo z ASCII znaki in ne kot binarni podatki. Ta način predšta- 1 vitve omogoča uporabo tako rezidentnih kot prehodnih CP/M programov (ukazov) v [»vezavi s podatkovnimi zbirkami, nastalimi z uporabo pro-^ gramov v jeziku CBasic. Znaki so v okviru Cfiasic podatkovnih zbirk hierarhično organizirani. Najni£ja ravnina zbirke je .polje (field).. Skupine polj oblikujejo za p i s e (records) in zbirka (file) je sestavljena iz enega ali veS zaplaov, . Polje lahko vsebuje nizni ali številski podatek. N 1 z n o polja je zaprto v narekovaja (znak '). Številsko polje ni zaprto v narekovaja In lahko vsebuje poljubno veljavno fitevilo. Polja so v zapisu ločena z ve} Icaml CR in LF. all*na koncu zapisa z znakoma Jezik CBaelc omogoSa dve vrsti zblrftne organizacije, in sicer tokovno (stream* in fiksirano (fixed), ki nudita programerju ustrezno (standardno) prožnost. 10.2. Tokovna prganizaclja Kadar se pojavi potreba za zaporednim shranjevanjem podatkov, ko predmet (postavka) sledi predmetu (postavki), se uporablja tokovna organizacija. Dostopanje k podatkom temelji v tem primeru na strogi metodi dostopa polja za poljem. Tu ni omejitve vrednosti ali dolžine podatka, ki se zapiSe v poljei vsak podatkovni predmet (polje) zavzame le toliko prostora, kot je zanj in za njegove omejevalnlke nujno potrebno. Z drugimi besedamit pri tej zbirčni organizaciji nimamo polnjenja praznih mest (s presledki) oziroma nimamo prazni)) mest. Del tokovne zbirke, ki vsebuje le nizna polja, lahko ima npr. tole oblikoi "prvo polje","drugo polje","tretjé" CR LF "četrto polje","",■•123.45" CR LF "xxKl23yyy" CR LP Tu Imamo 7 polj in peto polje je prazen niz. V naslednjem primeru Imamo Številske in nlzne podatke: "Petra",100500,"Domžale" CR LF "Tony Ike",12.34,"Perth" CR LF CBasio omogoSa branje zbirk, v katerih nizi niso zaprti v narekovaje. V tem primeru so ome-jovalniki vejice,' Tako se vejlga ne smejo pojaviti v nizih, narekovaj, ki je vgnezden v nizu, pa se obravnava kot nizni znak. Nizi, ki es v okviru jezika CBasio vpisujejo v zbirke, so vselej- zaprti v narekovaje. Poskus zapisa niza, ki vsebuje narekovaj, Ima za posledica napako v izvajalnem Času. PRIHT USING stavek ne vstavlja omejevslnlkov med polja (to se vidi iz prejšnjih primerov)t vsak zapis končuje z znakoma CR In LF. 10,3, Fiksna organizacija Fiksna (ali fiksirana) organizacija povzroči logično strukturiranje podatkov, povezanih s specifično aplikacijo. Zbirka Ima fiksno organizacijo, če se uporabi možnost določitve zaplsne dolžine (dolžine zapisa) v stavkih CREATE, OPEN ali FILE, Vsak (posamezen) podatkovni predmet v fiksni abirki ja bil zapisan kot enostavno polje, ločeno z vejico kot pri tokovni organizaciji, vendar s konceptom fiksne dolžine zapisa. Zapis je vselej omejen z znakoma CR in LF. Pri vsaki izvršitvi PRINT stavka se v fiksno zbirko zapiše en zapis. Vsak zapis Ima natanko tisto število zlogov, ki je bilo določeno z RECL (RECord LengtlO parametrom neglede na Število in obseg zapis sestavijajočih polj. Medtem ko lahko ima polje poljubno dolžino, mora biti vsota dolžin vseh polj v zapisu za dve manjSa od dolžine zapisa, tako da je mogoča äe shranitev znakov CB in LF na koncu zapisa. Zadnjemu polju zapisa ne sledi vejica. Imejmo tale primert ckeate ime.zblrkef! recl 25 as 8t.zblrke% a^ = "ena" b^ - "zapis atev ena" c^ - "3" d$ - "" e^ « "pet" f/ = "abcl23đef" PRIHT #. Manipulacije z zbirkami predstavljajo osnovo sodobne mi-kroraČunalnlSke obdelave podatkov. Poznavanje teh manipulaolj je bistveno, ker se jih sicer programerji izogibajo, uporabljajoč princip programiranja po najlažji poti. V dodatteu Članka je "narisana" Se sintaksa zbirčnlh programskih stavkov jezika CBasic, ki naj bi zavetniku znatno olajSala njihovo uporabo. Slovstvo {(1>) A.P.2eleznlkari Program, ki izlista CP/M dodeljevalne skupine na 8" disketi. Uporabni programi (UP 10), Informatica 7 (1983), èt.l, 77 - 78. ((2)} L.Poole, M.Borchers, M.McNiff, R.'Btomsoni General Ledger - CBasic. Osborne/McGraw-Hill, Berkeley, California, 1979. t(3)> L.Poole, M,Borchers, M.McNiff, B.Thomsons Accounts Payable » Accounts Receivable -CBasic, Osborne/McGraw-Hill, Berkeley, California, 1979. (M)) L.Poole, M.Borchers, M.McNiff, R.Thomson; Payroll with Cost Accounting - CBasic, Osborne/McGraw-Hill, Berkeley, California, 1979, ((5)) L.Poole (Ed,), S.Cook, M.McNiff, «.Thomson, R.E.Beckwlth, S.H.Westermant Practical Basic Programs, Osborne/McGraw-Hlll, Berkeley, California, 1980. ((6)) J.A.Libertine! The CBasic Clinic I. Creative Computing, November 1983, 214-218. ((7)) T.G.Lewist How to Profit from Yovir Personal Computer, Hayden Book Co., NJt, 1978. «T ofgH.sfrftt/efc pH i -O- l-1 c(ol£inQ_ ^apt ^ rstei/i'iÄra thirke it^ fteLvka. i«ie„ èhfyke ^ fzroLZ i-^ ofo/z a _ ^o.^ /'s a ibevilo^t&ktoriei/ ——---»J^cL O it^viLka^thirke \ On i jcRBATSy-^-l-^ ime^thirke O -O— j ta vtk rKHZHiEÜ}"! ---»J ----JLj Un ■--—^—-iitvìika^irbirke }- -ohihleüh-c > HI St^sta.vkä^l—i _ J. —-O* ---—JWRZevM" j /we_ èhirké]- »/»fèmcM^iv^-Q . ■---ledenti f Ck'zéo'T^ 1 s^reMetiljivka -—KD—— MJi. liÜIiflltK, IJCdfi tia in njiiltìdiui lòl.cani or i j;u j» ,i u tälnLakiiu nlavUov mip ii'vtri ju. ubllkova- nje, liifiraii br lii„iii Jt?, bi-aiijcf in pieanJtf itiinli iia (Ja 1 Jev;tri je na nacltadrtJi litnöiii > reaJ^stavek,! rKHHEHĐl ,_^ - --, ^ I—............. . i i I —/TW-I Htviika^òafi/seL Številka^ zai^ite^ ■O- -{spremetyf/Vvkei h*-C C/A/jF (HEAP y^'^^Sbevilka.eé/t^k^^ —j ijoreymenl/ivka ^^Lt prmtMcf^ekA HIEÜ^ÜH ,_, ^ --, ^ -O tirmt^%tavzk^t HHUHEHhl ___ JL-J---^-^-JU{P fl / N T^-'^^^^yMiü^/nkci^iLirkz [-»"Q- (oritit^ Ufi'«J. ^ ^ ■i^ sprerytenQ/i/ka -^O- O- —O— ^rmcić" iì.Littaktiui arafi tinimjji.'ju mulitu luradbo stavkov ia niiiu"Jdi:iJO itiirk V Jeiiktj Cliatiii;. in iììlC-kii- talio, kot »a prikdisno (v t>riak«M laogredJu) v be^udllu (ilankd. T.L sirjTi pc imir m! i J :i vi i* ui'ui-atiu uri pr oncimir an ju ildiiti idĆKtfd k udi. hi navdJaao ii« iipucah« teh &1;ivkuv Je/.ika i:;iia!r.:Lc, (Irafi upioiiju-jo mpuvrsitio upen_stavek. close sta-vt.>k. <:rfattì„!itavek. rJi.; I l-I . if-eml-al - f j lu'-.iit a Vük , rtvuj .»tavek^l. re4(J-.ut»v»l< 2. intt. stavek..! . read^ I iiu:'.. läl avi.>k_2, r.>r i ii I ..alavek.^ J , ur i nt_6l a vKk_2. Pr int„usiftB_«t»v«l« Pfiiit...iiiiiiiH..s.t.ÄVi.>h iE.« tuili atiii) dvljđ Jodo Utdviiru? ka ttìn oc i Je, hut «o «t^vtlvh«, tmfe-.iliii-hii , do i. I ioa . ^ ;5a . (i.tevl lo^iitjk 1 or .iuv, ätovi 1 o„71 ooo v, epren^l jlvh« r itevi .tkj..Zd(J ISJ in format. Sin ta kisi) i arafi kaiuju dultr« ati'n k tur i ranost JMZlha Ctaaic. T££ ZT£ ETC TIC ZOE téZ tBZ laz Ut l^Z E9S tsz TtrS «£Z ztz òZZ IZZ 112 66\ [il 181 él-i E^T £91 /ST l'i! AH é,ZX /ET lET LZ\ ETT éOl /01 ' lOt ^ £8 t/ l£ 19 T9 ES Etf !»■ TE éZ £2 61 /T ET TT L S E Ä9E9T T9E9T éWE9I 飣9T EEE9T AIC9I T0e9T ZlZfl T EŠS9T ó»rE9T t£e9T 6SC9T £2e9T £AT9T 6eT9T z:8T9T £8T9T 6ET9T IZX<Ì\ TTT9T ■£OT?T Zé09T T 609 T ZSOOl CZ09T CS£ /EE ice /If EIE TU lOt £63 EBS \BZ UZ ■ 1/2 E9C iSZ T52 TfrC é.tZ EEE éZZ LZZ £er T Te &éX /Al Eil tAl I8T i>i\ EZT Z9X Eft ZSX TST éVl A£I JÌET TEI AZI £TT 60T ZOT EOT TOT Lb A8 CS éi T/ Z9 T9 ći'l ES Or Etr Tfr ZC TE £Z él ZT £T TT / t. Ot .ja>T OT . latut ja,ql»%»?«i owTp -TA J»0| M T »»»tt «T »JioimT» «jripSDOjn» aiM»t •)1ftXTAS>«*ja ••••T nj»t»tjd w®sngp •( .«M -Ud t?Aa>t*J<> ćaST o« Mt>«sap A • (( uo )d».03puaa «^«IM v« wasngp A '«( > »1 MaAOU .'< K uo )d«03pu03 VMOVUd »F •?) ouf»« -Od 0F«P«ABJ<1 as iia^aaiKop^ii »F») auBjBuio M0>|VUZ 2 '"«m» »TAnua^sa^ -•J3'I wa^^jOET» eFtQ»-ii>uer nit^iar A u««t miao«») a tiofi -A»«« TT« «« HfHTW i^TusU»»-^ A »•au»j\jaua« »fO»f -•Ali '»P«* »aaofttJl« »«ao»jijaua« trtpcsl««*! HAan»Jd aruTJT^uaQ M (la"!-"« I1N3 >l.nd u )>rid l>«Bap ^OT aN3 SJI aN3 + ot ^uno:) (dOOn i]N3 (laiuiJd + )| »t >( ■dOOl 311« => 1 31IHn jXatuiJd -t I )( j£ 4- 1 + X a» lawYJo N3HJ < t >ssei^ di ■dOOl »ITS " 0 NI T «Od iTOTjq (ftxn aN3 tanj^ < I •jom ait»- -0 NI T MO^ •O >uno3 i1.noujoitu o» »>t*ijrft auaup; dOm OT' NI -««^T aoj |*UTt~«»eu (auir-maii öl, )lfid <9 =; i ^stJd t t laaap w ? N103« »•jd)l»n 0N9 Z M TaMTJd »no j «3Stf3 W3 I nifw <- ssÄiio N3Hn ? t<. . <" 6A66"0001 N3HI1 ? ti. . AWOO: NSHM Z )< , , )>nd »f"> <- 6'-O N3Hn Z SI laaijd 3SW3 ? t il IIN3 Z K. . 3Sn3 Z «auti'Mu 10 »t ■ Z N3M1 ^ - " JI n + w Kt M NIOSU SI tjdHot» 3yna3:ioad {jaea>ui t «'tavi Jd'))'lun03 (U»»iooq M (»»Ts-'OUWyiftf 1 iOAie -i ÌNW1SN03 ' ans X»Aa >|j*w«|3uai] IS d«^ a^ng vs^dos«? tj SI T»"1J<« A1ICW i(Ma>aM03pua3 tMovUd »mmm»mmmmm*m*m »tum •««•••«•«««•«•••••»••««Htiiaait« » S-T »Ptf/'«nu»r • • »»t«a '•'»Td M/dO a « j»nTutai*;j -v ITPOJTJ« « « »-Bèi FW» » a MWIAl •UT>»jauag nq uoF>*ni*A3 >)jvtiK|3uag a »MWHNHMwaaawat^naiHMiaaaaaaaaaaaaMaaaaa»« •»»«)»« •q«j«<«n «r^ajpad '1 e* -t^f^^'^AOi* TJ<» «»iwop *po)| «»AUV^t^u«» r»«®»((o o '«»»«A «utMpj oftttoupajA I »»»W^p.« •» JH Tut»J>uo>t M owtmf z -TT naviti 't T»»Tt a ( j^» )flwa:ipuo3 Vmo^m^ »P -•AM ««R^qv^oiin nj(H«|jd w«^ ^ 'nu«!««! *u t»*! -oo«.t n» TitJ^nj. UT «t-Tu^M '«TJ» -•M. »*!«TT3ojo« p«w owTjaw «fu.F'^N»! ««n ' -»J«»«« •c«u«p*A*j<) «putirtAit »fni»)|jjd z «Ml ■t «u o>l •rT,j«i«iT,jdW0:ipM03 » •f"»?''* t «MtJKOJd »T<»r) 'Z TJor'P'fT-»«" owflpnru -•3« «T «pM/anuvr n>)T»«f A Tpn> ow«?ta»u 0)414*1 wvjsojfl Tui*A«rua3o usqopoij '{(T)) nA>iiAOT« A TU«P«A«U as ut *+Xl4/T®3«»J 'aT«»««) »JiT»»»!!»" Iti»? -Od *«po)( «Bauvj^j^uae T>i>ouia«qa »itipiiA * ut •w»jeojM »B«u»JTJeuaF (ffuifMiT e^TPT^ t (AdhtPTa n»Ap * UT 'AO)tTiit»f*A»jri rtpusi -«up«JA TJ« »Ft*)»-"»«»" iiT-J^»» 'JS'^P »ruajouM ■ATCiivnivj ut U«»A»>«OW H»PTD»J»t>1«P O« Bf NVJBOJC) TUA»1£| UT «piwtouw »jrpaaojđ •( »poqA owvw^u «p OH»») )|T01»w «pu^futod •i «jnpaaojrt oreriAtiea» x n«Tt ^ «»»Jooud ( f )( T oqp«Aeu ( r'T >«• •^uawtaT» »qpaA»u o:)«««»" »T<*toi» JO (IWTP) Avyyv 8t »» a^iÀi JO (e"TP> Avayw si idioi» 3jax «ppajodvx 0)|erT3*^*T>|ap 't**j JQ m»t 'fiod MTU>60Ut«»*ej?aA 4TU»JT» «qejodn «r^o^pOfj 'T «H»»«»*«»*****»»«*»!*»«**«**«»)»»»»*»»*»***«»»»"»»»« «t Utoa '«"td M/<0 m anKTtii»!«?: 'd 'V tTP^-^'TJ« « trOAl F*« M *tJ«ti>q3U«a «tutiEtiM KT-HeW »UTAJ OUTISOI.^ a Qt | vsaitsiN^jsojci «« -«uv^T^MUaa neasqo o ita^epoj • nwsAp paM %iet TJaw •» OH 'z «>«T1 * »WBJBOJ«! bbdu .ep«A«od apu«p»AXT apni«)|Tj(i »^stt «i •I TPy apuKJTUfpjsojd tjtsuitutata^'d'V (<;:)> •BÓI-OUI -tSAT fas 's^fia -MKoaa aii»r»fiu»-| taAai-gs-pH V «MiPaoqiTtrr <(I>1 XWCT a+3Ofi0S9*^ t «p !S+3O08S9-b- * a? e>0»rt •ouapuTOdeu ap a •«uaruTOdvu af q •ounputoaeu ap e OA^ItAOtS, •TtAai^tdd ( Of «T pt»«'> afrtSTdiT a» «H 'o)tì«oDpuo:) vwoyad fi jas^s ut 'fl)|ct'TawTJ*< »m«j«ojd eqvjodn »i»^ »AP epnii!>|TJd z '<>«0« iituf^T^ap St op) |t)«*M>T-'« tP"> •«T UT »iitMttAOKÄAOd UT »)|tuttpeA»Jo IT »unpiAs^a -a» ^ajtdcu ap «pv/snu«p »ntuiif«Aa^d «)|uapaAit •AON MTUxaj>«n T>l>JTqi tawt^'c ^Ofl iUTTf tawt^«) snusf -uaw»t«*w>T •«TU t*f optf/»nu«f »x )|tut»r*AaJd '»•«ti SI SdAianS «T»«»»»u »>»oi^-BUot 81 3dAianS (l «»»TI pax«> TIV'^T^VII'P TO «o araus*>| '«doauox ut ot«uox t3tu»Tf«>1 TIP<^»u tq (»•««» MTui»*t3»p sx op> auatat AfpaA njaut^ici a 'oaopaA ofopVKV^Xd a pt^v-JMao MtU3T»o»»>t J» »puip^Ait TI '»d0>»0ti ut 0T»tox> tatujlft»»! n> «^R t^ou ouaAi^«ta*|«<« «uqaj^od ap«q '»atUTtpu)) MDi|At>« nxin » owapaAtu nit -lajM *N •(ii<»>'»»»03puos VHOviW ow»*»t «pua^oup -aJA RuawtJa waux*a)U A ••rt3«w>i«>ut ?*a nu«x* 'C ' woittui I »uđ^vui« tpn> »Jdìiatt «rt3«>J»x>iap »u^npa:)0Jd ap cea> tpitJ»z t>«TT •u«*«>tt-'« '«ieq»t ..»jd woKtoxt I audtaAod o« ,1, woiivui i aua?*u -IO '<,<5), X'ui »I oit)«awoptu ap >|«ui woiitu* i op«pua;r«z T>I »»«»jcfljd watt» -ja tpo> Dpt^npxiA )|ado^«o<) tuxvpvAajd a as *p M^o-lz'^os T>l ' l( uo )d*»oapuo3 VMOVtJd >|aA»t»i aw*Mt 1 itati a «««.jcojd vn '<(x)) a uapxatf M f='RAOHA condca«p<«rt>l UITH flofttio, flofttoPB, utili PACKAGE BÜliV Matmull IS — FloAtins Point Bencttmàrk — Bate, Qctobwr 1902, »tran 2S4 - 270 — Provedeno it Pascala v Janu»/Ado O 1 a v n 1 p r o a r a M »Mxsite « CONSTANT m » CONSTANT I» 20» fi t CONSTANT 1" 2ö( 45» SUBIYPE: real 18 float» — Za PnlMierdkvo lahko UPÓrablMO lona-float 6lJBTYt='E tJit*t 18 int»9W RANOE 1. SUBTYPE dim2 18 Intsa.r RANGE l..nl — Ker Janus/A(Ja ue niMa ÌMPl0«netiranih yec- — razseznofttnih PolJ, iiv«d»MO tol»« TYPt: con IS ARRAY OF real» TYP£ matl IS ARRAY OF coI2t TYPE nati 18 ARRAY ( diwt> OF col2» — Uclnek teaa J» kot» — TYPE tnatl IB ARRAY (dimlrditnZ) OF r»»al» — TYPE ■iat2 IS ARRAY t- real((i t J> / J)» ENIi LDW» END LOOPt END flll-b( PROCEUURE fill-c IS DEGIN FOR i IN di«l LOW FÜR J IN diMl LOOP c( i )( J ) 1- 0,01 END LOOP» ENLi LOOP» ENli fiU_c» PROCEDURE Mitrix-imiltipla 18 BEGIN FOR i IN diml LOOP FOR J IN di».2 LOOP FOR k IN dl«l LOOP c( i )( (< > »" c( i )( k > + «( i )( J >t»b( d >t k >» END LOOP» ENH LOOP» ENIi LOOP» END Matrix-multiplu» PROCEIiURE «UMMlt IS ■ BEGIN FOR i IN dimi LOOP FOR i IN diml UOOF^ . , summ uumm + c< i )( J >»■ . END LOOP» END LÜÜP» END summit» BEOIN SUMM *■ .0.01 Putt'Hatri* HultiPlM B«nchM«rk'>» ««w.lin«» fill_a» i put< ' a J« MPoJnJwtt, >» n«w_lln(»i fill.bi . . t put( • b J« niPolfiJwno, *>» new-line» fill-c» " t putt ' C Je napolnjeno, )l now-linel Matrik-MUltiplut 1 put< 'Matriki sta iMUOieni.')» ntfw-line» süMmiti ■ 2 put< 'VBOta j» ♦ >» floatio.out(«UM»)» t neiu-linet put<'Kontrolna v»(tta Je » )< floatio,0ut) J.Pournall«« A Basic and pascal Bench-ffiarh, Eleaancei Apoloaiesr and Forth, Bute I9tì2. Oct. str. 2Sit-28tì. n Novics poitroč J« MikrocroBraMSke ooraM» W l«tu 1?84 J* V ZDA prvdviliona pro- ar«M*k* oprMM v w*dno»tl 9^7 millJ«rd dolar-i<»v v priiMiriavl a 7r4 «tlliiardftKi v l»tu 1983. M>dv«£da ra*t t« prodid» im inlntkov> ko imaMa* Prt »«h* apra«* — «latCMov tt podPoro odločanj« in — * prolivednJo pov*i*nih funkcij Z« n«it»ta PodredJ« bo inaiato prod«- im pri o«abnth rtCuntlnlklK kar hrapklh 13S X. Predaj« propraMVli« opranM ta er^noa zbirht »r«-•raaov In Moročll M*d kabinatnimi «iatMui in ošabni«! računalniki » bo podvojila. Oalpjmu ^ nekatera raierwijejnic» • podathll OSe^BNI RAČUNALNIKI V UPOI^Afil Pr ocaoti ra^ IBM 7*4 nadoloč. 7,4 Visicorp Microsoft S^f Contact ostali 24tO Katiiugrija« RaČunii hi «o plaCljivi ■ n IBS K BJa:At KHKHtUHBAV ViaiCVtota orocanti Instalacij --------» - ' —-—------—_ ------ -r_ . . ^ ^ 1902 1903 1984 Paachtraa 21.3 nadoloć. 2$lr0 ni BPI S»st. 10.6 P*acMraa2:0.8 Dodiàikov IBM 8.5 etata Of Tha ART* 13,6 Radio Sh. 8(5 FPI Swst 8,3 Raaluorld 6.4 IBM 8^3 TCS Sw 6.4 ostali 2S.0 ---------------------- --------------- Ka t 0A J 1 Računi, ki s« SPaiMtljivi /k > uc«n t i insta lac 1 j 1982 ni podatkov 1983 PMchtraa Bfl S»*t IBM fiadio 8h Realworld TCS 8m uätali 22.0 12,0 10.0 e.O 4.0 6.0 Zé.O 1984 nadolol. Paachtraal7,8 BPl 8wst 44,3 IBM 14.3 ««tali Kiittiuui ijit Intasrirani «/k. r/s. r/s t9B2 erocwnti instalacij 1983 1984 Peachtree 24.1 Peachtraa 26,6 pBac^tra•2ó,2 SPI Svnt BPI Stfst 16.7 UPI Swst 13.0 Radio Sti IBM 10.ó nadolol. 13.0 ftealwurld a.A nedoioć, 0,7 IBM 8,7 Olitali 40.Ä Rwaliworld A.7 Stata Of Ttia Art 8.7 Olitali 33.3 ostali 30.4 jt ST «AiT«*") pat«" X éT foea X CS «TAJ«« '».JOdpOd X 19 U IvouAC^voua »iiqvdodn X TJOA«)epo amgamaanRK nwniHipinqiPHiwnrBwfvffBXHdtvAkinniDiiBHDaiaAmnE EtMdJdo Bjisweoeojä etifTUtvunjiJOJitTW OdTqiT »I Tr.TJó-niJM X Ätr fi 05 X O/. X joipvu tvrioq t%aniiod Tt|«UT?Tl<»l TJOAoepo stuaJdO ' UT atjfTUT^unptJOJiiEW ofcpojd èi Tio^^r^ B-Z 33« >'/t : M«1 O'öt ZU 33H i'S »taoy ; Ts^ioTd TMS liOdouatM A'se wäx TU veét K86T i=ivptdv«iHBtiit]tnitn^4itflätniniittt»nwHtittiBffinntffi»tttiAB tfutndiawHawuttaàwH « Z'trK n'VttO E'S "TJ0J3IM E-AE s's Mar. B'z CS jopuoa tr'E 8'5 «Oidn SVt •?oiopau E'Z 6'ES MH OTPPy S'V dJoatsTft Mfll tf'9 JopuoD O'Of . . rflÄT SBAI I^KtaiintltiHntiiFrtiđltMtdlMItiH H ntltai» umetni isaiasHviinb^wvKDiB SMàil S'V ► 'tt S'üt tr'OE TI»tao iruen HS i oJdOJaiH •^Otopsu /'G «'91 TI»IO» 4)Ù«f>| Hai ojjojSTM EOA t An>|>«pnd TU Z8At AnBiBrntBiniiADiiDiTBBranDitBDrniaitiiHìfttiiHHatintBtfn # A'tttm Anin rrnho CS»- tt«!»« S'Zfr O'tt /!'tr A'S «Wfl- 6'lr - 9'H 'joiopou A.Et t'ST Mai SVC eue« A'5 pdotrttioß t'B «Ttìftf ć'6 W«I 8'TT TT»»i»o • eij«>(>) MB oTppy atdd^ UHI (reAT E'BK OJJOJDTM Z'9!: oJdoj^TM EÖAI zeAT ■1tfltni1XlEIta;EiqttIB1DIOI(VWtnHI1CI4tttDlfnWiniV4£WWiPWfl1Wfft(nil tTpa»»q »APiapqci , #rT O'EE S'È orec 5*tE «eRi>H Mai 'jOTópau O'frtr é'V 6V ć'8 TT»>i>o 3W.1; «TOdO èpUBtpB«H 33H intBoj^TM Mđl Ä<»t|>»pOd TU V8ÄT CÖAT V EÖAT Tiuoaojd ■sntootwBiniff ntntuttittsa urivitiiinwspj|univttKi,'Art4n«wnEn«ai«nQinnAt(iiuivE TMtMT^unj^J T^^TuqàDO x ------ fr.'TS Ticino £'9 jopüoa 2-9 baa 9'!SE S'A ■ £'9 «Idoy A'B tqod (19 O'A TP"d MS E'ET (tJ0 3T»Trt O'IT iqnd ttS O'Ä wai E'ET OJdOJ^tTM 9'St Mai E'zi E'ET •tddV -poiopou 9'KT MS <»TP»y V0AI E&6T KSAT ■ ■««(KnrnaBntusBiiintigaiivKaqiBatffttBi B'ES 6'BZ B'CS II»»*« t'tF »Iddt^ US OTP»M S'V un 8'S ojdOJSTN l'L S'V 3311 8'S 33a MSI E'8i wai T'OT L'L atddif VAE 'jniapow A*ai Mat VST 33a frBAt EflAI e8AI aHniialbUMAttBHHIRfPOTB UBBIBBBBnaBiaaiBBaH O'Zt TteTB« B'S ffutn 9'TE S'S dJoaTÄfri A'9 Mal 0*9 . MS «TP»*« S'C >(3td-KSH 8'8 «idd*^ 8'ST KTUtJ»»!»! 9'A Mai E'OT »)3»d~«3H S'ET T'SI »n^oT Z'%\ oJ03T«Tft E'ZI «TddU 0'9Z T'TS «"»o-l 8'81 VÖAT EflAT CBAt PT^'I'^CUT l^uoaojd ttBlPBBBBMABBHBMIniMÄABBailltlBlBIIlBllSillHBaiBPlBBIlDBBffllllBBWWB^ é'O^ TI'liio l'A «3 l'é 9'CT Mai t'IZ "sotopau E'EE E'8 C'0 E'B E'0 9'Zl ma 3S1 Tflftd «3 »«ng Ida Mai A'02 ««J^Mseod cefr TI»»«" s'p »je oTP»a S'9 V«n3 Ida «Iddv O'AK V8AI £041 SOAI «>«nd «»ivuoJtliatB «vrT-ioBot»» •p o» (i^japo^s -qo ftrutJTT"«"» » "T oFUifjiw»jsj>iT«j «tpu -»un*. «u»?Dso«io cc/aON op '»EtEOB "T On089M . i<»>t 'Aafjowaaojtì MTIUTI-CJ: PO ,la Tsnjpi opaq «p •«rlcotouiifl). «uiuouoöwoit TpupoAiTojn uj npoAEVJ TJd _OAOCI B« M T U^k.-) U «>| A9 3 ^ »f " AI T O J.1 HaAp «tpuvAOtopan .^awtjd tAjti ojo "T yON) TF1.SFP<»|s oq »pjo-Bnuoj« pea-), II^A^^iuiocioiiit »U fn^tvu '^El^ix n>»x ^ njvTUI. eo TTTA»coti opoq «« i|tu%E(UTq«i| itTAOtto«» .RAUOH SAOUBO ^q FBU {c;E/y:)N) joao30,jii «J. Ba^untapj Tpu^ -r^ijđ A oar-AOu pete) JOr.aaojao,j)n((u ~Z£ Jttoo)|fui ox^qi|>jnttn fxaia#iauoH sf -V«ppo<« oq |t"!eunp»j iiaoi.i tcoa» ft jvttTuiaT":; 'd 'V r-aBncmusieiflHtptas « '(upernii woj > tSOSA W3 'peoy poa^^Bj^woH OOac • * itiil jaTM ujf:>T ) SAt|0 Jd AOTOen •o.vtepvAZ^O Jd M30 " SE» oq Ruaa «uj^^HO '«ojax t^Ti^OTOd Tcnjp a oq ao ea vpupoAXfiooci ^lATPtABqop «( ott »pjofflaa -OJ« jajozrt 'nwoy l«au:^s^!t A uepflasA wa^nfs ew^ t>t 'auTjnjp if oaju ap «pioA 0.1. '«lapuecpöPLi a u^ TfSOWN A '^«t -»U«»;« qtuftwjn t^iJi^TUTiUWOd TP'J«« "f -■e^yo iMaujTtou_0(r A efeAzi:ajci a« josoaoj« TAON o>iqet «»I vJo,y •( TT^UBT«) gy^ SWM ) AOAOXft«u MTuati'is «T (nupf^wjA ateufijti aujuop -fatifO)! Tpoii ejijaues op/»A OAON •AO^.Tq i|fUAOT0 -EU qt«!»« wapuifJt«iaTAa{aAeo oLipütJsowau ouajoÄowo ap o>|i>x 'i-Tq uepop i^q ap nwauAoioeu nwaufCAaiaAeo riMau^tq-/ >| 'An)|iuti;uwod qiu^TweuTp qfu^fq ->ltf9 Aa^fpnfoupagood^u i>;poroMO »a «pjo« -OSOJO seaAOU »iftsax «u>t>pa(i 'ooz FT*aA iCfu«''^ilTt»»«^ «qejndn e^ocìow mp «p •08Z 'špjooarjojd are>tn u% «»X^U^^'B ouAO)(i.Bpod UT auAnx««u 'auxTWJ)| oivijpqo «p JIRCJ «tpiaft •O0Z ep cpioA »(>auejT4ea>ur «saAo» «sai Jooa^oj^j '^•touiitftjo Đ)|;iTijqnji)itn ouv-^pxoqzx TPH »"T •y^TJ^axe"* eptl^'J"«" H/dO ewo^iif« enaup«A«u po n>)TTzej *z UT w/d3 -ou.ja^j ap ewai.siTB Risai, »n®"*® »piafpoa) w/dO T>|Vpi:3tjatto apnqosA ea nrzaA wausjf-Js^fT »^l A M04I '£tD3 0>|vuxut «qp -aAZf »AOJ •np.ii»a»30JöOJ;(Xw H oit^BOt ouixwjt^ ux UO^ otvpop Dp '(npz^A -uf w^un A) wo»»ai.sTs tux>|spx3«ja<*o i ^o«e:)o>i<;toJ)) -TW öx|Az»j ap it«»ai.!iReoj3TH »p)eppo>iatlO m ei wTuapcjiiA z jovaaojdOJiiTU * n m BnB RivHFnwaiittttiiidBBniBiBnntiqtBDBjRinniaeaitvittniHitBvaiHmaBixmisntiiininai 0*8 O'S O'Sit F»8At ?'5 Z'V 9'Zl /(ÌAt 0'E E'E K'OI 9t)Al 9'Z éV Z'I 4M E'? bOAt fl'O IrM t'S EHAT .ID WM S>| ■ilttltllPB«!iM»tBta«fBtìimiwimraBire:rHarjtiJBm(i ■4n nplBi 0t ncflin riprp;^ ni? oiL:miTTn-nmm WilZ. A ( JO ) »»IT^X®""?'-' al"]«"'» *Jt 08At »P te6l f>pqopz»J a Aap.i^xop 1|«PJ«PTIT<» " BwajdO «nfKWPJfio.jrt i^cppn.ij X exj X OCT * G2X X OCT X 06T dyM apupoAZXOJtf apuvAa>j;pKtj A<»>|XUT«un7«jnoi|XW (iiTuqo«») Tq»JOdri TJ«» S9 19 LI é,l «1.90 d ci|ni.io «puopXAir.tcin oupt>01 ^ «»i^Tuqsjo"^" T T u X e i.m p « J n J >t T M »uiajtia n>|«Mi«~tnDJct «>|«iwei)sx« X 09 X X ez T )) X u X t^un;)« JO t M «wsjaa t>)|«uiejnaJrt 9UAX>«>IXIXI! D ttptvtsMSHBiViiQ B V Ba iBmtn nit 4tl term bAMIIIS utorka bbb ram ibbs ■ BO tr BBsa bbb q tQAX rtì-OT A «waJeo a>|sw»j«0Jd «pfxi^l X tr^ CHAT f^ oioua IBBBrBnltBBttinfffniimiBIJVIVlBBWnaiaBinBBWBBIBmCrtldiBAAnttElBBCflirteDiai AOitXUX*un?«J ttfuqavo )«aAXFxxaAo90a Od X r.z X 8fr' oiiqojp *u «pvpnjd X trS X 19 «wejao «iimwsuaoja XJOAOBpO BBDHjfBanmiHn HKlOlinBBBBttlBlttlSEVniBmBB: BBIETBSH nBBBinRBIVEIiaflWWmtin owajdo so naMenJe~ ne raivoju iirovira«ov> ki bl naredili računalnike pa'ko pro-srami naratča ioTudi nepre>dvidl jivo" vmesn» Podatkovne oblika ìe bila — votno uvedena v prosramlrnem Jezihu IPL ((2)> za namene simbolne Manipulacije. .Seznami oblihuJeJo simbolne idrutitve> hi omosoCaJo ra-čunalniitkim prosramomr da oblihuJeJo podatkovno strukture nepredvidljivih oblik in obsesov. Z« obdelavo takih nepredvidljivo oblikovanih podatkovnih struktur so se v Jezlhu IPL uporabljali primitivni podatkovni elementi (imenovani' calice ). F'odobna ideJa se uporablja v jeziku Lisp v ob-lihl tkim. CONS celic. Vsaha CONS celica Je naslov (računalniška beseda>p ki vsebuJe dvoJico kazalcev k druslm lokacijam v računalni&kem pomnilniku. (Taho ae lahko predpostavi, da Je osnovni podatkovni element v Jezihu LIsp. kazalec s seznamom). Levi del celice haie na prvi element (thim. 'CAR') seznama» decni del celice pa Naie na druao CGNS celico, hi predstavlja ostaneh (tkim. 'CIÜR'> seznama. ' Iz slike 1 Je razvidno, hako Je musoče predstaviti zäporedJe besed ali simbolov z uporabo binarne drevesne strukture PomnilniShih celic. Problem-nenredvi-denesa obsesa podatkovnih struktur Jo bil razreden s svobodnim seznamom PomnilnliTihlh celic, ki se dodeljujejo dinamično po potrebi. Simboličen izraz« (A BO prva CONii celica naslov prveji. elementa seznama / \ naslov oaìieofni'e CONS celice ■ ,/ \ fiarr in reiaertbaum <(1>) ugotavljata, da so uroiirami za tll med največjimi in naJbolJ zapletenimi ra^i.inalniäkiml prosrami« ki so bili kadarkoli razviti in povzročajo velikanske oblikovalni! (načrtovalne) in implemeotaciJske probleme. V tJI se Je razvil Poseben interahtivni uruaramirni način v oholJih z izdatno podoorot kot su urejevalniki, zaöledovalniki izvaianJa in iühaUiiki napak', priuomučkl za razvoj velikih zapletenih üiititemov itd. t Tem potrebam UI zadoščata danes dva crosramirna Jezika, in sicer L.iiiip in Prolos Usip je bil osnovni proaramirni Jezik UI. Pro-Io» ae Je hut losiCno osnovan Jezik PoJavll pred kratkim in se .ie usidral predvsem v Evroui in na Japonsktim. ObiütaJa vrsta izpeljank in narečij Jeiika LiüP, F'oiätfbni visoki proaramirni jeziki za namene, kot so nredatavitsv /nanJa In Simboličen izraz« ((A B ) C) Bliha 1. Predstavitev seznamskih struhtur v Pomnilniku Te Seifia«! Jo zaF>oreljiv « lomen t ) ^li st^inam. tidnaini se lAhku ijuoritblJd Jo lü Jünie polJutmih puUüt- kovnih ti(>üv, tie:tnam:i s« taku zlasti itnofabtii UH ti-stih podroCJiti )JI > ki obravnavajo Jezikovno ra iiidievan.ie. ratlunailnidko videnje- reäiivanJe problemov in naCrtovanJe. Tri sitruklure» < ki ue up.orablJaJo la predstavitev iskalnih prostorov) 60 v UI vselej navioio < ubikvitarne Predstavitev eeitniima la tri strukture Jf.' urika/ana na siliki 2. Reiultatna nrecJstavitev Je iseinam < kot Je dolorterio / oklepaji)! 'äetitavlJen ii elemejntov« od katerih »o nekateri tudi fie/.nami. Manexdene strukture no /Ü tirediitavitev ubii^uJnet Simboli('.en ixra/; (A (b £ F G) (C H I) D) CDft Imejmo » ) Janez Uporabnikt < CDIì MJanez Mic.ha X Y)) Li-icf (Micka X Y) Spremeni J ivko . SET funktiJa uri-redi vrednost sipremenlJivki v Jeziku Liap. ImejMO) U»iorabnik» (SET 'Z Petra) Lisps Petra Uporabniki z Lise t Petra Atomi v Lispu uporabljajo za spremenljivke. Atomr ki ima pred sebaJ enoJni narekovaj, prod-BtavlJa sameaa mebef «icer pa Lisp avtomatično vstavi nJeaovo vrednost. Slika 2- Seinamska predstavitev ittkalneaa drevesa Tudi izrazi predikiitne lusike, kot Je iiraz 1N( XrA ) OR 1N< >. ki pomeni. )t Je v A ali v Ei. se lahko upi^ej« z i.ipurabo prc^Cikane notacije v tieznamaki oblikii jin lälcrir (OR ( IN X A ) ( IN * m)) vle^tik L.iiüp <:ik <11 i Je:; :i.k rek ur uru t)l ima JO /ov ). raJ). ìli lu^ zna mt'fi i J I or Ji 6É.evi r ij L elivrth? e U^fdL^ leta 1V60 Je Jolin McCartbo na MIT razvil L.IsfJ za nraktiftno obdelavo aeinamov. / i vi^ imi mo lil ostmi op i so vark Ja t^rocesov in emov, Viii lispovski prosratni in Podatki obliko 'jimbolnih iiraiov ( tki«. S-izra-ki ite shraiìJuJeJu v se7na(inskih struktu-Liap poma dve vrati obJektovi atome in »jcj. Atomi so liimboli (konstante «li spre-Ivke ). ki se uPorablJa Jo kot identifi kaza paimt*novanJe ubJektuv, ki so lahko Iski ali neétevilBki (IJtidJej reči. ideJe. ;! i t.d - K St-Uiwim zai:Mii'ed Ji^^ nič ali več itlov. zaPrtih v oklepaje. kJer Je Vüak Il t. J .1 :i at a i i utežna m . bruliom ( ( ) ) jtd uaotovilf d.i Je LisP đristem iaIroJ /.u i/riifjitn funki^iJ, Uporabnik teaa sistema vul.avi rudkciJü :tn nJene araiimurite, Sedteva-iiJe i;>o opi ii-vi takole» Uitorahniiik» vhodi ( f U.l!} 6 ) L 1 HiP ovor i tJ i m^inA Pu J.tèi: i i ìnt^'Z namov se v Je / kil I :I.SP up U"' ratil.i'i.Mi tri uunovite funkcije (ki tio v relaciji ^ i.f omii iiu> t.e.L .1 čl i u ut imi k i ur o za sir/rtami^' ) » /a pr i. d v n i .1 t*.v>v nove.o^i t>r vejja č li^^i'ivi k CAI; Zli rii i.iM)/tiavafi Je m vti'ua člena v Definir' anJe novih -Punk-c i J , FrosramiranJe v Lisou Je povezano z definicijo novih funkcij. Tako lahko definiramo DftlJGl (kot drusi atom v se:mamu ) 1 Uporabniki ( DEFUN »RUGI (Y) (CAR ( i:;iift Y)>) kJer Je Y formalna spremenljivka Lispi EiftUGI Uporabniki (DRUGI '(Ivan. France. Petra, Jana)) Lisci France Predikati, Predikat Je'funki;i Ja . ki vrne ali NtL (nepravilno) ali T (pravilno). Poljubna ne-NIL vrednost Je praviloma pravilna, NIL Je dejansko ime »a prazen »eznam. Tako predikat lìREATEftP vrne T, Ce so členi v zaporedJ« razvrščeni v Padajočem vratnem redu» Uporabniki (GREATERP Ä 5 2) Lisp t T PofioJna veJitev, UPoraba po~ aoJne veJitve Je večkrat Potrebna. Npr-» če Je nekaJ pravilno. Potem opravi Xs Če ni pravilno, opravi Yf čt) ni pravilno, opravi Z. V Lispu ima to lastnost CIGNO funkcija in nJena oblika Je« (CGNli (poaoJ 1 (posoJ 2 izraz 1) izraz 1') ( POjjoJ m izraz m > kJer Je vsak poaoJ izraz, ki se bo izrida J očesa ) iz.ra za . ft e k u r ■/ 1 v n e funkcije. Večkrat Je iaŽJe definirati funkcijo rekuriivno (v odvisnoiitj, ini nJe same) kot pa eksplicitno 7 ustreznimi koraki. Ta rekurzivna lastnost J« pomembna karakteristika Jezika LitiP. Funkcija za faktoriai Je lep primeri r 1 če Je N « 1 N, .. J ( N # (N - 1 )( ie j» N > 1 TT To -Punkcijo Ifthho v Llspu definiranu hat seinitm Jszlk Prolos (KEFUN FACTORIAL (N) < CONH ( i EQUAL N 1) t) ))>)) Preuled prosrAmir'nih la-stnostlt V Lispu Imaoo prusraMi In podatki mtako obliko < »o -^ifZfianil ). Frav t» omogoča programomr da oblikuj«; jo In modificira Jo prosraMi* (oroaraiimko aener Iran oe to jt^ (tomem-bna lastnost za tkim. intelisentne aplikacije. Prav tđko Jo mouoile napisati. proaraoiirnu dripomocke za copravi JadJe in ureJenJe s polno inti^raktivnoatJo la proara«ei-Ja (to Je seveda tnoaoče tudi v drusih prosramirnih Jezikih). Nekateri HomfSmbnBjäi vidiki Jezika Lis» pa so tile» — Ker Je Lisp interaktiven^ intfsi-pretiven Je-likf Je relativno Po£a»en , ( Se ved ti so motni tudi prevodi in ne »amo interpretacija.) Pomnilnii^ko dodelJE»vi>nJc» Je avtomatično Izraii Jeiika Liwff »o zelo enostavni in re-sularni. Izrazi so se&tavlJeni-iz atomov in Iz atomskih koMDOzlciJ — Krmiljenje Je normalno aplikativno. Potek krmllJernJa Je voden z uporatko funkciJ do argumentov a vidne .dinamiCno. Navadno ea nelokalni spremenljivki priredi vrednost lokalno z izračunavaJofo funkciJoi če Ji ni bila prirejena vrednost s funkclJoi ki kliče iiračunavaJoCo funkciJo Za de'lovanJe v realnem času Je potreben impslJiv 'sistem za /biranJe pomnilniftkih odpadkov', da ue soruàCaJo neuporablJane pomnilni&ke lokaciJe — Her prediitaviJa LiüP oaromen proaramaki paketi BO priporočljivi osebni računalniki in vse lastnosti Jezika so lahko impleME*ntiriine le na velikih računalnikih Uporaba vsnerdenih oklepajev Je labho ne-prealedna. zato Je preporočlJivo poimenovanje izrazov in uporaba teh imen v izrazih Trenutni izvedenki. Panes se uporabljata dve slavni Licp nare<: Ji » HacliiiPf ki Je bil razvit na MIT in InterlisPr ki «ta 9a razvili podJetJi Boli, Beranek and Neiumari inc. in Xerox Palo Alto Research Center (PAIKC). Dbe izvedenki nudita podobno erosramii— no okolje z ureJevalnini in popnravlJalnlmi pripomočki in obe imata vrsto Li»p funkcij In izbirnih molnoati. Poudarek v Interliseu Je na naJbolJfiem motnem prosramirnem okolJu na račun hitrosti in (idmnilni^ke^a prostora. Pri Matlittpu Je poudarek ,na učinkovit ost i. ohranjanju naslovnega prostora in na proinasti pri sradnJi prioumo^kov in vsrvezdenib Jezikov. In-terlisM ima Jic dobro podprto izpeljanko e popolno doktimeittaciJo za vrsto ut^orabnikov» izvaJa ise Pod operacijskimi slisteml PodJetiJ HCC In Xerox. P'otrii'.'lta PO <>t>inda>'i/ai:i'Ji različnih narečij hiaciiüpa je povzročila nastanek Jezikov Common Uisp in Lien Machint' Li-sc. Common Lìhp »e uporablJa na večini novih osebnih računalnikih in operacijskih sistemih za ÜI. Ta Jeiik Je učinkovit. prenosen in «tabilen. [IbstaJa pa vrsta lokalnih izcelJank na railiCnih univerzah, kot Je tipr, Frani LIsp < Un i ver »it« of California . [). Lis^ Prolog . Dodatno delo na tem Jeziku Je biló opravljeno n« univerzi v Edinburahu. Ta Jezik Je bil prvotno predviden za obdelave naravnih Jezikov..vendar «a Je kaiineJe uveljavil na v«eh področjih UI. Razvoj Jezika Prolon v Franciji oe Je nadaljeval do dana-AnJih dni. tako da Je nastal dokumentiran »istemr ki sä Je mo»oče uporabljati na vrnti računalnikov <(5)). F'roloa Je sistem za dokazovanje Izrekov. Programi so sestavljeni iz akeiomovr i^cratenih s predikatno loulko prve stoPnJe skupaJ s cilJem (i Izrekomp ki ga Je potrebno dokazatiAksiomi so omtfJeni na implikacije. na lwe in desne strani. zacisane v obliki tkim, Hornovih otav-čnlh čleHiov < klavzul ). Hornova klavzula Je sestavljena ii mnoiic« stavkov^ zdrulenih * logičnimi operacijami 'in'. Oblika značilnega prolosovskesa aksioma Je npr. A 'in' B 'in' C 'In' X ,'iwollcira' Y in' To pomenir da A in B in C in X skupaJ implicira Y in Zt ko se stavek bere deklarativno. Stavek Je mogoče tirati tudi proceduralno kot« Ha bi «e dokazalo Y in Z. poskusi dokazati A in B in C in X. Će gledamo s teäa-druiiega vidika. Je. »ro-losovski program sestavljen.iz skuPin« procedur, kJer Je leva procedurna stran vzorec. ki Je primeren cilJi ObotaJa podobnost teh modularnih pravil » pravili (IF, THEN produkcijami) srl konstruiranju izvedenskih sistemov. Ta modularnost zagotavlja Jasno, natančno In hitro programiranje, kar Je slavni vzrok razširjenosti Jezika Prolog, Prolog Jo v bistvu razširitev Jezika Lisp. ki J« povezana z vpraćevalnim Jezikom' relacijske podatkovne baze (npr., v obliki hurnovskih klavzul za izraiavo osnovnih podat kov ), ki UPorablJa virtualne relaciJ(> (imolicitne rela-' ciJe. opredeljene » pravili). Kot Uisp Je tudi Prolog Interaktiven in uPorablJa dinamično do-: delJevanJc pomnilnika. Prolog Je veliko manJili program od Lispa in Je bil implementiran na vrsti računalnikov (tudi mikroračunalnikov, npr. za sistem CP/H). Izvajanje Prologa Je presenetljivo učinkovito in njegova kompilaciJaka izvedenka Je hitreJäa od lispovske. Prolos se Je razilril predvsem v Evrpoi, na Japonskem pa Jebil predviden kot Jezik pri razvoju pete raćunalniike generacije. F'rlmeren Je la paralelno iskanjem in za izrala-vo prihodnjih paralelnih procesov. Določene lastnosti F'rolosa se v zadnJem času implementirajo tudi v Llspu { zlaisti v ZBA >, Prolo» naj bi bil primeren za globinsko IskanJe v zapletenih problemih, kri katerih bi se lahko pojavila kombinatoma eksplozija obseaa iKkalnega prostora. Brusi Jeziki za UI Več Jezikov za UI Je bilo razvitih kot razširitve, iiboljfiave in alternative k Jeziku Lise. Ti primeri eo tile ((l))t — sistemski orosramirni Jeziki — POP-2 — Csnnìver (MIT. 1972) — Poplor (iiniverx* v Edlnburahut 1972) — Proloa (universa v N«>r»c»illu> 1973) — Amord (MIT. 1977) Llftp In P0F'-2 nt« prlmern« la enoatavnu oblikovanja novih Jazlhov v ohvlru nJidu «amlh ali nad nJlMa. Taka Ja Qlisp vsnexden v Intorliapu in Pooler v P0P~2. POP-2 db de rai&irll le v AntillJi. Velina teti Jeilhov ni vt^£ vidrievanih in padaJo v poiaboi vendar so priiip#vall k razvoju aodobnediih Jeilkov Dir kot so nareCia Llapa In Pnolosa. Prolosovskl prosramlrni «tli Je podoben stilu v OAS in v Planner Ju. Drusi posebni J(?ilkl co bili zaraJenl la predstavitev inanJar za upravlJanJe baz inanJar za PinanJe sistemov s pravili < kot «o fiPr< Izvedenski siuteMl ) In la posebna podrodJa uporabo. Strodi xa III Računalniki, ki so ne uporabljali pri raziskavah UI v preteklih letih, so bili prvenstveno DECovi »istcMl -10 In -2Ü <«troJl s iaaovnlm dodeljevanjem). Poel«dnJeM ćneu so bili ti alatemi zamenjani i bolJ aaartodarnlm VAXom In i novimi osebnimi raCunalnikl za UI. tirotgn (,(&)) uaotavlja. da noveJdim «troJe« manJka proaram-»ka ' or'^Gima. In sicer predvsem boaa'te prosrawekM knJ-inice HECovih siiitemov -10 In --20. HoveJ4i «•'t-iiJl im«Jo sicer SZ'bltne natnlovne bes^d«. ki t-* komaJda ladoäi'.aJu la obülren naslovni prostar. ki Je potreben prosramom UI. Fahlman in iHet^le < C 7 ))'ugotavljata, da Je VAX 1 opraciJfiklM elstemom Berkeley Unix vadno naJbolJéi struJ i dodeljevanjem Caua za delo V UI. Več lis(iov«ikih narErCiJ obstaja la eltstem WAX/lln 1K in VAX «e upura bi Ja na Ateviln i h univerzah. , Nekateri novi osettnl. enouporabnifikl računalniki za UI so 3A00 (Symbolics). Lambda t>eJ mlhrokudlran la Litkp. Ta stroJ proditJata PodJetJi Sumbolics In Llup Machine» (LM). t>tovi oi^ebnl stroJi imaJo zeli) zmoalJlvo okolJe »a intiiraktivno delo in raiiiskovalno programiranje. kJf:!r se sistemsko načrtovanje In prosram raiviJàta skutiaJ ((H>). To Je v nasprotJu s klasični«) strukturirnlm prouramlranJem. pri katerem (še pruaramske! epecifikaclJo opredelijo naJurej. razvoj (jroarama pa «e utrlktno ravna PO teh eneclfikaclJah. Jezik Zetaliec. ki J» ilvEiiJ.-nka Macllišiiia. Je intearIrano prnaramsko okoIJe zii razvoj in IzvaJattJe programov na fitroJu !3!jmbollcs -.'Ji^OO. Zetaliup ima prlblilno 10 000 pi-evedenlh funkcij, PoUobne zmoulJivuiitl ima biroJ LH Lamtida. Interlisp-li se uporablja na st.i-oJu XeruK 1100 In Ima poiiebno močno podttoro za razvoj izvedenskih In druaih sistemov, ti^melJčlh na obdelavi znanJa. Pri niätetlh atrojih Je viden raivoJ v Benerl raiiskovaliiefia tiroaratriiranJa . uporabniéki prija in oat i objektno usmei-jisnili pfoyramirn Ih Jeiikov itd. ObJekt (kut Je npr, letalo ali okno na rat'tJiwlnidkeM za ci onu ) ae kudlra kot lijf orm.ic 4 Jaki paket s «>r itiada Jučimi opisi proceiJur inf urraac i Jsk u m.inipuidi; j Jo . Ubjektl komunicirajo s pufiiiJanJem »n «preJemanJem hpo- primer Prosrainer ratredovi ročllr t« pa aktivirajo procedure. Razred J« opi« etiesa ali več podobnih objektov. DbjAkt im it rairoda In ima značilnosti r^-jtruda. raxviJa nov sistem i oblikovand»M ki oplsuJeJo «istemuke obJekl». Pr«-aramer Implementira Glfttem z opisom «POiToČilr ki bodo odPoAllJana. Uporaba obJt>ktno ut^rJa-ne»a proaramiranJa inlluJe ZNPl»teno«t v#llkih sifttemov. Zamisel razreda laaotavlJa «novit okvir la o»reiielJ»vanJe sistennakih objektov in podpira modularno. hierarhično orw Machina. Proce»-dinaa. Western Joint Computer Confarencw. 1957. BP.230-240. ((!)) N.Sraham« Artificial Intellia«n) D.R.Brown) Roconmendtttlontt for an AI Research Facllitu at NASA/OFSC, SRI Project 7.20S, SRI Internationale Henlo Park. Cal. Oct. 1981. <(7>) S.E.Fahlxian. Q.L.Stielet Tutorial on AI Prosramnilna Technolosut Lansuase and Ha~ c hinea, Pr ucecdinaui Nat 1 ona I Cunference on Alt Span. Amer. A»soc, fur At> Pltts-burshr Pa.. Aug. 19B2. (< e > ) B.Shell « Power Toul« for Pr09raMMera. IiataMAtlon. Feb. 19S3. pp.i;31-14-4. <(V)> I*.Rohln»on4 ObJect-Orinted Software Sa»-teMS. Kuté. Aua. 1901. PP.74-B6. A. P. Želeinlltar Iz naših dnevnih Časopisov V zadnjih mesecih opažamo določnejše opredeljevanje družbenih teles in posameznikov v podpori (verbalni) računalniški tehnologiji In računalniškemu Izobraževanju. To pozitivno opredeljevanje je značilno tudi za slovensko dnevno Časopisje, ki odmerja vigoji in poročanju s področja računalništva in Informatike več prostora. Počasi se vendarle oblikuje javna In politična zavest o širši pomembnosti računalništva v našem tehnološkem napredku in pri vzgoji in Izobraževanju. Ta zavest je predvsem posledica določenega etanja - v razvitih dräavah in pri nas doma. Tako lahko zvemo, da je samo v SB Sloveniji 10 000 do 12 000 "hišnih" računalnikov, ki so bili seveda uvoženi z zasebno Iznajdljivostjo. Tudi mladina se na'lastno pobudo Izobražuje in Seli izobraževati z uporabo računalnikov, Šolniki se le počasi budijo iz utečenega sna In pristopajo k bolj organiziranemu prizadevanju za Izboljšanje stanja - posodabljanju učnih načrtov In nabavi opreme. V ljubljanskem Dnevniku lahko 11. maja 1964 na strani 3 prečltamo izjavo predsednika MK 2KS Joieta Smoleta, ki pcavli "In ne nazadnje, truditi se moramo, da bi mladi ljudje lahko kupovali računalnike in osebne računalnike, kar je sploh Izrednega pomena za pripravo novih rodov za prehod v postindustrijsko družbo informatike." V ljubljanskem Dnevniku najdemo 12. maj^ 1964 na strani 2 poročilo o zasedanju Tiskovnega sveta pri HK SKDL, v katerem je rečeno tole« "V razpravi je bila v zvezi s to tematiko med drugim močno i>oiidarjena potreba po ustrezni enotni obliki usposabljanja in Izobraževanja kadrov za računalništvo. Predsednik republiškega komiteja za informiranje Marjan Šiftar je navzoče obvestil, da jo Izvršni svet za pospešitev proizvodnje domačih računalnikov, nadalje za prodajo računalnikov v konslgnacijah, da je potrebno to področje urediti sistemsko, kajti samo po približnih ocenah je zdaj doma v Sloveniji kakih 10.000 do 12.000 osebnih računalnikov," A. P, Železnlkar KAK'^NE SO MO?(JOSTT ZA RAČUNALNIŠKO OPREMLJANJE Nfl?iii SREDNJIH SOL V 3'ijftkem letu se ,)e, Fn>ča?n'i / KaSet-kfim uvnjiiiijfi Sfedii.le?« iismer.leiiejra Jznbraže -vyiijfi v SP.Š ter (irileff že uvel Jy v) .tetiepfi iimika [irediiietii Rnóuiiii 1 ti I stvo v l|-l etiilh srednjih Š^^-liih, znot;l(i tudi i ?.vii Jao Je sredii Je Siil p k e^n pn-uriinjfi ril Cullili II i ät.vii. Vsebi ne lnJeva-tl šnls za tzvajatije Izobraževan Ja ter vrsto In stopnjo iKobrazbe učiteljev, so sprejeli uporabili kl in Izvajalci na skupščini Izobraževalne skupnosti za elektrotehniško in računalniško u-smerltev v raeseou februwrju 1981. Vseh določil . omenjenega profcrama, zlasti v zvezi z materi -alnlml pfigójl, pa šole kljub dobri volji In an- . (taf.lranostl le ne bodo mogle same Izpolniti. V primerjavi z drugimi (zahodnimi) državami, kjer s pomočjo vladnejta Droprama (Francija) z raču -nalniŠkiml sistemi načrtno enotno opremljajo srednje šole, ponekod so to storili pred leti In danes že opremljajo osnovne šole (Velika Britanija) In celo otroške vrtce (Japonska), ko morajo ponekod celo zakonsko preprečiti (ZDA), da šolam ne bi darovalo opremo več fifn, pri nas ni sistemsko rešeno niti vprašanje financiranja spiskih mikroračunalnikov. V prejšnjem srednjeročnem obdobju Je sicer Izobraževalna ■ skupnost Slovenije v Samoupravnem snorazumu o s osnovah plana vzgoje In usmerjenega IzobraŽe- , vanJa v SRS za obdobje 1976-1960 opredelila ' sredstva za razvoj računalniških sistemov vi- ■ soklh in srednjih Šol, vendar so v ta namen zbrana 'sredstva zadoščala le za sofinanciranje 1, faze računalniške mreže univerze. V planskem .obdobju 1981 - 1965 pa Je postal sistem financiranja drugačen in Je vreČa, iz katere naj bi zajemali tudi za računalniško opremljanje naših srednjih sol, ostala uraztia'. Tako bo tudi prvi korak, ki /la Je napravila Iskra Delta, ko Je s 25%-nim popustom v od -prtem pismu ponudila vsem šolam računalniška sistema DELTA «00 M In DELTA tOO B oz. večnamensko terminalško postajo, verjetno ostaJ brez želenega odmeva, saj Šole same za. to nimajo sredstev. In kakšno rešitev skušajo šole, zlasti tiste v računalniški usmeritvi, najti za odpravo omenjenega problema? Praktično edino možnost ■ vidijo v neposrednem sodelovanju'z delovnimi organizacijami - uporabniki kadrov, ki se v šolah izobražujejo. Tako srednješole raču -nalniške usmeritve, te so v naši republiki štiri: v Kranju, Ljubljani, Mariboru in Ti -tovem Velenju, iSčeJo ustrezne botré, kl bi Jim bi.H pripravi Jeni pomaga ti pri zagotav-l.ianju materialne opreme. ?ola v Titovem Velenju, kl deluje v okviru Centra srednjih šol. Je tako s Tovarno gospodinJské opreme Gorenje i sklenila Samoupravni sporazum o poslovno-teh-(ilčnem sodelovanju za zagotavljanje popojev za Izvajanje izobraževanja v računalniški u-snerltvi. Hamen sodelovanja je v skupnem zagotavljanju materialnih in kadrovskih pof^ojev, potrebnih pri izvajanju vzgojnoizobraževalnega programa računalništva. ?ola Je združila devizna sredstva (ki Jih Je pridobila v prejšnjih letih z Izobraževanjem nipL^riJskih in libijskih učeitoev). Gorenje pa Je dobavilo in Instaliralo računalniško opremo. To po končani 1. fazi tvori: 10 mikroraČunalnlšklh sistemov z upogljivimi diski (5 l/H ") in video monitorji. Naslednja faza bo omogočila povečanje funkcioiiHlnosti iti zmogljivosti obstoječe opreme (poleg DOS še CP/H operacijski sistem, itistali ran Je RÄM floppv-ev, diskov z 1,2 M zlogi, ns 232 in IEEE 488 vmesnlk-ov Iti 80-kolon3klh kartic), priključek osmih Šolskih video terminalov na računalniški sistem Gorenja ter opremo učilnice za procesne si -steme, kjer bodo instalirani prosto progra-miri.livL krmilni sistemi, čeprav bo omenjena oprema prioritetno namenjetia pouku strokov -ni h predmetov računalniške usmeritve, pa Jo bo možno uspešno vključiti tudi kot važeti vzvod pri razvoju Izobraževanja v elektro -tehniški, kovinarski, naravoslovtio-matema -tičiii, rudarski in družboslovtii usmeritvi, torej vseh programih, ki potekajo znotraj ^ ■ Centra srednjih šol, pravtako pa jo že uporabljajo pri svojem delu mladi raziskovalci in Člatil računalniškega kluba. . ^ An ton Gams so ŠESTI MEĐUNARODNI SIMPOZIJ PROJEKTIRANJE I PRAĆENJE PROIZVODNJE RACUNAROM PPPR ZACItnO ~ JU«ÜSI.AVIJA !U-I1, MSTOPAIJA im UOKVikU J/.I.OŽUH »INTEKfllilOj NA ZAfiUliUAĆKOM ^in.lISAJMl) i1t:t1lil>»i'(Klii< si |ir»iiH)iliik iiifLiiuili) fl u prii:.änjiU sliiiiiL oj l'/W, nuiiiiic. 1). (1>I>PR ISS4.) Jiasiovljii liiiJl ki>j] 51: üitfXuvaju u jCtii^i'cbu 1>I')'R im. piinovrionniiinjin! ."sìlTiivj'tìmà pd,ii,VLu,|^.si,„l>.i«i........ I likiisiaiM i, mri iiiij..iijmm-j, Ujiii;!!,-______________ i ^-i.iiiiivL-iiiirim;) k.iji bisvi; l^inijuni i prim|________ ii^lotii Ili kurlMo io^-iliÌl.Io 11 IMva/.ivunümn I ubru^uvu-it)M. 'Rine i.liiijiiizijj iiiiliitijtiK: su u ovoj nbuvlji::iti. !iii IK iNl m^iHilEi^Kiiii I piLUiaiiiskf udbLir tiri.ll II (.ih.'.lr i i.iiluvL' s di'u|>ìni Icninioa koji: bi mu-Ule 1)111 liitt;ru!.itiitiiii ii<;i.'iigkiiiia üii)i[Ki/ija. f'iDilu je oki> 15 t!tidliiii ot) kutla jc pnil pulo upo-Irtljljcii l^iiL/ C^AD (Cuiiipulci- Alilijd DL-siEtnj !iviiki'iliil>akn pi-ojekll* iaiij;i iHjinik^ii lat^iiDidu 1 pitK'etkj pi'a^L'iija ptul/vüj-lijc riii^iillakim — CAD/CAM, ■ TBMK SIMimUA A, Ö1Ü.kliii I >„111,1 IMI Ima iikljtifti)itti'av> [ja^^kU)! I.vlk^i, I>i\illkii i ini. mi lad! sk e siiLiklnix. Slva- lunje ii|>iin'l|!L.kiitj it/ika (uimIiiio je KiniSajnu ^a liv Imkliuie inim™™ a prikiiiüin. A2. OlUiftAl-MlNI SlS'l'l'Ml I OUfìANt/ACUA lUnfNAI.A (llk iai i..nl nMi-iii iikiih se |)i IkipHÜli raiuniiln All kif jetii -se CAtJ.CAM Ita/.t.f( OADCAMa »ii>i;l)i' je M...... 11/ il.ihiii- »jvi'.ivlmii ftlsUin. a nani- ĆllM, Iit.iuduiuul, hivitiLi M lei.......... ttliU litii je i .i/an kuji U ti.ilefl ubnulii ik'IiiIo ellkasnijuiti. I-,nm v«m i,»n..lik.)il i.iHani^aejje lafu-iiuIli Di.sliijf k.i.l -iskiuLi s iiiliiallk'.iim lailuin; I. Mitliiiuuj.|-ai,iakl ^lutiii s iK imiukini ctudljelitvanjeni ivunsa £.,|l ae |),.sli,/„je 1 vl-e .........ala. f. .ItJiu,. kuiiiiiu:ii ütsleiti la iiilLiaklivnuni ur^Jiktuti). i. Dlulrì- butranl raiunurskl sìstLm (8 vläesiiüklm pructsorlma), 4. Imcllgt^itnl srartfkl terminati, 5. Mrt.'ìa ruüuiiila. A3, RAČUNARSKA CKAFIKA [ MACIN PREDSTAVIJANJA OBJEKATA r/lai! pix'kn plutei^ ili ufeđaju in puhranu na mikro. fllinuve ponekad ne nnilira pasivnum ütafikom ili mi-inteiakiivnoin gr.itlliuni. Pniiijena Inteiuktivit« crafj. ke niuijla bi se podijelili u dvije katesorijc: 1. vkuel-no j^kanjrtir)!« podataka 1 2. unos pt^jektnth pudatu« ka. Sto le tiiu tsiaiiikug suftvera nutii;liiio je istak-nutt dva svujstva; strukttnu eraliftilh podataka 1 brzinu uraliflioi; i>[l7.lvu. frlkar, ehiekata sc iiiL.fe pOLiijellil u slijedu'^c skupine: funki:i»nalni, topolojki i yeoineirijskl tblok ueumctri-ju, sluhudiie pluhi', 2,3 ditnen/iunalnl prlka/.l dr.). , prtmjemi i.r,e 1 smle-ze kau i£nl)i 1 gninlj!nll) ' • prti- !tni' A4. POSTUl-CE ANALIZI-: 1 SINTEZE Kniakierlitiinu je kri{oje po^-tini pusttipei ainil Si« tu: 1. slimilnelje, 2, nii!l,xla kon;,....... ........ tletnenma, 3. o|jiiiiil/iielja (p" i lule i rt etcivua prtil pa: ))ielraiivanjc eliiMtnatijuio, linearno pi^iRrtJ ' nje I neilne,irnu jirouranih-aiije), 4, nepiisrcd (pa^buu 11 leot'iji upravljanja), Prcdnust raiunala u niiKitini CAD primjenama danas •je uflia: u |x>iliTieiu ku»at!nlh eleitteuala I unatli'.l na-preuinjn, rješavanju jcdnail;,bi |>ilja metiKlum konnfr nih difeiem^lj.i, iiumeiifkoin rjcäavnnju kompleksnih dllereneljalnili jednadžbi, inndcliraniu videkoiiipo-nentnih prucesa desillaelje, slmitbrijl piocesa kud projektiranja visu,kili pei!i i iiiitlcnjlvaiSa topline, ne-pieiiinjhna u ejevuviidiinu, anati/i sei/,mi£ktlt ispili. vanju, bluunatiu, diJaBnoitiel u medlelni i drugdj«. A5. INt^lRMACIONE STllUKTUIll- Upolveba Iniormueiuiiili stiiikluiu u CA13/CAMu Je vi-iesiinlia, C.invtia primjena pulifjne informaeijn 1 njl-liovog prelrailvanja (e 11 kunte(>eijski>) Ta/i pi-ojekti-raiija, slv:irLinju kataluu-i i H»!" dijviDva, ■•.tvaranju datoteku inlurniarija 7.a CAÜ/CAM ijrogntnic koji međusobnu kuiiumicli-ajii i iiptilreha pustupaVa asoeija-liviiog invtruiivanja 1 surtiranja ^a vrijeme jnallit i ispisa, Infoimacione slmktuie u CADrCAM sistemima tiuba pmmali.iti u ilva niviili: I. logiiMd nivo, 2. iinutaitlji nivu, 7a uliiaJu velIkDi siiiiktiira pustuji vlSe melnda koje M! vei'liiom bn/irajii ii;i dudi jel j Ivan ju iiraniea Stti (ibtiliviu-'a llstiime sliiiktitre. pridruieiie Itsiovne sirukline i postupke vlnueliiili memorija, S povećanjem ututui:nii.stl sistema datoteka, njlhi>va uporaba kao iisiema poliranu 7a CAD/CAM .sl.stunie je u t>o-i-asiu. U, PODKUCJl! PRIMJI^NI-: CAD/CAMa Ut, AtililTEKTUHA J «KADliVINARSl'VtJ B3, UKODIKJKADNJA 1 STHÜJAUSTVO D3. r^l.l-K'I'HOlINKlttìl-'nKA B4. liMiKTKCiS'l'RO.IArìSTVO I Ol'Rl-MA DS, El.liKVUÜNlKA ß6. MtiUICiNA U7, MI'ThOROI,(X;iJA, rXJÌANOlXJCÌlJA, Siii::MUi.üc;iJA CAü.'CAAl se uitnu^i na korištenje dlultiilnili raCunala kud pivjektiraiija 1 prulivudnje složenih ulijeknta kao ito sit automi>bii^ke karoseiiie, avtunl, brodovi, mostovi, tlai:tie posude 1 dr., ili elenteiiala kao ito su ra-dille.:-. elekUìiiii motori, tratislormatori, etektriinićkl krugovi, umjeliio sive i dr. Cjelokupno prujtkliranjc mo2e se i/,veiti pumuiiu račuii;ilLi, bej; ob/.lru radi )l se o elpel.tina ili bt'oilovima. inudelliiinju ditelov:i Ijuit. skog lijeta Ili iH>iiaSaiiin mura i ueeana, Uodnći d« su maieniati^ki 1 nuttivi if-ki p(>«lti|>;l u ra:i.itiiii prliiijetia-ma jaku slk'ni, prnjeklLiml Oe moći kori.-niii isti hardver i ili^an softvei-, CAI),CAM sistem povet'ava piu-diiklivitusi I I'dkaMiost n »ledieiobnu |K>ve/:milt fuza (..-linlka i tn.;dletilE:, te liioiy.vodiiie k.io Mo .-,<1 pro- iekilranle. aiiaìi/a. i.tipivina telinii'ke ................. Itoiisiriikrlja ntala t proüriimlraiiji- numerički uprav-tjanim 91 rujevi ma. HOKOVl I'RIJAVE SUDJELOVANJA S lUDOM IspiniKiut prijavu sa taietkain do ÜIX) rije«i. k„|l d:> bru iliiHIrira sadržaj i svititi rada, jii>,slaii do IS. travnja 19M, tiodlne. tldLibrane radove,, napisane prema uputama loje l'v autori dl,hiti tu ohariiesi u ............ ............ada na usiiovu sHielta, Irelia (Joslali dol, lipnja I9M, godine, ied.iti autor t>ioK> pi'ijnvlii iiajvi.ie dia lad.i. bilo kao uiilor ili ku-iuloi-, Oli:Lve/iii, s.i.%liivni dio prijave ruda ie .inkela o tadu tipkana n.i piiledlui prljave. OriKio-d r.ida (k,i,-,.,lan iu lotokopli.mje i dvije kupile, ptsiin Slii>j,-m s jt-dnosiiiiklni proiedoui. lui mala A'l, ukujmua U),sei;a du 6 ,-,liaiika Iti lia l>i\.ili pie..... iijiu- ti koju c,: aiii.iii ilohili 0:1 ub,l^iie^l 1, piilii.tlu r:ida, Haduv) veiVj; opasna iie,;e su pillii-.iitii. Uvk-ieiitlina jsi-ilikoiii i,!.K;auja bili tia l;.s|„rlimaitln di.ipivjek-IUI i urato^kop. ROK PRIJAVE PRISUSTVOVANJA BGZ »ADA Prljavu prisustvovanja simpoillu t uplatu Voilracijo ircba t/,viSiii dui. nuna 19M.. godine. KOTIZACIJA Koti^.icija l/jtiosi SJJM.Od din t nkliiifiiic Zbornik m-dova, kao i ttfe^L'e slu^oca nii svim sjednicMMt siinpu. liju. Koii-zueljii se nplaifuje na ilm-račitn Rjcktmteli-iiiilkotj lakulteta u Zamvbu broj 3at()l-MI].«5 vt ntf ^naku svrhu uplate: Kotiiaciju PI'PR, irrt« t pi-ezi-me, Autori ti^'lmju ptulilt koliiaclju po nritnitkn otuvije-sli o liOnaCnom prlbvaiu r.idti, a n.ijKasoifit do'- ™i" nu 19B4. üodinc. Plakanje kotizaeije je uv^et zn tiskanje i-ada u Zborniku simpo/ija. MJESTO ODRŽAVANJA Sini[K>/.ij e'e se odtJati u konuiv.sntni iK-omnama Zagrebačkog velesajnifl. Avenija UortKt Kidrite 1, IZLOZSE Simpi>/lj če se odr/ati u okvli-u s|h.-f:ibli/initie pi-ii-ed-be Znrreb:i£kou velesajma IMTliRlJJKO, S—ti. li^lo■ pada It)ll4, i;odme /a kuju će sudiuiiiel ii^ti Ivtpla-tan pei-manentni ttta.t. Ma Inlerbiroii svjetukl i diiina-iM proizvođači i/la^Ai svoja (iostlHHik'a iwi podi'oäju rn^tmai-ske lehitlke I CA1'>CAM upreioe. Zu sudionike piviividena ie prist^toiut denion- sti'ueija rada CADfCAM ststenia 1 druge ki>inpjuturske upteine, HOTELSKI SMJESTAI Za siidiuniVc sinipu/:iia ori;anl/jitoi- je duituvorio tnije-SlaJ u Iiuli-IluNi i;SPlANAI>C-liiteironlÌBeiilid (ile Losu), PALACI'- tAl. llECKiRAD (13), I N'f H ft« AC ION AL ied sjedni k Dr Vi=,ii;i Jui^vc, savietnlk Republiìkoc hidromcieoro-loäkun /avoita S K Iln-tttske Tajnik Mr Nikniu Žanić, ?nanslvei)i asistenc Elektri>tehni£l(OB laktiltela Sveučilišta u Zagrebu Članovi Dr tbratiim A^Jinovlt^, redovni profesor .lit u lemat ič kot; [akultcta SveučiliSta n Zn^rebu Di[>l. hi!;. Mirna Bratiillč.Rejkubu, »tfitcrtradei — predstaviiiälvo Zan«;b Dr Janku l^ianeevit!. redovtii profesor Madlcins'k| ntivo /a mdianiku Sit Hi-vatblie Oraik viiiski fuslinil Zagreb 01 •Ultaiuk> Pola ADRESA TAJNIŠTVA SIMPOZIJA tLEKTROTEtlNICKl FAKULTET ZACR^ Zavod za 01-KM (ta PPPR) Unsku 3, -llIHiO ZACREU, YUGOSLAVIA telelun: ((MJI 51S^n/23) tele«: 21234 ETF ZO YU ì: i . SISTEMI ZA ENERGETIKO Ljubljana, Tržaška a DALJINSKO IN LOKALNO PROCESNO VODENJE Z RAČUNALNIKI MIHIRAČUNALNIKI IN MIKRORAČUNALNIKI V NAŠIH DOMAČIH SISTEMIH DIPS-11 IN DIPS-85 RAZISKAVE, RAZVOJ, PROIZVODNJA, INSTALACIJA,VZDRŽEVANJE SPECIALISTIČNO ŠOLAHJE KUPČEVIH STROKOVNJAKOV ELEKTROENERGETIKA, PLINOVODI, NAFTOVODI, VODOVODI, INDUSTRIJA SODOBNA TEHNOLOGIJA - NAŠ TEMELJ PRI RAZVOJNEM DELU RAČUNALNIKI - NAŠI SOPOTNIKI NA POTI NAPREDKA OBIŠČITE NAS IN SE PREPRIČAJTE Že veliko let se ukvarjamo z raziskavami, razvojem in proizvodnjo sistemov za daljinsko in lokalno procesno vodenje. Temeljno vodilo našega delovanja na tem področju je slediti napredku v svetu in-ga presajati na naŠa domača tla. Vedno smo zavračali nosilno licenčno povezovanje s tujimi firmami povsod tam, kjer smo jasno videli, da vodi v dolgoročno odvisnost in tehnično nazadovanje. Verjeli pa smo v moč lastnega marljivega dela in v ustvarjalnost naših delavcev ter z vstrajnim delom dosegli uspehe, katere nam lahko zavidajo neprimerno večji in bogatejši tekmeci. Prav zaradi lastne poti in lastnega znanja smo s svojim razvojnim delom ves čas uspeli slediti najnovejšim tehnološkim dosežkom v svetu. V praktično življenje (računalniški nadzor v elektroenergetiki) smo vpeljali najsodobnejše mikroračunalnike. Tako smo od prvih računalniških korakov pred več kot petnajstimi leti dospeli do sedanjih kompleksnih sistemov za procesno vodenje.