INTERAKTÍVNE PROSTREDIE NA PRÁCU S GRAFMI

Size: px
Start display at page:

Download "INTERAKTÍVNE PROSTREDIE NA PRÁCU S GRAFMI"

Transcription

1 UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY KATEDRA ZÁKLADOV A VYUČOVANIA INFORMATIKY INTERAKTÍVNE PROSTREDIE NA PRÁCU S GRAFMI Peter Pavlík 2007

2 Interaktívne prostredie na prácu s grafmi DIPLOMOVÁ PRÁCA Peter Pavlík UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY KATEDRA ZÁKLADOV A VYUČOVANIA INFORMATIKY Učiteľstvo všeobecnovzdelávacích predmetov Vedúci práce: PaedDr. Daniela Lehotská BRATISLAVA 2007

3 ZADANIE DIPLOMOVEJ PRÁCE Študent Peter Pavlík vypracuje za účelom obhajoby v rámci záverečného konania vo vysokoškolskom magisterskom štúdiu na UK FMFI diplomovú prácu s názvom: Interaktívne prostredie na prácu s grafmi Pod vedením PaedDr. Daniely Lehotskej z Katedry základov a vyučovania informatiky. Cieľ diplomovej práce a ďalšie poznámky: Vytvoriť grafové prostredie na vizualizáciu grafových algoritmov a riešenie grafových úloh. Diplomová práca je tematicky priradená k špecializácii informatika. V Bratislave dňa

4 Čestne prehlasujem, že som diplomovú prácu vypracoval samostatne s použitím uvedenej literatúry a zdrojov a pod odborným vedením PaedDr. Daniely Lehotskej. V Bratislave Peter Pavlík

5 Abstrakt: Peter Pavlík: Interaktívne prostredie na prácu s grafmi Univerzita Komenského v Bratislave, Fakulta matematiky, fyziky a informatiky, Katedra základov a vyučovania informatiky Vedúca práce: PaedDr. Daniela Lehotská Diplomová práca: 48 strán, 11 obrázkov, 2 tabuľky, 4 prílohy, Bratislava 2007 Predkladaná práca je návrhom a realizáciou interaktívneho prostredia na výučbu grafov. Jej cieľom bolo vytvoriť prostredie, ktoré by študentom Fakulty matematiky, fyziky a informatiky uľahčilo pochopiť princípy práce algoritmov na grafoch. Návrh prostredia je vypracovaný tak, aby ho mohli využiť aj vývojári iných prostredí na prácu s grafmi. Kladie dôraz hlavne na vhodnú interaktivitu a vizualizáciu grafu i algoritmu. Počas teoretickej práce sa ako veľmi vhodná ukázala možnosť tvorby vlastných algoritmov. Realizované prostredie túto možnosť využíva. Samotné prostredie je realizované pre potreby Katedry základov a vyučovania informatiky, je ho však s úpravami možné použiť aj iným spôsobom. Keďže spolu s prostredím práca obsahuje aj zdrojové kódy v jazyku Object Pascal, jeho úprava je jednoduchá. Vytvorené prostredie predstavuje efektívny nástroj pre výučbu grafov a algoritmov na grafoch, vďaka ktorému im študenti jednoduchšie a rýchlejšie porozumejú. Kľúčové slová grafy, interaktívne prostredie, vizualizácia, teória grafov, didaktický softvér

6 Predslov Teória grafov je špecializovaný predmet, ktorý sa vyučuje v rámci odboru Informatika na vysokých školách. Práve pre jeho špecializáciu preň neexistuje dostatočné množstvo kvalitných učebných pomôcok. Pritom práve priama väzba Teórie grafov na informatiku je hlavnou výhodou pri ich tvorbe. Počítače sú výborným doplnkom učiteľa, pretože nám poskytujú rýchlu a individuálnu odozvu na naše podnety kdekoľvek a kedykoľvek. To viedlo moju diplomovú vedúcu PaedDr. Danielu Lehotskú k návrhu vytvoriť prostredie na výučbu grafov a grafových algoritmov. Prvotným plánom bolo len vytvorenie sady úloh a algoritmov ich riešenia. Neskôr sme sa však zhodli na všeobecnom riešení, teda na možnosti tvorby vlastných algoritmov s možnosťou zásahu používateľa do ich behu. Takéto prostredie má pridanú hodnotu v možnostiach využitia. Študenti si môžu skúšať algoritmy vytvorené vyučujúcim, ale taktiež si môžu vyskúšať tvorbu vlastného algoritmu, čo bolo hlavným cieľom. Keďže graf ako dátová štruktúra sa využíva v rôznych disciplínach, prostredie je možné využiť aj na iné ciele ako je pôvodne určené.

7 Motto: Einsteinovská konštanta nie je konštanta, nie je to ani centrum. Predstavuje samotný koncept variability je to, koniec-koncov, koncepcia hry. Inými slovami, nie je to koncepcia niečoho nejakého centra, z ktorého by pozorovateľ mohol problém zvládnuť je to koncepcia hry samotnej. Jacques Derrida (1970) [20]

8 Obsah: 1 ÚVOD CIEĽ ROZDELENIE PRÁCE TEORETICKÉ VÝCHODISKÁ DEFINÍCIE DÔLEŽITÉ KRITÉRIÁ HODNOTENIA DIDAKTICKÉHO SOFTVÉRU PRE VÝUČBU GRAFOV INTERAKTIVITA VIZUALIZÁCIA OTVORENOSŤ POUŽÍVATEĽSKÁ PRÍSTUPNOSŤ NEZÁVISLOSŤ OD POUŽITIA PLATFORMY INÉ ASPEKTY PREHĽAD DOSTUPNÝCH APLIKÁCIÍ NA PRÁCU S GRAFMI EVEGA (EDUCATIONAL VISUALIZATION ENVIRONMENT FOR GRAPH ALGORITHMS) JIVE GRAPHLET YED - JAVA GRAPH EDITOR NÁVRH PROSTREDIA PRE VÝUČBU GRAFOV INTERAKTIVITA VIZUALIZÁCIA OTVORENOSŤ POUŽÍVATEĽSKÁ PRÍSTUPNOSŤ NEZÁVISLOSŤ OD POUŽITIA PLATFORMY INÉ ASPEKTY REALIZÁCIA PROSTREDIA PRE VÝUČBU GRAFOV MOŽNOSTI PROSTREDIA POPIS PROSTREDIA OBLASŤ VIZUALIZÁCIE GRAFU OBLASŤ ALGORITMU ALGORITMUS OBJEKTOVÝ MODEL PSEUDOKÓD...31 ZÁVER...32 ZOZNAM POUŽITEJ LITERATÚRY...33 PRÍLOHA A PRÍKLAD KÓDU ALGORITMU A PRÍSLUŠNÉHO PSEUDOKÓDU...35 KÓD ALGORITMU (OBJECT PASCAL)...35

9 PSEUDOKÓD ALGORITMU...36 PRÍLOHA B POPIS TRIED...37 POMOCNÉ TRIEDY A ŠTRUKTÚRY...37 TRIEDA TGRAPHELEMENT...37 TRIEDA TNODE...38 TRIEDA TEDGE...38 TRIEDA TACTIVEELEMENTS...39 TRIEDY TGRAPHLIST, TGRAPHQUEUE A TGRAPHSTACK...40 TRIEDA TGRAPH...41 TIEDA TGRAPHRENDERER...42 PRÍLOHA C ZOZNAM POMOCNÝCH FUNKCIÍ...44 PRÍLOHA D POPIS PROSTREDIA...45 OBLASŤ VIZUALIZÁCIE GRAFU...45 OBLASŤ ALGORITMU...47

10 1 Úvod Graf je matematická štruktúra, ktorou sa dá reprezentovať veľké množstvo reálnych situácií. Výborným príkladom je hľadanie cesty z mesta A do mesta B na mape. Jednotlivé mestá sú v grafe reprezentované vrcholmi a cesty medzi nimi reprezentujú hrany. Pri takejto abstraktnej reprezentácii reálnej mapy môžeme ľahšie skúmať rôzne otázky a problémy, ako napríklad: hľadanie cesty medzi dvomi mestami hľadanie najkratšej cesty medzi dvomi mestami alebo takej, aby sme po nej prešli všetky mestá zistenie počtu všetkých ciest medzi dvomi mestami označenie tých ciest, ktoré stačia na to, aby sme sa mohli dostať z každého mesta do každého (kostra grafu) Keďže ide o abstraktný model, nami navrhnuté postupy riešenia týchto problémov budú správne i pri reprezentácií iných situácií, napríklad pri reprezentovaní technologického postupu, počítačovej siete, leteckej prepravy, atď. Štúdiom grafov a riešením problémov týkajúcich sa grafov sa zaoberá Teória grafov, ktorá sa vyučuje v rámci odborov informatika a matematika. Pre bližšie zoznámenie sa touto teóriou a s problémami, ktoré rieši, odporúčam prečítať si akúkoľvek literatúru o teórii grafov (napr. [26]). Vyučovanie teórie grafov však nie je jednoduché, práve z dôvodu narábania s abstraktným modelom. Nespornou výhodou je, ak majú žiaci možnosť priamo si vyskúšať postupy riešenia problémov za pomoci informačných technológií. Je potrebné zvoliť vhodnú reprezentáciu a vizualizáciu, ktoré žiakom pomôžu pri osvojení si pojmov a techník riešenia problémov. Interaktívne prostredia poskytujú okamžitú spätnú väzbu, čím udržujú žiakovu pozornosť a sústredenosť a čiastočne i nahrádzajú rolu učiteľa. Ich výhodou je i možnosť vrátenia sa o krok späť, vrátenia sa k starším riešeniam, ako i možnosť vyskúšať správnosť daného riešenia na veľkej sade úloh. Na Fakulte matematiky, fyziky a informatiky sa so základmi Teórie grafov stretnú študenti odborov informatika, aplikovaná informatika a učiteľstvo matematika-infomatika, či už v samostatnom predmete alebo v rámci predmetu Diskrétna matematika. Aktuálnym problémom pri výučbe Teórie grafov nie je neochota učiteľov využívať informačné technológie vo výučbe, ale nedostatok vhodných a prístupných riešení, ktoré by takúto výučbu umožňovali

11 1.1 Cieľ Cieľom mojej práce je: navrhnúť a vytvoriť interaktívne prostredie na vizualizáciu grafových algoritmov a riešenie grafových úloh vytvoriť sady úloh a príkladov z predmetu Diskrétna matematika pre dané prostredie 1.2 Rozdelenie práce Diplomovú prácu som rozdelil do štyroch kapitol a doplnil niekoľkými prílohami. Po kapitole Úvod nasleduje druhá kapitola nazvaná Teoretické východiská. V nej uvádzam základné definície v Teórii grafov, dôležité kritéria hodnotenia didaktického softvéru a prehľad niekoľkých dostupných aplikácií na prácu s grafmi. Treťou kapitolou je Návrh prostredia pre výučbu grafov, ktorá opisuje návrh prostredia z pohľadu kritérií uvedených v predchádzajúcej kapitole. Cieľom tejto kapitoly je poskytnúť vývojárom prostredia prehľad atribútov, ktoré by malo takéto prostredie spĺňať. Poslednou kapitolou je Realizácia prostredia pre výučbu grafov, v ktorej opisujem možnosti a vlastnosti mnou realizovaného prostredia

12 2 Teoretické východiská 2.1 Definície Graf je usporiadaná dvojica (V,E), kde V je konečná neprázdna množina vrcholov V = {v 1,v 2,v 3, } a E je množina hrán medzi vrcholmi. Množinu hrán definujeme ako binárnu reláciu na množine vrcholov: E = { (u,v) u,v V }. Neorientovaný graf je taký graf, ktorého relácia E je symetrická, teda ku každej hrane {u,v} existuje hrana {v,u} a zároveň je relácia E ireflexívna, teda pre každú hranu {v,u} platí v u. Hrany {u,v} a {v,u} v praxi stotožňujeme. Orientovaný graf je taký graf, ktorého relácia E nemusí byť symetrická, teda ak existuje hrana {u,v} nemusí existovať hrana {v,u}. Ak by obe hrany existovali, tieto hrany v praxi rozlišujeme. V orientovanom grafe pri hrane {u,v} hovoríme, že vrchol u je počiatočný vrchol, vrchol v je konečný vrchol a hrana ide z vrcholu u do vrcholu v. Hrany v tvare {u,u} nazývame slučky. Susedné vrcholy sú tie vrcholy u a v, pre ktoré existuje hrana {u,v} alebo hrana {v,u}. Typy grafov [19]: podľa počtu hrán medzi vrcholmi: o grafy medzi dvoma rôznymi vrcholmi môžu mať len jednu hranu o multigrafy medzi dvoma rôznymi vrcholmi môžu mať viacero hrán o pseudografy medzi dvoma vrcholmi môžu mať viacero hrán (sú to teda multigrafy, ktoré môžu navyše obsahovať slučky) podľa orientácie hrán: o grafy všetky ich hrany sú neorientované o digrafy (directed graphs) všetky ich hrany sú orientované o migrafy môžu obsahovať orientované aj neorientované hrany Pozn.: Názvoslovie typov grafov sa môže kombinovať. Napr.: pseudodigraf je graf, ktorý môže mať medzi vrcholmi viacero hrán, môže obsahovať slučky a všetky hrany sú orientované. 2.2 Dôležité kritériá hodnotenia didaktického softvéru pre výučbu grafov Pri výbere didaktického softvéru na výučbu grafov je dôležité brať ohľad na niekoľko kritérií súvisiacich s vyučovacím procesom. Podľa môjho názoru patrí medzi päť

13 najdôležitejších kritérií interaktivita, vizualizácia, otvorenosť, používateľská prístupnosť a nezávislosť od použitej platformy Interaktivita Interaktivita je schopnosť programu reagovať na podnety od používateľa v reálnom čase. Pri prostredí na prácu s grafmi hovoríme o takzvanom interaktívnom grafickom zobrazení. Definujeme ho ako obrazovú reprezentáciu údajov alebo informácií, s ktorými môže analyzátor manipulovať v reálnom čase, čiže latencia programu by mala byť kratšia ako 50 ms [2]. Interaktivita je dôležitý nástroj pre rozvoj asociatívneho myslenia a úzko súvisí s vizualizáciou, pretože väčšina aplikácií na prácu s grafmi reaguje na podnety len vizuálnou formou. Takisto má súvis s používateľskou prístupnosťou, pretože vhodne použité interaktívne prvky používateľovi značne uľahčujú dosiahnutie cieľa. POUŽÍVATEĽ REAKCIE APLIKÁCIE APLIKÁCIA PODNETY OD UŽÍVATEĽA DÁTA Tabuľka 1 Interaktivita medzi užívateľom a aplikáciou Vizualizácia Vizualizácia je metóda alebo nástroj pre obrazovú interpretáciu dát, pričom na analyzovanie využíva prednosti ľudského vnímania [3]. Vhodná vizualizácia študentom pomáha rýchlejšie a lepšie pochopiť štruktúru grafu. Uľahčuje im takisto pochopiť príčiny a dôsledky zmien tejto štruktúry pri vykonávaní algoritmu. Vizualizácia predstavuje vhodný prostriedok na zobrazenie rozdielov medzi skupinami, napr. medzi skupinou označených a skupinou neoznačených vrcholov. Poskytuje možnosť niektoré dôležité znaky zvýrazniť a nedôležité znaky potlačiť, čo je veľmi vhodné hlavne pri prvom kontakte študenta s prostredím

14 2.2.3 Otvorenosť Pod otvorenosťou prostredia máme na mysli možnosť jeho modifikovania na rôznych úrovniach [4]: na úrovni údajov používateľ môže pridávať úlohy rovnakého typu s vlastnými dátami na úrovni typu úloh používateľ môže pridávať vlastné úlohy rôzneho typu na úrovni distribúcie údajov používateľ môže ukladať úlohy vo formáte podporovanom aplikáciami podobného zamerania, resp. vo verejne známom a zdokumentovanom formáte na úrovni metodiky používateľ môže prostredie využiť aj inak ako je jeho primárne určenie. Napríklad pri výučbe gramatík z predmetu Formálne jazyky a gramatiky. Tento príklad sa nachádza na priloženom CD pod názvami foja.pas a foja.graph.xml. na úrovni zdrojových kódov prostredie sa distribuuje spolu so zdrojovými kódmi, čo umožňuje jeho kompletné modifikovanie užívateľom? Používateľská prístupnosť Pod pojmom používateľská prístupnosť označujeme jednoduchosť s akou sa používateľovi daný nástroj používa. V praxi ide o jednoduché, zrozumiteľné a intuitívne ovládanie, prehľadné ponuky, zrozumiteľné označenia a podobne. Používateľskú prístupnosť definuje norma ISO 9126 (1991) ako skupinu atribútov vplývajúcich na úsilie potrebné pre používanie, a na individuálny odhad takého použitia, stanovenou alebo predpokladanou skupinou používateľov. [4] Norma ISO (1998) ju definuje ako rozmer, v ktorom produkt môže byť použitý špecifikovanými používateľmi na dosiahnutie určitých cieľov s účinnosťou, efektivitou a uspokojením v danom kontexte použitia. [4] Používateľská prístupnosť obsahuje tieto hľadiská:[4] Kto sú používatelia, čo vedia a čo sa môžu naučiť? Čo používateľ chce alebo potrebuje urobiť? Aké je všeobecné zázemie používateľa? V akom kontexte používateľ pracuje? Čo sa má nechať na používateľa a čo na počítač?

15 2.2.5 Nezávislosť od použitia platformy Nezávislosť od použitia platformy. Vyjadruje mieru nezávislosti od použitého operačného softvéru i hardvéru. Na slovenských školách sa takmer výlučne používa platforma PC s operačným systémom Microsoft Windows. Najvhodnejšie sú teda aplikácie určené priamo pre túto platformu, Java aplikácie (pre takmer každú platformu existuje možnosť spustenia Java aplikácií), Java applety alebo webové aplikácie. Pre posledné dve riešenia stačí, ak žiak použije webový prehliadač s podporou technológie Java, ktorý je súčasťou takmer všetkých operačných systémov Iné aspekty Medzi iné aspekty radíme licenčné podmienky (šervér, frivér, open source a iné), didaktickú kvalitu, technickú kvalitu, dokumentáciu, použitý jazyk, atď. Všetky tieto kritériá sú pri hodnotení edukačného softvéru dôležité, avšak pri hodnotení aplikácií na prácu s grafmi som im priradil menšiu prioritu. 2.3 Prehľad dostupných aplikácií na prácu s grafmi Na prácu s grafmi existuje dostatočné množstvo aplikácií, avšak väčšinou sú úzko špecializované alebo nie sú vhodné na výučbu, a to ako z didaktického hľadiska, tak i napríklad z hľadiska licenčných podmienok. Z aplikácií na prácu s grafmi som si do tohto prehľadu vybral päť. Prvé štyri sú vhodné na výučbu a zaujali ma hlavne z didaktického hľadiska a piata aplikácia ma zaujala svojim ovládaním, dizajnom a používateľskou prístupnosťou EVEGA (Educational Visualization Environment for Graph Algorithms) EVEGA [5] je Java aplikácia určená priamo na výučbu algoritmov pre prácu s grafmi. Vizuálne vyhotovenie je veľmi dobré, všetky kroky sa animujú zvolenou rýchlosťou a vizualizujú sa i dátové štruktúry, ktoré algoritmus aktuálne využíva (zásobník, spájaný zoznam), čo prispieva k lepšiemu pochopeniu jeho práce. Aplikácia ponúka tri základné algoritmy s možnosťou ich krokovania (breadth first search prehľadávanie do šírky, depth first search prehľadávanie do hĺbky a MaxFlow maximálny tok v grafe), ktorých výber je však zvolený nevhodne. Používateľ totiž musí zadať triedu obsahujúcu daný algoritmus (napr. edu.tum.dal.algorithms.jgraph) a názov algoritmu (napr. MaxFlow), pričom aplikácia neponúka žiadne uľahčenie tohto kroku (napr. možnosťou

16 výberu položiek zo zoznamu). Pridávanie ďalších algoritmov je možné, avšak veľmi nepraktické, pretože aplikáciu je nutné rozbaliť (je uložená vo formáte JAR Java Archive), pridať algoritmus a opätovne zbaliť. Aplikácia umožňuje vygenerovanie 4 typov grafov, manuálnu tvorbu grafov, uloženie a načítanie grafov zo súboru (vo vlastnom formáte). Obsahuje tlačidlá na presúvanie vrcholov, zmenu orientácie hrán, vytváranie a zmenu vlastností elementov, atď. Tieto tlačidla sú však veľmi malé, s rovnakým vzhľadom a bez popisu (ten sa zobrazí až keď je nad tlačidlom kurzor myši), čo spomaľuje a komplikuje hlavne tvorbu vlastných grafov. Kvôli zložitému výberu algoritmov a komplikovanej tvorbe grafov je podľa mňa aplikácia vhodná len pre starších študentov, ktorý majú základy práce s grafmi už zvládnuté. Ďalej aplikácia obsahuje štatistické funkcie, pomocníka a je celá v angličtine Jive Jive [6] je Java applet, ktorý obsahuje tri veľmi dobre vizualizované algoritmy (depth first search - prehľadávanie do hĺbky, graph coloring - farbenie grafu, vertex cover - pokrytie vrcholov). Veľkou výhodou je možnosť výberu vrcholu, v ktorom algoritmus pokračuje a možnosť zmeny rýchlosti algoritmu. Tieto interaktívne prvky zlepšujú žiakovu pozornosť a umožňujú lepšie pochopiť prácu algoritmu. Pri každej doposiaľ nevykonanej operácii sa zobrazí dialógové okno s jej popisom a s možnosťou ďalej nezobrazovať popis operácií daného typu (čo je vhodné, ak sa nejaký typ operácie veľmi často opakuje). Keďže applet neumožňuje pridávanie vlastných algoritmov, je vhodný len ako demonštračný program práce daných troch algoritmov. Applet podporuje generovanie niekoľkých základných typov grafov a prácu so stromami. Ovládanie algoritmu a práca s grafom je jednoduchá. Tento applet je celý v angličtine a nepodporuje prácu so súbormi

17 Obrázok 1 - EVEGA Obrázok 2 - Jive

18 2.3.3 Graphlet Graphlet [7] je aplikácia na vizualizáciu algoritmov (depth first search - prehľadávanie do hĺbky,...), ktoré sú napísané v Graphscripte (scriptovancí jazyk založený na Tcl/Tk 1, ktorý nie je u nás veľmi známy). Jednou z najväčších nevýhod tejto aplikácie je to, že neumožňuje krokovanie algoritmu, a teda nie je vhodná na použitie vo vyučovacom procese. Voľne dostupná je len ukážková verzia, ktorá neumožňuje pridávanie vlastných algoritmov, takže jednoduchosť tejto operácie nemôžem ohodnotiť. Aplikácia podporuje ukladanie a načítavanie grafov zo všeobecne podporovaného formátu GML 2. Spustiteľná je pod operačnými systémami Windows, Linux a Solaris a celá je v angličtine. Obrázok 3 - Graphlet yed - Java Graph Editor yed [9] je profesionálna JAVA aplikácia určená na prácu s grafmi (hlavne v podobe diagramov), nie je však určená na výučbu grafov. Jej primárnym určením je vizualizácia grafu v praktickej a zrozumiteľnej forme, jeho usporiadanie do rôznych štruktúr. Nepodporuje 1 Tcl/Tk kombinácia Tcl a Tk. Tcl - skriptovací jazyk vyvinutý za účelom implementácie do aplikácií. Tk knižnica základných elementov určených pre grafické používateľské prostredie. [21, 22] 2 GML - výmenný formát vyvinutý pre aplikáciu Graphlet

19 prácu s algoritmami ani možnosť ich vytvorenia. Podporuje niekoľko druhov súborov a generovanie niekoľkých typov grafov. Aplikácia sa veľmi dobre ovláda, má praktickú ponuku, výborne označené ovládacie prvky, funkčne riešenú zmenu vlastností vrcholov a hrán. Prínosom je takisto možnosť spustenia celej aplikácie cez webové rozhranie. Celá aplikácia je v angličtine. Obrázok 4 yed Graph Editor

20 3 Návrh prostredia pre výučbu grafov Mnou navrhnuté prostredie je určené pre žiakov vysokých škôl študujúcich odbory so zameraním na informatiku a žiakov posledných ročníkov stredných škôl. Prostredie má byť zamerané na vizualizáciu grafov a grafových algoritmov, má podporovať možnosť návrhu vlastných algoritmov a ich odladenie. Prostredie môže implicitne podporovať prácu so stromami, ktoré sú podmnožinou grafov. Vzhľadom na použitie prostredia vo vyučovacom procese považujem za najdôležitejšie kritériá interaktivitu a otvorenosť, ktoré naň majú podľa môjho názoru najväčší vplyv. 3.1 Interaktivita Prostredie by malo podporovať interaktivitu na týchto úrovniach: tvorba a vzhľad grafu: o interaktívna tvorba a mazanie vrcholov a hrán o preskupovanie vrcholov o zmena výzoru vrcholov a hrán minimálne zmenou farby, ale aj zmenou tvaru, veľkosti, blikaním atď. o zmena parametrov grafu a jeho elementov: názov, ohodnotenie, označenie, atď. zasahovanie do algoritmu: o výber vrcholu alebo hrany, ktorú algoritmus spracuje o zmena rýchlosti algoritmu, jeho pozastavenie, krokovanie o krok späť 3.2 Vizualizácia Prostredie by malo vizualizovať graf ako množinu bodov pospájaných úsečkami, ale i ako dátovú štruktúru (zoznam alebo matica susednosti). Podporovať by malo i vizualizáciu dátových štruktúr, ktoré algoritmus používa (napr. zásobník), čo študentom umožní jednoduchšie pochopenie práce algoritmu. Prvky, s ktorými algoritmus aktuálne pracuje a takisto prvky, ktoré sa menia alebo sú označené, by mali byť jednoducho vizuálne rozlíšiteľné. To možno dosiahnuť zmenou ich farby, tvaru alebo ich animovaním. Pri ohodnotených prvkoch je vhodné hodnotu zobraziť priamo pri nich ako text, prípadne zmeniť vizuálne atribúty prvku (napríklad prvky s väčšou hodnotou budú väčšie, tmavšie alebo so širším okrajom)

21 Pri prostredí, u ktorého je predpoklad používania mladšími žiakmi, je vhodné podporovať vykresľovanie vrcholov ako obrázkov a podporovať možnosť pridania obrázkového pozadia (tým sa umožní napr. vytvorenie rozprávkovej mapy). 3.3 Otvorenosť Keďže prostredie je určené na výučbu, otvorenosť je jedným z jeho najdôležitejších aspektov. Malo by obsahovať veľké množstvo algoritmov (prakticky všetky, ktoré sa v danom predmete vyučujú) alebo musí podporovať tvorbu vlastných algoritmov, čo je s didaktického hľadiska hodnotnejšie, pretože žiaci si môžu vyskúšať i vlastné algoritmy. Za samozrejmosť považujem možnosť spustenia algoritmu na niekoľkých (najlepšie i vlastných) grafoch, čo je dôležité pre hlbšie pochopenie funkčnosti algoritmu ako i pre porovnanie zložitosti algoritmu v závislosti od štruktúry a veľkosti grafu. Prostredia ponúkajúce iba niekoľko málo algoritmov a možnosť ich simulácie iba na malej množine grafov sú z didaktického hľadiska menej hodnotné, pretože nemusia u žiakov dostatočne podporovať objavovanie poznatku. Grafy by sa mali dať uložiť i v nejakom všeobecne známom a podporovanom formáte. Takýmito formátmi sú napríklad: GraphML [12] formát založený na XML podporujúci orientované, neorientované grafy, hypergrafy (grafy, ktorých hrany spájajú najmenej jeden vrchol), grafickú reprezentáciu, odkazy na externé dáta, atribúty špecifické pre dané prostredie, atď. GML [13] vo veľkej miere podporovaný výmenný formát vyvinutý pre aplikáciu Graphlet. Tento formát nie je založený na XML. XGMML [14] extensible Graph Markup and Modeling Language je formát založený na XML a GML. GXL [15] výmenný formát založený na XML vyvinutý pre softvérové reinžinierstvo Ak prostredie podporuje tvorbu vlastných algoritmov, mali by byť zadávané buď symbolicky (vyskladaním z nejakých elementárnych prvkov, podobne ako pri detskom programovacom systéme Baltík) alebo v nejakom programovacom jazyku. Pri voľbe programovacieho jazyka musíme mať na zreteli niekoľko hľadísk: Jazyk má byť používateľovi dobre známy. V našich podmienkach sú to jazyky Pascal, Object Pascal, C, C++, Java, Logo. Nevhodnou voľbou je tvorba nového jazyka alebo použitie neznámeho jazyka (pokiaľ sa ich syntax nepodobná známejšiemu jazyku). Pri takejto voľbe totiž žiaci strácajú čas osvojením si

22 jazyka, ktorý možno už nikdy inokedy nepoužijú. Takisto v novom jazyku žiaci ťažšie odhaľujú chyby. Výhodou je podpora objektovo orientovaného prístupu. Vrchol má nejaké vlastnosti a môže poskytovať aj niektoré metódy, napríklad metódu Susedia(), ktorá vráti zoznam jeho susedov. Pri objektovom prístupe je potrebné zvoliť rozumnú mieru medzi komfortom a účelom výučby. Navrhnuté triedy majú poskytovať všetky základné funkčné vlastnosti, avšak nemali by implementovať algoritmy (alebo časti algoritmov), ktoré sa žiaci v danom prostredí majú naučiť. Interpretácia verzus kompilácia. Predpokladom je, že žiaci sa pri výučbe stretnú len s grafmi menšieho rozsahu, čím sa výhoda väčšej rýchlosti kompilovaných algoritmov stráca. Avšak interpretované jazyky umožňujúce zmenu algoritmu počas jeho vykonávania ponúkajú pridanú hodnotu vo väčšej flexibilite prejavu zmien v algoritme. 3.4 Používateľská prístupnosť Keďže môj návrh prostredia je veľmi všeobecný je ťažké doň zahrnúť pravidlá alebo postupy, ktoré by viedli k používateľsky prístupnému prostrediu. Pri realizácii konkrétneho prostredia je potrebné myslieť na hľadiská uvedené v kapitole Používateľská prístupnosť a v kapitole Interaktivita. 3.5 Nezávislosť od použitia platformy Navrhované prostredie by malo byť platformovo nezávislé. Takéto prostredie je možné vytvoriť pomocou: technológií určených pre World Wide Web, teda vytvorením webovej aplikácie, Java appletu, Flash súboru a podobne technológie Java od spoločnosti Sun alebo.net framework od spoločnosti Microsoft využitia toolkitov (pomocných programových balíkov) ako napríklad Qt 3 alebo GTK+ 4 3 Qt pomocný programový balík určený na vývoj multiplatformových aplikácií. Používa sa na vývoj aplikácií s grafickým i textovým užívateľským rozhraním. Je ho možné používať v rôznych programovacích jazykoch. Balík je spoplatňovaný. Využíva ho napríklad internetový prehliadač Opera. [23] 4 GTK+ - pomocný programový balík určený na vývoj multiplatformových aplikácií. Pôvodne bol vyvinutý pre potrebu projektu GIMP (rastrový grafický editor). Používa sa na vývoj aplikácií s grafickým užívateľským rozhraním v niekoľkých programovacích jazykoch. Balík je zadarmo a je dostupný i so zdrojovými kódmi. [24]

23 Na Slovensku je vhodnou alternatívou platformovo nezávislého riešenia prostredie určené pre platformu Microsoft Windows vzhľadom na jej rozšírenosť. 3.6 Iné aspekty Pre mladších žiakov by prostredie malo byť celé v slovenskom jazyku, verzia pre vysokoškolákov môže používať anglické výrazy (a to hlavne pri práci s algoritmom). Takto si žiaci osvoja anglickú terminológiu, ktorá sa používa v praxi. Prostredie by malo byť dobre zdokumentované, malo by obsahovať aj niekoľko praktických príkladov

24 4 Realizácia prostredia pre výučbu grafov Mnou realizované prostredie na vizualizáciu grafov a grafových algoritmov je určené priamo pre potreby Katedry základov a vyučovania informatiky, a preto sa snaží plne reflektovať požiadavky dané jeho určením. Verím však, že si nájde uplatnenie i na iných pracoviskách a v iných oblastiach. Prostredie som realizoval vo vývojovom prostredí Delphi v jazyku Object Pascal aj s využitím neštandardných komponentov (všetky sú pre účel tohto prostredia zdarma), vďaka ktorým je možné napísať, spúšťať a odladiť algoritmus priamo v prostredí. Aplikácia je spustiteľná pod operačným systémom Microsoft Windows. 4.1 Možnosti prostredia Realizované prostredie umožňuje a podporuje: interaktívnu prácu s grafom: tvorbu elementov grafu, ich mazanie, preskupovanie, označovanie a aktivovanie, ukladanie a načítavanie grafu zo súboru. Čiže žiakom poskytuje všetky základné operácie na prácu s grafom. vizualizáciu grafu a jeho pomocných štruktúr (zásobník, rad, zoznam), čo je pre pochopenie väčšiny algoritmov kľúčové, pretože tieto štruktúry v nich hrajú nezastupiteľnú úlohu. Niektoré algoritmy sa líšia len typom použitej štruktúry, čo sa dá v prostredí jednoducho demonštrovať. Napr. algoritmy na prehľadávanie do hĺbky a prehľadávanie do šírky sa odlišujú len v tom, či použijeme zásobník alebo rad. Môžeme teda vytvoriť algoritmus, ktorý na jednom grafe vizualizuje obe prehľadávania, pričom ich vhodne odlišuje (napr. farebne). otvorenosť na úrovni údajov (tvorba, ukladanie a načítavanie grafu), typu úloh (tvorba vlastných algoritmov, ich načítavanie a ukladanie), metodiky a zdrojových kódov (možnosť ďalšieho rozširovania aplikácie alebo využitia jej častí). tvorbu algoritmu v jazyku Object Pascal, i keď vzhľadom na použité komponenty nie je možné využívať všetky jeho vlastnosti. S grafom i jeho elementmi používateľ pracuje ako s objektmi (objektovo orientované programovanie). pridanie pseudokódu heslovitého popisu algoritmu, ktorý je pre jeho porozumenie jednoduchší a nemá žiadne pevne dané pravidlá. Pseudokód

25 používateľ pridáva vo forme komentárov k algoritmu a prostredie podporuje pri práci s ním všetko, čo aj pri práci s kódom v jazyku Object Pascal. odlaďovanie algoritmu krokovanie, označenie riadkov kódu, na ktorých sa má algoritmus zastaviť (breakpointy), čo umožňuje ľahšiu detekciu chýb a opravu kódu. 4.2 Popis prostredia Prostredie je rozdelené na časť vizualizácie grafu a časť určenú na prácu s algoritmom, ktorá sa dá oddeliť (zobrazí sa v osobitnom okne). Takto môžeme graf zobraziť na jednom monitore (resp. cez projektor) a algoritmus na druhom. Môžeme teda študentom zobraziť iba tú časť, ktorú v danom momente považujeme za dôležitú. Z tohto dôvodu má každá z nich vlastné ovládacie tlačidlá. Celé prostredie je v angličtine vrátane označenia tried a ich vlastností a metód Oblasť vizualizácie grafu V oblasti vizualizácie grafu sa zobrazuje graf ako množina bodov pospájaných čiarami. K práci s grafom slúžia ovládacie tlačidlá, ktoré v kombinácií s myšou umožňujú robiť s grafom a s jeho elementmi (vrcholmi a hranami) tieto základné operácie: načítavanie a ukladanie grafu do súboru prostredie využíva vlastný formát založený na XML, ktorý zahŕňa okrem samotného grafu (štruktúra, pozície elementov, ich vlastnosti a podobne) aj nastavenie prostredia (pozícia grafu v okne, popis elementov, množina aktívnych elementov, a podobne). Keďže je tento formát textový, štruktúrovaný, veľmi jednoduchý a prehľadný, je možné súbory meniť i v textovom editore, spracovávať ich v inom programe alebo prípadne previesť takýto súbor na iný súbor pomocou XSLT 5 procesora. zmena vizualizácie napr. vyhladzovanie hrán, zväčšovanie a zmenšovanie grafu (danému zväčšeniu sa dynamicky prispôsobuje mriežka tvorená bodmi pod grafom tak, aby nebola príliš hustá ani riedka). Rýchlosť vykresľovania grafu pri použití vyhladzovania hrán (tzv. antialiasingu) vo veľkej miere závisí od možností grafickej karty. vytváranie a mazanie elementov prostredie podporuje pseudografy a pseudodigrafy, teda medzi dvomi vrcholmi môžeme vytvoriť viacero hrán. 5 XSLT (Extensible Stylesheet Language Transformations) je na XML založený jazyk, používaný na transformáciu XML dokumentov (teda na prevedenie XML dokumentu na iný dokument). [25]

26 Môžeme vytvárať aj slučky, graf však musí obsahovať iba neorientované alebo iba orientované hrany. Vzhľadom na didaktický aspekt prostredie neumožňuje kombinovať orientované a neorientované hrany, pretože táto možnosť študentom značne komplikuje tvorbu niektorých algoritmov a teda aj ich pochopenie. Naopak možnosť tvorby viacerých hrán medzi vrcholmi je vítaná pri výučbe základných pojmov akými sú sled, ťah, cesta, kružnica. aktivovanie elementov pod týmto pojmom rozumieme pridanie elementu do množiny aktivovaných elementov (nazýva sa Active). Ide o množinu elementov, s ktorými plánujeme vykonávať nejakú akciu či už priamo v prostredí alebo pomocou algoritmu (mazanie, označenie, a podobne). Aktivovaný element je označený modrým okrajom. Takýto spôsob označenia som zvolil preto, lebo okraj nezakrýva iné podstatné vizuálne znaky elementu, ktorými sú napríklad jeho meno, hodnota alebo označenie. označovanie elementov pod týmto pojmom rozumieme odlíšenie elementov s nejakou vlastnosťou, napr. môžeme označovať tie elementy, ktoré sme už spracovali. Tieto elementy sú zafarbené na červeno v celej svojej ploche. Takéto označenie som si zvolil z dôvodu veľkosti vyfarbenej plochy, takže daný element je jasne označený. Táto vlastnosť sa nazýva Marked. blikanie elementov podobne ako pri označení sa blikanie používa na odlíšenie elementov s nejakou vlastnosťou, avšak primárne len na vizualizáciu tých elementov, ktorých vlastnosti sa aktuálne menia, prípadne sa budú v nasledovnom kroku meniť. Takýto spôsob vizualizácie som si vybral preto, že neskrýva označenie elementu, ani jeho vlastnosti. Čiastočne skrýva vizualizáciu aktivovaného elementu, ale keďže blikanie je vizuálne veľmi atraktívne, a teda je určené len na krátkodobé použitie, nepovažujem takýto postup za chybu. Blikanie sa prejavuje na rozdiel od aktivovania alebo označenia aj v dátových štruktúrach. Táto vlastnosť sa nazýva Blink. popis elementov pre vrcholy a hrany si môžeme osobitne zvoliť zobrazovaný text. Môžeme zobraziť napr. názov hrany, jej identifikačné číslo, hodnotu, počiatočný a konečný vrchol, atď. Na popis elementov v prostredí používame textový reťazec, v ktorom môžeme ľubovoľne používať špeciálne označenia. Tie aplikácia pri vykresľovaní nahradí aktuálnou hodnotou (napr. %name sa nahradí menom aktuálneho elementu). Pri hranách sa používateľ môže odkazovať na počiatočný a konečný vrchol a ich vlastnosti (napr. reťazec %from.name aplikácia nahradí

27 menom počiatočného vrcholu). Tento prístup nám umožňuje pri rôznych algoritmoch (resp. aj pri rôznych častiach toho istého algoritmu) zobrazovať len podstatné informácie (napr. ohodnotenie hrany namiesto jej mena). vlastnosti elementov všetkým aktívnym elementom môžeme meniť ich základné vlastnosti, pričom táto zmena sa prejavuje okamžite, čo zlepšuje interaktivitu medzi používateľom a prostredím typ grafu orientovaný alebo neorientovaný. Kombináciu orientovaných a neorientovaných hrán aplikácia nepodporuje. krok späť po vytvorení alebo zmazaní elementu (resp. elementov) nám táto možnosť umožňuje vrátiť sa o krok späť pred túto operáciu. Počet návratov nie je obmedzený a funguje pri vytváraní a mazaní elementov nielen používateľom, ale aj algoritmom. screenshot umožňuje uložiť zobrazený graf ako obrázok formátu BMP do súboru (presne v podobe a rozlíšení, v akom ho vidíme) Obrázok 5 oblasť vizualizácie grafu

28 4.2.2 Oblasť algoritmu V tejto časti programu sa nachádza samotný algoritmus, pseudokód, informačné okno nazývané messages a ovládacie prvky na prácu s nimi. Tieto ovládacie prvky nám umožňujú: načítanie a uloženie algoritmu do súboru keďže algoritmus je napísaný v jazyku Object Pascal, súbory majú príponu.pas. editovanie algoritmu pričom editovaním komentárov zároveň meníme pseudokód. Pri editovaní nám pomáha zvýraznenie syntaxe jazyka Pascal a číslovanie riadkov. zobrazenie kódu alebo pseudokódu vždy však iba jedného, pričom pseudokód sa generuje vždy pred svojím zobrazením. Toto generovanie nám ho umožňuje meniť aj počas krokovania. odlaďovanie algoritmu podpora breakpointov, krokovania (step into, step over), automatického krokovania s možnosťou zmeny časového intervalu. Všetky tieto možnosti fungujú pre kód aj pre pseudokód. zmena písma je možné meniť typ písma a jeho veľkosť. Na zmeny veľkosti je možné použiť aj osobitné tlačidlá, čo urýchľuje správne nastavenie napr. pri použití projektoru. Pre kód, pseudokód i okno správ sa používa rovnaký typ písma. zobrazenie okna správ v tomto okne sa vypisujú hlásenia o úspešnom skompilovaní algoritmu alebo o prípadných chybách. Do okna môže vypisovať správy aj algoritmus. export do HMTL kód programu je možné exportovať ako webovú stránku so zachovaním zvýraznenia syntaxe

29 Obrázok 6 oblasť algoritmu (kód programu a okno správ) Obrázok 7 oblasť algoritmu (pseudokód počas krokovania a okno správ) 4.3 Algoritmus Ako už spomenul v kapitole 4.1 Možnosti prostredia, algoritmy je možné písať, spúšťať a odlaďovať priamo v realizovanom prostredí. Algoritmus používateľ píše v jazyku Object Pascal. Tento jazyk je na našej fakulte známy každému študentovi, ktorého odbor sa týka informatiky, a nemal by s ním teda mať väčší problém. Vzhľadom na potreby výučby i na

30 fakt, že niektorí študenti sa s týmto jazykom stretnú o čosi neskôr ako s výučbou grafov, podporuje prostredie i používanie pseudokódu. Práca s algoritmom je umožnená vďaka komponentom Pascal Script 3.0 od spoločnosti RemObjects Software, LLC [17]. Tieto komponenty podporujú objektovo orientovaný prístup, avšak majú i niektoré obmedzenia. Napríklad nepodporujú použitie dvoch rôznych funkcií s rovnakým názvom (tzv. preťaženie - overloading). O editáciu kódu algoritmu a zvýrazňovanie jeho syntaxe sa starajú komponenty SynEdit a SynPasSyn od SynEdit Development Team [18] Objektový model V algoritme je možné (a potrebné) využívať dve globálne premenné, a to premennú G typu TGraph, ktorá nám umožňuje pracovať s práve zobrazeným grafom, jeho elementmi a dátovými štruktúrami, a premennú GR typu TGraphRenderer, ktorá sa stará o vykresľovanie grafu a o prácu s množinou aktívnych prvkov. Ako je vidieť z obrázku č. 8, triedy TNode a TEdge sú potomkami triedy TGraphElement. Toto riešenie má študentom ukázať graf očami informatiky s využitím objektovo orientovaného prístupu. Takýto prístup má študentom uľahčiť pochopenie rozdielov a výhod matematického prístupu (hrana a vrchol sú dve rozdielne veci hrana je dvojica vrcholov) a informatického prístupu ku grafom (vrchol a hrana majú veľmi veľa spoločných a niekoľko málo rozdielnych vlastností). Podrobný popis tried je uvedený v prílohe B Popis tried. Pri práci s algoritmom je možné používať i pomocné funkcie, ktorých zoznam je uvedený v prílohe C Zoznam pomocných funkcií

31 TGraphElement Id: cardinal; Name: string; Marked: boolean; Blink: boolean; ValBool: boolean; ValInt: integer; ValStr: string; ValData: pointer; ValIsSet: boolean; Color: TRGBA; Position: TNode TRealPoint; TEdge FromNode: TNode; ToNode: TNode; TGraphRenderer Offset: TRealPoint; Zoom: real; ShowGrid: boolean; NodeLabel: string EdgeLabel: string; Hint: THintProperties; Queue: Stack: List: Edges: Nodes: TGraph TGraphQueue; TGraphStack; TGraphList; TEdges; TNodes; Graph: Active: Caption: TGraph; TActiveElements; string; Obrázok 8 Schematické znázornenie štruktúry tried a ich základných vlastností dedenie referencia

32 4.3.2 Pseudokód Kód algoritmu môže obsahovať komentáre, ktoré sa automaticky prevádzajú na pseudokód. Ten pri správnom použití napomáha pochopeniu algoritmu, pretože skrýva nedôležité prvky, zobrazuje algoritmus v jednoduchšej forme a prináša naň nový pohľad. Skupinu príkazov tak môžeme nahradiť jedným riadkom pseudokódu, ako ukazuje nasledujúci príklad, v ktorom algoritmus označí a nechá blikať všetky hrany vychádzajúce z vrcholu N. kód algoritmu v jazyku Object pascal Tabuľka 2 príklad použitia pseudokódu //označ vychádzajúce hrany EA := N.OutGoingEdges; for i := 0 to LengthEA(EA) - 1 do begin EA[i].Marked := true; EA[i].Blink := true; end; kód algoritmu v pseudokóde označ vychádzajúce hrany Celý príklad sa je uvedený v prílohe A je na ňom dobre viditeľná vhodnosť použitia pseudokódu. Pôvodný kód sa zmenšil z 57 riadkov na 9 riadkov pseudokódu. Takto sme študentom zatajili veľa krokov, ktoré priamo nesúvisia s algoritmom a slúžia iba ako pomôcka pri výučbe (napr. blikanie elementov, s ktorými sa práve udiala nejaká akcia). Každý riadok (alebo blok pri použití komentárov v bloku { }) pseudokódu sa viaže na najbližší nasledujúci riadok kódu, prípadne na daný riadok, ak je v ňom súčasne kód i pseudokód. To je dôležité pri krokovaní algoritmu a breakpointoch. Vytvorením breakpointu v pseudokóde aplikácia automaticky vytvorí breakpoint v príslušnom riadku kódu a naopak. Pri krokovaní pseudokódu v skutočnosti pracujeme s kódom v Object Pascale, prostredie nám však túto skutočnosť utajuje. Výnimkou je zobrazenie chýb v kóde, ktoré vždy odkazujú na kód algoritmu

33 Záver Primárnym cieľom mojej práce bolo navrhnúť a vytvoriť interaktívne prostredie na vizualizáciu grafových algoritmov a riešenie grafových úloh. Myslím si, že som tento cieľ takmer vo všetkých bodoch splnil. Prostredie umožňuje interaktívnu prácu s grafom i algoritmom, pričom umožňuje aj ich zmenu, čo vo veľkej miere rozširuje jeho možnosti. Aplikácia však neobsahuje niektoré povodne zamýšľané prvky, a to napr. vizualizáciu matice susednosti, možnosť pridania obrázkového pozadia, ľubovoľnú zmenu vizualizácie elementov (napr. aj podľa hodnoty), generovanie grafov. Vzhľadom na to, že aplikáciu je možné ľubovoľne editovať (zdrojové kódy sú voľne prístupné), nie je problém tieto vlastnosti doprogramovať. Taktiež je možné do aplikácie pridať prvky, ktoré v pôvodnom návrhu neboli zamýšľané, a to napr.: meranie zložitosti algoritmu Teória grafov sa nezaoberá len hľadaním riešení, ale aj hľadaním optimálnych riešení, preto by prostredie mohlo obsahovať nástroje na meranie zložitosti algoritmov zmena veľkosti elementov v prípade použitia obrázkového pozadia alebo v prípade veľkého počtu vrcholov môžu byť elementy príliš veľké resp. malé udalosti v algoritme by bolo možné využívať udalosti jednotlivých tried, napr. funkcia PoKliknutí(N: TNode) by sa zavolala po kliknutí na nejaký vrchol a algoritmus by túto udalosť spracoval Sekundárnym cieľom mojej práce bolo vytvoriť sady úloh a príkladov z predmetu Diskrétna matematika. Myslím si, že i tento cieľ som dostatočne splnil. Aplikácia obsahuje tri algoritmy, ktoré sa už použili pri výučbe, a ďalšie dva ukážkové algoritmy. Aj keď som netvoril väčšiu sadu úloh, verím že tento nedostatok vyváži možnosť tvorby nových algoritmov. To umožňuje vyučujúcim vytvoriť si ďalšie algoritmy podľa svojich predstáv, prípadne zadať študentom tvorbu nového grafu ako úlohu. Nedostatkom mojej práce je, že som nestihol otestovať realizované prostredie v praxi. Takýto výskum je vzhľadom na zlepšenie kvality aplikácie a jej úpravu pre konkrétne prostredie potrebný. Vďaka pomoci mojej diplomovej vedúcej sa realizované prostredie aspoň čiastočne použilo pri výučbe. Reakcií žiakov bolo však málo a neboli veľmi konkrétne ani kritické, vo všeobecnosti boli len kladné, takže som ich pri vývoji nebral do úvahy. Verím však, že i napriek nedostatkom dané prostredie uľahčí učiteľom výučbu a študentom štúdium Teórie grafov

34 Zoznam použitej literatúry [1] Kalaš, I. (2006): Tvorba pedagogického softvéru - Čo je pedagogický softvér (prednáška č. 4). ( ) [2] Eick, S.G., Wills, G.J. (1995): High Interaction Graphics. European Journal of Operational Research, 84: , ( ) [3] McCormick, B.H., DeFanti, T.A., Brown, M.D. (1987): Visualization in Scientific Computing. ACM Computer Graphics, 21:1-14. [4] Wikipedia, The Free Encyklopedia (2006): Usability. ( ) [5] Holzapfel, K. (2001): EVEGA. ( ) [6] Live JIVE. (2006) ( ) [7] Graphlet. (1999) ( ) [8] Graphlet. (1999) ( ) [9] yed Java Graph Editor. (2006) ( ) [10] Kalaš I. (2006): Tvorba pedagogického softvéru Recenzia. ( ) [11] Kalaš I.: Návrh kritérií pre posudzovanie edukačných produktov Edukačnou radou projektu Infovek pre rok ( ) [12] The GraphML File Format. (2004) ( ) [13] Graphlet. The GML File Format. (1997) ( ) [14] XGMML (extensible Graph Markup and Modeling Language). (2001) ( ) [15] Graph exchange Language. (2002) ( ) [16] Kalaš, I. (2006): Tvorba pedagogického softvéru Špecifikácia. ( )

35 [17] RemObjects Software: Pascal Script 3.0 for Delphi (2006) EEBBE7E302E6} ( ) [18] SynEdit Development Website (2000) ( ) [19] Wikipedia, The Free Encyklopedia (2006): Graph ( ) [20] Derrida J.(1970): Structure, sign and play in the discourse of the human sciences. The Languages of Criticism and the Sciences of Man: The Structuralist Controversy, , edited by R. Macksey & E. Donato. Baltimore: John Hopkins University Press Slovenský preklad: Martin Mojžiš, časopis.týždeň, ISSN: , č. 46/2006, s. 57 [21] Wikipedia, The Free Encyklopedia (2006): Tcl ( ) [22] Wikipedia, The Free Encyklopedia (2006): Tk (computing) ( ) [23] Wikipedia, The Free Encyklopedia (2006): Qt (toolkit) ( ) [24] Wikipedia, The Free Encyklopedia (2006): GTK+ ( ) [25] Wikipedia, The Free Encyklopedia (2007): XSL Transformations ( ) [26] Holotňák O.: Zbierka úloh z Teórie grafov (diplomová práca) _grafov_v1.00.pdf?id=77&fid=135&type=application%2fpdf ( )

36 Príloha A Príklad kódu algoritmu a príslušného pseudokódu Kód algoritmu (Object Pascal) //---Prehľadávanie do hĺbky--- program do_hlbky; var N: TNode; NA: TNodes; EA: TEdges; i: Integer; begin //Označ začiatočný vrchol G.Stack.Clear; G.Stack.Push(GR.Active.First,true); GR.Active.DeactivateAll; while (G.Stack.Peek <> nil) do begin//ak je nejaký vrchol v zásobníku POTOM ZACIATOK // vyber prvý vrchol zo zásobníku N := TNode(G.Stack.Pop()); N.Blink := true; if N.Marked then begin N.Blink := false; continue; end; // označ daný vrchol N.Marked := true; // označ vychádzajúce hrany N.Blink := false; EA := N.OutGoingEdges; for i := 0 to LengthEA(EA) - 1 do begin EA[i].Marked := true; EA[i].Blink := true; end;

37 // vlož do zásobníka neoznačených susedov for i := 0 to LengthEA(EA) - 1 do begin EA[i].Blink := false; end; NA := N.Neighbourhoods; for i := 0 to LengthNA(NA) - 1 do if not NA[i].Marked then begin G.Stack.Push(NA[i],true); NA[i].Blink := true; end; //KONIEC for i := 0 to LengthNA(NA) - 1 do NA[i].Blink := false; end; //zruš označenie if LengthNA(G.Nodes) > 0 then for i := 0 to LengthNA(G.Nodes) - 1 do G.Node(i).Marked := false; if LengthEA(G.Edges) > 0 then for i := 0 to LengthEA(G.Edges) - 1 do G.Edge(i).Marked := false; end. Pseudokód algoritmu ---Prehľadávanie do hĺbky--- Označ začiatočný vrchol AK je nejaký vrchol v zásobníku POTOM ZACIATOK vyber prvý vrchol zo zásobníku označ daný vrchol označ vychádzajúce hrany vlož do zásobníka neoznačených susedov KONIEC zruš označenie

38 Príloha B Popis tried Pomocné triedy a štruktúry TRealPoint = record XPos,YPos: real; end; TRealRect = record Top, Left, Bottom, Right: real; end; TRGBA = packed record B,G,R,A: byte; end; THintProperties = record NodeHint, EdgeHint, NilHint: String; Position: TRealPoint; Show: Boolean; Element: TGraphElement; end; Bod s reálnymi súradnicami. Obdoba TPoint Obdĺžnik s reálnymi súradnicami. (Obdoba TRect) Farba s priesvitnosťou. R,G,B sú jednotlivé farebné zložky (červená, zelená a modrá) a A je priesvitnosť (0 priehľadná, nepriehľadná) Štruktúra obsahujúca atribúty používané pri zobrazení tipu, pri prechode kurzorom nad elementom. Reťazce určujú zobrazovaný text pre jednotlivé typy elementov (vrchol, hrana, žiadny). Pozícia tipu v ploche grafu. Viditeľnosť. Element odkazuje na element pod kurzorom. Trieda TGraphElement TGraphElement = class(tobject) public ValBool: Boolean; ValInt: Integer; ValStr: String; ValData: Pointer; ValIsSet: Boolean; Potomok triedy TObject. Hodnoty elementu. Element môže mať hodnotu logickú, číselnú, textovú alebo dátovú (pomocou smerníku). Atribút IsSet môžeme použiť ako príznak nastavenia hodnoty

39 Color: TRGBA; Blink: Boolean; Id: Cardinal; Marked: Boolean; IntMark[Int: Cardinal]: boolean; StrMark[const Str: string]: boolean; IntMarkName[Int: Cardinal]: integer; IntMarksCount: integer; StrMarkName[Int: Cardinal]: string; StrMarksCount: integer; Farba elementu. Blikanie elementu. Jednoznačné identifikačné číslo (pre vrcholy a hrany sa používa osobitne môže sa teda stať že hrana a vrchol majú rovnaké Id). Označenie elementu. Označenie číslom. Označenie textovým reťazcom. Číselné označenie podľa poradia a počet označení. Textové označenie podľa poradia a počet označení. constructor Create(nParent: TGraph); procedure DestroyThis(ToUndo: boolean); end; Otcom elementu je graf. Trieda TNode TNode = class(tgraphelement) public Position: TRealPoint; IncidentEdges: TEdges; OutGoingEdges: TEdges; InGoingEdges: TEdges; Neighbourhoods: TNodes; Potomok triedy TGraphElement. Pozícia vrcholu v ploche. Hrany začínajúce alebo končiace vo vrchole. Vychádzajúce hrany. Vchádzajúce hrany. Susedné vrcholy. constructor Create(nParent: TGraph); procedure DestroyThis(ToUndo: boolean); end; Otcom vrcholu je graf. Trieda TEdge TEdge = class(tgraphelement) public FromNode: TNode; ToNode: TNode; Potomok triedy TGraphElement. Začiatočný vrchol. Koncový vrchol

40 constructor Create(nParent: TGraph; nfromnode,ntonode: TNode); constructor CreateById(nParent: TGraph; nfromnodeid,ntonodeid: Cardinal); procedure DestroyThis(ToUndo: boolean); end; Otcom hrany je graf. Pri vytváraní sa zadáva začiatočný a konečný vrchol hrany resp. ID týchto vrcholov. Trieda TActiveElements TActiveElements = class(tobject) public ActiveRect: TRealRect; ShowActiveRect: boolean; First: TGraphElement; Last: TGraphElement; FirstNode: TNode; LastNode: TNode; FirstEdge: TEdge; LastEdge: TEdge; Count: Integer; Element[i: Integer]: TGraphElement; Potomok triedy TObject. Oblasť, v ktorej sa nachádzajú elementy, ktoré chceme aktivovať. Viditeľnosť danej oblasti. Prvý aktívny element. Posledný aktívny element. Prvý a posledný aktívny vrchol. Prvá a posledná aktívna hrana. Počet aktívnych elementov. Pole aktívnych elementov. procedure Activate(Element: TGraphElement;OnlyThisOne: boolean = false); procedure ActivateAsFirst(Element: TGraphElement); procedure ActivateAllFromRect(); procedure Deactivate(Element: TGraphElement); procedure DeactivateAll(); function IsActive(Element: TGraphElement): boolean; function GetIndex(Element: TGraphElement): Integer; constructor Create(nGR: TGraphRenderer); Aktivuje element. Ak nastavíme OnlyThisOne, deaktivujú sa všetky ostatné elementy. Aktivuje element a presunie ho na prvú pozíciu. Aktivuje všetky elementy v oblasti ActiveRect. Deaktivuje element. Deaktivuje všetky elementy. Zistí, či je element aktivovaný. Zistí pozíciu element v množine aktivovaných prvkov. Trieda spolupracuje s triedou TGraphRenderer

Aplikačný dizajn manuál

Aplikačný dizajn manuál Aplikačný dizajn manuál Úvod Aplikačný dizajn manuál je súbor pravidiel vizuálnej komunikácie. Dodržiavaním jednotných štandardov, aplikácií loga, písma a farieb pri prezentácii sa vytvára jednotný dizajn,

More information

Databázové systémy. SQL Window functions

Databázové systémy. SQL Window functions Databázové systémy SQL Window functions Scores Tabuľka s bodmi pre jednotlivých študentov id, name, score Chceme ku každému doplniť rozdiel voči priemeru 2 Demo data SELECT * FROM scores ORDER BY score

More information

kucharka exportu pro 9FFFIMU

kucharka exportu pro 9FFFIMU požiadavky na export kodek : Xvid 1.2.1 stable (MPEG-4 ASP) // výnimočne MPEG-2 bitrate : max. 10 Mbps pixely : štvorcové (Square pixels) rozlíšenie : 1920x1080, 768x432 pre 16:9 // výnimočne 1440x1080,

More information

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) Spájanie tabuliek Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 Úvod pri normalizácii rozdeľujeme databázu na viacero tabuliek prepojených cudzími kľúčmi SQL umožňuje tabuľky opäť spojiť

More information

Databázy (1) Prednáška 11. Alexander Šimko

Databázy (1) Prednáška 11. Alexander Šimko Databázy (1) Prednáška 11 Alexander Šimko simko@fmph.uniba.sk Contents I Aktualizovanie štruktúry databázy Section 1 Aktualizovanie štruktúry databázy Aktualizácia štruktúry databázy Štruktúra databázy

More information

Registrácia účtu Hik-Connect

Registrácia účtu Hik-Connect Registrácia účtu Hik-Connect Tento návod popisuje postup registrácie účtu služby Hik-Connect prostredníctvom mobilnej aplikácie a webového rozhrania na stránke www.hik-connect.comg contents in this document

More information

Obsah. SOA REST REST princípy REST výhody prest. Otázky

Obsah. SOA REST REST princípy REST výhody prest. Otázky REST Peter Rybár Obsah SOA REST REST princípy REST výhody prest Otázky SOA implementácie WEB (1990) CORBA (1991) XML-RPC (1998) WS-* (1998) SOAP RPC/literal SOAP Document/literal (2001) REST (2000) SOA

More information

VYLEPŠOVANIE KONCEPTU TRIEDY

VYLEPŠOVANIE KONCEPTU TRIEDY VYLEPŠOVANIE KONCEPTU TRIEDY Typy tried class - definuje premenné a metódy (funkcie). Ak nie je špecifikovaná inak, viditeľnosť členov je private. struct - definuje premenné a metódy (funkcie). Ak nie

More information

Copyright 2016 by Martin Krug. All rights reserved.

Copyright 2016 by Martin Krug. All rights reserved. MS Managed Service Copyright 2016 by Martin Krug. All rights reserved. Reproduction, or translation of materials without the author's written permission is prohibited. No content may be reproduced without

More information

Riešenia a technológie pre jednotnú správu používateľov

Riešenia a technológie pre jednotnú správu používateľov Riešenia a technológie pre jednotnú správu používateľov Radovan Semančík Agenda Úvod: Identity Crisis Technológie správy používateľov Postup nasadenia Záver Súčasný stav IT Security Nekonzistentné bezpečnostné

More information

1 Komplexný príklad využitia OOP

1 Komplexný príklad využitia OOP 1 Komplexný príklad využitia OOP Najčastejším využitím webových aplikácií je komunikácia s databázovým systémom. Komplexný príklad je preto orientovaný práve do tejto oblasti. Od verzie PHP 5 je jeho domovskou

More information

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára REPORT DESIGNER úprava formulárov v Money S4 / Money S5 Informačný systém Money S4/S5 umožňuje upraviť tlačové zostavy tak, aby plne vyhovovali potrebám používateľa. Na úpravu tlačových zostáv slúži doplnkový

More information

Spôsoby zistenia ID KEP

Spôsoby zistenia ID KEP Spôsoby zistenia ID KEP ID KEP (kvalifikovaný elektronický podpis) je možné zistiť pomocou napr. ovládacieho panela, prostredíctvom prehliadača Internet Expolrer, Google Chrome alebo Mozilla Firefox. Popstup

More information

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca Obsah balenia TL-WR743ND Rýchly inštalačný sprievodca PoE injektor Napájací adaptér CD Ethernet kábel Systémové požiadavky

More information

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator Anycast Ľubor Jurena CEO jurena@skhosting.eu Michal Kolárik System Administrator kolarik@skhosting.eu O nás Registrátor Webhosting Serverové riešenia Správa infraštruktúry Všetko sa dá :-) Index Čo je

More information

Textový formát na zasielanie údajov podľa 27 ods. 2 písm. f) zákona

Textový formát na zasielanie údajov podľa 27 ods. 2 písm. f) zákona Popis textového formátu a xsd schémy na zasielanie údajov podľa 27 ods. 2 písm. f) zákona (formu na zaslanie údajov si zvolí odosielateľ údajov) Textový formát na zasielanie údajov podľa 27 ods. 2 písm.

More information

GeoGebra a JavaScript

GeoGebra a JavaScript GeoGebra a JavaScript GeoGebra and JavaScript Patrik Voštinár MESC: U70 Abstract The article deals with creating applets in mathematics software GeoGebra. GeoGebra contains a large number of tools that

More information

D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu. Inštalačná príručka

D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu. Inštalačná príručka D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu Inštalačná príručka Obsah 1 Predpoklady pre inštaláciu D.Signer... 3 1.1 Inštalácia.NET Framework... 3 1.1.1 Windows 8, 8.1... 4 1.1.2

More information

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP Recipient Configuration Štefan Pataky MCP, MCTS, MCITP Agenda Mailbox Mail Contact Distribution Groups Disconnected Mailbox Mailbox (vytvorenie nového účtu) Exchange Management Console New User Exchange

More information

Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky. Interaktívna výuková webová aplikácia na riešenie úloh o pravdepodobnosti

Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky. Interaktívna výuková webová aplikácia na riešenie úloh o pravdepodobnosti Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Interaktívna výuková webová aplikácia na riešenie úloh o pravdepodobnosti Bakalárska práca 2016 Zuzana Majeríková Univerzita

More information

Ochrana koncových staníc pomocou Cisco Security Agent 6.0. Ľubomír Varga.

Ochrana koncových staníc pomocou Cisco Security Agent 6.0. Ľubomír Varga. Ochrana koncových staníc pomocou Cisco Security Agent 6.0 Ľubomír Varga lubomir.varga@lynx.sk Agenda CSA 6.0 refresh Vybrané vlastnosti CSA 6.0 Application Trust levels Notify User Rule Actions User Justifications

More information

MERANIE SOFTVÉRU. Jakub Šimko MSI

MERANIE SOFTVÉRU. Jakub Šimko MSI Slovenská Technická Univerzita v Bratislave Fakulta Informatiky a Informačných Technológií Jakub Šimko jsimko@fiit.stuba.sk MERANIE SOFTVÉRU 9.10.2012 MSI Meranie a metriky Kto by mal dávať pozor? Predsa

More information

Algoritmy deterministickej a stochastickej optimalizácie a ich počítačová realizácia

Algoritmy deterministickej a stochastickej optimalizácie a ich počítačová realizácia Algoritmy deterministickej a stochastickej optimalizácie a ich počítačová realizácia ESF 2007 D. Ševčovič Katedra aplikovanej matematiky a štatistiky, Univerzita Komenského, 842 48 Bratislava http://www.iam.fmph.uniba.sk/institute/sevcovic

More information

Manuál k programu FileZilla

Manuál k programu FileZilla Manuál k programu FileZilla EXO TECHNOLOGIES spol. s.r.o. Garbiarska 3 Stará Ľubovňa 064 01 IČO: 36 485 161 IČ DPH: SK2020004503 support@exohosting.sk www.exohosting.sk 1 Úvod EXO HOSTING tím pre Vás pripravil

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU.

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU. UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU Diplomová práca 2017 Bc. Denis Spišák UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA

More information

Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami)

Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami) I2AI: Lecture 04 Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami) Lubica Benuskova Reading: AIMA 3 rd ed. chap. 6 ending with 6.3.2 1 Constraint satisfaction problems (CSP) We w

More information

Jazyk SQL. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Jazyk SQL. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) Jazyk SQL Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 Jazyk SQL - Structured Query Language SQL je počítačový jazyk určený na komunikáciu s relačným SRBD neprocedurálny (deklaratívny) jazyk

More information

systemove programovanie win32 programovanie

systemove programovanie win32 programovanie systemove programovanie win32 programovanie zakladny princip uzivatel interaguje so systemom klavesnicou, mysou tym generuje udalosti, ktore sa radia do,,message queue" (front sprav) aplikacia vytahuje

More information

Coordinates ordering in parallel coordinates views

Coordinates ordering in parallel coordinates views Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Coordinates ordering in parallel coordinates views Bratislava, 2011 Lukáš Chripko Univerzita Komenského v Bratislave Fakulta

More information

Poradové a agregačné window funkcie. ROLLUP a CUBE

Poradové a agregačné window funkcie. ROLLUP a CUBE Poradové a agregačné window funkcie. ROLLUP a CUBE 1) Poradové a agregačné window funkcie 2) Extrémy pomocou DENSE_RANK(), TOP() - Príklady 3) Spriemernené poradia 4) Kumulatívne súčty 5) Group By a Datepart,

More information

Katedra Informatiky Fakulta Matematiky, Fyziky a Informatiky Univerzita Komenského, Bratislava. Toky v sieťach. (bakalárska práca) Richard Štefanec

Katedra Informatiky Fakulta Matematiky, Fyziky a Informatiky Univerzita Komenského, Bratislava. Toky v sieťach. (bakalárska práca) Richard Štefanec Katedra Informatiky Fakulta Matematiky, Fyziky a Informatiky Univerzita Komenského, Bratislava Toky v sieťach (bakalárska práca) Richard Štefanec vedúci: Mgr.Michal Forišek Bratislava, 2007 Čestne prehlasujem,

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VIZUALIZÁCIA ZÁKLADNÝCH GRAFOVÝCH ALGORITMOV.

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VIZUALIZÁCIA ZÁKLADNÝCH GRAFOVÝCH ALGORITMOV. UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VIZUALIZÁCIA ZÁKLADNÝCH GRAFOVÝCH ALGORITMOV 2011 Alena Košinárová UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY

More information

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT-XXXX-XXXXX

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT-XXXX-XXXXX Toto je titulný list práce. Je súčasťou každej priebežnej či záverečnej správy (BP, DP) Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT-XXXX-XXXXX evidenčné

More information

Crestron Mercury. Univerzálny Videokonferenčný a Kolaboračný systém

Crestron Mercury. Univerzálny Videokonferenčný a Kolaboračný systém Crestron Mercury Univerzálny Videokonferenčný a Kolaboračný systém Tradičná malá zasadacia miestnosť CRESTRON Mercury Videokonferenčná miestnosť Možnosť rezervácie miestnosti: Prostredníctvom MS Outlook

More information

Návod na odstránenie certifikátov so zrušenou platnosťou

Návod na odstránenie certifikátov so zrušenou platnosťou Návod na odstránenie certifikátov so zrušenou platnosťou Dátum zverejnenia: 7. 11. 2017 Verzia: 1 Dátum aktualizácie: Popis: Tento dokument je určený používateľom, ktorí elektronicky podpisujú dokumenty

More information

Grafové algoritmy vo vyučovaní informatiky na SŠ

Grafové algoritmy vo vyučovaní informatiky na SŠ Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Grafové algoritmy vo vyučovaní informatiky na SŠ Záverečná práca doplňujúceho pedagogického štúdia 2016 Bc. Paula Budzáková Univerzita

More information

Databázy (1) Prednáška 08. Alexander Šimko

Databázy (1) Prednáška 08. Alexander Šimko Databázy (1) Prednáška 08 Alexander Šimko simko@fmph.uniba.sk Contents I Subqueries (poddopyty) konštrukcia WITH Section 1 Subqueries (poddopyty) Subquery (poddopyt) Použitie SELECTu na mieste, kde sme

More information

Vzory, rámce a webové aplikácie

Vzory, rámce a webové aplikácie Vzory, rámce a webové aplikácie Jakub Šimko jakub.simko@stuba.sk Návrhové vzory (načo slúžia?) 1. Dobré zvyky v programovaní 2. Riešia často sa opakujúce problémy praxou overeným spôsobom 3. Pomôžu nám

More information

SLOVENSKÁ TECHNICKÁ UNIVERZITA FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ ILKOVIČOVA 3, BRATISLAVA 4

SLOVENSKÁ TECHNICKÁ UNIVERZITA FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ ILKOVIČOVA 3, BRATISLAVA 4 SLOVENSKÁ TECHNICKÁ UNIVERZITA FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ ILKOVIČOVA 3, 842 16 BRATISLAVA 4 TÍM 13 SIMULÁCIA DEMONŠTRÁCIE V MESTE DEVELOPERSKÁ PRÍRUČKA Vedúci projektu: Ing. Ivan Kapustík

More information

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia Microsoft Azure platforma pre Cloud Computing Juraj Šitina, Microsoft Slovakia m Agenda Cloud Computing Pohľad Microsoftu Predstavujeme platformu Microsoft Azure Benefity Cloud Computingu Microsoft je

More information

Mesačná kontrolná správa

Mesačná kontrolná správa Mesačná kontrolná správa Štrukturálna štúdia mar.18 feb.18 jan.18 dec.17 nov.17 okt.17 sep.17 aug.17 júl.17 jún.17 máj.17 apr.17 mar.17 Internetová populácia SR 12+ 3 904 509 3 802 048 3 870 654 3 830

More information

Tvorba informačných systémov. 4. prednáška: Návrh IS

Tvorba informačných systémov. 4. prednáška: Návrh IS Tvorba informačných systémov 4. prednáška: Návrh IS Návrh informačného systému: témy Ciele návrhu ERD DFD Princípy OOP Objektová normalizácia SDD Architektonické pohľady UML diagramy Architektonické štýly

More information

Problém Big Data a ako ho riešiť pomocou NoSQL. Ján Zázrivec Softec

Problém Big Data a ako ho riešiť pomocou NoSQL. Ján Zázrivec Softec Problém Big Data a ako ho riešiť pomocou NoSQL Ján Zázrivec Softec Dáta dnešného sveta Oblasti kde sa spracováva veľké množstvo dát: Internet Web vyhľadávače, Sociálne siete Veda Large Hadron Collider,

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULITMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

informačné, riadiace, telemetrické a komunikačné systémy BaWiT Online portál SCT revízia r2.4

informačné, riadiace, telemetrické a komunikačné systémy BaWiT Online portál SCT revízia r2.4 informačné, riadiace, telemetrické a komunikačné systémy BaWiT Online portál SCT1006.0001 revízia r2.4 www.sct.sk www.sct-telemetry.eu www.bawit.eu sales@sct.sk BaWiT Online - 06 Základné informácie portálu

More information

Štruktúra údajov pre kontajner XML údajov 1. Dátové prvky pre kontajner XML údajov

Štruktúra údajov pre kontajner XML údajov 1. Dátové prvky pre kontajner XML údajov Štruktúra údajov pre kontajner XML údajov 1. Dátové prvky pre kontajner XML údajov D.4 Kontajner XML údajov (XMLDataContainer) Príloha č. 11 k výnosu č. 55/2014 Z. z. [pridaná novelou č. 275/2014 Z. z.,

More information

VLSM a CIDR. CCNA2 Kapitola Cisco Systems, Inc. All rights reserved. Cisco Public 1

VLSM a CIDR. CCNA2 Kapitola Cisco Systems, Inc. All rights reserved. Cisco Public 1 VLSM a CIDR CCNA2 Kapitola 6 1 Trošku histórie Pred rokom 1981 IP adresy používali na špecifikáciu siete len prvých 8 bitov Rok1981, RFC 791 Zaviedol adresný priestor s tromi triedami adries Polovica 90

More information

Mesačná kontrolná správa

Mesačná kontrolná správa Mesačná kontrolná správa Štrukturálna štúdia dec.16 nov.16 okt.16 sep.16 aug.16 júl.16 jún.16 máj.16 apr.16 mar.16 feb.16 jan.16 Internetová populácia SR 12+ 3 728 988 3 718 495 3 718 802 3 711 581 3 700

More information

Tvorba webových stránok pre mobilné platformy

Tvorba webových stránok pre mobilné platformy Bankovní institut vysoká škola Praha zahraničná vysoká škola Banská Bystrica Tvorba webových stránok pre mobilné platformy Diplomová práca Bc. Andrej Ševčík Apríl 2014 Bankovní institut vysoká škola Praha

More information

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15 Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15 851(01(Bra@slava Titl.: Ján(Hrčka Bohrova(11 851(01(Bra@slava V(Bra@slave(21.11.2013 Vec:(Odpoveď(na(informácie(ohľadom(mandátnej(zmluvy(na(základe(Zákona(č.(211/2000(Zb.

More information

Mgr. Martin Vesel M 114

Mgr. Martin Vesel M 114 Mgr. Martin Vesel martin.vesel@gmail.com M 114 Where 2 go W3C, CSS špecifikácia http://www.w3.org/standards/techs/css#w3c_all http://www.w3.org/tr/2011/rec-css2-20110607/ http://www.w3.org/tr/2012/rec-css3-mediaqueries-20120619/

More information

MOŽNOSTI VYUŽITIA PROGRAMU HOT POTATOES PRI TVORBE ÚLOH Z MATEMATIKY

MOŽNOSTI VYUŽITIA PROGRAMU HOT POTATOES PRI TVORBE ÚLOH Z MATEMATIKY MOŽNOSTI VYUŽITIA PROGRAMU HOT POTATOES PRI TVORBE ÚLOH Z MATEMATIKY Kitti Vidermanová Katedra matematiky, FPV UKF v Nitre Abstrakt: Fixačná a diagnostická fáza vyučovacieho procesu patria u žiakov medzi

More information

QtiPlot Základy práce s programom

QtiPlot Základy práce s programom TECHNICKÁ UNIVERZITA V KOŠICIACH Letecká fakulta QtiPlot Základy práce s programom Ing. Katarína Draganová Ing. Pavol Lipovský Košice 2010 Obsah Obsah Obsah...5 1. Úvod...8 1.1. Na čo QtiPlot slúži...

More information

Analýza a vizualizácia veľkých dát

Analýza a vizualizácia veľkých dát MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Analýza a vizualizácia veľkých dát DIPLOMOVÁ PRÁCA Bc. Jakub Caban Brno, 2015 Prehlásenie Prehlasujem, že táto diplomová práca je mojím pôvodným autorským dielom,

More information

MOŽNOSTI VYUŽITIA ĽUDSKÉHO POSTUPU PRE NÁVRH

MOŽNOSTI VYUŽITIA ĽUDSKÉHO POSTUPU PRE NÁVRH MOŽNOSTI VYUŽITIA ĽUDSKÉHO POSTUPU PRE NÁVRH ALGORITMOV NA RIEŠENIE ŤAŽKÝCH PROBLÉMOV DIPLOMOVÁ PRÁCA Matej Lučenič UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY KATEDRA INFORMATIKY

More information

Xamarin písanie Android a ios aplikácií v C#

Xamarin písanie Android a ios aplikácií v C# www.dotnetcollege.cz Xamarin písanie Android a ios aplikácií v C# Roman Jašek Software Architect, Riganti s.r.o. MSP, MCP roman.jasek@riganti.cz Xamarin vs. Xamarin Forms ios C# UI Android C# UI Windows

More information

LL LED svietidlá na osvetlenie športovísk. MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám.

LL LED svietidlá na osvetlenie športovísk. MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám. LL LED svietidlá na osvetlenie športovísk MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám. LL SPORT LL SPORT je sofistikované vysoko výkonné LED svietidlo špeciálne

More information

Hodnotenie kvality produktu

Hodnotenie kvality produktu Hodnotenie kvality produktu (2012/2013) Obsah 1. Úvod... 3 2. ISO 9126: Meranie kvality softvérového produktu... 3 2.1 ISO 9126-1: Model kvality... 4 2.2 ISO TR 9126-2: Externé metriky... 6 2.3 ISO TR

More information

PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM?

PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM? PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM? Budúcnosť je jasná, budúcnosť sú distribuované verziovacie systémy... alebo centralizované??? Balázs Nagy Slovenská technická univerzita

More information

18. Matlab figure ako objekt

18. Matlab figure ako objekt 1 Portál pre odborné publikovanie ISSN 1338-0087 18. Matlab figure ako objekt Foltin Martin MATLAB/Comsol 06.11.2009 Dlhším používaním grafických funkcií v Matlabe, dôjdete k poznaniu že ich možnosti sú

More information

Xerox PARC the office of the future. Michal Winczer

Xerox PARC the office of the future. Michal Winczer Xerox PARC 1970-80 the office of the future Michal Winczer Čo to je? Kde to je? PARC = Palo Alto Research Center Čo bolo pred tým Vojna vo Vietname Hnutie hippies Úspechy XEROXu s kopírkami Neexistencia

More information

Ochrana proti DDoS za použitia open-source software. Katarína Ďurechová

Ochrana proti DDoS za použitia open-source software. Katarína Ďurechová Ochrana proti DDoS za použitia open-source software Katarína Ďurechová katarina.durechova@nic.cz 30.11.2013 Distributed Denial of Service odopretie služby dosiahnutím limitu pripojenia sieťovej karty CPU

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY. Progresívne meše v Unity Roman Vrecník

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY. Progresívne meše v Unity Roman Vrecník UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY Progresívne meše v Unity 2016 Roman Vrecník UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY Progresívne

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY PREVÁDZKA PORTÁLU PROJEKTOV VÝUKOVEJ ROBOTIKY CENTROBOT Bakalárska práca 2015 Denis Spišák UNIVERZITA KOMENSKÉHO V BRATISLAVE

More information

BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR

BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR Pre efektívne riadenie celého projektu je potrebné merať jeho veľkosť Ondrej Jurčák Slovenská technická univerzita Fakulta informatiky a informačných technológií

More information

Programovanie v jazyku Python. Michal Kvasnica

Programovanie v jazyku Python. Michal Kvasnica Programovanie v jazyku Python Michal Kvasnica Organizačné detaily Prednášky aj cvičenia v 638 Povinná účasť na cvičeniach Hodnotenie: priebežné odovzdávanie zadaní (40% známky) záverečný projekt na skúške

More information

SYSTÉM NA EVIDENCIU A KATEGORIZÁCIU

SYSTÉM NA EVIDENCIU A KATEGORIZÁCIU FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITA KOMENSKÉHO BRATISLAVA Bakalárska práca SYSTÉM NA EVIDENCIU A KATEGORIZÁCIU ŠTANDARDIZAČNÝCH MATERIÁLOV Eva Porvazníková vedúci bakalárskej práce: Doc.

More information

Automatizované vyhodnocovanie HDL modelov Bakalárska práca

Automatizované vyhodnocovanie HDL modelov Bakalárska práca Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT-5214-47956 Michal Behúň Automatizované vyhodnocovanie HDL modelov Bakalárska práca Študijný program: Počítačové

More information

Aplikácia k určovaniu rastlín pre platformu ios

Aplikácia k určovaniu rastlín pre platformu ios Mendelova univerzita v Brně Provozně ekonomická fakulta Aplikácia k určovaniu rastlín pre platformu ios Bakalárska práca Vedúci práce: Ing. Dita Dlabolová Jakub Kozák Brno 2014 Na tomto mieste by som

More information

Knižnica (framework) pre kreslenie grafov

Knižnica (framework) pre kreslenie grafov Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Katedra informatiky Knižnica (framework) pre kreslenie grafov Diplomová práca Bc. Tomáš DRIMAL Študijný odbor: 9.2.1 Informatika

More information

Informatika 2. Generiká

Informatika 2. Generiká Informatika 2 Generiká Pojmy zavedené v 10. prednáške (1) štandardný vstup a výstup textové súbory binárne súbory objektové prúdy Informatika 2 1 Pojmy zavedené v 10. prednáške (2) objektové prúdy nečitateľné

More information

Refaktorovanie jazyka JavaScript a DHTML

Refaktorovanie jazyka JavaScript a DHTML Univerzita Komenského Fakulta Matematiky, Fyziky a Informatiky Ústav Informatiky Marián Marcinčák Refaktorovanie jazyka JavaScript a DHTML Diplomová práca Školiteľ : RNDr. Marián Vittek, PhD. Bratislava

More information

ZÁSUVNÝ MODUL PRO CODE::BLOCKS REALIZU-

ZÁSUVNÝ MODUL PRO CODE::BLOCKS REALIZU- VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INTELIGENTNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS ZÁSUVNÝ MODUL

More information

Tvorba webových interaktívnych aplikácií pomocou nástroja Silverlight Interactive web applications using the Silverlight

Tvorba webových interaktívnych aplikácií pomocou nástroja Silverlight Interactive web applications using the Silverlight Bankovní institut vysoká škola Praha Zahraničná vysoká škola Banská Bystrica Katedra kvantitatívnych metód a informatiky Tvorba webových interaktívnych aplikácií pomocou nástroja Silverlight Interactive

More information

POSSIBILITIES OF APPLICATION THE METHODS OF NETWORK ANALYSIS TO OPTIMIZE WAREHOUSE LOGISTICS

POSSIBILITIES OF APPLICATION THE METHODS OF NETWORK ANALYSIS TO OPTIMIZE WAREHOUSE LOGISTICS POSSIBILITIES OF APPLICATION THE METHODS OF NETWORK ANALYSIS TO OPTIMIZE WAREHOUSE LOGISTICS Jaroslav Mašek 1, Juraj Čamaj 2, Lenka Černá 3 ABSTRACT The paper deals with problematic of warehouse logistics

More information

Prvky inovácie nových jazykov HTML5 a CSS3

Prvky inovácie nových jazykov HTML5 a CSS3 Bankovní institut vysoká škola Praha zahraničná vysoká škola Banská Bystrica Katedra kvantitatívnych metód a informatiky Prvky inovácie nových jazykov HTML5 a CSS3 The HTML5 and CSS3 innovations concepts

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY SYSTÉM NA GENEROVANIE ÚLOH NA VYUČOVANIE ZÁKLADOV PROGRAMOVANIA Bakalárska práca 2014 Lucia Budinská UNIVERZITA KOMENSKÉHO V

More information

Bezpečnosť webovských aplikácií (2. časť)

Bezpečnosť webovských aplikácií (2. časť) Bezpečnosť webovských aplikácií (2. časť) Richard Ostertág Katedra informatiky FMFI UK, Bratislava ostertag@dcs.fmph.uniba.sk 2011/12 R. Ostertág (KI FMFI UK) Bezpečnosť webovských aplikácií (2) 1 / 14

More information

DAVE. kompaktný systém na záznam údajov z meračov. výstupom so vstavaným web rozhraním. Badger Meter Slovakia s.r.o. Návod na inštaláciu a obsluhu

DAVE. kompaktný systém na záznam údajov z meračov. výstupom so vstavaným web rozhraním. Badger Meter Slovakia s.r.o. Návod na inštaláciu a obsluhu Badger Meter Slovakia s.r.o. DAVE kompaktný systém na záznam údajov z meračov mera ov s impulzným a analógovým výstupom so vstavaným web rozhraním Návod na inštaláciu a obsluhu 1 Obsah: 1. Zapojenie a

More information

POROVNANIE GUI VYBRANÝCH SOFTVÉROVÝCH NÁSTROJOV

POROVNANIE GUI VYBRANÝCH SOFTVÉROVÝCH NÁSTROJOV UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY POROVNANIE GUI VYBRANÝCH SOFTVÉROVÝCH NÁSTROJOV Bakalárska práca Stanislav Párnický 2013 UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA

More information

Návrh kritérií pre habilitáciu docentov a vymenúvanie profesorov na Ekonomickej fakulte TU v Košiciach

Návrh kritérií pre habilitáciu docentov a vymenúvanie profesorov na Ekonomickej fakulte TU v Košiciach EKONOMICKÁ FAKULTA TU V KOŠICIACH MATERIÁL NA ROKOVANIE: Vedeckej rady, dňa: 16.11.20 Návrh kritérií pre habilitáciu docentov a vymenúvanie profesorov na Ekonomickej fakulte TU v Košiciach Predkladá: prof.

More information

Testovanie bieleho šumu

Testovanie bieleho šumu Beáta Stehlíková FMFI UK Bratislava Opakovanie z prednášky Vygenerujeme dáta Vygenerujeme dáta: N

More information

1 Vytvorenie tabuľky

1 Vytvorenie tabuľky Základy jazyka SQL (Structured Query Language) - vyvinula IBM začiatkom 70-tych rokov - je to deklaratívny jazyk (popisuje čo urobiť, nie ako) - je súčasťou veľkých databázových systémov (Informix, Oracle,

More information

Analýza a praktická implementácia softvérových metrík pre oblasť Adaptability SW produktu

Analýza a praktická implementácia softvérových metrík pre oblasť Adaptability SW produktu Univezrita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Analýza a praktická implementácia softvérových metrík pre oblasť Adaptability SW produktu študijný odbor: Informatika autor:

More information

ZADANIE SEMESTRÁLNEHO PROJEKTU

ZADANIE SEMESTRÁLNEHO PROJEKTU SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE Fakulta informatiky a informačných technológií STU Ústav počítačových systémov a sietí ZADANIE SEMESTRÁLNEHO PROJEKTU Predmet: VNORENÉ SYSTÉMY Riešitelia: Bc.

More information

Desatinné čísla #1a. Decimal numbers #1b. How much larger is 21,8 than 1,8? Desatinné čísla #2a. Decimal numbers #2b. 14 divided by 0,5 equals...

Desatinné čísla #1a. Decimal numbers #1b. How much larger is 21,8 than 1,8? Desatinné čísla #2a. Decimal numbers #2b. 14 divided by 0,5 equals... Desatinné čísla #1a Mravec išiel 5,5 cm presne na sever, potom 3,4 cm na východ, 1,8 cm na juh, 14,3 cm na západ, 1,3 cm na sever a 10,9 cm na východ. Najmenej koľko cm musí teraz prejsť, aby sa dostal

More information

Knižnica pre výučbu programovania v Pythone

Knižnica pre výučbu programovania v Pythone Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Knižnica pre výučbu programovania v Pythone bakalárska práca 2015 Marián Horňák Univerzita Komenského v Bratislave Fakulta matematiky,

More information

obsahuje 5 príkladov, spolu 29>25 bodov skupina:

obsahuje 5 príkladov, spolu 29>25 bodov skupina: Midterm 2013, verzia A Meno a priezvisko: obsahuje 5 príkladov, spolu 29>25 bodov skupina: 1A) [8 bodov] Zistite, čo počíta nasledujúca rekurzívna funkcia foo pre n>=0. Hint: foo(2013) = 6. static long

More information

Vizualizácia základných algoritmov

Vizualizácia základných algoritmov Vizualizácia základných algoritmov BAKALÁRSKA PRÁCA Pavol Szórád UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY KATEDRA INFORMATIKY Študijný odbor: 9.2.1 INFORMATIKA Školiteľ

More information

PostScript podpora pre pdftex (bakalárska práca)

PostScript podpora pre pdftex (bakalárska práca) Katedra Informatiky Fakulta Matematiky, Fyziky a Informatiky Univerzita Komenského, Bratislava PostScript podpora pre pdftex (bakalárska práca) Peter Gatial Odbor: Informatika 9.2.1 Vedúci: Mgr. Vladimír

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY APLIKACE PRO TVŮRČÍ PSANÍ AN APPLICATION FOR CREATIVE WRITING

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY APLIKACE PRO TVŮRČÍ PSANÍ AN APPLICATION FOR CREATIVE WRITING VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÝCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER SYSTEMS APLIKACE PRO TVŮRČÍ

More information

package balik; public class TopLevel1 {... }

package balik; public class TopLevel1 {... } Seminář Java Speciální třídy, výčtový typ Radek Kočí Fakulta informačních technologií VUT Březen 2010 Radek Kočí Seminář Java Speciální třídy, výčtový typ 1/ 20 Téma přednášky Vnořené třídy Anonymní třídy

More information

Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2009, vol. LV, article No. 1710

Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2009, vol. LV, article No. 1710 Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2009, vol. LV, article No. 1710 Ondřej WINKLER *, Martin VALAS **, Petr OSADNÍK ***, Lenka LANDRYOVÁ **** COMMUNICATION

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY Diagramatická konverzia súborov 2014 János Farkas UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFOMATIKY

More information

ÚRAD VEREJNÉHO ZDRAVOTNÍCTVA SLOVENSKEJ REPUBLIKY Trnavská cesta 52 P.O.BOX Bratislava

ÚRAD VEREJNÉHO ZDRAVOTNÍCTVA SLOVENSKEJ REPUBLIKY Trnavská cesta 52 P.O.BOX Bratislava ÚRAD VEREJNÉHO ZDRAVOTNÍCTVA SLOVENSKEJ REPUBLIKY Trnavská cesta 52 P.O.BOX 45 826 45 Bratislava TASR, SITA Vaša značka/zo dňa Naša značka Vybavuje Bratislava -/- OHVBPKV/5249-6/19287/2018/Ki Ing. Kišacová,

More information

BAKALÁŘSKÁ PRÁCE. Generátor testovacích XML dat

BAKALÁŘSKÁ PRÁCE. Generátor testovacích XML dat Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE Jakub Michalko Generátor testovacích XML dat Katedra softwarového inženýrství Vedoucí bakalářské práce: RNDr. Irena Mlýnková, Ph.D.

More information

Cvičenie 1-2 Concept: Locating Controls, Functions, and VIs

Cvičenie 1-2 Concept: Locating Controls, Functions, and VIs Cvičenie 1-2 Concept: Locating Controls, Functions, and VIs 1. Open a blank LabVIEW project. Click the Create Project button in the LabVIEW Getting Started window and then click Blank Project. Click Finish.

More information

MATLAB EXCEL BUILDER A NÁVRH PID REGULÁTOROV PRE PROSTREDIE MS EXCEL

MATLAB EXCEL BUILDER A NÁVRH PID REGULÁTOROV PRE PROSTREDIE MS EXCEL MATLAB EXCEL BUILDER A NÁVRH PID REGULÁTOROV PRE PROSTREDIE MS EXCEL Martin Foltin, Ivan Sekaj Fakulta elektrotechniky a informatiky, Slovenská Technická Univerzita, Ilkovičova 3, 812 19 Bratislava, Slovenská

More information

Doporučovací systém pro eshop

Doporučovací systém pro eshop ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA ELEKTROTECHNICKÁ KATEDRA POČÍTAČŮ Diplomová práce Doporučovací systém pro eshop Bc. Martina Čiefová Vedoucí práce: Ing. Jan Drchal, Ph.D. Leden 2018 Poďakovanie

More information