i i “1406-Peterlin-Tekmovanje” — 2010/8/17 — 14:27 — page 1 — #1 i i i i i i List za mlade matematike, fizike, astronome in računalnikarje ISSN 0351-6652 Letnik 27 (1999/2000) Številka 4 Strani 208–209 Primož Peterlin in Aleš Košir: PRVO TEKMOVANJE IZ UNIXA Ključne besede: računalništvo, operacijski sistemi, Unix, tekmovanja. Elektronska verzija: http://www.presek.si/27/1406-Peterlin-Kosir.pdf c© 2000 Društvo matematikov, fizikov in astronomov Slovenije c© 2010 DMFA – založništvo Vse pravice pridržane. Razmnoževanje ali reproduciranje celote ali posameznih delov brez poprejšnjega dovoljenja založnika ni dovo- ljeno. Računalništvo I PRVO TEKMOVANJE IZ UNIXA V okviru 23. tekmovanja srednješolcev iz računaln ištva in 5. festi vala računalništva je bilo 24. aprila 1999 na Faku lt eti za računalništvo in informatiko t udi prvo tekmovanje v kategoriji Unix, ki ga je organiziralo Slovensko društ vo up orab nikov Linuxa . Glede na dolgo in uveljavljeno tradicijo računalniških tekmovanj za srednješolce, na katerih je velika teža dana problemom, ki so enostavno rešljivi s postopkovnimi programskimi jez iki, skuša to te kmovanje dati večj i pomen rešit vam z alte rnativnimi oro dji, znanimi iz program skega okolja sistemov Unix. Pri prip ravi nalog za tekmovanje smo se člani organizac ijs kega odbora ozirali naokoli v up anju , da bo mo našli kakšen zgled pod obnih te kmovanj po svetu . Našli nism o nič . Zato bi želeli vsaj svoj e izkušnj e posredovati d rugim v upanju, da spodbudimo sode lovanje na te m področj u . Tako zdaj predstavljamo naloge, zastavljene na lan skem tekm ovanju . Njihove rešitve in komentarji bodo objavljeni v naslednji številki Preseka. 1. n aloga : Frekvenčna a naliza b esedila Naredi preprosto frekvenčno analizo besedila . P reberi datot eko in na st andardni izho d izpiši seznam vseh besed v datoteki in njihovih frekvenc . Seznam naj bo ur ejen po vrsti od najmanj frekvent nih besed do najbolj frekvent nih . Frekvenc a je število, ki pove, kolikokrat se beseda po javi v datotek i. V datoteki ni drugih zna kov razen presledkov in črk. 2. naloga : Vi Na sistemu z veliko up orabniki se želiš izogni t i te mu, da bi isto datoteko z urejevalnikom vi odprl več kot en uporabnik hkrati . P redlagaj rešit ev! Rešitev zapiši kot skript. Komenti raj , kaj so po t voje m mnenju prednost i in slabosti tvojega pred loga. P redpost avit i smeš , da vsi uporabniki kličejo ur ejevalnik tako: vi datoteka. Urejevalnik vi sam po sebi ne opo zori, ali je neko datoteko že odprl kdo drug. 3. naloga: Premešaj V neki datoteki so vrst ice urejene po določenem kr it eriju. Ta ur ejenost te moti , zato želiš vrstice psevdonaključno preme- šati . Na piši kodo, ki bo to storila . Bod i po zoren na učinkovitost svojega predloga. "Psevdonaklj učno" pomeni , da smeš uporabit i generator na- ključnih števil, ki t i je v t voje m orodju na voljo. 4 . naloga: Številke IP V te kstovni datoteki so na več mestih zapisani številski naslovi IP , ki jih želiš spremenit i v po lnovr edno ime računalnika (FQDN, angl. fully qualified dom ain nam e). V bazi /etc/hosts so po vrs t ica h naveden i št evilski naslov in njegovo polnovr edno ime: 193.2.1.72 nanos.arnes .si V datot eki razen taki h zapisov ni nič drugega . Računalništvo Številski naslov rp je lahko obl ike: O. O. 0 .0-255 .255.255 .255. Brez škode za splošnost lahko predpostaviš, da v tv oji datoteki vsak zapis oblike O. O. 0 .0-999 .999.999 .999 pr edst avlja šte vilski naslov IP in da imajo vsi v datoteki zapisani številski naslovi pripadajoča polnovredna imena v bazi. Upošte vaj še, da se naslovi IP razen s pr esledki ne st ikajo z drugimi znaki. P ri vseh nalogah je bila dovoljena uporab a ukazov ukaznih lupin (csh , sh , bash , ksh, ... ) , skriptnih jezikov (Sed , Awk , Perl , .. .) in običajnih progr amov, ki sest avljajo sistem UNIX skladno s priporočilom POSIX.1. Višjih programskih jezikov (C , pascal , for tran, ...) ni bilo dovoljeno up orabiti . Če so bili t ekmovalci v dvomu , ali so up orab ljena sredstva dovoljena, so lahko kad arkoli za nasvet povprašali nadzorno komisijo. Odločitev nadzorne komi sije je bila dokončna. Tekmovanja se je udeležilo 13 tekmovalcev . Za reševanje nalog so imeli 90 minut časa, smeli so uporab ljati lit erat uro, niso pa imeli dostopa do računalnika , kjer bi lahko svoj e ideje preveri li . Komisij a je zato navzlic morebi tnim napakam v skladnji ugodno obravnavala t udi rešitve, ki so vsebovale praviln e zamisli, te r po pr egledu oddanih nalog sklenila pod eliti t ri nagrade: 1. Andraž Tari , ZRI Ljubljana, 3. letnik 2. Mitja Bezget, SERŠ Maribor, 2. let nik 3. Gašpe r Fele-Žorž, Gimnazija Kranj , 4. let nik Vsi tekmovalci, ne le nagrajenci, so pr ejeli tudi praktične nagr ad e, ki so jih prispevali spo nzorji. . Or ganizatorji menimo, da je bila prvo let o nekoliko slabša ud eležba pr edvsem zaradi pomanjklj ive obveščenosti. To nameravamo letos , ko bo v okviru 6. fest ivala računalništva v začetku aprila dr ugo tovrstno te kmovanje, popraviti . Za konec še kr atek komentar o imenu samega tekmovan ja. Uni x (ali Linux) v ožjem pomenu bes ede pomeni le jedro op eracijskega sistema . Naloge na ravni jedra niso bile del tekmovanja in - glede na omejen čas in sreds tva tekmovalcev - ta hip niti ne bi bile smiselne . Po šteno pa se nam zdi pri znati , da smo se v iskanju komprom isa med kratkimi in privlačnimi imeni ter natančnimi in dolgimi odločili nekoliko v prid prvih . Kaj se ve - morda pa nam nekaj ohlapnejša definicija morda kdaj še pr av pride? Primož Peterlin in Aleš J{ošir