Prvi koraki v programiranje
"Oči*, nauči me programirati!" Besede, ki se jih programerji veselimo, hkrati pa se jih bojimo. Kaj naj predstavimo otroku - morda okolje, v katerem preživimo dneve? Oh, prekomplicirano, le kako ga bo razumel. Kaj pa drugega? Basic? Logo? Kaj je sploh priljubljeno dandanes? Kar priznajte, da nimate pojma, kaj predstaviti potomcu - tudi jaz ga nisem imel.
Ogledali smo si več razvojnih okolij, primernih za nadobudne programerje različnih starosti in želja. Preden pa se lotite dela, se prepričajte, ali gre samo za muho enodnevnico ali pa vašega naslednika programiranje res zanima. Za začetek poskusite kar z računalniško igrico.
Light-Bot
Light-Bot je majhen robotek, ki se sprehaja po kvadratni mreži, skače na zaboje in prižiga lučke na modrih poljih. Cilj je enostaven - vsa modra polja na tisti stopnji prebarvati v rumena - postopek pa ne tako.
Robotka namreč ne vodite z miško, smernimi tipkami ali na katerikoli drug neposreden način, temveč morate sestaviti program, klikniti "Go!" in robotek se bo odpravil naokoli, kakor mu veleva program, ter polja prebarval v rumena - ali pa (in to bo vsaj na začetku pogosteje) tudi ne.
Programski jezik je enostaven. Na voljo imate ukaze za premik, obrat, skok in barvanje polja. Z metodo povleci-in-spusti jih razmestite v dvanajst celic dolg program. Ker je dolžina programa vsaj na višjih stopnjah velika omejitev, sta na voljo tudi dva podprograma, dolga osem celic. Podprograma lahko kličete iz glavnega programa, lahko pa tudi en podprogram kličete iz drugega, tako kot na sliki.
Program je sicer čisto prijeten, ima pa nekaj opaznih slabosti. Najpomembnejša med njimi je, da med izvajanjem programa ne vidite, kateri korak robotek trenutno izvaja, zato je treba dogajanju zelo natančno slediti, če želite odpraviti napake. Druga slabost pa je le 12 stopenj, od katerih so prve lahke, zadnje tri pa nesramno težke. Priznati moram, da se je pri enem zataknilo tudi meni in sem šel poiskat rešitev v internet :(
Pa še majhen nasvet - ko igrico poženete, bo levo zgoraj začel utripati napis "Loading", ki tudi po daljšem času ne izgine. Ne menite se zanj, kliknite "Play" desno pod reklamo, pa se bo Light-Bot pognal na delo.
Light-Bot med izvajanjem programa, ki reši prikazano stopnjo.
Light-Bot
Kaj: Igrica.
Naslov: armorgames.com/play/2205/light-bot.
Okolje: Flash.
Cena: Zastonj.
Scratch
Scratch je na Logu zasnovan programski jezik, s katerim po zaslonu premikamo predmete - slikice. Te se odzivajo na različne zunanje dogodke (tipkovnica, miška) in na položaj drugih predmetov. Z njim lahko sprogramirate že kar spodobno igrico ali pa čisto resen program, denimo takega za interaktivno risanje a la Slikar. V spletni galeriji projektov je silno veliko zgledov, večinoma igric.
Če se s programiranjem še niste spopadali, nič hudega. V Scratchu ni tipkanja, ni prevajalnika in podobnih strašljivih orodij in pravzaprav sploh ne morete napisati programa, ki ne bi deloval. Programirate namreč tako, da v program vlečete gradnike, ki program sestavljajo. Gradniki so različnih vrst - od premikalnih (zavrti se za toliko-in-toliko, premakni predmet ...) do upravljalnih (ponavljaj N-krat, ponavljaj dokler ...), sestavljate pa jih lahko le na način, ki zagotavlja pravilno delovanje. Ukaz lahko odložite le na mesto, kjer ima ukaz smisel, pri tem pa vam pomaga oblika programskih gradnikov, ki nakazuje, kam določen ukaz spada. Programe lahko poganjate v razvojnem okolju ali pa jih zapakirate v spletno aplikacijo, ki jo uporabniki izvajajo v brskalniku, za to pa potrebujejo nameščeno javo.
Lepota Scratcha je tudi v slovenščino preveden uporabniški vmesnik, ki pa mu žal nekaj prevodov manjka. (Glavni menu programa, na primer, se glasi: "File, Uredi, Share, pomoč".) Kljub temu bo začetnikom slovenščina v veliko pomoč, kakšen nepreveden ukaz pa bodo že pojasnili starši ali pa mentor (če seveda za računalnikom ne sedi tipičen slovenski otrok, ki s petimi leti že klika igrice po internetu in mu angleščina ne dela težav). Pri prvih korakih pa bo pomagala tudi knjiga Scratch, ki jo je v slovenščino prevedla in izdala založba Pasadena (pasadena.si).
Enostaven programček v Scratchu, ki premika mačkona, riše sled za njim in spreminja barvo peresa.
Scratch
Kaj: Na Logu zasnovano programsko okolje.
Naslov: scratch.mit.edu
Okolje: Windows, OS X, Ubuntu.
Cena: Zastonj.
Alice
Podobno kot Scratch tudi v Alice upravljate predmete, le da je tu vse bistveno bolj dodelano - namesto enostavne črtaste grafike, ki se sprehaja po zaslonu, tu upravljate tridimenzionalne predmete v tridimenzionalnem navideznem svetu.
Tudi programiranje je izvedeno podobno - na zaslon vlečete ukaze, jih sestavljate v večje skupine (podprograme), te kličete iz drugih skupin ukazov in tako naprej, do glavnega programa, ki se požene, ko odprete "Svet" (tako se namreč imenuje skupek okolja, predmetov in programov zanje). Samo programiranje pa je tu precej bolj zapleteno, saj vas okolje ne vodi za roke, temveč morate vsaj približno vedeti, kaj boste počeli in kako boste prišli do želenega rezultata.
Na začetku vam bo zelo koristil vgrajeni učitelj, ki vas po korakih vodi po osnovnih ukazih in vam s tem razloži razne koncepte programskega okolja. Žal pa "učitelj" odpove v slovenskih računalnikih, ker mu ni čisto jasno, da imamo decimalke zapisane po neameriško. Da nam na primer navodilo, da moramo v neko polje vpisati "0.25", v Alice pa lahko - vsaj če so v računalniku nastavljena slovenska pravila za oblikovanje datumov in števil - vpišete le "0,25". Ker polje nikoli ne ustreza pričakovani vrednosti, tudi učitelj ne zna nadaljevati, in lekcija se žalostno ustavi.
Začetek je torej težji, konec pa slajši, saj v Alice lahko sprogramirate čisto pravo tridimenzionalno igrico, na primer letalski simulator (zelo enostaven, seveda). Programsko okolje teče na javanskem navideznem stroju, zato ne preseneti, da je moč dokončane programe poganjati v poljubnem brskalniku, seveda pod pogojem, da ima brskalnik vtičnik za javo.
Enostaven simulator letenja, napisan v okolju Alice.
Alice
Kaj: Predmetno programiranje navideznega sveta.
Naslov: www.alice.org
Okolje: Windows, OS X, Linux.
Cena: Zastonj.
Etoys
Etoys je, prav tako kot Scratch, zasnovan na okolju Squeak, izvedba pa se bistveno razlikuje. Etoys je od "bratranca" bistveno bolj znan, saj je to programersko okolje vključeno v računalnike projekta OLPC, a ga je hkrati tudi bistveno bolj nerodno uporabljati. Vmesnik je neintuitiven, premikanje ukazov okorno, na zaslonu je na kupe ikon, ki jih ne razumemo, če ne gremo brat dokumentacije, in tako naprej.
Sam pristop k programiranju je zelo podoben - upravljamo predmete v dvodimenzionalnem svetu. Ti lahko za sabo puščajo sled, se premika in vrtijo ter se odzivajo na zunanje dogodke. Ker pa je grajenje programov štorasto, programiranje namesto zabave hitro postane zahtevno in nerodno opravilo. Otrokom (in tudi odraslim) bo bistveno bolj všeč Scratch.
Enostaven program, napisan v okolju Etoys, ki vodi avtomobilček po zaviti progi.
Etoys
Kaj: Na Logu zasnovano programsko okolje.
Naslov: www.squeakland.org.
Okolje: Windows, OS X, Linux.
Cena: Zastonj.
Kojo
Zapustimo zdaj enostavna okolja s programiranjem tipa povleci-in-spusti in se posvetimo okoljem, v katerih je treba programirati na klasični način, s tipkanjem znakov v tekstovni urejevalnik.
Za Kojo bi marsikdo na prvi pogled rekel, da ga programiramo z nekim dialektom jezika logo, saj po zagonu na zaslonu kraljuje klasična želvica, pa ni tako. Čeprav gre za okolje, ki temelji na idejah originalnega koga, za samo programiranje uporabljamo programski jezik scala, ki je sodoben jezik, v katerem lahko programirate tako predmetno kot tudi funkcionalno, rezultat (in seveda tudi samo izvajalno okolje) pa se izvaja v javanskem navideznem stroju. Ideje je Kojo jemal tudi iz drugih okolij, omenjajo na primer Processing, najbolj zanimivo od vsega pa je, da lahko v njem scalo kombiniramo z opisnimi elementi HTML in tako zgradimo dinamične strani, ki so delno program, delno pa opisna koda HTML (ali pa navadno besedilo, na primer dokumentacija). Tako je tudi priročnik za začetek dela s Kojom napisan kar v tem okolju, na voljo pa vam je tudi izvirna koda priročnika.
Posebnost Koja je tudi programirljiva geometrija. Risbe, ustvarjene s Kojom, niso statične, temveč interaktivne - nanje lahko "obesite" dogodke, ob katerih se sproži določena programska koda. S tem postane Kojo odlično orodje za programiranje matematičnih, fizikalnih, kemijskih in drugih elektronskih učbenikov.
Začeti s Kojom res ni enostavno, saj je treba kar nekaj znanja o samih principih programiranja, a vam pri tem lahko pomaga več različnih virov - od učbenika, vgrajenega v programsko okolje, do elektronskih knjig (nekaj brezplačnih, nekaj plačljivih) in foruma, v katerem uporabniki objavljajo svoje projekte (www.kogics.net/codesketch).
Kombinacija Logu podobnega okolja z elementi HTML je zelo primerna za demonstracijo matematičnih konceptov.
Kojo
Kaj: Logu podobno okolje, ki temelji na jeziku scala.
Naslov: www.kogics.net/sf:kojo.
Okolje: Windows, OS X, Linux.
Cena: Zastonj.
SmallBasic
Le kam bi prišli, če si med danes predstavljenimi programskimi jeziki ne bi ogledali nobenega iz družine basic? Jezik, ki ga povsem po nepotrebnem spremlja zelo slaba karma, saj se marsikdo med nami še vedno spomni Spectrumov in podobnih mlinčkov, v katerih se je vsak tretji ukaz glasil "GOTO", je v minulih letih doživel silno veliko sprememb in postal eden izmed osnovnih jezikov za programiranje Windows, sploh v okolju .NET. Tudi SmallBasic je, čeprav zelo poenostavljen, primeren za učenje strukturiranega programiranja, saj pozna kontrolne strukture, podprograme, ne pa predmetov in drugih konceptov sodobnega programiranja.
Bistvo SmallBasica je torej enostavnost. Enostavnost jezika in enostavnost programiranja. Tako kot jezik je tudi okolje poenostavljeno do skrajnosti. V oknu programiramo, ob tem se nam na desni sproti prikazuje pomoč za trenutno izbrani element, pa naj bo to kontrolna struktura ali funkcija iz vgrajenih knjižnic, program pa lahko le poženemo in ustavimo. Možnost razhroščevanja (torej iskanja napak) ni. Kljub temu v SmallBasicu mlajši in starejši programerji pišejo kar zahtevne projekte in jih tudi objavljajo v spletu. Tudi to so namreč poenostavili do skrajnosti - pritisnete gumb "Publish", program vas vpraša za ime, pod katerim bodo lahko drugi našli program, in to je to. Tudi v drugo smer je postopek skrajno enostaven - pritisnete gumb "Import", vpišete ime programa, okolje najde v spletu, prenese v računalnik in odpre v novem oknu.
SmallBasic je odlično okolje za začetek "resnega" programiranja, če nimate moralnih ali verskih predsodkov do uporabe basica, za takrat, ko boste presegli zmogljivost SmallBasica, pa so v Microsoftu že vgradili gumb "Graduate", ki bo vaš program izvozil v "pravi" Visual Basic v razvojnem okolju Visual Studio.
V SmallBasicu napisan tetris.
SmallBasic
Kaj: Razvojno okolje za enostavni dialekt jezika basic.
Naslov: www.smallbasic.com.
Okolje: Windows.
Cena: Zastonj.
Hackety Hack
Tudi Hackety Hack gradi na znanem programskem jeziku. Tokrat je to Ruby, ki so mu dodali še knjižnico za grajenje grafičnih aplikacij Shoes.
Hackety Hack je primeren za prve korake v svet Rubyja, vprašanje pa je, ali je primeren tudi za prve korake v svet programiranja. Vgrajen je sicer priročnik, ki nam pojasni osnove dela s programskim okoljem, osnove Rubyja in osnove knjižnice Shoes, a še vedno boste programirali v nepoenostavljenem Rubyju. Poleg tega je delo s programom skrajno nerodno - nismo našli niti možnosti uvoza obstoječih programov, čeprav je objavljanje programov v internetu (na spletnih straneh avtorja) izredno enostavno. Edini delujoč način (vsaj tako je videti) je, da na disk v pravo mapo v datoteko s končnico .rb prepišete program in, ko zaženete Hackety Hack, bo ta prikazal program na seznamu obstoječih programov. Poleg tega je del uporabniškega vmesnika vsaj v operacijskem sistemu Windows 7 čudno porezan in nismo prepričani, da kakšne funkcije nismo našli enostavno zato, ker je ni videti na zaslonu.
Enostavna igrica, sprogramirana v okolju Hackety Hack
Hackety Hack: Ruby-based
Kaj: Razvojno okolje za jezik ruby z dodatkom grafične knjižnice Shoes.
Naslov: www.smallbasic.com.
Okolje: Windows, OS X, Linux
Cena: Zastonj.
Kodu
Morda ste opazili skupno temo opisanih programskih okolij? Z njimi je zelo enostavno izdelovati igrice. Take za Windows, OS X in Linux, pa tudi za spletne brskalnike (večinoma z dodatkom vtičnikov za javo). Kaj pa iPhone, iPad, Android? Kaj pa igralne konzole?
Vsaj za eno od slednjih, za Xbox 360, je poskrbel Microsoft z okoljem Kodu. Lahko bi rekli, da gre za okolje, podobno tistemu v programskem okolju Alice. S svojim programom upravljate navidezni tridimenzionalni svet, v katerem z raznimi akcijami upravljamo predmete. Tudi programiranje je podobno; kot da bi sestavljali lego kocke, sestavljamo gradnike v programe. Vmesnik je prilagojen ploščku konzole Xbox in se z njim najbolje razume, a programe lahko krmilite tudi z miško in tipkovnico.
Poleg možnosti programiranja vsebuje Kodu tudi močan urejevalnik za virtualni svet, v katerem živijo naši junaki. Oblikujemo lahko teren, ga pobarvamo z različnimi materiali, dodamo vodo in podobno. O tem, da je delo s Kodujemo enostavno in rezultati dobri, priča tudi množica iger, izdelanih s tem orodjem, ki jih najdete v omrežju Live.
O razvojnem okolju Kodu smo pisali marca 2010 (www.monitor.si/clanek/programiranje-za-telebane/).
Kodu: Uporabniški vmesnik okolja Kodu je prirejen upravljanju s ploščkom Xbox.
Kaj: Vizualni programski jezik za izdelavo enostavnih iger.
Naslov: fuse.microsoft.com/kodu.
Okolje: Windows, Xbox 360.
Cena: Za Windows zastonj, za Xbox 5 dolarjev.
Corona
Opisana programska okolja so bodisi zastonj ali zelo poceni, tega pa žal ne moremo reči za okolje Corona. Kljub temu ga tu omenjamo, saj se nam zdi najenostavnejša rešitev za izdelavo programov, ki tečejo tako v okolju iOS kakor tudi Android in, če imate nadobudnega naslednika, ki je že preživel prve korake v programiranje in zdaj išče način, kako bi s svojimi izdelki zaslužil milijone (no, ali pa vsaj toliko, da bo odplačal investicijo v razvojno okolje), si vsekakor oglejte Corono.
Okolje je namenjeno predvsem razvoju igric, a lahko v njem sprogramirate kakršnokoli aplikacijo. Razvijate v jeziku lua, ki je vsaj na Macih zadnje čase strašno priljubljen, pri tem pa vam pomagajo knjižnice, ki podpirajo vse zmožnosti sodobnih telefonov in tablic, od zaslona na dotik do kompasa in merilca pospeška. Ob vseh zmogljivostih pa je razvojno okolje skrajno okrnjeno. V računalnik se namestita le simulator in razhroščevalnik, urejevalnik pa ne. Čisto enostavno - urejevalnika ni. Pika. Uporabljate kar Notes ali kaj podobnega. Eh.
Za samo izdelavo programov za ciljno napravo še vedno potrebujete Applovo razvojno okolje (Xcode) in/ali Android SDK, ter ustrezen razvijalski račun. Preizkusna različica Corone omogoča izdelavo aplikacij, ki jih lahko preizkušate na svojem telefonu/tablici, ne morete pa jih objaviti v internetu; poleg tega programi, izdelani s preizkusno različico, na začetku prikažejo okno z opozorilom. Kljub temu si lahko v tridesetih dneh, kolikor deluje okolje brez plačila, Corono temeljito ogledate in preizkusite ter se prepričate, ali ustreza vašim potrebam.
Enostavna igrica in njen program v jeziku lua
Corona
Kaj: Razvojno okolje za mobilne naprave iOS in Android.
Naslov: www.anscamobile.com/corona/
Okolje: Windows, OS X.
Cena: 199 dolarjev na leto z možnostjo objave na iOS ali Androidu (enem izmed), 349 dolarjev na leto z možnostjo objave na iOS in Androidu; 30-dnevna preizkusna različica.
RoboMind
Za mobilne naprave je torej poskrbljeno, vsaj če ste pripravljeni malo globlje seči v žep. Kaj pa, če si vaš nadobudnež želi nadzirati resnični svet - upravljati garažna vrata, prižigati luči v sobi, streljati na sosedovo mačko z vodno puško, pritrjeno na robota ,in podobno? Za začetek preverite njegovo resnost s programskim okoljem RoboMind.
RoboMind je razvijalno okolje, združeno s simulatorjem. V programskem orodju napišete program, ki nato upravlja terensko vozilo, nekakšen križanec med tankom in robotom. Vozilo se lahko premika, za sabo pušča sled (Ste pomislili na Logo? Prav imate!), gleda okoli sebe, prime in premika predmete, upravljate pa ga s programom ali z navidezno krmilno ploščo.
Programirate v jeziku, podobnemu poenostavljenemu Cju z nekaj posebnimi funkcijami, ki upravljajo robota, programe pa lahko vpišete neposredno v tekstovni urejevalnik ali pa jih izberete z menuja, program pa jih vpiše v urejevalnik. Program nato poženete in gledate, kako se po zaslonu premika robot in kaj počne. Določite lahko hitrost izvajanja programa ali pa ga izvajate korak po korak. Skratka - zelo enostavno in zelo učinkovito. Priloženih je tudi nekaj enostavnih programov, ki vam bodo olajšali prve korake v svet navidezne robotike.
Z enostavnim programom robotek sledi beli črti
RoboMind
Kaj: Razvojno okolje in simulator navideznega robota.
Naslov: www.robomind.net.
Okolje: Windows, OS X, Linux.
Cena: Zastonj.
Lego Mindstorms
Ko navidezni roboti ne bodo več zadostovali, lahko posežete po kompletu Lego Mindstorms. Gre za razširitev priljubljenih "lego kock" z motorji, senzorji, krmilnikom in razvojnim okoljem. V paketu dobite tudi dovolj kock za izgradnjo nekaj zanimivih robotov ter navodila za njihovo programiranje. Osnovni paket senzorjev vsebuje merilec razdalje (s tem robot nadomešča vid), merilec svetlobe in barve in senzor dotika, na voljo pa so tudi dodatni senzorji, kot so mikrofon, kompas in merilec pospeška.
Robote programiramo z grafičnim okoljem, v katerem z metodo povleci-in-spusti sestavljamo programe iz osnovnih gradnikov. Za prve programe je takš način silno primeren, ko pa poskušamo sestaviti bolj kompleksno logiko, postane okolje nerodno in neuporabno. Zahtevnejši robotiki bodo zato posegli po katerem od alternativnih programskih orodij, ki omogočajo programiranje s "testovnimi" programskimi jeziki, kot so C, java, lua in visual basic. (Celoten seznam najdete na Wikipedii.)
Računalnik z robotom komunicira po kablu USB (krmilnik priklopite, naložite program, odklopite in poženete robota) ali z vmesnikom bluetooth. Zanimivost slednjega je, da lahko na ta način medsebojno komunicira več krmilnikov, to pa omogoča gradnjo zelo zapletenih robotskih sistemov. Kar odpravite se malo na YouTube in poglejte, kaj vse je uspelo uporabnikom zgraditi.
Edina pomanjkljivost sistema Mindstorms je cena. Če ste pripravljeni odšteti 300 evrov za novoletno darilo, pa boste dobili igračo, s katero se ne bodo zabavali samo otroci.
O sistemu Lego Mindstorms smo pisali avgusta 2007 (www.monitor.si/clanek/roboti-za-samograditelje/).
Programiranje robotov Lego Mindstorms.
Lego Mindstorms
Kaj: Robotski razvojni komplet.
Naslov: mindstorms.lego.com.
Okolje: Windows, OS X.
Cena: 285 evrov.
Arduino
Za prve korake v nerobotsko programiranje, še posebej, če ima ciljna oseba žilico za elektroniko, priporočamo Arduino. Za razliko od prej omenjenih izdelkov je to celoten sistem za hobi elektroniko, razvit po načelih odprtokodnega projekta. V internetu najdemo marsikaj, od načrtov za samoizdelavo do bolj ali manj dragih izdelkov, ki so na voljo kot kit komplet (torej ga morate še sestaviti) ali pa kot dokončani izdelki. Seveda je od zmogljivosti in stopnje sestavljenosti odvisna tudi končna cena. Osnovni razvojni paket dobite za približno 30 evrov, kupovati pa ne bo treba čez lužo, saj je sistem silno močan v Evropi, v Sloveniji pa ima vsaj dva prodajalca - tehnologija.biz in www.smakshop.si.
Bistvo Androida je v standardizirani platformi, na katero lahko priključujemo najrazličnejše zunanje dodatke, ki zaradi standardizacije delujejo s katerokoli osnovno ploščo, tudi če ste jo sespajkali v domači delavnici. Tako dobimo "ščite" (v terminologiji razvijalcev za Arduino se tem dodatkom reče "shield") za priklop na ethernet, USB, RS-232, bluetooth, WiFi, najrazličnejše zunanje senzorje in motorje in še in še.
Razvojno okolje Arduino IDE je napisano v javi in ga lahko uporabljate v raznih operacijskih sistemih. Programirate v jeziku C ali C++, kar je vsekakor smiselno glede na "majhnost" (merjeno v hertzih in bajtih) nekaterih razvojnih platform. Osnovni Arduino Uno ima, denimo, le 32 KB (ja, kilobajtov) pomnilnika za program ter 2 KB dinamičnega pomnilnika, deluje pa pri 16 MHz. Če ste navajeni programirati za Windows in razmetavati s pomnilnikom in procesorjem, se bo treba programiranja za Arduino na novo privaditi. Če boste začeli "iz nič", pa se vam to ne bo zdelo nič posebnega (utegne pa vas zadeti kulturni šok, če boste kasneje presedlali na Windows, OS X ali katerikoli drugi sodobni operacijski sistem).
Razvojna plošča Arduino Uno
Arduino
Kaj: Sistem za hobi elektroniko.
Naslov: www.andruino.cc.
Okolje: Windows, OS X, Linux.
Cena: Odvisna od izdelka, od nekaj deset evrov naprej.
* Ali pa mami, seveda, naj se programerke med nami ne počutijo zapostavljeno.)
Komentarji
podviz | 29.10.2014 | 22:14
Pozdravljeni, Na tablici imam Light-bot, različica 2.02. Prišel sem do stopnje 10, ki pa je ne znam rešiti. Zanimivo pa je, da mi aplikacije na Google Play pod Moje aplikacije ne izpiše. Ali je možno, da so jo odstranili s tržnice? Na Google Play sta trenutno dve drugi zastonjski Light-bot, vendar mene zanima ta stara. Iskal sem rešitve po spletu, a neuspešno. Ali lahko pomagate? Hvala.
Matjaž Klančar | 30.10.2014 | 09:32
Čisto možno, da.