bilten zimske Škole informatikezorski su potpomogli algebra, pc-automati i zozolly. pokroviteljstvo...

74

Upload: others

Post on 18-Feb-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,
Page 2: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

BILTEN ZIMSKE ŠKOLE INFORMATIKE KRAPINA 2014.

S A D R Ž A J 19. zimska škola informatike .............................................................................................. 3 Pregled radionica, voditelja i pohvaljenih polaznika .......................................................... 4 Svečano otvaranje ............................................................................................................... 5 Popis pozvanih učenika....................................................................................................... 7 Dojmovi sudionika .............................................................................................................. 8 Svečano zatvaranje.............................................................................................................. 9 Popis polaznika po radionicama........................................................................................ 12 Radionice:

LOGO.................................................................................................................... 21 C++ početni........................................................................................................... 22 C++ / STL ............................................................................................................. 24 C#.Net ................................................................................................................... 27 PYTHON............................................................................................................... 30 WEB početni ......................................................................................................... 32 WEB napredni....................................................................................................... 35 JAVA Android ...................................................................................................... 40 FLASH .................................................................................................................. 49 Početnici – osnove računala .................................................................................. 53 Računalo plus ........................................................................................................ 55 Algoritmi za OŠ .................................................................................................... 61 Algoritmi za SŠ ..................................................................................................... 66 Primjena računala u nastavi .................................................................................. 70

Plakat i sponzori ZŠI......................................................................................................... 73

Page 3: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014.

3

19. ZIMSKA ŠKOLA INFORMATIKE – KRAPINA 2014.

Već tradicionalno mladi informatičari novu godinu započinju radno, u Krapini. 187 polaznika ove, 19. po redu Zimske škole informatike okupilo se već 2. siječnja 2014. u Srednjoj školi Krapina u lovu na nova znanja i vještine. Uz 30 učenika osnovnih i srednjih škola, najboljih mladih informatičara Hrvatske, pozvanih od strane Hrvatskog saveza informatičara, na ZŠI 2014. je sudjelovalo i 119 učenika i 37 profesora Krapinsko-zagorske županije, te jedan student.

19. zimsku školu informatike Krapina 2014. organizirali su u Krapini od 2. do 10. siječnja 2014. Hrvatski savez informatičara, Srednja škola

Krapina i Krapinski informatički klub.

Program 19. zimske škole informatike 2014. održan je u prostorima Srednje škole Krapina, a polaznicima je na raspolaganju bilo 5 učionica s više od 80 računala u kojima su polaznici kroz 15 radionica usvajali nova znanja iz algoritama, programskih jezika (C++, Logo, Python, Java Android, C#.NET), izrade WEB stranica, osnova računala i interneta i dr.

Osim u radionicama, polaznici su nova znanja mogli steći i na predavanjima koja je održao doc. dr. sc. Ante Đerek, docent na Fakultetu elektrotehnike i računalstva: "Komu-nikacijska složenost" i "Strojno učenje".

U predahu između radionica i preda-vanja pozvani učenici posjetili su "Muzej krapinskog neandertalca" i konfekciju tekstila "Kotka".

Na ZŠI 2014. u Krapini sudjelovalo je 14 predavača (7 iz Krapine, 7 iz HSIN-a), a organizaciju su vodili Aron Bohr, voditelj ZŠI 2014. za HSIN, Miljenko Hmelina, profesor SŠ Krapina, organizacijski voditelj sa strane domaćina i Stjepan Šalković, profesor SŠ Krapina, tehnički voditelj.

19. zimsku školu informatike spon-zorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske, Hrvatska zajednica tehničke kulture, Krapinsko-zagorska županija, Grad Krapina i Zajednica tehničke kulture Krapinsko-zagorske županije.

Krešimir Malnar, v.d. tajnik HSIN-a

Page 4: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014.

4

PREGLED RADIONICA, VODITELJA I POHVALJENIH POLAZNIKA

R. br. Radionica Predavač Broj

polaznika Pohvaljeni

1. Algoritmi OŠ Antonio Jurić Branimir Filipović 11 Josip Kelava i Marko

Cvitković

2. Algoritmi SŠ Matija Milišić Marin Tomić 19 Marin Kišić, Ivan Žufić i

Stjepan Požgaj

3. C++ početni Branimir Filipović 8 Domagoj Gavranić, Magdalena Potočnjak i Mark Rajković

4. C++ / STL Mihael Liskij 9 Dorijan Lendvaj, Juraj Štern-Vukotić i Josip Kelava

5. C# .Net Danijel Kučak, prof. 11 -

6. C# .Net za profesore Danijel Kučak, prof. 24 -

7. Flash Marko Mikša, prof. 17 Vladimir Šindler, Nina Šalković i Lucija Šalković

8. Java Android Nikola Presečki 27 Alen Štruklec i Domagoj Gavranić

9. Logo Mihael Liskij 7 Lea Kovačec i Matija Meštrović

10. Početnici Miljenko Hmelina, prof. 12 Martin Šalković i Borna Draganić

11. Primjena računala u nastavi Krunoslav Kranjčec, prof. 9 -

12. Python Vjekoslav Giacometti 8 Vladimir Šindler, Rene Javorić Ilić i Nikola Jug

13. Računalo plus Miljenko Ilić, prof. 38 Karlo Lukšić, Lara Lalić, Antonia Hušnjak i Luka Škreblin

14. Web početni Nataša Munitić 17 Dominik Presečki, Borna Cesarec i Laura Presečki

15. Web napredni / CSS Nataša Munitić Vjekoslav Giacometti 8 Luka Hršak

Page 5: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014.

5

SVEČANO OTVORENJE

Na svečanosti otvaranja održanoj 3. siječnja 2014. polaznicima, predavačima i voditeljima pridružili su se i mnogi uvaženi gosti iz Krapinsko-zagorske županije, Grada Krapine, Agencije za odgoj i obrazovanje i Ministarstva znanosti, obrazovanja i sporta, Hrvatske zajednice tehničke kulture, Srednje škole Krapina, Krapinskog informatičkog kluba i Hrvatskog saveza informatičara.

Nakon kratkog uvoda dobrodošlice, obratio se ravnatelj Srednje škole Krapina, gosp. Ivica Rozijan, te je svim prisutnima poželio svako dobro u novoj 2014. godini i pozdravio sve u ime domaćina, posebno uvažene goste. Istaknuo je da broj sudionika Zimske škole informatike pokazuje kako učenici shvaćaju aktivan odmor od nastave, a to je korištenje slobodnog vremena za stjecanje novih znanja. Zaželio je polaznicima puno uspjeha u radu, u otkrivanju novih spoznaja kako bi usavršili ili tek otvorili vrata novih znanja koja će im koristiti u njihovom i našem razvoju.

Predsjednik Krapinskog informatičkog kluba KRIK, Stjepan Šalković, istaknuo je da se u Krapini misli na budućnost te se ulaže u obrazovanje. Paralelno s formalnim obrazovanjem, pokušavaju se djeci pružiti i dodatna znanja. Zahvalio je svima koji sudjeluju u organizaciji i pomažu organizaciju ove zimske škole.

U ime Hrvatskog saveza informatičara prisutnima se obratio predsjednik

Alen Spiegl koji je istaknuo da se Zimska škola informatike organizira već godinama u Krapini zbog podrške grada, županije i škole koji pružaju uvjete u kojima je lijepo raditi – od tehničke opremljenosti škole do predavača. Veliki motiv je i broj djece iz Krapinsko-zagorske županije koja svake godine provode dio školskih praznika učeći i obogaćujući svoja znanja što je zalog za budućnost.

Gradonačelnik Grada Krapine, Zoran Gregurović, pozdravio je sve prisutne i istaknuo da je vrlo ponosan što se u današnje, informatičko vrijeme, Zimska škola informatike održava po četrnaesti put u Krapini, te se nada da će uz podršku Grada i Županije 20. zimska škola informatike biti još bolja i

sadržajnija te će se iz Krapine moći ponijeti još više znanja.

Zamjenik za gospodarstvo župana Krapinsko-zagorske županije, Anđelko Ferek-Jambrek pozdravio je sve prisutne u ime Županije, župana i svoje osobno te istaknuo da nije lako zimsku školu organizirati 19 puta za redom, tu treba puno truda i zahvalio je svim koji su se založili za organizaciju. U Županiji će i dalje podupirati ovakve projekte te je zaželio i da se 20. put vidimo na istom mjestu.

Prof. dr. sc. Ante Markotić, predsjednik Hrvatske zajednice tehničke kulture zaželio je svima svako dobro u 2014. godini. Zahvalio je svima koji su došli u Krapinu i koji će nastaviti prethodne uspjehe mladih informatičara, jer bez njih ničega ne bi niti bilo. U Krapini su najbolji informatičari Hrvatske, budućnost Hrvatske i u Krapini svake godine sve počinje. Na kraju je u ime HZTK odao priznanje Gradu, Županiji, SŠ Krapina i njenom ravnatelju, HSIN-u, AZOO i resornom ministarstvu.

Page 6: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014.

6

U ime Ministarstva znanosti obrazovanja i sporta prisutnima se obratio

gosp. Vinko Filipović, ravnatelj Agencije za odgoj i obrazovanje. Pozdravio je prije svega polaznike Zimske škole informatike, učitelje i nastavnike, voditelje radionica te uvažene goste. Istaknuo je da je ovo najbolji primjer kako lokalna uprava, grad i županija mogu na najkvalitetniji i svrsishodniji način doprinijeti unapređenju obrazovanja. Hrvatski savez informatičara i Hrvatska zajednica tehničke kulture ovim primjerom pokazuju kako strukovne udruge i asocijacije mogu na kvalitetan način doprinijeti unapređenju struke.

Program svečanosti upotpunio je djevojački zbor Srednje škole Krapina pod vodstvom profesorice Anite Habjanec izvedbom nekoliko skladbi.

19. zimsku školu informatike otvorio je brončani krapinski znanstveni olimpijac Timon Spiegl.

Page 7: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014.

7

POZVANI UČENICI

POZVANI UČENICI OSNOVNIH ŠKOLA

Ime i prezime Razred Škola, mjesto

1. Filip Beleta 6. OŠ Popovača / RIK Popovača 2. Marko Cvitković 7. OŠ Dragutina Tadijanovića, Slavonski Brod 3. Fran Halambek 8. OŠ Antuna Branka Šimića, Zagreb 4. Josip Klepec * 8. I. osnovna škola Vrbovec 5. Martin Josip Kocijan 6. OŠ Petar Zrinski, Šenkovec / Mladi informatičari Strahoninca6. Dorijan Lendvaj 4. OŠ Popovača / RIK Popovača 7. Vilim Lendvaj 8. OŠ Popovača / RIK Popovača 8. Anto Matanović 7. OŠ Dragutina Tadijanovića, Slavonski Brod 9. Marko Prološčić * 8. OŠ Dore Pejačević, Našice 10. Mark Rajković 6. OŠ Tone Peruška, Pula 11. Marina Samblić 8. OŠ Frana Krste Frankopana, Krk 12. Karlo Sintić 8. OŠ Frana Krste Frankopana, Krk

* nije sudjelovao na ZŠI

POZVANI UČENICI SREDNJIH ŠKOLA

Ime i prezime Razred Škola, mjesto 1. Robert Benić 1. XV. gimnazija, Zagreb 2. Borna Bilas 2. Gimnazija Josipa Slavenskog, Čakovec 3. Ana Crnković 1. XV. gimnazija, Zagreb 4. Branimir Filipović 3. XV. gimnazija, Zagreb 5. Josip Kelava 1. Prva gimnazija Varaždin 6. Marin Kišić 1. Prva gimnazija Varaždin 7. Karlo Kovačić 1. Tehnička škola Čakovec / Mladi informatičari Strahoninca 8. Ivan Lazarić 3. Gimnazija Pula 9. Marko Lazarić 1. Gimnazija Pula 10. Mihael Liskij 3. XV. gimnazija, Zagreb 11. Petar Orlić * 2. XV. gimnazija, Zagreb 12. Nikola Pintarić 2. XV. gimnazija, Zagreb 13. Stjepan Požgaj 2. Gimnazija Josipa Slavenskog, Čakovec 14. Kristijan Rupić 2. XV. gimnazija, Zagreb 15. Tonko Sabolčec 3. XV. gimnazija, Zagreb 16. Ivan Šego 3. XV. gimnazija, Zagreb 17. Kristijan Vukelić 3. Gimnazija Lucijana Vranjanina, Zagreb 18. Kristijan Vulinović 4. Gimnazija Andrije Mohorovičića, Rijeka / CTK Rijeka 19. Ivan Žufić 3. Gimnazija Pula

* nije sudjelovao na ZŠI

Page 8: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014.

8

DOJMOVI SUDIONIKA

Martin Ahtić, OŠ Augusta Cesarca, Krapina, 2. razred

Pohađao je radionicu "Računalo+" i ovo mu je prvo sudjelovanje na Zimskoj školi informatike. Kaže kako mu nije problem dolaziti zimi za vrijeme praznika u školu jer je puno naučio: "kako se radi pošta, spajalica, sastavak i još neke stvari." Zadovoljan je predavačima, iako, kaže kako nije uspio sve razumjeti. Na pitanje hoće li se iduće godine prijavit na radionice, odgovara: "Da, ako mi mama dopusti!"

Matija Hmelina, OŠ Augusta Cesarca, Krapina, 2. razred

Nakon sudjelovanje prošle godine u radionici "Početnici", ove godine odlučio se za radionicu "Računalo+". Pošto je tek 2. razred, kaže kako dobro čita, ali ne zna dobro pisati, što ga nije nimalo omelo u praćenju programa radionice. Pristup predavača predavanjima ocjenjuje zanimljivim i smatra kako je naučio sve što je želio ove godine.

Eva Presečki, OŠ Ljudevita Gaja, Krapina, 3. razred

Poput Matije, i Eva je prošle godine pohađala radionicu "Početnici", a ove godine zainteresirala ju je radionica "Web osnovni" Naučila je većinu onoga što je htjela naučit i vjeruje kako bi sad bila sposobna sama napravit ono što su radili na radionici.

Laura Presečki, OŠ Ljudevita Gaja, Krapina, 6. razred

Prvi put na ZŠI, Laura je odabrala početnu izradu web stranice i nakon toga naprednu. Predavače ocjenjuje na skali od 1-100 sa 100. Vrlo je zadovoljna programom i smatra kako su radionice ispunile njena očekivanja da može samostalno kreirati web stranice. Vjeruje da će se i sljedeće godine prijaviti na ZŠI, a razmišlja o slušanju radionice C++.

Mark Rajković, OŠ Tone Peruška, Pula, 6. razred

Mark je pohađao radionice "Web osnovni", "Web napredni", "C++" i "Algoritmi za OŠ". Ovo mu je prvo sudjelovanje na ZŠI i smatra kako je naučio dosta toga novoga i znatno poboljšao svoje dosadašnje znanje. Zadovoljan je s izborom radionica i kaže kada bi ponovo birao, izabrao bi istu kombinaciju.

Marina Samblić, OŠ Frana Krste Frankopana, Krk, 8. razred

Marini je ovo 3. godina kako pohađa ZŠI. Nakon ranije odslušanih radionica "Basic", "Logo", "C" i "Flash", ove godine se odlučila za "Web početni", "Web napredni" i "C++". Uvijek nešto novo nauči na radionicama i nada se kako će nastaviti dolaziti na ZŠI i u srednjoj školi.

Page 9: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014.

9

ZAVRŠNA SVEČANOST

Zatvaranje 19. zimske škole informatike održano je 9. siječnja u dvorani SŠ Krapina. Na svečanosti, koju je svojom izvedbom na klaviru skladbe "Asturius" skladatelja Isaaca Albeniza uveličao jedan od pozvanih polaznika, Ivan Žufić, učenik 3. razreda gimnazije iz Pule, podijeljena su priznanja i pohvale sudionicima ZŠI te zahvale svima koji su pomogli održavanje ovog vrijednog programa.

Prisutne je najprije pozdravio prof. dr. sc. Ante Markotić, predsjednik Hrvatske zajednice tehničke kulture i obećao mladim informatičarima da će HZTK, u skladu s mogućnostima, uvijek biti uz njih i uz HSIN, te ih pozvao da nakon školovanja ostanu u Hrvatskoj.

Profesor SŠ Krapina, Stjepan Šalković, tehnički voditelj ZŠI 2014. podijelio je predstavnicima škola iz Krapinsko-zagorske županije priznanja za učenike i profesore koji su sudjelovali na 19. ZŠI.

Priznanja pozvanim učenicima osnovnih škola dodijelio je Zoran Gregurović, gradonačelnik Grada Krapine koji je tom prilikom izrazio nadu da su sudionici zimske škole proveli lijepe trenutke u Krapini te da će se ponovo vidjeti slijedeće godine.

Page 10: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014.

10

Priznanja pozvanim učenicima srednjih škola dodijelio je Željko Kolar, župan Krapinsko-zagorske

županije. Ujedno je pozdravio sve prisutne i naglasio da je Zimska škola informatike bila na središnjem dnevniku jedne nacionalne televizije što govori o značenju toga što se događalo u Krapini. Izrazio je nadu da će se u budućnosti znanje više cijeniti u društvu.

Pohvale najboljima učenicima dodijelili su organizacijski voditelj zimske škole informatike Miljenko Hmelina, te jedina dama među predavačima Nataša Munitić.

Page 11: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014.

11

Zahvalnice predavačima dodijelio je Krešimir Malnar, v.d. tajnik Hrvatskog saveza informatičara, a Alen Spiegl, predsjednik Hrvatskog saveza informatičara zahvalio je svim sponzorima i pokroviteljima 19. ZŠI – Krapina 2014.

Na samom kraju, Ivan Lazarić, osvajač olimpijskih medalja na međunarodnim informatičkim olimpijadama u 2013. godini, proglasio je 19. zimsku školu informatike 2014. zatvorenom.

Page 12: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014.

12

POPIS POLAZNIKA PO RADIONICAMA

ALGORITMI za OŠ – Antonio Jurić / Branimir Filipović

R. Br. Ime i prezime Škola i mjesto Razred

1. Filip Beleta OŠ Popovača / RIK Popovača 6. 2. Marko Cvitković OŠ Dragutina Tadijanovića, Slavonski Brod 7. 3. Josip Kelava Prva gimnazija Varaždin 1. 4. Miro Krištofić Mladi informatičari Strahoninca 2. 5. Dorijan Lendvaj OŠ Popovača / RIK Popovača 4. 6. Mark Rajković OŠ Tone Peruška, Pula 6. 7. Juraj Štern-Vukotić OŠ Tone Peruška, Pula 6. 8. Fran Halambek OŠ Antuna Branka Šimića, Zagreb 8. 9. Anto Matanović OŠ Dragutina Tadijanovića, Slavonski Brod 7. 10. Marina Samblić OŠ Frana Krste Frankopana, Krk 8. 11. Karlo Sintić OŠ Frana Krste Frankopana, Krk 8.

ALGORITMI za SŠ – Matija Milišić / Marin Tomić

R. Br. Ime i prezime Škola i mjesto Razred

1. Robert Benić XV. gimnazija, Zagreb 1. 2. Borna Bilas Gimnazija Josipa Slavenskog, Čakovec 2. 3. Petar Bošnjak Gimnazija Požega 2. 4. Ana Crnković XV. gimnazija, Zagreb 1. 5. Branimir Filipović XV. gimnazija, Zagreb 3. 6. Marin Kišić Prva gimnazija Varaždin 1. 7. Karlo Kovačić Tehnička škola Čakovec / MIS 1. 8. Miro Krištofić Mladi informatičari Strahoninca 2. 9. Ivan Lazarić Gimnazija Pula 3. 10. Vilim Lendvaj OŠ Popovača / RIK Popovača 8. 11. Mihael Liskij XV. gimnazija, Zagreb 3. 12. Nikola Pintarić XV. gimnazija, Zagreb 2. 13. Stjepan Požgaj Gimnazija Josipa Slavenskog, Čakovec 2. 14. Kristijan Rupić XV. gimnazija, Zagreb 2. 15. Tonko Sabolčec XV. gimnazija, Zagreb 3. 16. Ivan Šego XV. gimnazija, Zagreb 3. 17. Kristijan Vukelić Gimnazija Lucijana Vranjanina, Zagreb 3. 18. Kristijan Vulinović Gimnazija Andrije Mohorovičića / CTK Rijeka 4. 19. Ivan Žufić Gimnazija Pula 3.

Page 13: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014.

13

C++ početni – Branimir Filipović

R. Br. Ime i prezime Škola i mjesto Razred

1. Karlo Štrok SŠ Krapina 2. 2. Edi Puljko SŠ Krapina 2. 3. Alen Šćuric OŠ Sveti Križ Začretje 5. 4. Domagoj Gavranić OŠ Ksavera Šandora Gjalskog, Zabok 3. 5. Magdalena Potočnjak SŠ Zabok 1. 6. Mark Rajković OŠ Tone Peruška, Pula 6. 7. Juraj Štern-Vukotić OŠ Tone Peruška, Pula 6. 8. Fran Halambek OŠ Antuna Branka Šimića, Zagreb 8.

C++ / STL – Mihael Liskij

R. Br. Ime i prezime Škola i mjesto Razred

1. Dorijan Lendvaj OŠ Popovača / RIK Popovača 4. 2. Filip Beleta OŠ Popovača / RIK Popovača 6. 3. Juraj Štern-Vukotić OŠ Tone Peruška, Pula 6. 4. Mark Rajković OŠ Tone Peruška, Pula 6. 5. Magdalena Potočnjak SŠ Zabok 1. 6. Robert Leljak SŠ Krapina 2. 7. Josip Kelava Prva gimnazija Varaždin 1. 8. Fran Halambek OŠ Antuna Branka Šimića, Zagreb 8. 9. Marina Samblić OŠ Frana Krste Frankopana, Krk 8.

C# .NET – Danijel Kučak, prof.

R. Br. Ime i prezime Škola i mjesto Razred

1. Lovro Posarić OŠ Ante Kovačića, Zlatar 8. 2. Miljenko Ilić OŠ Augusta Cesarca, Krapina prof. 3. Krešimir Seletković OŠ Zvonimira Franka, Kutina prof. 4. Dario Brlek VHZK stud. 5. Krunoslav Kranjčec SŠ Krapina prof. 6. Krešimir Dunaj SŠ Krapina prof. 7. Dino Šalković SŠ Krapina 2. 8. Robert Jurman SŠ Oroslavje prof. 9. Karlo Haramina OŠ Antuna Mihanovića Petrovsko 5. 10. Kristijan Krajačić OŠ Ksavera Šandora Gjalskog, Zabok prof. 11. Bojan Podgajski SŠ Zabok prof.

Page 14: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014.

14

C# .NET za profesore – Danijel Kučak, prof.

R. Br. Ime i prezime Škola i mjesto Razred

1. Stjepan Šalković SŠ Krapina prof. 2. Andrea Haramustek OŠ Stjepana Radića, Brestovec Orehovečki prof. 3. Danijela Čuček OŠ Janka Leskovara, Pregrada prof. 4. Drago Gradečak OŠ Mače prof. 5. Erika Tušek Vrhovec OŠ Gornje Jesenje prof. 6. Ivanka Švaljek OŠ Side Košutić, Radoboj prof. 7. Katarina Poslek OŠ Donja Stubica prof. 8. Marija Hršak OŠ Ljudevita Gaja, Krapina prof. 9. Nenad Sušec OŠ Lijepa naša, Tuhelj prof. 10. Nina Posarić OŠ Ante kovačića, Zlatar prof. 11. Slađana Benkus OŠ Ljudevita Gaja, Mihovljan prof. 12. Tanja Poslon OŠ Augusta Cesarca, Krapina prof. 13. Vlatka Matejaš OŠ Ljudevita Gaja, Krapina prof. 14. Željka Vučković OŠ Bedekovčina prof. 15. Bojan Podgajski SŠ Zabok prof. 16. Božidar Daković SŠ Krapina prof. 17. Damjan Zagorec SŠ Zlatar prof. 18. Davorka Frgec-Vrančić ŠUDIGO, Zabok prof. 19. Dejan Čehulić Gimnazija Antuna Gustava Matoša prof. 20. Marijan Hrastinski ŠUDIGO, Zabok prof. 21. Marko Mikša SŠ Pregrada prof. 22. Mladen Zajec ŠUDIGO, Zabok prof. 23. Nataša Salamon Rebić OŠ Viktora Kovačića prof. 24. Valentina Đurek ŠUDIGO, Zabok prof.

Početnici – Miljenko Hmelina, prof.

R. Br. Ime i prezime Škola i mjesto Razred

1. Lucija Gregurović OŠ Augusta Cesarca, Krapina 1. 2. Barbara Frankol OŠ Augusta Cesarca, Krapina 1. 3. Vito Tušek OŠ Augusta Cesarca, Krapina 1. 4. Goran Brlek OŠ Augusta Cesarca, Krapina 1. 5. Luka Horvat OŠ Augusta Cesarca, Krapina 1. 6. Adrijan Zajec OŠ Augusta Cesarca, Krapina 1. 7. Martin Šalković OŠ Augusta Cesarca, Krapina 1. 8. Antonija Mutak OŠ Augusta Cesarca, Krapina 1. 9. Borna Draganić OŠ Augusta Cesarca, Krapina 1. 10. Ema Vorih OŠ Augusta Cesarca, Krapina 2. 11. Fran Petek OŠ Augusta Cesarca, Krapina 2. 12. Patrik Vorih OŠ Augusta Cesarca, Krapina 1.

Page 15: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014.

15

FLASH – Marko Mikša, prof.

R. Br. Ime i prezime Škola i mjesto Razred

1. Lucija Šalković OŠ Augusta Cesarca, Krapina 4. 2. Katarina Mutak OŠ Augusta Cesarca, Krapina 4. 3. Jakov Turner OŠ Augusta Cesarca, Krapina 4. 4. Alisa Lončar OŠ Augusta Cesarca, Krapina 6. 5. Lana Leljak OŠ Augusta Cesarca, Krapina 6. 6. Karlo Haramina OŠ Antuna Mihanovića Petrovsko 5. 7. Nina Šalković OŠ Augusta Cesarca, Krapina 7. 8. Josip Kelava Prva gimnazija Varaždin 1. 9. Roberto Pavetić OŠ Stjepana Radića, Brestovec Orehovečki 5. 10. Matija Duž OŠ Stjepana Radića, Brestovec Orehovečki 5. 11. Mirela Jakuš OŠ Stjepana Radića, Brestovec Orehovečki 8. 12. Karlo Kobeščak OŠ Stjepana Radića, Brestovec Orehovečki 8. 13. Dominik Stanić OŠ Stjepana Radića, Brestovec Orehovečki 8. 14. Anja Komorski OŠ Stjepana Radića, Brestovec Orehovečki 8. 15. Sanja Suhodolčan OŠ Stjepana Radića, Brestovec Orehovečki 5. 16. Andrea Haramustek OŠ Stjepana Radića, Brestovec Orehovečki prof. 17. Vladimir Šindler OŠ Stjepana Radića, Brestovec Orehovečki 6.

Primjena računala u nastavi – Krunoslav Kranjčec, prof.

R. Br. Ime i prezime Škola i mjesto Razred

1. Magdalena Potočnjak SŠ Zabok 1. 2. Sabina Potočnjak SŠ Ban Josip Jelačić Zaprešić prof. 3. Ivana Frajzman OŠ Antuna Mihanovića, Petrovsko prof. 4. Ružica Bubanj SŠ Krapina prof. 5. Davor Beden SŠ Krapina prof. 6. Krešimir Dunaj SŠ Krapina prof. 7. Jasminka Presečki SŠ Krapina prof. 8. Erika Tušek Vrhovec OŠ Gornje Jesenje prof. 9. Stjepan Varjačić SŠ Krapina prof.

Java Android – Nikola Presečki

R. Br. Ime i prezime Škola i mjesto Razred

1. Matija Kovačec OŠ Ljudevita Gaja Krapina 7. 2. Bruno Miljan OŠ Augusta Cesarca, Krapina 5. 3. Dino Dunaj OŠ Augusta Cesarca, Krapina 7. 4. Dino Dolovčak OŠ Augusta Cesarca, Krapina 7. 5. Lovro Dolovčak OŠ Augusta Cesarca, Krapina 5. 6. Karlo Mrzlečki SŠ Krapina 1.

Page 16: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014.

16

7. Juraj Barilar SŠ Krapina 1. 8. Marko Lazarić Gimnazija Pula 1. 9. Karlo Sintić OŠ Frana Krste Frankopana, Krk 8. 10. David Vuzem SŠ Pregrada 1. 11. Mario Vuzem SŠ Krapina 4. 12. Robert Leljak SŠ Krapina 2. 13. Domagoj Vincelj OŠ Augusta Cesarca, Krapina 8. 14. Mislav Žlepalo OŠ Augusta Cesarca, Krapina 8. 15. Rej Šafranko OŠ Augusta Cesarca, Krapina 7. 16. Kruno Leljak SŠ Krapina 4. 17. Matija Ljubić SŠ Krapina 4. 18. Alen Štruklec SŠ Krapina 3. 19. Kristijan Vešligaj SŠ Krapina 3. 20. Domagoj Gavranić OŠ Ksavera Šandora Gjalskog, Zabok 3. 21. Vjeran Vragović OŠ Augusta Cesarca, Krapina 5. 22. Fran Kundih OŠ Augusta Cesarca, Krapina 5. 23. Josip Horvat SŠ Krapina 1. 24. Jan Jurinjak SŠ Krapina 1. 25. Leonard Vincelj SŠ Krapina 1. 26. Vilim Lendvaj OŠ Popovača 8. 27. Dorijan Lendvaj OŠ Popovača 4.

LOGO – Mihael Liskij

R. Br. Ime i prezime Škola i mjesto Razred

1. Patrik David Klanjčić OŠ Sveti Križ Začretje 4. 2. Žan Mirko Zubić OŠ Sveti Križ Začretje 3. 3. Lea Kovačec OŠ Ljudevita Gaja Krapina 5. 4. Dorijan Lendvaj OŠ Popovača / RIK Popovača 4. 5. Matija Meštrović OŠ Stjepana Radića, Brestovec Orehovečki 5. 6. Filip Beleta OŠ Popovača / RIK Popovača 6. 7. Martin Očko OŠ Viktora Kovačića 6.

Python – Vjekoslav Giacometti

R. Br. Ime i prezime Škola i mjesto Razred

1. Vladimir Šindler OŠ Sjepana Radića, Brestovec Orehovečki 6. 2. Kaja Javorić OŠ Antuna Kovačića Hum na Sutli 7. 3. Rene Javorić Ilić OŠ Lijepa naša, Tuhelj 7. 4. Neven Firšt OŠ Viktora Kovačića 7. 5. Nikola Jug OŠ Pregrada 8. 6. Sandra Boršić OŠ Janka Leskovara, Pregrada 5. 7. Valentina Vešligaj ŠUDIGO, Zabok 1. 8. Antonio Horvat OŠ Viktora Kovačića, Hum na Sutli 6.

Page 17: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014.

17

Računalo plus – Miljenko Ilić, prof.

R. Br. Ime i prezime Škola i mjesto Razred

1. Rebeka Gjonlleshaj OŠ Augusta Cesarca, Krapina 3. 2. Maša Margarin OŠ Augusta Cesarca, Krapina 3. 3. Dora Cvrtila OŠ Augusta Cesarca, Krapina 3. 4. Luka Bajcer OŠ Silvija Strahimira Kranjčevića, Zagreb 5. 5. Karlo Lukšić OŠ Augusta Cesarca, Krapina 4. 6. Klara Petrić OŠ Augusta Cesarca, Krapina 3. 7. Nela Horvat OŠ Augusta Cesarca, Krapina 3. 8. Luka Bljajić OŠ Augusta Cesarca, Krapina 3. 9. Filip Horvat OŠ Antuna Mihanovića Petrovsko 5. 10. Jana Vita Poslon OŠ Ljudevita Gaja, Krapina 5. 11. Tea Poslon OŠ Ljudevita Gaja, Krapina 2. 12. Helena Hršak OŠ Ljudevita Gaja, Krapina 4. 13. Noa Sirovec OŠ Augusta Cesarca, Krapina 3. 14. Josip Peer OŠ Augusta Cesarca, Krapina 3 15. Lucija Sertić OŠ Augusta Cesarca, Krapina 3. 16. Sara Gregurović OŠ Augusta Cesarca, Krapina 3. 17. Janko Strahinec OŠ Augusta Cesarca, Krapina 4. 18. Tamara Pernjek OŠ Augusta Cesarca, Krapina 4. 19. Matija Hmelina OŠ Augusta Cesarca, Krapina 2. 20. Luka Vorih OŠ Sveti Križ Začretje 2. 21. Hana Iva Zubić OŠ Sveti Križ Začretje 2. 22. Korina Krog OŠ Augusta Cesarca, Krapina 5. 23. Antonia Hušnjak OŠ Đurmanec 5. 24. Lara Lalić OŠ Đurmanec 5. 25. Martin Artić OŠ Augusta Cesarca, Krapina 2. 26. Marta Duž OŠ Stjepana Radića, Brestovec Orehovečki 4. 27. Tamara Groš OŠ Stjepana Radića, Brestovec Orehovečki 4. 28. Ana Vuković OŠ Stjepana Radića, Brestovec Orehovečki 4. 29. Patrik Ljubić OŠ Stjepana Radića, Brestovec Orehovečki 4. 30. Kruno Habljak OŠ Stjepana Radića, Brestovec Orehovečki 4. 31. Luka Škreblin OŠ Stjepana Radića, Brestovec Orehovečki 4. 32. Lovro Jambrek OŠ Stjepana Radića, Brestovec Orehovečki 4. 33. Mateo Merkaš OŠ Stjepana Radića, Brestovec Orehovečki 4. 34. Sven Gretić OŠ Ljudevita Gaja, Krapina 2. 35. Marinela Pavetić OŠ Stjepana Radića, Brestovec Orehovečki 5. 36. Nika Jurman OŠ Augusta Cesarca, Krapina 5. 37. Ivona Škrobot OŠ Augusta Cesarca, Krapina 3. 38. Jill-Letizia Kantolić OŠ Ljudevita Gaja, Krapina 3.

Page 18: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014.

18

WEB početni – Nataša Munitić

R. Br. Ime i prezime Škola i mjesto Razred

1. Dominik Presečki OŠ Ljudevita Gaja, Krapina 5. 2. Luka Hršak OŠ Ljudevita Gaja, Krapina 6. 3. Borna Cesarec OŠ Augusta Cesarca, Krapina 4. 4. Marina Samblić OŠ Frana Krste Frankopana, Krk 8. 5. Krunoslav Drašković OŠ Viktora Kovačića, Hum na Sutli 7. 6. Sandra Majsec OŠ Augusta Cesarca, Krapina 6. 7. Helena Polanščak OŠ Augusta Cesarca, Krapina 6. 8. Lucija Kolarec OŠ Augusta Cesarca, Krapina 6. 9. Juraj Štern-Vukotić OŠ Tone Peruška, Pula 6. 10. Eva Presečki OŠ Ljudevita Gaja, Krapina 3. 11. Laura Presečki OŠ Ljudevita Gaja, Krapina 6. 12. Mark Rajković OŠ Tone Peruška, Pula 6. 13. Leonarda Leskovar OŠ Augusta Cesarca, Krapina 7. 14. Ivona Strehovec OŠ Augusta Cesarca, Krapina 7. 15. Katarina Barilar OŠ Augusta Cesarca, Krapina 7. 16. Patrik Hršak OŠ Ljudevita Gaja, Krapina 8. 17. Barbara Presečki OŠ Ljudevita Gaja, Krapina 8.

WEB napredni / CSS – Nataša Munitić / Vjekoslav Giacometti

R. Br. Ime i prezime Škola i mjesto Razred

1. Dominik Presečki OŠ Ljudevita Gaja, Krapina 5. 2. Luka Hršak OŠ Ljudevita Gaja, Krapina 6. 3. Marko Lazarić Gimnazija Pula 1. 4. Marina Samblić OŠ Frana Krste Frankopana, Krk 8. 5. Karlo Sintić OŠ Frana Krste Frankopana, Krk 8. 6. Juraj Štern-Vukotić OŠ Tone Peruška, Pula 6. 7. Laura Presečki OŠ Ljudevita Gaja, Krapina 6. 8. Mark Rajković OŠ Tone Peruška, Pula 6.

Page 19: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

19

R A D I O N I C E

Page 20: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,
Page 21: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

21

LOGO

Predavač: Mihael Liskij

Polaznici:

1. Patrik David Klanjčić 2. Žan Mirko Zubić 3. Lea Kovačec 4. Dorijan Lendvaj 5. Matija Meštrović 6. Filip Beleta 7. Martin Očko

Pohvaljeni učenici: Lea Kovačec i Matija Meštrović

Na radionici LOGO sudjelovali su učenici osnovnih škola iz raznih dijelova Hrvatske. Na prvom predavanju su polaznici, kako je već postala tradicija, podijeljeni u nekoliko grupa u ovisnosti o njihovom trenutnom znanju. Prvu grupu su činili učenici koji su se tek susreli s programiranjem, drugu grupu su činili učenici s prethodnim znanjem, a treću grupu su činili napredni učenici s nekoliko natjecanja iza sebe.

Prvoj grupi je za početak objašnjena ‘kornjača’, tj. radnje koje možemo zadati kornjači. Uz naredbe kretanja fd i bk te rotacije rt i lt su još bile objašnjenje naredbe za počistiti prozor – cs i za vratiti kornjaču na početnu poziciju – home. Nakon što su se učenici upoznali sa ovim radnjama i osnovama geometrije, na redu je bilo njihovo uvježbavanje za što su iskorišteni zadatci sa prethodnih natjecanja za najmlađe. Kako bi učenici ostali motivirani tijekom predavanja iskorišten je njihov ‘natjecateljski duh‘ pa bi se natjecali tko može brže riješiti neki zadatak ili tko će napraviti najmanje grešaka.

Drugoj, malo naprednijoj, grupi su bili objašnjeni koncepti petlja, varijabli i važnosti pomoćnih programa. Oni su također imali najveći napredak te su brzo usvajali nova znanja i smišljali rješenja za njima nove probleme. Njima su također bili zadavani zadatci s natjecanja ovisno o konceptu koji su trenutno vježbali, uglavnom lakši problemi sa županijskih natjecanja. Njima i prvoj skupini je dodatno pokazan način uporabe indexa, pomoćne biblioteke svih komandi uz njihova objašnjenja, koji može biti iznimno važan izvor informacija jer je obično dostupan tijekom natjecanja.

Za treću skupinu je bilo najteže smisliti plan rada jer su oni poznavali većinu naredbi. Cilj koji je bio postavljen za njih je bio otkrivanje stvari u kojima se još ne osjećaju sigurnim i zadavanja zadataka koji ciljaju te slabosti. Njihovi zadatci su uglavnom bili uzeti s državnih natjecanja ili su bili osmišljeni tijekom radionice.

Kriteriji za biranje pohvaljenih učenika su bili napredak koji su ostvarili tijekom radionica te motivacija i ambicija koju su pokazali za učenje novog gradiva. Nadam se da će polaznici uspješno primijeniti znanja koja su stekli i da će sljedeće godine biti spremni za naprednije grupe.

Mihael Liskij

Page 22: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

22

C++ početni

Predavač: Branimir Filipović Pohvaljeni učenici: Domagoj Gavranić, Magdalena Potočnjak i Mark Rajković

Radionica C++ početni bila je više koncipirana s naglaskom na sintaksu programskog jezika i lijepog pisanja kôda nego na same algoritme. Počeli smo od najjednostavnijih izraza i svaku cjelinu provježbali na konkretnim zadacima. Teme su bile podijeljene na 3 dana po 4 sata kako je bilo predviđeno rasporedom trajanja radionice. Obrađene teme: 1. DAN

Učenje osnovne sintakse programa Učenje učitavanja, varijabli i ispisivanja Osnovni aritmetički operatori Osnovni logički operatori Učenje if naredbe Primjena na konkretnim zadacima:

o jednostavni kratki zadaci tipa učitaj i ispiši broj; učitaj i ispiši zbroj dva broja; ispiši broj pomnožen s 2 ako je neparan, a pomnožen s 3 i da mu je dodan 1 u suprotnom

o zadatak H&H sa školskog natjecanja 2010. godine za I. podskupinu: Na dodatnoj grupi iz predmeta „Uvod u magiju“, Harry je pokušao riješiti jedan težak matematičko-magijski zadatak. On je dobio list papira na kome su bila napisana tri jednoznamenkasta broja odvojena s po jednim razmakom. Oko papira su letjela tri matematička znaka, znak za zbrajanje '+', znak za množenje '*' i znak '='. Harry mora jedan od dva matematička znaka (+ ili *) te znak =, uz pomoć čarobnog štapića postaviti u praznine između brojeva tako da dobije istinit matematički izraz. Na primjer, ako su na papiru zapisani brojevi 2 4 8, tada moramo znak '*' postaviti u prvu prazninu, znak '=' u drugu, a znak '+' ostavimo u zraku. Na taj način dobijemo matematički izraz 2*4=8 koji je istinit. Na žalost, svaki Harryjev pokušaj pravilnog rasporeda znakova je završio neuspjehom. Na kraju je morao zatražiti pomoć najbolje mlade čarobnice i svoje prijateljice Hermione koja se samo nasmijala i jednim jedinim potezom čarobnog štapića riješila problem. U nedostatku čarobnih štapića, napišite program koji će za zadana tri jednoznamenkasta broja ispisati pravilan raspored matematičkih znakova. U nekim slučajevima, od dobivenih brojeva se neće moći složiti istinit matematički izraz te tada treba ispisati poruku "HOKUS POKUS". U ostalim slučajevima znakove ćemo moći rasporediti na samo jedan način.

Polaznici:

1. Karlo Štrok 2. Edi Puljko 3. Alen Šćuric 4. Domagoj Gavranić 5. Magdalena Potočnjak 6. Mark Rajković 7. Juraj Štern-Vukotić 8. Fran Halambek

Page 23: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

23

Ulazni podaci: tri prirodna broja, A, B, C ( 1 ≤ A, B, C ≤ 9 ) Izlazni podaci: jedan od ponuđenih rasporeda: +=, =+, *= ili =*, ovisno o rasporedu matematičkih znakova u istinitom izrazu ili tekst "HOKUS POKUS", ako se ne može dobiti istinit izraz. Rješenje:

#include <iostream> using namespace std; int main( void ) { int a,b,c; cin >> a >> b >> c; if (a+b==c) cout << "+="; else if (a*b==c) cout << "*="; else if (a==b+c) cout << "=+"; else if (a==b*c) cout << "=*"; else cout << "HOKUS POKUS"; system ("pause"); return 0; }

2. DAN

Ponavljanje prethodno naučenog gradiva Učenje for petlje Zadaci i primjeri poput: ispiši sve brojeve manje

od 20; ispiši sve neparne brojeve manje od 100; ispiši sve višekratnike broja 5 manje od 100; ispiši sve brojeve djeljive i s 5 i sa 7 manje od 100 Učenje nizova Zadaci i primjeri poput: naći broj natprosječno

visokih ljudi u zadanoj populaciji 3. DAN

Ponavljanje prethodno naučenog gradiva Prvi zadaci sa školskog natjecanja 2013. godine

za OŠ Učenje stringova i ponavljanje nizova Zadaci i primjeri poput: ispisati svaki znak u riječi u svoj red; ispisati broj samoglasnika u riječi;

zadatak – ako je zadana e-mail adresa oblika “[email protected]“ ispisati ime i prezime

Smatram da su određeni polaznici dobro usvojili gradivo, te će biti u mogućnosti, uz malo vježbe, programirati u programskom jeziku C++. Sa svima ostalima je potrebno još malo raditi kako bi ovladali ovim programskim jezikom, za što bi ova radionica trebala duže trajati.

Branimir Filipović

Page 24: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

24

C++ / STL

Predavač: Mihael Liskij Pohvaljeni učenici: Dorijan Lendvaj, Juraj Štern-Vukotić i Josip Kelava

Ovogodišnja radionica C++/STL se bazirala na upoznavanju polaznika sa STL-om (Standard Template Lybrary) te rješavanjem zadataka s prethodnih HONI-a. Polaznicima su redom objašnjavani različiti tipovi spremnika, polazeći od jednostavnijih kao pair (par vrijednosti) do kompleksnijih kao map (asocijativnog spremnika za povezivanje parova vrijednosti).

Radionica je vremenski trajala tri dana. Prvi dan je polaznicima, kao uvod, demonstrirana sintaksa pair-a i njegova uporaba. Glavni koncept koji se ovime pokazao je upotreba “<” i “>” da bi se definirali tipovi podataka koje će spremnik sadržavati (npr. pair<int,int>). Ovaj koncept template-a (predložaka) je izvrstan način da se umanji količina 'copy/paste-a' i da se omogući neovisnost spremnika od tipa podatka koji je spremljen u spremniku. Nastavljajući sa STL-om je objašnjena uporaba sljedećih spremnika:

vector – spremnik koji je implementiran nizom, koristi dinamičku alokaciju kako bi se automatski povećao ako je potrebno više mjesta za podatke

queue – u doslovnom prijevodu red, tko prvi uđe, prvi izađe (eng. FIFO – first in, first out) deque – obostrani red, elementi se mogu ubacivati i dodavati na kraju i na početku stack – u doslovnom prijevodu stog, spremnik sličan queue, ali radi na principu tko prvi uđe, zadnji

izađe (eng. FILO – first in, last out) set – spremnik koji je implementiran binarnim stablom, radi na principu matematičkog seta što

znači da briše duplikate map – spremnik koji sprema parove (ključ, vrijednost) i omogućava brz pristup nekoj vrijednosti

ako poznajemo njen ključ

Polaznici:

1. Dorijan Lendvaj 2. Filip Beleta 3. Juraj Štern-Vukotić 4. Mark Rajković 5. Magdalena Potočnjak 6. Robert Leljak 7. Josip Kelava 8. Fran Halambek 9. Marina Samblić

Page 25: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

25

Uz ove spremnike spomenute su još neke njihove specifične inačice, ali zbog preopširnosti nisu

detaljno obrađene. Nakon upoznavanja sa STL-om na radionici su za vježbu bili rješavani zadatci sa prošlogodišnjih HONI-a ovisno o sposobnosti pojedinog polaznika. Primjer naprednijeg zadatka s 4. kola HONI natjecanja 2012./2013. koji primjenjuje funkcije vector, pair i deque: Zadatak RAZLIKA

Mirko je za zadaću iz matematike dobio jako težak zadatak! Zadan je niz V od N cijelih brojeva. Potrebno je ukloniti točno K brojeva iz niza. Neka je M najveća razlika dva preostala broja, a m najmanja. Brojeve treba ukloniti tako da se dobije najmanji mogući zbroj M + m. Mirku ne ide matematika pa vas je zamolio da mu pomognete! ULAZNI PODACI: U prvom retku nalaze se prirodni brojevi N (3 ≤ N ≤ 1 000 000) i K (1 ≤ K ≤ N-2). U drugom retku nalazi se N cijelih brojeva u nizu V (-5 000 000 ≤ Vi ≤ 5 000 000), odvojeni razmacima. IZLAZNI PODACI: U jedini redak ispišite najmanji mogući zbroj M + m.

Opis algoritma:

Radi jednostavnosti, odredimo N-K brojeva koji će ostati u nizu. Time implicitno određujemo K brojeva koje treba ukloniti. Ključno je primijetiti da uvijek postoji neko optimalno rješenje u kojemu odabiremo N-K uzastopnih brojeva u sortiranome nizu. Dokaz. Neka su a i b vrijednosti najmanjeg i najvećeg odabranog broja u nekom optimalnom rješenju. Razmotrimo dva slučaja:

1) Ako u sortiranome nizu ne postoji neodabran broj c u intervalu <a, b>, odabran je neki podniz uzastopnih brojeva i dokaz je gotov.

2) Inače, od a i b odredimo onaj čija je najmanja apsolutna razlika s nekim drugim odabranim brojem najveća. Uklonimo ga i umjesto njega odaberimo c. Najveća apsolutna razlika M sada je nužno manja jer je b-c < b-a. Uklanjanjem broja nismo povećali najmanju apsolutnu razliku m jer smo uklonili veću ili jednaku od dvije razlike. Dodavanjem c razliku njegova dva odabrana susjeda u sortiranome nizu dijelimo na dvije, stoga ni time ne povećavamo m. Ovime smo dokazali da je svako optimalno rješenje nizom transformacija moguće dovesti u formu niza uzastopnih brojeva u sortiranome nizu.

Slijedi jednostavno rješenje vremenske složenosti O(N2) koje sortira niz, za svaki njegov podniz duljine N-K računa najmanju i najveću razliku te vraća najbolje rješenje. Ovo rješenje nosi čak 50% bodova. Primijetimo da najveća razlika odgovara razlici rubnih elemenata podniza, stoga je, za svaki podniz možemo izračunati u konstantnoj vremenskoj složenosti. Ako u strukturi poput balansiranog binarnog stabla održavamo posljednjih N-K-1 razlika uzastopnih elemenata niza, najmanju razliku također možemo dobiti u konstantnoj vremenskoj složenosti, ali operacije ubacivanja te izbacivanja imaju logaritamsku vremensku složenost. Ovime ukupnu vremensku složenost spuštamo na O(N log N). Ovo rješenje nosi 70% bodova. Primijetimo da su elementi niza ograničeni na interval od R cijelih brojeva, zbog čega ih u vremenskoj složenosti O(N+R) možemo sortirati counting sortom. Dovoljno je izračunati frekvenciju pojavljivanja svakog broja u intervalu te jednim prolaskom po nizu frekvencija generirati sortiran niz. Pogledajmo strukturu podataka u kojoj održavamo razlike uzastopnih elemenata niza. Primijetimo da, ako je upravo ubačena razlika manja od neke druge razlike u strukturi, ta druga nikada neće biti najmanja jer će biti izbačena prije upravo ubačene. Stoga razlike možemo održavati u monotonom redu s dva kraja (engl. monotone deque). Najmanja razlika u promatranome podnizu bit će ona na početku reda. Budući da će N-1 razlika uzastopnih elemenata biti ubačeno i izbačeno točno jednom, ovime ukupnu vremensku složenost spuštamo na O(N+R) te ostvarujemo sve bodove.

Page 26: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

26

Rješenje:

#include <algorithm> #include <climits> #include <deque> #include <iostream> #include <vector> using namespace std; const int MIN_V = -5000000; const int RANGE_V = 10000001; void countingSort(vector<int>& v) { vector<int> f(RANGE_V); for (int i = 0; i < (int) v.size(); ++i) { ++f[v[i] - MIN_V]; } for (int i = 0, j = 0; i < RANGE_V; ++i) { while (f[i]--) { v[j++] = MIN_V + i; } } } int solve(vector<int>& v, int n, int k) { countingSort(v); k = n - k; deque<pair<int, int> > q; int ans = INT_MAX; for (int i = 1; i < n; ++i) { if (!q.empty() && q.front().second - 1 <= i - k) { q.pop_front(); } int d = v[i] - v[i - 1]; while (!q.empty() && q.back().first >= d) { q.pop_back(); } q.push_back(make_pair(d, i)); if (i >= k - 1) { int M = v[i] - v[i - k + 1]; int m = q.front().first; ans = min(ans, M + m); } } return ans; } int main(void) { ios::sync_with_stdio(false); int n, k; cin >> n >> k; vector<int> v(n); for (int i = 0; i < n; ++i) { cin >> v[i]; } cout << solve(v, n, k) << "\n"; return 0; }

Polaznici su uspješno rješavali zadatke, a onima kojima je bilo potrebno bi zatražili pomoć

voditelja. Svi su pokazali mnogo truda, a najbolji (ovisno o procjeni njihovih sposobnosti) su bili pohvaljeni. Nadam se da će polaznicima stečeno znanje STL-a olakšati kasniju implementaciju različitih algoritama.

Mihael Liskij

Page 27: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

27

C# .Net

Predavač: Danijel Kučak, prof.

Polaznici:

1. Lovro Posarić 2. Miljenko Ilić 3. Krešimir Seletković 4. Dario Brlek 5. Krunoslav Kranjčec 6. Krešimir Dunaj 7. Dino Šalković 8. Robert Jurman 9. Karlo Haramina 10. Kristijan Krajačić 11. Bojan Podgajski 12. Stjepan Šalković 13. Andrea Haramustek 14. Danijela Čuček 15. Drago Gradečak 16. Erika Tušek Vrhovec 17. Ivanka Švaljek

18. Katarina Poslek 19. Marija Hršak 20. Nenad Sušec 21. Nina Posarić 22. Slađana Benkus 23. Tanja Poslon 24. Vlatka Matejaš 25. Željka Vučković 26. Božidar Daković 27. Damjan Zagorec 28. Davorka Frgec-Vrančić 29. Dejan Čehulić 30. Marijan Hrastinski 31. Marko Mikša 32. Mladen Zajec 33. Nataša Salamon Rebić 34. Valentina Đurek

Uz jedanaest redovnih polaznika (nastavnici srednjih i osnovnih škola, te učenici osnovnih i srednjih škola) koji su pohađali nastavu svih 12 sati, održano je i dodatno predavanje u trajanju od 4 školska sata za još dvadesetak nastavnika osnovnih škola kojemu je cilj bio polaznicima predstaviti objektno orijentirane koncepte programiranja i pokazati primjenu istih u programskom jeziku C# i .Net tehnologiju.

Polaznici uglavnom nisu imali iskustava s objektno orijentiranim programiranjem niti s programskim jezikom C#, no svi su imali određenog iskustva s nekim drugim programskim jezicima, što im je pomoglo u praćenju gradiva i savladavanja zadataka. Sama tema radionice je jako široka, i nemoguće ju je detaljno i studiozno obraditi u 12 sati. Kako sam uvodnim razgovorom s polaznicima zamijetio potrebu za uvodom koji bi opisao osnovne principe objektno orijentirane paradigme, prvi dan radionice (4 sata) bavili smo se tom tematikom.

Objektno orijentirano programiranje ili kraće OOP je jedan od mogućih pristupa programiranju računala. Za razliku od ostalih pristupa, u kojima je težište na akcijama koje se vrše na podatkovnim strukturama, ovdje je težište na projektiranju aplikacije kao skupa objekata koji izmjenjuju poruke. Osnovne značajke OOP-a kao što su apstrakcija, nasljeđivanje, višeobličje (polimorfizam) i enkapsulacija, omogućuju pisanje kôda koji je ponovno iskoristiv, nadogradiv i pogodan za testiranje. Na kraju prvog dana, polaznicima sam predstavio platformu Microsoft .NET Framework.

Nakon što su se polaznici zbližili sa objektno orijentiranim konceptima, krajem prvog dana radionice krenuli smo s osnovnim elementima C# sintakse: izrazi, varijable, iskazi, podatkovni tipovi, klase, strukture, itd. Tom prilikom iskoristio sam trenutak i za detaljnije upoznavanje polaznika s razvojnim okruženjem Microsoft Visual Studio 2010. Kako bi se čim više zbližili s razvojnim okruženjem i samom sintaksom C#-a, polaznici su rješavali nekoliko kratkih zadataka, i uglavnom ih bez previše problema uspješno riješili.

Page 28: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

28

Primjer jednog zadatka: Napišite konzolnu aplikaciju koja sa standardnog ulaza učitava pozitivni broj i ispisuje zbroj njegovih znamenaka (možete pretpostaviti da je broj ispravno učitan). Rješenje: using System; namespace ZSIKrapina { class Program { static int suma; static int uneseniBroj; static int kopijaUnesenogBroja; static int zadnjaZnamenka; static void Main(string[] args) { Console.WriteLine("Unesi broj: "); uneseniBroj = Int32.Parse(Console.ReadLine()); kopijaUnesenogBroja = uneseniBroj; while (uneseniBroj > 0) { zadnjaZnamenka = uneseniBroj % 10; suma += zadnjaZnamenka; uneseniBroj /= 10; } Console.WriteLine("Suma znamenaka broj {0} je {1}", kopijaUnesenogBroja, suma); Console.ReadKey(); } } }

Page 29: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

29

Sredinom drugog dana, polaznicima sam predstavio koncept izrade Windows Forms aplikacija.

Upoznali smo se sa Microsoft Visual Studio predloškom za izradu takvih aplikacija, i različitim alatima koje taj predložak nudi (Traka s alatima, Vizualni dizajner, itd..). Nakon toga, kroz praktične jednostavne primjere, upoznali smo se s osnovnim komponentama koje se koriste pri izradi Windows Forms aplikacija kao što su: Button, Label, MenuStrip, PictureBox, itd.

Krajem drugog dana radionice, polaznicima sam predstavio koncept događaja i općenito arhitekturu pogonjenim događajima (engl. event driven architecture). Na samom kraju drugog dana polaznicima sam prikazao izgled aplikacije koju su trebali izraditi kroz treći dan radionice. Radilo se o vrlo popularnoj i jednostavnoj igri "Vješala". Prodiskutirali smo izazove koji ih čekaju na tom zadatku, potencijalne probleme, itd.

Treći dan radionice protekao je u interaktivnom radu polaznika. Većina polaznika sami su dovršili zadatak, neki od njih napravili su i više od očekivanog i moje je mišljenje da su polaznici dosegli ciljanu razinu radionice: dobili su uspješne temelje na koje će zainteresirani lako samostalno nadograditi nove vještine i znanja iz razvoja, ne samo Windows Forms aplikacija u C#-u, nego i bilo kakvog razvoja koji koristi OOP način razmišljanja. Svim polaznicima su podijeljene skripte koje sadrže zbirku zadataka iz C#-a i .Net tehnologija.

Danijel Kučak

Page 30: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

30

PYTHON

Predavač: Vjekoslav Giacometti Pohvaljeni učenici: Vladimir Šindler, Rene Javorić Ilić i Nikola Jug

Trodnevna radionica Python ove je godine okupila učenike osnovnih škola. Za većinu je to bio prvi susret s programiranjem, a neki su imali iskustva s programiranjem u QBasicu. Radionica je stoga obuhvatila uvod u programiranje kroz programski jezik Python. Python kao skriptni jezik jednostavne sintakse idealan je izbor za učenje programiranja jer je kôd iznimno intuitivan. Za pisanje i pokretanje Python programa koristili smo razvojno okruženje IDLE. Naučili smo osnovne pojmove u programiranju kao što su naredba i varijabla, te kroz zadatke proučili stringove, grananje programa i petlje. Teme koje su se proučavale na radionici:

Karakteristike Pythona kao jezika Radno okruženje IDLE, instalacija i pokretanje Uvod u programiranje, pisanje prvog programa Pojam varijable, tipovi podataka, aritmetički i logički operatori Učitavanje i ispis podataka Grananje programa – if naredba For petlja, break, continue Rješavanje jednostavnijih natjecateljskih zadataka za osnovne škole Izrada igre "Pogodi broj"

Polaznici:

1. Vladimir Šindler 2. Kaja Javorić 3. Rene Javorić Ilić 4. Neven Firšt 5. Nikola Jug 6. Sandra Boršić 7. Valentina Vešligaj 8. Antonio Horvat

Page 31: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

31

Ova radionica omogućila je polaznicima stjecanje temeljnih znanja u programiranju, te uvid u Python

kao jedan od vrlo popularnih programskih jezika današnjice. Natjecatelji su vidjeli što mogu očekivati na natjecanjima u programiranju te su dobili motivaciju za samostalni rad. PRIMJERI ZADATAKA: 1. Trokut, školsko natjecanje 2009., osnovne škole, 1. podskupina

Zadan je opseg trokuta te duljine dviju stranica trokuta. Potrebno je odrediti duljinu treće stranice. RJEŠENJE: o = input() a = input() b = input() c = o - a - b; print( c )

2. Igra "Pogodi broj"

Prvi igrač unosi broj između 1 i 100, a drugi igrač mora pogoditi koji je to broj. Za to ima 10 pokušaja. Prilikom svakog pogrešnog pokušaja igra mu govori je li zamišljeni broj manji ili veći od trenutnog pokušaja. Ako ne pogodi unutar 10 pokušaja igra se prekida.

RJEŠENJE: broj = input( "Zamisli broj od 1 do 100: " ) for i in range( 0, 100 ) : print( "" ) pobjeda = 0 for i in range( 1, 11 ) : print( "Pokusaj broj " + str( i ) ) pokusaj = input( "Pogodi broj: " ); if broj == pokusaj : print( "Pogodak!" ) pobjeda = 1 break; elif broj < pokusaj : print( "Zamisljeni broj je manji od " + str( pokusaj ) ) elif broj > pokusaj : print( "Zamisljeni broj je veci od " + str( pokusaj ) ) if pobjeda == 1 : print( "Bravo, pobijedio si! :)" ) else : print( "Izgubio si :(. Zamisljeni broj bio je " + str( broj ) )

O PYTHONU:

Python je programski jezik opće namjene kojeg odlikuje interpreter, jednostavna sintaksa te različiti stilovi programiranja. Stvorio ga je Guido van Rossum 1990. godine. Velike vrline Pythona su "otvorena" licenca, velika biblioteka dodatnih modula, te mogućnost rada na različitim platformama (Linux, Windows, ...). RADNO OKRUŽENJE:

Radno okruženje korišteno na radionici zove se IDLE (Integrated DeveLopment Environment). Prilikom pokretanja dobivamo "Python shell" koji je zapravo interpreter. Naredbe upisane u njega se odmah izvode. Klikom na "File" -> "New window" dobivamo mogućnost da napišemo program i spremimo ga kao datoteku koju kasnije možemo pokretati. Program se pokreće klikom na "Run" -> "Run module".

Vjekoslav Giacometti

Page 32: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

32

WEB početni

Predavač: Nataša Munitić

Polaznici:

1. Dominik Presečki 2. Luka Hršak 3. Borna Cesarec 4. Marina Samblić 5. Krunoslav Drašković 6. Sandra Majsec 7. Helena Polanščak 8. Lucija Kolarec 9. Juraj Štern-Vukotić

10. Eva Presečki 11. Laura Presečki 12. Mark Rajković 13. Leonarda Leskovar 14. Ivona Strehovec 15. Katarina Barilar 16. Patrik Hršak 17. Barbara Presečki

Pohvaljeni učenici: Dominik Presečki, Borna Cesarec i Laura Presečki

Radionica WEB POČETNI se održavala 3 dana, po 4 sata. Gradivo se protezalo od upoznavanja samog Interneta, preko servisa koje Internet nudi, do izrade Internet stranica. Obrađene teme:

Općenito o Internetu Uporaba najpoznatijih web preglednika Napredno pretraživanje web-a Google Translate, Wolfram Alpha Korištenje Wikipedije, portala, foruma, blogova Izrada i uporaba maila, slanje attachmenta Korištenje Google Documentsa Izrada jednostavnih web stranica u Macromedia Dreamweaver-u Uvod u HTML

Prvi dan sam polaznicima objasnila od čega se sve Internet sastoji te na koji način radi. Upoznali smo se s najpoznatijim web preglednicima (npr. postaviti početnu stranicu, koristiti tabove, mijenjati postavke), te naučili pretraživati Internet. Naučili su da osim Googlea postoje i druge tražilice, poput Wikipedije ili Wolframa Alpha te se naučili njima koristiti. Naučila sam ih čemu služe portali (npr. index.hr, net.hr, dnevnik.hr). Provjerili smo blog-postove najpoznatijih blogova te naučili koje su prednosti, a koje mane vođenja bloga. Naučili smo kako se registrirati na forum, te koja su pravila ponašanja na forumima.

Da bismo pronašli specifične podatke, koristili smo napredno pretraživanje, te naučili pretraživati dokumente, na određenom jeziku, određenog tipa, iz određenog razdoblja, s ključnim riječima, i zabranjenim riječima. Da bismo nove informacije mogli razmjenjivati, napravili smo novi e-mail na Gmailu, te naučili slati emailove s privitcima, dodavati emotikone, koristiti chat, itd. Za kraj dana smo naučili koristiti Google Documents kao kolaboracijski alat.

Page 33: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

33

Drugi dan smo se upoznavali s alatom Dreamweaver MX, te izradom web stranica. Prvo su polaznici osmislili o čemu žele napraviti web stranicu, te na internetu pronašli sav materijal koji žele upotrijebiti na svojoj stranici. U programu Paint su nacrtali skicu svoje web stranice, te je u Dreamweaveru krenuli realizirati.

Naučili su: dodavati tekst i slike, dodavati linkove na tekst i slike, oblikovati naslove, centrirati tekst, mijenjati boju, oblik i veličinu slova, …

Treći dan sam ih naučila osnovama HTML-a. Provjerili smo koliko je kompleksno napisati web stranicu koristeći samo HTML, gledajući kôd stranice koju smo radili prethodni dan. Naučili smo najvažnije tagove koje smo primijetili u tom kôdu, te smo kao zaključak radionice napisali svoju drugu HTML stranicu koristeći samo HTML i alat Notepad++. Primjer izrađene web stranice:

Page 34: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

34

Tagovi koje smo koristili i naučili:

postavljanje boje pozadine, teksta i hiperveza: <body bgcolor="aqua" text="#000000" link="#CC0000" vlink="#999900"> </body>

formatiranje teksta:

<font size="+6"><em><strong>Ovo je moja prva web stranica. </strong></em></font>

stvaranje hiperveze, umetanje slike:

<a href="http://www.onedirectionmusic.com/gb/home/" target="_blank"> <img src="one-direction-5.jpg" width="701" height="467" border="0"></a>

kreiranje i postavke paragrafa:

<p align="center">ovo je paragraf centriran po sredini</p>

kreiranje liste: <p>Članovi benda su: </p> <ul> <li> <div>Niall Horan</div> </li> <li> <div>Zayn Malik</div> </li> . . . </ul>

Ostali primjeri zanimljivih projekata polaznika:

Nataša Munitić

Page 35: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

35

WEB napredni

Predavači: Nataša Munitić i Vjekoslav Giacometti Pohvaljeni učenik: Luka Hršak

Radionica WEB NAPREDNI se održavala 3 dana, po 4 sata. Gradivo je obuhvaćalo HTML, CSS, te osnove JavaScripta (koje je predavao Vjekoslav Giacometti). Radionica je osmišljena kao nastavak radionice Web početni. Obrađene teme:

Tagovi u HTML-u Korištenje HTML-a CSS osnove JavaScripta

Prvi dan radionice su polaznici dobili prikazanu jednostavnu web stranicu, te su trebali sami napisati HTML kôd te stranice, kako bih vidjela koliko polaznici znaju. Kako bismo mogli logički odijeliti cjeline, te na njih primijeniti CSS, uveli smo div tag. Objasnila sam na koje načine se HTML i CSS mogu povezati, te smo se odlučili za najuobičajeniji način – koristiti stylesheet.

Drugi dan sam pripremila HTML stranice kojima je trebalo dodati CSS, te su prvo polaznici sami dodali dio koji su znali, pa smo zajedno napisali CSS za ostatak web stranice. Web stranica se sastojala od nekoliko pod-stranica, a tema joj je bila povezana s natjecanjem u poznatoj igri League of Legends. Zajedno smo dodali CSS za 3 pod-stranice, a polaznici su ga sami morali dodati za četvrtu, kako bi zapamtili najčešće korištene naredbe. Naučili smo po čemu je CSS3 poseban, te dodavali zaobljene rubove elementima.

Polaznici:

1. Dominik Presečki 2. Luka Hršak 3. Marko Lazarić 4. Marina Samblić 5. Karlo Sintić 6. Juraj Štern-Vukotić 7. Laura Presečki 8. Mark Rajković

Page 36: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

36

Treći dan radionice je Vjekoslav Giacometti uveo polaznike u JavaScript. Polaznici su naučili što je

JavaScript, čemu služi te kako ga se povezuje s HTML-om. Na primjeru jednostavne animacije nad slikom su obrađene funkcije ready, click, mouseout i animate. Sliku se moglo na klik povećati, a kad se kursor makne sa slike, vratila bi se na početne dimenzije. Primjer izrađene web stranice: HTML kôd: <html>   <head>     <title> LCS ‐ Igra </title>     <meta http‐equiv="Content‐Type" content="text/html; charset=utf‐8">     <link href="style3.css" rel="stylesheet" type="text/css">   </head>   <body>     <div id="title"> LoL Championship series </div>            <div id="menu"><h3>         <div class="menuItem"><a href="index4.html/">Dobrodošli</a></div>         <div class="menuItem"><a href="team.html/">Team</a></div>         <div class="menuItem"><a href="igra.html/">Igra</a></div>         <div class="menuItem"><a href="join.html/">Uključi se</a></div>       </h3></div>          <div id="content">       <div id="gamePicture"><img src="game.jpg" /></div>       <div id="About">         <h4>O Igri</h4>         League  of  Legends  (LoL)  je  multiplayer  online  battle  arena  video          igra  razvijena  i  objavljena  od  strane  Riot  Gamesa  za  Microsoft          Windows  i  Mac  OS  X,  inspirirana  video  igrom  Warcraft  III:  Frozen          Throne.  Prvi  je  put  najavljena  7.  listopada  2008,  a  objavljena  je          27.  listopada  2009.  League  of  Legends  je  tijekom  godina  postajala          sve popularnija. Prema članku Forbesa iz 2012, League of Legends je          najviše  igrana  PC  igra  u  Sjevernoj  Americi  i  Europi  po  broju          odigranih sati.       </div> 

Page 37: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

37

        <br/><br/>                     <div id="tableTitle">         Tablica najpopularnijih junaka nalazi se u nastavku:       </div>                     <div id="championsTable">         <table id="charactersTable">           <tr>             <th width="100">Lee sin</td>             <th width="100">Leona</td>             <th width="100">Teemo</td>             <th width="100">Varus</td>           </tr>           <tr>             <td><img src="1.png"/></td>             <td><img src="2.png"/></td>             <td><img src="3.png"/></td>             <td><img src="4.png"/></td>           </tr>           <tr>             <td> The blind monk </td>             <td> The Radiant Dawn </td>             <td> The Swift Scout </td>             <td> The Arrow of Retribution </td>           </tr>                   </table>       </div>     </div>          <br/><br/>               <div id="Table2">       <table id="tableFollow">         <tr>           <td width="30"><a href="http://www.facebook.com">             <img src="facebook.jpg" width="30" height="30"/></a>           </td>           <td width="220">Prati nas na Facebooku</td>           <td width="30"><a href="http://www.twitter.com">             <img src="twitter.jpg" width="30" height="30"/></a>           </td>           <td width="220">Prati nas na Twitteru</td>         </tr>         <tr>           <td><a href="http://plus.google.com">             <img src = "google.jpg" width="30" height="30"/></a>           </td>           <td>Prati nas na Google +</td>           <td><a href="http://www.youtube.com">             <img src = "youtube.jpg" width="30" height="30"/></a>           </td>           <td>Prati nas na Youtubeu</td>         </tr>       </table>     </div>          <br/><br/>          <div id="copyright"> Copyright &copy; JA 2014. </div>   </body> </html>  

Page 38: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

38

CSS stylesheet (style3.css): body {   font‐size:12px;   font‐family:Verdana;   background‐color: #FFFFCC; }  #title {   text‐align: center;   background‐color: gray;   font‐weight: bold;   font‐size: 52px; }  #menu {   font‐weight: bold;   background‐color: orange;   text‐align: center;   width: 1000px;   height: 34px;   margin: auto; }  .menuItem {   width: 250px;   font‐size: 32px;   float: left;   border: 2px;   border‐radius:25px; }  .menuItem:hover {   background‐color: blue; }  #About {   text‐align:center; }  #About > h4 {   font‐size: 20px; }  #Names > h4 {   text‐align: center; }  #namesContainer {   font‐weight: bold;   margin‐left: auto;   margin‐right: auto;   width:15%; }  #tableTitle {   text‐align: center;   font‐size:20px;   margin‐bottom:10px; } 

#Table1 {   margin:auto;   width:1120px; }  #charactersTable {   text‐align: center;   border‐collapse: collapse; }  #charactersTable th {   border: 1px solid black; }  #charactersTable td {   border: 1px solid black; }  #Table2 {   margin:auto;   width:520px; }  #profilePicture {   margin:auto;   width: 85%; }  #gamePicture {   margin:auto;   width: 66%; }  #championsTable{   width:320px;   margin:auto; }  #joinPicture {   margin‐left:auto;   margin‐right:auto;   width:40%; }  #velikaslika {   width: 600px;   height: 400px;   border: 2px solid black;   border‐radius: 80px;   opacity:0.6; }  #velikaslika:hover {   opacity:1;   border:10px solid orange; }  

Page 39: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

39

Za vježbanje CSS-a smo napravili i stranicu o popularnoj animiranoj TV seriji – Futurama:

Budući da su polaznici uglavnom bili osnovnoškolci s malim predznanjem, bilo je potrebno prilagoditi plan te na početku ponoviti HTML. Pri povezivanju HTML-a i CSS-a se vidjelo da polaznici ne znaju programirati, pa se taj dio morao prilagoditi. Isti se problem pojavio i pri uvođenju JavaScrripta.

Usprkos tim nedaćama, polaznici su se jako trudili i uspjeli svladati svo gradivo. Kod nekih je bio jasno vidljiv veliki pomak. Polaznici su potaknuti da nastave dalje razvijati svoje vještine, a mnogi su i sami iskazali interes za to.

Nataša Munitić

Page 40: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

40

JAVA ANDROID

Predavač: Nikola Presečki

Polaznici:

1. Matija Kovačec 2. Bruno Miljan 3. Dino Dunaj 4. Dino Dolovčak 5. Lovro Dolovčak 6. Karlo Mrzlečki 7. Juraj Barilar 8. Marko Lazarić 9. Karlo Sintić 10. David Vuzem 11. Mario Vuzem 12. Robert Leljak 13. Domagoj Vincelj 14. Mislav Žlepalo

15. Rej Šafranko 16. Kruno Leljak 17. Matija Ljubić 18. Alen Štruklec 19. Kristijan Vešligaj 20. Domagoj Gavranić 21. Vjeran Vragović 22. Fran Kundih 23. Josip Horvat 24. Jan Jurinjak 25. Leonard Vincelj 26. Vilim Lendvaj 27. Dorijan Lendvaj

Pohvaljeni učenici: Alen Štruklec i Domagoj Gavranić

Na radionici „Java Android“ polaznici su se upoznali s osnovama izrade aplikacije za operacijski sustav Android. Tijekom dva dana razvijala se jednostavna aplikacija pomoću koje su se polaznici upoznali s razvojnim okruženjem, alatima koji nam koriste za ispitivanje aplikacija te njeno testiranje. Upoznali su se i s različitim načinima izrade trenutnog prikaza za korisnika (dinamički su se dodavali novi elementi).

Radionica je zahtijevala određeno predznanje iz nekog programskog jezika (najpoželjnije je bilo predznanje iz jezika Java, ali je znanje iz jezika C bilo dovoljno). Radila se aplikacija koja bi služila za neku vrstu natjecanja (npr. tko će pojesti više kriški pizze). Upišu se imena natjecatelja te početne vrijednosti (koja je postavljena na 0, ali se može promijeniti). Mogu se odabrati najmanje dva natjecatelja, a najviše 8. Pritiskom na tipku, započinje naše natjecanje gdje se omogućuju tipke za povećanje trenutnog stanja, a onemogućuje se odabir mijenjanja broja igrača. Prilikom pritiska na predviđenu tipku, u bazu podataka se sprema vrijeme kada je započeto natjecanje.

Prvi dan bavili smo se upoznavanjem s razvojnim okruženjem Eclipse, izradom animacije nakon koje se pojavljuje početni ekran aplikacije, te pokretanjem nove aktivnosti (glavni prikaz).

Page 41: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

41

Nakon početne animacije se otvara glavni prikaz naše aplikacije. Natjecanje završavamo pritiskom na odgovarajuću tipku. Sve vrijednosti se spremaju u bazu te se mogu naknadno vidjeti, a trenutni prikaz se ponovo pokreće.

Drugi dan smo dovršili glavni prikaz. Napravili smo sve potrebne radnje da aplikacija ispravno radi. Pokušali smo pronaći sve problematične dijelove koji bi mogli srušiti aplikaciju ako korisnik ne slijedi upute (npr. ako ne unese ime natjecatelja). Napravili smo i izbornik za našu aplikaciju u kojem se nalazi jedan element, a to je prikaz naše baze podataka u kojoj su spremljene prošle igre.

Treći dan smo napravili prikaz baze podataka i time završili našu aplikaciju. Polaznici su kao zadatak trebali izraditi jednostavnu aplikaciju u kojoj su trebali primijeniti znanja iz prethodna dva dana radionice. Od svih polaznika aplikaciju je uspješno napravila trećina polaznika.

Page 42: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

42

UVOD U ANDROID

Android je operativni sustav izdan od strane Google-a koji se temelji na Linux jezgri te se koristi za uređaje s ekranom na dodir poput smartphone-a i tableta. Android je open-source (s Apache licencom) što znači da se slobodno može mijenjati i nadograđivati od, bilo mrežnih operatera, bilo samostalnih developera.

Značajno je kako Android upravlja sa RAM-om. Radi tako da aplikacije koje su se prije koristile, ali trenutno nisu aktivne (nisu na zaslonu), stavljaju se u red, u pozadinu te time ne troše previše baterije koja je vrlo značajna za mobilne uređaje. Time

se i omogućuje brže pokretanje aplikacije, tj. dobivamo na performansama.

Dva najznačajnija dijela Androida kao operativnog sustava su Linux jezgra i Dalvik VM. Linux jezgra služi kao „most“ između softvera i hardvera, tj. kada softver želi nešto učiniti s hardverom šalje zahtjev jezgri. Linux jezgra na Androidu se razlikuje od onog što se smatra uobičajenom Linux jezgrom jer ima dosta kôda napisanog za potrebe rada uređaja. Najvažnije što jezgra sadrži su upravljački programi (drivers). Pošto je jezgra dostupna svima za uređivanje, razni developeri mogu „istisnuti“ još više performansi za mobilne uređaje za koje rade vlastiti ROM. Dalvik je virtualna mašina koja pokreće aplikacije na Android uređajima. Aplikacije se pišu u jeziku java te se zatim kompiliraju u bytecode, a prije instalacije na mobilni uređaj se prevode u .dex datoteke (DalvikEXecutable).

Nova verzija Androida (Kit Kat, tj. 4.4) zamijenila je Dalvik s eksperimentalnim ART koji će omogućiti bolje performanse (umjesto da se kôd interpretira kod pokretanja, to će se napraviti odmah nakon instalacije, ali time se zauzima više prostora te neke dodatne stvari).

Za izradu aplikacije potrebno je skinuti sa službenih stranica Android ADT te imati instaliranu Javu. U Android ADT nalazi se programsko okruženje (Eclipse) te Android SDK (skup biblioteka, slika OS-a za emulator, itd). IZRADA NOVOG PROJEKTA

Prije nego što uopće možemo početi raditi našu aplikaciju, moramo definirati nekoliko stvari. Ime aplikacije je proizvoljno. Poželjno je da ime projekta bude jednako imenu aplikacije. Ime našeg paketa mora biti jedinstveno zbog načina na koji radi Play Store. On traži svaku aplikaciju po imenu paketa i zato dvije aplikacije koje se nalaze na njemu ne smiju imati jednako ime paketa. Neko nepisano pravilo za ime paketa je com.nadimak_programera.ime_aplikacije.

Moramo definirati za koje verzije Androida je naša aplikacija namijenjena. Pritom moramo pa-ziti da se neki noviteti u novijim verzijama Androida ne mogu ko-ristiti u starijim.

Tijekom daljnjeg postav-ljanja aplikacije odabiremo ikonu, ime početne aktivnosti i njenu vrstu te ostale sitnice koje se mogu i kasnije definirati.

Page 43: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

43

IZGLED PROJEKTA

Android Manifest je najvažnija datoteka u projektu. U njoj reguliramo koje verzije Androida podržavaju našu aplikaciju, koje sve ovlasti za pristup ima naša aplikacija, što će se prvo pokrenuti i sve ostalo.

Za različite stvari postoje različite mape. Tako npr. za slike postoje mape ovisno o dpi (dots-per-inch). Android radi neovisno u koju mapu stavimo neku sliku. On će odabrati onu koja će se najbolje prikazati na trenutnom ekranu.

Kada radimo grafički prikaz i želimo postaviti tekst za određeni dodatak, to radimo pomoću datoteke strings.xml u koju napravimo novi element s određenim imenom (koji služi kao "id") i njegovom vrijednošću. Naravno, možemo napisati i tekst bez toga. Tada je on ukodiran, a to nam predstavlja prepreku ako želimo imati aplikaciju na više jezika.

Mapa layout sadrži datoteke s kojima stvaramo prikaz za različite dijelove naše aplikacije dok mapa src sadrži mapu s imenom paketa naše aplikacije u kojoj se nalaze java datoteke u kojima se nalazi kôd koji se izvodi kada se aplikacija pokrene.

Page 44: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

44

NAČIN IZRADE APLIKACIJE Za izradu aplikacije moramo povezati grafički prikaz s java datotekom. GRAFIČKI PRIKAZ

Prikaz koji želimo da vidi korisnik radimo u xml datotekama u mapi layout. Možemo ga napraviti jednostavno s „povuci i stavi“ metodom (svi elementi koje koristimo nalaze se u izborniku i možemo ih jednostavno povući i staviti). Ipak je jednostavnije da sami pišemo kôd jer pritom možemo podesiti sve parametre kako nama odgovara.

Za grafički prikaz moramo imati jedan glavni prikaz (layout) u kojeg stavljamo sve ostale. Taj prikaz mora imati xmlns naredbu i time se zna da se u njemu nalaze svi ostali elementi za prikaz. Lijevo imamo grafički prikaz kako izgleda naš kôd desno. Svaki element koji ćemo koristiti u java kôdu (npr. tipka na koju ćemo pritisnuti) mora imati vlastiti ID u cijeloj aplikaciji zato da mu znamo pristupiti. Trebamo definirati visinu i širinu elementa, tj. zauzima li sve što može (match_parent) ili zauzima minimalno što mu treba (wrap_content). Možemo dodavati elemente u našem kôdu kada želimo stvarati vlastiti prikaz. Java kôd za dodati neki novi element:

EditText eti = new EditText(this); eti.setId(etime[i] = View.generateId()); eti.setHint("Unesite ime igraca " + i); eti.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,    LayoutParams.WRAP_CONTENT, 1.0f)); ll1.addView(eti); 

Definiramo našem elementu njegov id, te koliki prostor uzima od prikaza u kojem se nalazi te sve ostale parametre koji su nam potrebni. U ovom slučaju je ll1 LinearLayout u kojeg stavljamo naš element.

JAVA KÔD (KLASE)

Aplikacije za Android se pišu u programskom jeziku Java, ali postoji i potpora za programiranje u jeziku C (za to treba preuzeti Android NDK). Razlika je u tome što se programski jezik C koristi za operacije niske razine te se time mogu postići bolje performanse kod aplikacije. U našem kôdu moramo definirati activity (našu aktivnost, ono što se trenutno prikazuje na ekranu) koja sadrži sve od prikaza kojeg će koristiti do različitih slušaoca (npr. za dodir, za pritisak na gumb, itd) pa sve što nam aplikacija koristi.

Page 45: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

45

Izgled jednog takvog kôda:

package com.example.projektl;  import android.app.Activity;  public class Splash extends Activity {  @Override    protected void onCreate(Bundle savedlnstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.splash);        ImageView iv = (ImageView)findViewById(R.id.ivsplash);    iv.setBackgroundResource(R.drawable.animacija);    final AnimationDrawable ad = (AnimationDrawable) iv.getBackground();    iv.post(new Runnable(){      public void run(){        ad.start();      }    });     Handler han=new Handler();    han.postDelayed(new Runnable()    {      @Override      public void run()      {        Intent in = new Intent(Splash.this, Glavna.class);        startActivity(in);        Splash.this.finish();      }    }, 4000);    } } 

Vidimo da datoteka započinje s imenom paketa, zatim se dodaju sve klase koje koristimo te se definira klasa koju upravo koristimo. Ako želimo proširiti našu klasu s nekom drugom (u ovom slučaju s klasom Activity), trebamo dodati extends te zatim ime te proširujuće klase. Za dodavanje slušaoca koristi se nastavak imports. Zatim se unutar klase definira funkcija onCreate() koja se pokreće uvijek kad se ponovo naša aktivnost pozove. Što se događa prilikom svakog stanja možemo sami definirati, ali pritom moramo paziti da npr. kod izlaza iz trenutne aktivnosti nemamo preveliki kôd koji će se dugo izvršavati jer će se time znatno naša aplikacija usporiti. Svaka pojedina funkcija će se do kraja izvesti te će se nakon toga pozvati nova aktivnost (kao što je definirano u kôdu iznad). Primjer iznad (java kôd) je namijenjen za ostvarivanje početnog ekrana koji se može koristiti u slučaju da imamo neku veliku bazu koja se na početku aplikacije mora učitati pa to možemo izvršavati u pozadini dok se na ekranu vrti početna slika ili animacija. Java kôdu grafički prikaz pridružujemo pomoću funkcije setContentView(). Kada želimo koristiti neki element moramo definirati varijablu istog tipa te zatim pomoću funkcije findViewById() i jedinstvenog id-a naći taj naš element. Vrijednost koju nam vrati funkcija moramo pretvoriti u odgovarajući tip. Kada želimo upravljati dretvama, moramo paziti da ju ne zablokiramo predugo. Kod Androida, ako je dretva blokirana dulje od 5 sekundi, javlja se neispravnost aplikacije. Za gumb (Button) možemo u xml datoteci definirati koju funkciju da pozovu ako se pritisne na njih te time ne moramo definirati slušaoca. Možemo primijetiti da se iznad funkcije onCreate() nalazi notacija @Override. To znači da, ako navedena funkcija zablokira u nekom djelu, automatski se ponovo pokrene. Vidi se hoće li opet biti ista greška pa po potrebi prekinuti aplikaciju ili nastaviti dalje raditi.

Page 46: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

46

Sva stanja neke aktivnosti se mogu vidjeti na slici:

ANDROID MANIFEST

Kao što je već navedeno, u manifestu se nalaze sve bitne stavke za našu aplikaciju. Nalazi se ime projekta, koja verzija aplikacije je trenutna, za koji raspon verzija Androida je namijenjena aplikacija, koja se ikona koristi, ime aplikacije, koja se tema koristi, itd. Da bi se aplikacija ispravno pokrenula, potrebno je definirati koja aktivnost je početna (pokretačka). Kada napravimo nove aktivnosti, moramo ih definirati u manifestu da bi se one mogle pokrenuti.

Page 47: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

47

Manifest xml datoteka:

POMOĆ KOD POKRETANJA APLIKACIJE

Nakon što završimo našu aplikaciju, trebamo ju naravno pokrenuti i testirati da se uvjerimo da ona ispravno radi. Aplikaciju možemo pokrenuti na emulatoru koji je ugrađen ili ju možemo izravno instalirati na naš pametni telefon. Tab Problems nam ispisuje greške i upozorenja koje trebamo uzeti u obzir. Pod Console možemo vidjeti kako se naša aplikacija gradi prije pokretanja. Najvažnije nam je pratiti LogCat u kojem nam se ispisuje što se događa u nekom trenutku u našoj aplikaciji. Ako se ona sruši, tamo piše točno koji je dio problem te tako možemo vrlo brzo i jednostavno popraviti što ne valja u našem kôdu.

<?xml version="1.0" encoding="utf‐8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"     package="com.example.projekt1"     android:versionCode="1"     android:versionName="1.0" >      <uses‐sdk         android:minSdkVersion="8"         android:targetSdkVersion="19" />      <application         android:allowBackup="true"         android:icon="@drawable/ic_launcher"         android:label="@string/app_name"         android:theme="@style/AppTheme" >         <activity             android:name="com.example.projekt1.Splash"             android:label="@string/app_name" >             <intent‐filter>                 <action android:name="android.intent.action.MAIN" />                  <category android:name="android.intent.category.LAUNCHER" />             </intent‐filter>         </activity>         <activity android:name=".Glavna"              android:label="@string/app_name" />         <activity android:name=".PovijestIgre"              android:label="@string/app_name" />     </application>  </manifest> 

Page 48: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

48

Android emulator za Windows OS

Za radionicu je bilo potrebno predznanje iz nekog programskog jezika. Polaznici koji su ga imali mogli su lakše pratiti i shvatiti kako napraviti vlastitu aplikaciju. Većina polaznika nije imalo predznanje te im je trebalo više vremena i drugačiji pristup da uspiju shvatiti pojedine dijelove.

Cilj radionice je bio približiti Android programerima koji tek počinju raditi svoje prve aplikacije. Najvažnije je shvatiti na što sve treba obratiti pozornost prilikom izrade aplikacije te da se pojedini dijelovi mogu ostvariti na više načina.

Mislim da je cilj ostvaren te da su polaznici dobili dobre temelje za početak izrade vlastitih aplikacija.

Nikola Presečki

Page 49: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

49

FLASH

Predavač: Marko Mikša, dipl. inf.

Polaznici:

1. Lucija Šalković 2. Katarina Mutak 3. Jakov Turner 4. Alisa Lončar 5. Lana Leljak 6. Karlo Haramina 7. Nina Šalković 8. Josip Kelava 9. Roberto Pavetić

10. Matija Duž 11. Mirela Jakuš 12. Karlo Kobeščak 13. Dominik Stanić 14. Anja Komorski 15. Sanja Suhodolčan 16. Andrea Haramustek 17. Vladimir Šindler

Pohvaljeni učenici: Vladimir Šindler, Nina Šalković i

Lucija Šalković Cilj rada u radionici:

Upoznati i koristiti alat Adobe Flash, nacrtati razne likove i napraviti animacije, upoznati osnove ActionScripta

Obrađene teme:

Uvod u aplikaciju Adobe Flash CS4, objašnjenje osnovnih pojmova, vektorska grafika, upoznavanje sučelja

Slojevi (layers), predefinirane animacije (Motion Preset), usporavanje i ubrzanje lika (Ease) primjer lopte koja se odbija od poda

Pretvaranje bitmapa u vektor, korištenje slike sa weba na animaciji Motion tween, Classic tween, Shape tween na mnogim primjerima Izrada zahtjevnijih animacija Upotreba ActionScripta kod zaustavljanja i pokretanja animacija Upotreba ActionScripta kod upravljanja likom na pozornici pomoću tipkovnice

Flash je alat za izradu vektorske grafike, animacija, prezentacija, kompleksnih aplikacija i brojnih drugih sadržaja koji omogućuju multimedijalnu interakciju s korisnikom. U ovoj radionici neki polaznici nisu nikad radili u ovom alatu, a neki jesu pa smo krenuli ispočetka. Svi su usvojili alat Adobe Flash tako da mogu napraviti prilično složene animacije brzo i na jednostavan način, što smo uvježbali na mnogim primjerima.

Vektorska grafika znači da su predmeti na slici matematički definirani, i koliko god mi sliku povećavali, slika se neće zamutiti. Vektorska grafika omogućava izradu oštrih slika koje zauzimaju malo memorije. Flash player je besplatan program malih dimenzija koji služi za prikazivanje gotovih Flash aplikacija i bez njega web stranice se nekad ne prikazuju u potpunosti, ukoliko na njima postoji dio koji je izrađen u Flashu. Na taj način se omogućava povezivanje svih medija (videa, zvuka, vektorskih i rasterskih slika, teksta) u vrlo strukturiranu cjelinu, stoga nam je u razvoju Flash animacija jedino ograničenje mašta.

Page 50: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

50

Animacija je slaganje okvira, koji sadrže slike, u niz koji se izmjenjuje u jedinici vremena. Slike

unutar okvira mogu sadržavati sve: od točaka, crta, teksta, sličica pa sve do velikih slika. Brzo izmjenjivanje okvira nam daje dojam kretanja.

Kako je animacija ovisna o vremenu, odnosno promjenama položaja i oblika u jedinici vremena, tu je i "vremenski slijed" (Timeline), u kojem se definiraju pojedine akcije koje se u određenom trenutku događaju u određenom sloju (layer). Slojevi (layers) su virtualne plohe koje nam omogućavaju da više objekata nezavisno pomičemo po "pozornici". Slojevi su poredani jedan iznad drugog stoga će objekti iz viših slojeva, odnosno slojeva bližih promatraču, natkriti objekte iz nižih slojeva, naravno, samo ako se nađu na istom mjestu. Okviri (frames) su slike koje izmjenama u "vremenskom slijedu" tvore animaciju. Prilikom izrade Flash animacija okviri nam omogućuju da nacrtamo, uredimo i vidimo što se zbiva na "pozornici" u određenom djeliću sekunde.

Tijekom izrade animacije, Flash datoteke se spremaju kao FLA (FLash Authoring) datoteka. FLA datoteke su radne inačice koje se mogu mijenjati, nadograđivati, ali se ne mogu prikazivati na web stranicama. Kada smo zadovoljni Flash uratkom, eksportiramo ga u SWF oblik (Small Web Format) – format koji se na webu može promatrati uz pomoć Flash playera. Crtić u SWF oblik spremamo funkcijom File > Publish (Shift +F12) ili File > Export. Postoji još mogućnost spremanja i u drugim oblicima: JPG, GIF, SWT, Quick Time Movie, Real Player Movie. Dakako, pri spremanju u druge oblike mogu se izgubiti neka važna svojstva Flasha, npr. JPG sličica nikako ne može biti animirana… Zašto koristiti Flash?

Jedna od velikih prednosti Flasha je u tome što njegova uloga u web sjedištu može varirati od svega jednog gumba ili jednostavne animacije koji obogaćuju statičnu HTML stranicu, pa sve do naprednih Flash aplikacija koje objedinjuju sve na Internetu dostupne medije: tekst, zvuk, video. Flash i HTML se jako dobro nadopunjavaju pa takve animacije možemo potpuno analogno kao i statičnu sličicu ili animirani GIF uklopiti u našu HTML stranicu. Flash stranicu možemo koristiti u kombinaciji s HTML stranicama unutar jednog skupa okvira (frameset-a). To je dovoljno samo za početak, jer Flash omogućava izradu i znatno naprednijih web aplikacija uz pomoć skripta, formulara (form), interakcijama s bazama podataka, upravljanje zvukom, videom, izradu padajućih menija...

Velika prednost je i kod zaštita podataka. Svi podaci spremljeni u SWF formatu su jako dobro

zaštićeni od potencijalnih pirata. Stoga, ukoliko želite zaštititi svoj autorski rad, SWF je pravi izbor formata. S obzirom da je zaštita podataka jedan od aduta Flasha, Adobe je priredio Flash Paper – softver koji će vam omogućiti da u nekoliko poteza mišem brojne dokumente (.doc, .ppt, .jpg...) upakirate u Flash format i objavite bez straha da će se pirati okoristiti vašim radom.

Page 51: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

51

Zašto ne koristiti Flash?

Poznato je da SEO i web tražilice predstavljaju veliki problem webmasterima. Ako želite visoko mjesto na tražilici, nemojte se oslanjati na Flash. Naime, tražilice imaju problema s razumijevanjem podataka spremljenih u Flash datotekama. Stoga će stranice napravljene u starom dobrom HTML-u imati bitno bolji tretman no Flash stranice. Također, u slučaju ako vam je potrebno brzo objaviti jednostavnu informaciju koja se sastoji od teksta i nekoliko sličica, nije potrebno koristiti Flash jer se bespotrebno stvari kompliciraju. Učitavanje Flash stranice zahtijevaju nerijetko veću količinu memorijskog prostora od klasičnih HTML stranica. Samim time, za njihovo učitavanje je potrebno znatno više vremena.

Kakvoća statičnog teksta u Flashu se prikazuje u JPG kvaliteti, što ima za posljedicu mutniji tekst

nego na klasičnoj HTML stranici. Zatim, ako želite da vaši posjetitelji lako koriste i mijenjaju materijale, npr. ako želite studentima dopustiti da si kopiraju tekst, u HTML-u je to trenutak posla, a u Flashu je nemoguće.

Iako se broj korisnika weba koji nemaju Flash player instaliran ubrzano smanjuje, još uvijek je daleko od ništice. Zato moramo računati na mogućnost da neki naši posjetitelji neće vidjeti Flash datoteke, pogotovo na nekim mobilnim uređajima. Uz to, bitno je spomenuti da prikazivanje složenijih Flash animacija i videa zahtijeva kvalitetno računalo koje će te podatke moći dovoljno brzo obraditi i pokazati. Stoga je čest slučaj da se Flash datoteke ne mogu prikazati kvalitetno na starijim računalima. Sučelje

Kao i na pravom filmu, u Flash animaciji sve se zbiva na Pozornici. To je područje koje će gledatelji vašeg Flash filma vidjeti. Ukoliko su slike, tekst ili video materijali na Pozornici oni su vidljivi, a ukoliko nisu, nevidljivi su.

Siva površina oko Pozornice je radna površina. Sve što smjestite na radnu površinu, neće biti vidljivo gledateljima. Po tome radnu površinu možemo usporediti s garderobom u filmskom studiju, svi kostimi su potpuno nevidljivi dok ih glumci ne obuku i predstave na sceni.

Paneli su prozori na koje su smještene grupe alata za izradu i izmjenu Flash aplikacija. Paneli mogu pružati i podatke o objektu koji obrađujemo. Controller (Window – Toolbars) ima ulogu sličnu kao i daljinski upravljači video uređaja – da pokrene, zaustavi i premota animaciju.

Traka za uređivanje (Edit bar) je smještena netom iznad vremenskog niza i u mnogočemu je proširenje vremenskog niza. Kazuje nam gdje smo, te nam omogućava da odemo u drugu scenu, odnosno druge simbole. Gumb Timeline nam omogućava skupljanje i širenje vremenskog niza, baš kao i mali trokutići na panelima. Pretvaranje vektora u raster

Uvezite grafiku na Pozornicu Označite je alatom Izbor (Selection) U glavnom izborniku odaberite Modify > Bitmap > Trace Bitmap Odredite osobine, klik na OK

Tako pretvorenu grafiku moguće je povećati bez smanjenje kvalitete.

Page 52: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

52

Usporavanje i ubrzavanje animacije (Ease)

Smiri (Ease) je opcija koja nam omogućava usporavanje (Ease>0) ili ubrzavanje (Ease<0) objekta tijekom kretanja. Vrijednost se kreće u rasponu od -100 do 100. Ukoliko je Smiri vrijednost pozitivna, objekt će se usporavati, ukoliko je negativna objekt će se ubrzavati. Na radionici smo napravili mnoštvo primjera, neki od najzanimljivijih su: Primjer 1: Helikopter koji leti (koristeći Motion tween)

• Umetnite helikopter, lijevo izvan Pozornice, pretvorite ga u simbol • Desni klik na prvi Frame i Create Motion Tween (po potrebi se rastegne i dulje od

predloženog – što je Frameova više animacija je brža) • Klik na zadnju točku (Frame), premjestite helikopter desno izvan Pozornice • Dodavanje točke za izmjenu putanje: desni klik na 20. Frame, Insert – Keyframe –

Position; sa Selection Tool namjestite putanju po želji • Koristiti Ease za usporavanje/ubrzavanje helikoptera

Primjer 2: Lopta koja se odbija od poda (koristeći Ease) Primjer 3: Kamenje koje pada i odbija se od stijene pod raznim kutevima Primjer 4: Koristeći Shape twin i Classic twin napravili smo animaciju olovke koja piše

prvo ravnu crtu, a zatim i napiše jedno slovo. Primjer 5: Bacanje kamena – uključivanje rotacije dok se lik kreće (CW – u smjeru

kazaljke na satu; CCW – suprotno od kazaljke na satu) Primjer 6: Auto koji ide po cesti u brijeg i nizbrdo – opcija Orient to path Primjer 7: Nestajanje i ponovo postupno pojavljivanje objekta Primjer 8: Dva bolida koji se utrkuju po stazi Primjer 9: Dodavanje gumbi Play i Stop, ručno upisivanjem kôdova te zatim jednostavnije, korištenjem

ScriptAssist, prvo kod jednostavnog primjera kugle koja se kreće, a zatim kod ranije napravljenih bolida te novog zadatka, 2 helikoptera koji se kreću po pozornici.

Primjer 10: Pomicanje kugle po ekranu tipkama na tipkovnici; unos kôdova bez ScriptAssista.

onClipEvent(load){ var speed:Number = 5 } onClipEvent(enterFrame) { if(Key.isDown(Key.UP)){ this._y -= speed } if(Key.isDown(Key.DOWN)){ this._y += speed } if(Key.isDown(Key.RIGHT)){ this._x += speed } if(Key.isDown(Key.LEFT)){ this._x -= speed } }

Marko Mikša

Page 53: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

53

POČETNICI

Predavači: Miljenko Hmelina, prof. Pohvaljeni učenici: Martin Šalković i Borna Draganić

Radionica "Početnici" (Osnove računala) održavala se od utorka do četvrtka u prijepodnevnom terminu. Radionicu je pohađalo 12 učenika osnovnih škola Krapinsko-zagorske županije, polaznici 1. i 2. razreda.

Cilj radionice bio je da učenici steknu osnovno znanje rada na računalu. Teme radionice:

I. WINDOWS 1. Osobno računalo - dijelovi računala - uključivanje i isključivanje računala - mediji za pohranu podataka - uporaba miša i tipkovnice 2. Radna površina (Desktop) - što su ikone i čemu služe - promjena pozadine radne površine - promjena postavki čuvara zaslona - stvaranje prečica - rad s prozorima 3. Rad sa mapama i datotekama - naučiti razliku između mape i datoteke - stvaranje nove mape - preimenovanje i brisanje mape - kopiranje mapa i datoteka - naredbe kopiraj i izreži 4. Crtanje slika (Paint) - otvoriti program Paint - služiti se alatima za crtanje - spremanje crteža na računalo - otvaranje postojećeg crteža

Polaznici:

1. Lucija Gregurović 2. Barbara Frankol 3. Vito Tušek 4. Goran Brlek 5. Luka Horvat 6. Adrijan Zajec 7. Martin Šalković 8. Antonija Mutak 9. Borna Draganić 10. Ema Vorih 11. Fran Petek 12. Patrik Vorih

Page 54: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

54

II. MICROSOFT WORD - rad sa programom MS Word - izgled i elementi prozora - rad s tekstom – unos, oblikovanje, kopiranje, premještanje - spremanje i otvaranje dokumenata - umetanje slika u dokument - tablice (za vježbu, napravili smo raspored sati):

RASPORED SATI 

SAT/DAN  PONEDJELJAK  UTORAK  SRIJEDA  ČETVRTAK  PETAK 

1.  MAT  HRV  TZK  PRI  GLA 

2.  MAT  NJEM  VJE  ENG  TZK 

3.  TZK  PRI  MAT  VJE  NJEM 

4.  VJE  LIK  HRV  TZK  HRV 

5.  ENG        HRV 

6.            III. INTERNET - objasniti pojam interneta - pregledavanje web stranica - upotreba tražilice - spremanje teksta i slika sa web stranice na računalo IV. POWERPOINT - rad s programom MS Powerpoint - rad s prezentacijama – unos, oblikovanje, kopiranje, premještanje - spremanje i otvaranje prezentacije - umetanje slika i teksta u prezentaciju

Služeći se internetom, učenici su trebali pronaći tekstove i slike vezane o nacionalnim parkovima Hrvatske, spremiti ih i oblikovati u MS Powerpointu.

Miljenko Hmelina

Page 55: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

55

Računalo plus

Predavač: Miljenko Ilić, dipl. inf.

Polaznici:

1. Rebeka Gjonlleshaj 2. Maša Margarin 3. Dora Cvrtila 4. Luka Bajcer 5. Karlo Lukšić 6. Klara Petrić 7. Nela Horvat 8. Luka Bljajić 9. Filip Horvat 10. Jana Vita Poslon 11. Tea Poslon 12. Helena Hršak 13. Noa Sirovec 14. Josip Peer 15. Lucija Sertić 16. Sara Gregurović 17. Janko Strahinec 18. Tamara Pernjek 19. Matija Hmelina

20. Luka Vorih 21. Hana Iva Zubić 22. Korina Krog 23. Antonia Hušnjak 24. Lara Lalić 25. Martin Artić 26. Marta Duž 27. Tamara Groš 28. Ana Vuković 29. Patrik Ljubić 30. Kruno Habljak 31. Luka Škreblin 32. Lovro Jambrek 33. Mateo Merkaš 34. Sven Gretić 35. Marinela Pavetić 36. Nika Jurman 37. Ivona Škrobot 38. Jill-Letizia Kantolić

Pohvaljeni učenici: Karlo Lukšić, Lara Lalić, Antonia Hušnjak i Luka Škreblin

Radionica Računalo plus namijenjena je učenicima nižih razreda koji već imaju određenih znanja u radu s računalom. Nakon završetka radionice učenici će znati izraditi samostalno tablicu i križaljku u Microsoft Wordu, koristiti oblike za crtanje u programu MS Word i MS PowerPoint te kreirati prezentaciju prema vlastitoj želji. Također smo nadopunili njihovo znanje iz programskog jezika Logo. I. MICROSOFT WORD 1. Umetanje tablica

Microsoft Word kao osnovni program namijenjen obradi teksta pruža raznovrsne mogućnosti umetanja i oblikovanja tablica. Tablica je organiziran način prikaza podataka složenih u retke i stupce. Podaci su odijeljeni jedni od drugih rešetkama (obrubima) tablice koji mogu biti oblikovani na više načina. Osnovni dijelovi svake tablice su: redak, stupac i ćelija. Microsoft Word nudi nekoliko različitih načina umetanja ili stvaranja tablice. Koji ćete od njih rabiti, ovisi o tome kako volite raditi i koliko je tablica složena za izradu. Umetanje tablice označivanjem broja redaka i stupaca tablice mišem: Postavite točku unosa ili označite mjesto u dokumentu gdje želite

umetnuti tablicu. Na kartici Umetanje, u grupi Tablice kliknite na gumb Tablica. Kliknite na prvi kvadratić/ćeliju i ne otpuštajući lijevu tipku miša,

povlačenjem, označite potreban broj redaka i stupaca. Kada odaberete željeni broj stupaca i redaka, otpustite lijevu tipku

miša.

Page 56: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

56

Umetanje tablice dijaloškim okvirom Umetni tablicu: Na kartici Umetanje, u grupi Tablice kliknite na gumb

Tablica, a zatim na naredbu Umetni tablicu. Otvorit će se dijaloški okvir Umetanje tablice u kojem se

nalaze sljedeći alati: o Broj stupaca i Broj redaka o Fiksna širina stupca – ovom naredbom

postavljamo da stupac ćelije uvijek bude jednake širine, neovisno o količini upisanog sadržaja?

o Samoprilagodi sadržaju – širina stupca će se prilagođavati veličini upisanog sadržaja.

o Samoprilagodi prozoru – često moramo raditi sa smanjenom veličinom prozora. Umetnuta će tablica zauzeti prostor od lijevog do desnog ruba prozora neovisno o njegovoj veličini.

Crtanje tablice: Tablica ne mora uvijek imati jednostavan, pravilan pravokutni oblik. Može biti mnogo složenija i

imati u sebi ćelije različite visine i širine. Takve tablice možemo nacrtati alatom Nacrtaj tablicu.

Nakon što smo se upoznali sa načinom izrade tablice pristupili smo izradi križaljke kao na slici. Okomito: 1. IZ NJEGA PADA KIŠA 2. ONE SJAJU NOĆU UZ MJESEC 4. ON ČESTO PADA ZIMI

Vodoravno: 3. KAD ONA PADA, NOSIMO KIŠOBRAN 4. ONO NAS GRIJE PO DANU 5. ON NAM OSVJETLJAVA NOĆ

R I J E Š I K R I Ž A LJ K U

Page 57: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

57

2. Crtanje programom za obradu teksta

Microsoft Word omogućuje umetanje i oblikovanje niza grafičkih elemenata, crteža i slika. U njemu također možemo crtati jednostavnije crteže. Gotove oblike možete umetati tako da otvorite karticu Umetanje, a zatim u grupi naredbi Ilustracije kliknete na gumb Oblici. U padajućem će se popisu pojaviti galerija oblika kojima se često koristite u uređivanju Wordovih dokumenata. Radi jednostavnijeg pregleda likovi su podijeljeni u niz kategorija.

Zadatak: Koristeći gotove oblike izradite Božićnu čestitku u programu MS Word. (Jedan od učeničkih radova).

Page 58: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

58

II. MICROSOFT POWERPOINT 1. Izrada prezentacija

Microsoft PowerPoint je program za izradu prezentacija i sastavni je dio programskog paketa Microsoft Office. Služi za izradu multimedijalnih prezentacija, omogućujući dodavanje efekata, slika, zvukova, poveznica. Rabi se kao sredstvo pomoći u predavanjima i predstavljanjima nekih proizvoda i usluga. Obradili smo sljedeće teme: Kreiranje prezentacija (pokretanje i zatvaranje MS PowerPoint-a, izgled prozora PowerPoint-a,

stvaranje prezentacija, spremanje prezentacije). Rad sa slajdovima (umetanje novog slajda, promjena redoslijeda slajdova, brisanje slajda). Oblikovanje slajdova i prezentacija (korištenje predložaka dizajna, sheme boja i pozadine, grafičke

oznake i numeriranje, animiranje teksta i objekata, okno zadatka „Prilagođena animacija“). Umetanja slika, crteža i isječaka crteža. Izvođenje prezentacija (prikazivanje prezentacije).

Učenici su izradili nekoliko kratkih prezentacija, a u završnom zadatku trebali su primijeniti naučeno. Zadatak im je bio samostalna izrada prezentacija na određenu temu.

2. Grafički elementi

Ovaj dio radionice posvetili smo crtanju i oblikovanju osnovnih grafičkih oblika kao što su crta, strelica, pravokutnik, krug i sl. Kako smo već naučili crtati u programu MS Word, ovdje ćemo primijeniti stečeno znanje.

Zadatak: Koristeći grafičke oblike u MS PowerPointu nacrtajte crtež kao što je prikazan na slici. Na postojećem crtežu primijenili smo različite mogućnosti animacije kako bi nam crtež bio što zanimljiviji.

Page 59: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

59

III. LOGO 1. Ponavljanje

Polaznici radionice imali su osnovna znanja iz jezika Logo, stoga smo na početku ponovili osnovne naredbe kako bismo mogli dalje raditi. Logo je programski jezik namijenjen učenju programiranja i rješavanju problemskih zadataka. Za kretanje kornjače (pokazivača) po prostoru za crtanje potrebno je poznavati određene naredbe. Osnovne naredbe su: FD, BK, RT, LT, CS, PU, PD, PE, PPT, HOME, HT, ST.

2. Naredba REPEAT

U Logu postoji naredba koja nam olakšava pisanje programa u kojima se naredbe i postupci ponavljaju. To je naredba petlje: REPEAT (ponovi). U primjeru crtanja kvadrata naredba REPEAT izgleda ovako: REPEAT 4 [FD 100 RT 90] Objašnjenje: Kvadrat ima 4 (četiri) stranice. Sve stranice i kutovi među njima su jednaki. Iz toga slijedi da su i naredbe za crtanje svake stranice iste. Dakle 4 (četiri) puta pišemo iste naredbe. Crtanje trokuta: REPEAT 3 [ FD 50 RT 120] Crtanje šesterokuta: REPEAT 6 [ FD 150 RT 60]

3. Izrada programa

Program čini niz smisleno povezanih naredbi. Povezivanje više srodnih naredbi u jednu cjelinu omogućuje lakši i jednostavniji pregled svih dijelova rješenja zadatka. Također jednom napisane programe moguće je provesti više puta i koristiti se njima u drugim programima. Programe pišemo u prozoru programa (Editor) koji pokrećemo klikom na gumb Edall (uredi). Svaki program počinje riječju TO iza koje slijedni naziv programa, a završava riječju END. Naziv programa čini jedna riječ primjerice KVADRAT ili PROGRAM1. U jedan prozor programa možete upisati više programa različitih naziva. Primjer programa za crtanje kvadrata: TO KVADRAT REPEAT 4 [ FD 100 RT 90] END

Zadaci: #1. Sastavi program PETEROKUT :x koji crta pravilan peterokut duljine stranice :x. PETEROKUT 50 Rješenje:

TO PETEROKUT :X REPEAT 5 [FD :X RT 72] END

#2. Sastavi program KUCA :a ako je :a duljina stranice kvadrata i jednakostraničnog trokuta. KUCA 60 Rješenje:

TO KUCA :A REPEAT 4 [FD :A RT 90] PU FD :A PD RT 30 REPEAT 3 [FD :A RT 120] END

Page 60: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

60

#3. Sastavi program LIK :n koja crta geometrijski lik s :n stranica duljine 50. LIK 4 LIK 6 Rješenje:

TO LIK :N REPEAT :N [FD 50 RT 360/:N] END

#4. Sastavi program STEPENICE :a koji crta pet stepenica kojima je duljina i širina jednaka i iznosi a: STEPENICE 50 Rješenje:

TO STEPENICE :A REPEAT 5 [FD :A RT 90 FD :A LT 90] END

#5. Sastavi program ISKRA :n koja crta iskricu sastavljenu od :n krakova duljine 50. Svi su kutovi među

susjednim krakovima iskrice jednaki. ISKRA 8 ISKRA 32 Rješenje:

TO ISKRA :N REPEAT :n [pd fd 50 pu bk 50 rt 360/:n] END

Miljenko Ilić

Page 61: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

61

ALGORITMI OŠ

Predavači: Antonio Jurić i Branimir Filipović Pohvaljeni učenici: Josip Kelava i Marko Cvitković

Radionica „Algoritmi za osnovne škole“ održavala se 2 sata dnevno kroz 8 dana. Polaznici radionice bili su učenici osnovnih škola. Preduvjet za pohađanje radionice bio je osnovno znanje programskog jezika C ili C++ (znanje potrebno za rješavanje zadataka s osnovnoškolskih natjecanja) budući da se na radionici radilo isključivo u tom jeziku.

Cilj radionice bio je upoznati polaznike s osnovnim algoritmima i načinima rješavanja koji se koriste na osnovnoškolskim natjecanjima. Kroz radionicu polaznici su naučili i različite koncepte vezane uz programiranje kao što su vremenska i memorijska složenost algoritma te njihova povezanost s ograničenjima u zadacima. Ujedno, polaznici su rješavali i brojne zadatke u kojima se mogu primijeniti algoritmi koje smo obrađivali kako bi bolje usvojili i naučili primijeniti usvojeno znanje. Obrađeni algoritmi:

• Prikaz implementacije algoritma pretraživanja u širinu (BFS) • Binarno pretraživanje • Stack i queue – implementacija

BFS (breadth-first search) Koristimo ga za problem računanja najkraćeg puta u grafu (za razne grafove koriste se razni algoritmi). Poseban slučaj: svi bridovi jednake težine – koristimo BFS. Princip rješavanja:

U početnu poziciju zapišemo udaljenost 0. Širimo se u svim mogućim smjerovima iz početne pozicije (samo na polja na koja možemo). Kad dođemo na novu poziciju, upisujemo na nju udaljenost. Obilazak područja obavljamo tako da ih rješavamo uzlazno po udaljenosti od početne pozicije. Time smo osigurali da će udaljenost zapisana u krajnjoj poziciji biti točna (najkraća).

Implementacija:

Pomoću queuea pamtimo kojim redoslijedom treba obilaziti polja.

Polaznici:

1. Filip Beleta 2. Marko Cvitković 3. Josip Kelava 4. Miro Krištofić 5. Dorijan Lendvaj 6. Mark Rajković 7. Juraj Štern-Vukotić 8. Fran Halambek 9. Anto Matanović 10. Marina Samblić 11. Karlo Sintić

Page 62: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

62

Imamo matrice: polje[MAXN][MAXN] : u njega spremamo izgled ravnine s preprekama bio[MAXN][MAXN] : označavamo jesmo li to područje obradili dist[MAXN][MAXN] : spremamo udaljenost pozicije (i, j) od početne

Imamo niz parova (ili odvojenih integera): (0, 1), (1, 0), (0, -1), (-1, 0) koje zbrajamo i pomičemo se u susjede.

Pseudokôd: Funkcija BFS za ulaz prima graf G i početnu točku v

procedure BFS(G,v) is create a queue Q create a set V enqueue v onto Q add v to V while Q is not empty loop t ← Q.dequeue() if t is what we are looking for then return t end if for all edges e in G.adjacentEdges(t) loop u ← G.adjacentVertex(t,e) if u is not in V then add u to V enqueue u onto Q end if end loop end loop return none end BFS

Primjer: Zadatak ZIDINE (Državno natjecanje 2009. g. II. podskupina OŠ)

Tijekom razgledavanja dubrovačkih zidina, Tomislav je uočio tajni prolaz. Prolaskom kroz njega, našao se u pravokutnoj prostoriji. Na zidu je uočio tlocrt, a čim mu se približio, čuo je kako se vrata u prolazu kojim je došao zatvaraju. Uskoro je uočio i slabo vidljiv natpis: Putniče! Nalaziš se u Sobi ključeva. Kako bi otključao Tajna vrata i izašao iz Sobe, moraš sakupiti određeni broj ključeva. Svi se ključevi nalaze u ovoj prostoriji i do svih je moguće doći. Na tlocrtu su položaji svih ključeva označeni slovom 'K'. Označena je i tvoja pozicija – potraži na tlocrtu slovo 'X'. Svi zidovi označeni su znakom '#'. Prazna mjesta na karti označena su točkom ('.'). Tajna vrata su jedini izlaz iz prostorije. Sretno! Kako Tomislav mora uskoro stići na natjecanje, zanima ga koji je najbrži način da sakupi točno K ključeva. Tlocrt prostorije sastoji se od N redaka, svaki sa po M stupaca. Tomislav se po prostoriji kreće samo u četiri glavna smjera – gore, dolje, lijevo i desno. Tlocrt prostorije uvijek će imati zidove na rubovima, tj. neće biti moguće izaći iz prostorije (osim korištenjem Tajnih vrata, koja nisu označena na tlocrtu). Prostorija može imati i pregrade (zidove) u unutrašnjosti. U prostoriji će se nalaziti najviše 8 ključeva. Ulazni podaci: prirodni broj N (1 ≤ N ≤ 30), broj redaka tlocrta; prirodni broj M (1 ≤ M ≤ 30), broj stupaca tlocrta; prirodni broj K (1 ≤ K ≤ 8), broj ključeva koje je potrebno sakupiti; N redaka, u svakom po M znakova, tlocrt prostorije. Izlazni podaci: cijeli broj S, najmanji broj koraka koje Tomislav mora napraviti kako bi sakupio K ključeva. Rješenje:

#include <cstdio> #include <cstdlib> #include <queue> using namespace std; int nR, nS, R, S; char polje[ 30 ][ 30 ];

Redoslijed prolazaka po grafu

Page 63: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

63

int brojKljuceva = 0, red[ 10 ], stup[ 10 ]; int udalj[ 30 ][ 30 ]; int trebaSkupiti; int minSekundi = 1000000; struct pos { int red, stup; pos( int _red, int _stup ) { red = _red, stup = _stup; } }; int bfs( int start, int cilj ) { int bio[ 30 ][ 30 ] = { 0 }; bio[ red[ start ] ][ stup[ start ] ] = 1; pos P( red[ start ], stup[ start ] ); queue<pos> Q; Q.push( P ); while( !Q.empty() ) { pos pp = Q.front(); Q.pop(); int r = pp.red, s = pp.stup; for( int dr = -1; dr <= 1; ++dr ) for( int ds = -1; ds <= 1; ++ds ) if( dr * ds == 0 && dr + ds != 0 && polje[ r + dr ][ s + ds ] != '#' && !bio[ r + dr ][ s + ds ] ) { bio[ r + dr ][ s + ds ] = bio[ r ][ s ] + 1; Q.push( pos( r + dr, s + ds ) ); } } return bio[ red[ cilj ] ][ stup[ cilj ] ] - 1; } int bio[ 10 ]; void obidji( int zadnjaPozicija, int skupioDosad, int potrosioSekundi ) { if( skupioDosad == trebaSkupiti ) { if( minSekundi > potrosioSekundi ) minSekundi = potrosioSekundi; return; } if( potrosioSekundi >= minSekundi ) return; for( int kljuc = 0; kljuc < brojKljuceva; ++kljuc ) if( !bio[ kljuc ] ) { bio[ kljuc ] = 1; obidji( kljuc, skupioDosad + 1, potrosioSekundi + udalj[ zadnjaPozicija ][ kljuc ] ); bio[ kljuc ] = 0; } } int main( void ) { scanf( "%d%d%d", &nR, &nS, &trebaSkupiti ); for( int r = 0; r < nR; ++r ) scanf( " %s", polje[ r ] );

Page 64: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

64

// nadji lokacije dukata i spremi ih u listu for( int r = 0; r < nR; ++r ) for( int s = 0; s < nS; ++s ) if( polje[ r ][ s ] == 'K' ) { red[ brojKljuceva ] = r; stup[ brojKljuceva ] = s; ++brojKljuceva; } else if( polje[ r ][ s ] == 'X' ) R = r, S = s; // nadji sve udaljenosti izmedju kljuceva red[ brojKljuceva ] = R; stup[ brojKljuceva ] = S; for( int i = 0; i <= brojKljuceva; ++i ) for( int j = 0; j <= brojKljuceva; ++j ) udalj[ i ][ j ] = bfs( i, j ); // nadji Tomislavovu poziciju i obidji kljuceve na sve moguce nacine obidji( brojKljuceva, 0, 0 ); printf( "%d\n", minSekundi ); return 0; }

Binarno pretraživanje Koristimo pri pretraživanju ogromne baze podataka koja je sortirana na neki način (npr. imenik). Brza metoda za pretraživanje po raznim sortiranim nizovima. Najčešće ga upotrebljavamo u sljedećim primjerima:

pozicija broja K u nizu postoji li broj K u nizu dijagonale n-terokuta niz, i m puta broj k, koliko se puta pojavljuje k

Primjer: Zadatak LJUBOMORA (1. kolo HONI-a 2012./2013.)

Tvornica pikula jednom dječjem vrtiću donirala je veliku kutiju s pikulama. Svaka je pikula jedne od M različitih boja. Odgajateljica treba sve ove pikule podijeliti na N djece u svojoj vrtićkoj grupi. Nije nužno da svako dijete nešto dobije, ali odgajateljica zna da nijedno dijete ne želi dobiti pikule različitih boja – drugim riječima, sve pikule koje neko dijete dobije moraju biti iste boje. Odgajateljica također zna da će u grupi zavladati ljubomora ako neko dijete dobije velik broj pikula. Pojednostavljeno, reći ćemo da će razina ljubomore u vrtićkoj grupi biti jednaka najvećem broju pikula koje je dobilo neko dijete. Pomozite odgajateljici podijeliti pikule na način da razina ljubomore bude što manja. Na primjer, ako su u kutiji 4 pikule crvene boje (CCCC) i 7 pikula plave boje (PPPPPPP) te ako ih moramo podijeliti na 5 djece, možemo ostvariti razinu ljubomore jednaku 3 tako da ih podijelimo na sljedeći način: CC, CC, PP, PP, PPP. Nižu razinu ljubomore nije moguće ostvariti. ULAZNI PODACI: u prvom retku nalaze se prirodni brojevi N (1 ≤ N ≤ 109), broj djece, i M (1 ≤ M ≤ 300 000, M ≤ N), broj različitih boja. U K-tom od sljedećih M redaka nalazi se prirodan broj iz intervala [1, 109] koji označava broj pikula K-te boje. IZLAZNI PODACI: u jedini redak izlaza ispišite najmanju moguću razinu ljubomore. Opis algoritma: Neka je X tražena najmanja moguća razina ljubomore, a Maks najveći broj pikula neke boje. Nije teško zaključiti da i za sve brojeve Y veće od X i manje ili jednake Maks možemo ostvariti razinu ljubomore jednaku Y. Zbog toga možemo binarnim pretraživanjem pronaći traženi X. Donja je granica broj 1, gornja broj Maks, a u svakom koraku za broj Y u sredini između dvije granice provjeravamo je li veći ili manji od X, tj. može li se ostvariti razina ljubomore Y.

Page 65: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

65

Kako to provjeravamo? Proći ćemo po svim bojama i za svaku od njih podijeliti što više porcija veličine Y. Preciznije, ako je K broj pikula dotične boje, podijelit ćemo K div Y porcija veličine Y, a od preostalih pikula te boje (ako ih ima) načinit ćemo još jednu porciju. Kad to učinimo za sve boje, ako je ukupan broj podijeljenih porcija manji ili jednak N, ostvarili smo razinu ljubomore od Y pa možemo zaključiti Y ≥ X. U protivnom zaključujemo Y < X, jer smo načinili previše porcija, što znači da neko dijete mora dobiti više od Y pikula. Rješenje:

#include <cstdio> using namespace std; int a[300000]; int main() { int n, m; scanf("%d%d", &n, &m); int maks = 0; for (int i = 0; i < m; ++i) { scanf("%d", a+i); if (maks < a[i]) maks = a[i]; } int lo = 0, hi = maks; while (lo < hi) { int y = (lo + hi) / 2; int n2 = 0; for (int i = 0; i < m; ++i) n2 += (a[i] + y - 1) / y; if (n2 > n) // ne mogu ostvariti razinu y lo = y + 1; else // mogu ostvariti razinu y hi = y; } printf("%d\n", lo); }

STACK Objasnili smo princip na primjeru stoga sijena. Vlastita implementacija pomoću nizova (brojač koji pokazuje na odgovarajuće mjesto u nizu: poc) i implementacija pomoću pointera. Implementacija obuhvaća:

ubaci(x) : ubacuje na vrh stacka broj x reci() : kaže broj s vrha stacka izbaci() : izbaci broj s vrha stacka

QUEUE Objašnjenje principa pomoću primjera: red u dućanu. Vlastita implementacija pomoću nizova (brojači koji pokazuju na odgovarajuća mjesta u nizu: poc i kraj). Implementacija obuhvaća:

ubaci(x) : ubacuje u queue broj x reci() : kaže broj na početku queuea izbaci() : izbacuje broj s početka queuea

Valja obratiti pozornost da se ne izbacuje ako su stack ili queue prazni, jesmo li napunili niz, itd...

Smatram da su svi polaznici dobro ovladali BFS-om te da ne bi trebali imati, ako ga budu koji put ponovili, teškoća s time u budućnosti. Također, iz iscrpnosti i dugotrajnosti predavanja pretpostavljam da su dobro ovladali i algoritmom binarnog pretraživanja, kao i implementacijom vlastitih spremnika stacka i queuea.

Branimir Filipović

Page 66: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

66

ALGORITMI SŠ

Predavači: Marin Tomić i Matija Milišić

Polaznici:

1. Robert Benić 2. Borna Bilas 3. Petar Bošnjak 4. Ana Crnković 5. Branimir Filipović 6. Marin Kišić 7. Karlo Kovačić 8. Miro Krištofić 9. Ivan Lazarić 10. Vilim Lendvaj

11. Mihael Liskij 12. Nikola Pintarić 13. Stjepan Požgaj 14. Kristijan Rupić 15. Tonko Sabolčec 16. Ivan Šego 17. Kristijan Vukelić 18. Kristijan Vulinović 19. Ivan Žufić

Pohvaljeni učenici: Marin Kišić, Ivan Žufić i Stjepan Požgaj

Radionica "Algoritmi SŠ" održavala se svih 7 dana trajanja predavanja Zimske škole informatike. Ciljevi radionice bili su:

utvrditi implementaciju pojedinih algoritama naučiti nove, teže algoritme i metode rješavanja vježbati brzinu i točnost pisanja programa na unaprijed pripremljenim zadacima rješavati problemske zadatke, zadatke koji zahtijevaju veću posvećenost smišljanju

Za sve navedene komponente unaprijed su pripremljeni zadaci i postavljeni na HSIN-ov evaluator,

a svim polaznicima omogućen je cjelodnevni pristup ( http://evaluator.hsin.hr/login.php?contest=210 ).

Obrađeno je mnogo algoritama, a možemo ih podijeliti u dvije kategorije: osnovni koje je većina polaznika već znala i napredni koji su većini bili slabo poznati.

Struktura predavanja po danima: 1. dan

održano je uvodno natjecanje s ciljem ponavljanja osnovnih algoritama ponovljeni algoritmi: Binarno pretraživanje (Binary search), BFS (Breadth first search),

Eratostenovo sito, Logaritamska struktura 2. dan

osnovni: Dijkstra i zadaci s histogramima napredni: Matching zadaci: http://main.edu.pl/en/archive/oi/18/pro, http://www.spoj.pl/problems/STABARDS gost predavač (dr. sc. Ante Đerek): Komunikacijska složenost

Page 67: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

67

3. dan

osnovni: Union find napredni: DFS stablo, Čvrsto povezane komponente (SCC – strongly connected components), 2-

SAT (2-satisfiability) zadaci: http://main.edu.pl/en/archive/oi/15/blo, http://main.edu.pl/en/archive/oi/6/mag gost predavač (dr. sc. Ante Đerek): Strojno učenje

4. dan

osnovni: Konveksna ljuska (Convex hull) napredni: Sufiksno polje (Suffix array) zadatak s više mogućih pristupa rješenju: http://main.edu.pl/en/archive/oi/13/zab

5. dan

osnovni i napredni: Tournament stablo gost predavač (Vjekoslav Giacometti): Linux

6. dan

napredni: Eulerova tura zadatak: http://main.edu.pl/en/archive/oi/18/smi sudjelovanje na on-line Topcoder natjecanju

7. dan

napredni: stablo najkraćih puteva zadatak: NAJKRAĆI (HONI 2008/09, 3. kolo)

Primjeri implementacije nekih algoritama: Union find

int find(int a) { if(nxt[a] == a) return a; return nxt[a] = find(nxt[a]); } void merge(int a, int b) { nxt[find(a)] = find(b); return; }

Page 68: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

68

Matching

bool dfs(int x) { bio[x] = 1; for(int i = 0; i < V[x].size(); ++i) { if(na[V[x][i]] == -1) { na[V[x][i]] = x; return true; } if(!bio[na[V[x][i]]] && dfs(na[V[x][i]])) { na[V[x][i]] = x; return true; } } return false; } int matching() { int ret = 0; memset(na, -1, sizeof na); for(int i = 0; i < n; ++i) { memset(bio, 0, sizeof bio); if(dfs(i)) ++ret; } return ret; }

Čvrsto povezane komponente – SCC

void dfs(int x) { col[x] = 1; disc[x] = llink[x] = t++; S.push_back(x); for(int i = 0; i < V[x].size(); ++i) { if(col[V[x][i]] == 2) continue; if(col[V[x][i]] == 1) llink[x] = min(llink[x], disc[V[x][i]]); else { dfs(V[x][i]); llink[x] = min(llink[x], llink[V[x][i]]); } } if(llink[x] == disc[x]) { int tmp; do { tmp = S.back(); S.pop_back(); col[tmp] = 2; gdje[tmp] = nscc; sum[nscc] += val[tmp]; } while(tmp != x); ++nscc; } return; }

Page 69: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

69

Konveksna ljuska

llint ccw(point A, point B, point C) { return A.x*(B.y-C.y)+B.x*(C.y-A.y)+C.x*(A.y-B.y); } bool cmp(const point &A, const point &B) { if(A.x == B.x) return A.y < B.y; return A.x < B.x; } int main(void) { sort(arr, arr+n, cmp); for(int i = 0; i < n; ++i) { while(LOWER.size() > 1 && ccw(arr[LOWER[LOWER.size()-2]], arr[LOWER.back()], arr[i]) <= 0) LOWER.pop_back(); LOWER.push_back(i); } for(int i = n-1; i+1; --i) { while(UPPER.size() > 1 && ccw(arr[UPPER[UPPER.size()-2]], arr[UPPER.back()], arr[i]) <= 0) UPPER.pop_back(); UPPER.push_back(i); } for(int i = 0; i < LOWER.size()-1; ++i) HULL.push_back(LOWER[i]); for(int i = 0; i < UPPER.size()-1; ++i) HULL.push_back(UPPER[i]); }

Polaznici su na danim zadacima pokazali da su shvatili i usvojili primjenu predavanih algoritama. Potaknuti su da i dalje nastave vježbati i samostalno utvrđivati ono što su ovdje stekli.

Matija Milišić

Page 70: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

70

Primjena računala u nastavi

Predavač: Krunoslav Kranjčec, prof.

Polaznici:

1. Magdalena Potočnjak 2. Sabina Potočnjak 3. Ivana Frajzman 4. Ružica Bubanj 5. Davor Beden 6. Krešimir Dunaj 7. Jasminka Presečki 8. Erika Tušek Vrhovec 9. Stjepan Varjačić

Radionica „Računalo u nastavi“ održavala se u poslijepodnevnim terminima. Radionicu je pohađalo 8 nastavnika iz osnovnih i srednjih škola Krapinsko-zagorske županije i 1 učenica Srednje škole Krapina.

Cilj radionice bio je polaznike poučiti i osposobiti za unos, obradu i ažuriranje sadržaja korištenjem sljedećih aplikacija, s naglaskom na korištenje prečaca na tipkovnici:

1) Microsoft Word 2007 – alat za unos i obradu teksta 2) Microsoft Excel 2007 – proračunske tablice 3) Microsoft PowerPoint 2007 – izrada multimedijalnih prezentacija (nastavna pomagala) 4) Prezi – WEB 2.0 alat za izradu cloud-based atraktivnih prezentacija

Teme radionice: 1) Microsoft Word 2007 – alat za unos i obradu teksta

Pokretanje Worda, sučelje aplikacije, otvaranje novog i postojećeg dokumenta i zatvaranje aplikacije. Unos i oblikovanje sadržaja (promjena vrste fonta, veličine i boje fonta). Oblikovanje odlomka (poravnanje odlomka u odnosu na lijevu, desnu marginu, centriranje odlomka, uvlačenje odlomka, uvlačenje prvog retka odlomka, prored u odlomku, razmak između odlomka i gornjeg/donjeg teksta, okviri odlomka i stranice, sjenčanje odlomka), dodavanje nove stranice u dokument, oblikovanje vodenog žiga u dokumentu, kreiranje listi (popisa), grafičke oznake i numeracija, umetanje prekida, fusnota, automatsko umetanje sadržaja, promjena predefiniranih stilova. Kopiranje i premještanje teksta, umetanje i oblikovanje tablica, umetanje formula i funkcija u tablicu, umetanje i oblikovanje zaglavlja/podnožja, predpregled prije ispisa i ispis dokumenta na pisač. Korištenje prečaca Ctrl+A, Ctrl+C, Ctrl+V, Ctrl+X, Ctrl+Z, Ctrl+B,Ctrl+U, Ctrl+I, Ctrl+P, Ctrl+Space, Alt+F4…

2) Microsoft Excel 2007 – proračunske tablice

Prvi koraci u radu sa tabličnim kalkulacijama. Pokrenuti i zatvoriti aplikaciju; otvoriti jednu, više radnih knjiga; pospremiti radnu knjigu na određenu lokaciju na uređaj za pohranu; pospremiti radnu knjigu pod drugim imenom; pospremiti radnu knjigu u drugom datotečnom formatu (predložak, webstranica); prijelaz između radnih listova, ili otvorenih radnih knjiga; upotrijebiti funkciju pomoći u aplikaciji; zatvoriti aplikaciju za tablične kalkulacije. Mijenjanje osnovnih postavki: upotrijebiti funkciju za povećanje (zumiranje) radne knjige; prikazati/sakriti trake alata; zamrznuti, odmrznuti naslove redaka i/ili stupaca; izmjena osnovnih postavki aplikacije (korisničko ime, glavna mapa za spremanje i otvaranje radne knjige).

Page 71: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

71

Rad s ćelijama: umetanje podataka (upisati brojku, tekst, datum, valutu u ćeliju); označavanje ćelija; označiti cijeli radni list; označiti redak, stupac, niz susjednih/nesusjednih redaka i stupaca. Reci i stupci: umetanje redaka, stupaca u radni list; brisanje redaka, stupaca iz radnog lista; mijenjanje širine stupca i visine retka; skrivanje redaka i stupaca. Uređivanje podataka: umetanje dodatnih sadržaja u ćeliju, zamjena postojećih sadržaja ćelije; korištenje funkcija za poništavanje (Undo) i poništenje posljednje Undo izmjene (Redo). Umnožavanje, premještanje, brisanje: umnožavanje sadržaja ćelije i niza ćelija unutar radnog lista, između radnih; listova i otvorenih radnih knjiga; korištenje funkcije za samoispunu/kopiranje ili inkrementalno povećavanje ulaznih podataka; premještanje sadržaja ćelije i niza ćelija unutar radnog lista, između radnih listova i otvorenih radnih knjiga. Pronalaženje i zamjena: upotreba funkcija pronađi i zamijeni za pronalaženje i zamjenu sadržaja u radnom listu. Sortiranje i filtriranje podataka: sortiranje niza ćelija po uzlaznom i silaznom kriteriju; filtriranje podataka po nekom kriteriju. Radni list: umetanje novog radnog lista; preimenovanje radnog lista; brisanje radnog lista; umnožavanje radnog lista unutar radne knjige i unutar otvorenih radnih knjiga; premještanje radnog lista unutar radne knjige i unutar otvorenih radnih knjiga. Rad s formulama i funkcijama: izvođenje formula korištenjem relativnih adresa ćelija i aritmetičkih operatora (+, -, *, /); razumjeti i upotrijebiti relativne, mješovite i apsolutne adrese ćelija u formulama; izvođenje formula korištenjem funkcija sume, prosjeka, minimuma, maksimuma i brojanja; izvođenje formula korištenjem logičke funkcije IF (uzimanjem u obzir jedne ili dvije specifične vrijednosti). Oblikovanje: oblikovati ćelije za prikaz određenog broja decimalnih mjesta, za prikaz broja sa ili bez oznake za tisućice; oblikovati ćelije za prikaz datuma; oblikovati ćelije za prikaz valutnih simbola; oblikovati ćelije za prikaz postotaka; promijeniti način na koji se pojavljuje sadržaj unutar ćelija: veličinu i tip slova; oblikovati sadržaj ćelije (podebljano, nakošeno, jednom i dvostruko podvučeno); promijeniti boju sadržaja ćelije i pozadine ćelije; prenijeti oblikovanje sa ćelije ili niza ćelija na drugu ćeliju ili niz ćelija; poravnavanje sadržaja ćelija lijevo, desno, u sredinu, gore, dolje; centriranje naslova preko niza ćelija; prilagođavanje orijentacije sadržaja ćelije; dodati rubove ćeliji, odabranom nizu ćelija. Dijagrami/grafikoni: izraditi različite vrste dijagrama/grafikona iz podataka u radnoj knjizi; dodavanje naslova, oznaka na dijagramu/grafikonu, micanje naslova i oznaka s dijagrama/grafikona; mijenjanje pozadinske boje u dijagramu/grafikonu; promjena vrste dijagrama/grafikona; umnožiti, premjestiti dijagram/grafikon unutar radnog lista, između otvorenih radnih knjiga; promijeniti veličinu, izbrisati dijagram/grafikon. Priprema izlaznih rezultata: promjena margina na radnom listu; promijeniti orijentaciju radnog lista, promijeniti veličinu stranice; dodati i promijeniti tekst i ostale podatke u zaglavlju i podnožju radnog lista; uključivanje i isključivanje crta rešetke; primjena automatskog ispisa naslova redaka na svakoj stranici radnog lista.

Page 72: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

Zimska škola informatike - Krapina 2014. RADIONICE

72

3) Microsoft PowerPoint 2007

Pokretanje aplikacije, sučelje aplikacije, otvaranje novog i starog dokumenta, zatvaranje dokumenta i aplikacije, umetanje slajda, unos i oblikovanje teksta, podešavanje pozadine slajda i stilova slajda, premještanje i kopiranje slajdova, pogledi u prezentaciji, umetanje i oblikovanje slika, tablica i grafikona u prezentaciju, umetanje animacijskih efekata na objekte u slajdu i prijelaz između slajdova, podešavanje postavki animacija, umetanje navigacijskih gumba na slajdove, umetanje hiperveza na objekte slajda i povezivanje slajdova pomoću njih, predpregled slajdova prije ispisa i ispis prezentacije na pisač.

4) Prezi – WEB 2.0 alat za izradu cloud-based atraktivnih prezentacija

Upoznavanje sučelja alata, izrada prezentacije na temelju praznog radnog lista, dodavanje okvira, slajdova, multimedijskih sadržaja – slika, zvuk video, formiranje staza, redoslijed izvođenja slajdova, unos, uređivanje teksta. Pokretanje prezentacije, postavke za automatsko izvođenje prezentacije. Dohvaćanje Prezi prezentacije s WEB-a i pokretanje na lokalnom računalu. Postavljanje lokalne PowerPoint prezentacije u Prezi alat, te odabir 3D predložaka i oblika putanja. Dijeljenje Prezi prezentacije na društvenim mrežama, e-mailom.

Krunoslav Kranjčec

Page 73: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

RADIONICE Zimska škola informatike - Krapina 2014.

73

Page 74: BILTEN ZIMSKE ŠKOLE INFORMATIKEzorski su potpomogli Algebra, PC-automati i Zozolly. Pokroviteljstvo i potporu pružili su Ministarstvo znanosti, obrazovanja i sporta Republike Hrvatske,

74

19. ZIMSKA ŠKOLA INFORMATIKE – KRAPINA 2014. Krapina, 2.-10. siječnja 2014.

BILTEN

Autori priloga i fotografija

Predavači i sudionici Zimske škole informatike

Urednik

Krešimir Malnar

Tehnički urednici

Aron Bohr

Alenka Dogan Capan

Izdavač

Hrvatski savez informatičara Zagreb, Dalmatinska 12, tel./fax 01/48 48 770

www.hsin.hr, e-mail: [email protected]

Za izdavača odgovara

Krešimir Malnar, v.d. tajnik HSIN-a

Naklada

50 primjeraka

Tisak

Hrvatski savez informatičara