Semestrální práce z KIV/PC. Kolja Matuševský (A14B0310P)
|
|
- Dominika Dvořáková
- před 7 lety
- Počet zobrazení:
Transkript
1 Semestrální práce z KIV/PC Řešení kolizí frekvencí sítě vysílačů Kolja Matuševský (A14B0310P) mkolja@students.zcu.cz 10. ledna 2016
2 Obsah 1 Zadání 2 2 Analýza úlohy Vytvoření grafu Obarvovací funkce Vyhledávací funkce Popis implementace Soubor main Soubor graph Soubor linked list Soubor transmitter Soubor util Uživatelská příručka 8 5 Závěr 9 1
3 Kapitola 1 Zadání Naprogramujte v ANSI C přenositelnou konzolovou aplikaci, která jako vstup načte z parametru příkazové řádky název textového souboru obsahující informaci o pozici vysílačů na mapě a na jeho základě přidělí každému vysílači frekvenci tak, aby jeho signál nekolidoval s vysílači v blízkém okolí. Program se bude spouštět příkazem freq.exe <soubor-s-vysílači>. Symbol <soubor-s-vysílači> zastupuje jméno textového souboru, který obsahuje informaci o rozmístění vysílačů na mapě a o dostupných vysílacích frekvencích, které jim je možné přidělit. Váš program tedy může být během testování spuštěn například takto: freq.exe vysilace-25.txt Výsledkem práce programu bude výpis do konzole se seznamem přidělených frekvencí každému vysílači ze vstupního souboru. V případě chyby nebo neřešitelné situaci skončí program výpisem příslušné chybové hlášky. Pokud nebude na příkazové řádce uveden právě jeden argument, vypište chybové hlášení a stručný návod k použití programu v angličtině podle běžných zvyklostí (viz např. ukázková semestrální práce na webu předmětu Programování v jazyce C). Vstupem programu je pouze argument na příkazové řádce interakce s uživatelem pomocí klávesnice či myši v průběhu práce programu se neočekává. 2
4 Kapitola 2 Analýza úlohy Abychom tento problém mohli vyřešit, je dobré rozdělit si ho na menší celky. Tyto celky jsou vytvoření grafu, vytvoření obarvovací funkce a zvolení správného vyhledávacího algoritmu. Tyto jednotlivé problémy jsou rozebrané v kapitolách Vytvoření grafu Každý graf má seznam vrcholů a každý vrchol má seznam jeho sousedů. Pokud chceme vytvářet graf, musíme se nejdříve rozhodnout, jakou datovou strukturu zvolíme pro jeho implementaci. Mohli bychom použít pole, do kterého bychom ukládali vrcholy daného grafu a poté vytvořit pole u každého vrcholu daného grafu, do kterého bychom ukládali jeho sousedy. Avšak nevýhodou pole je, že musíme vědět přesný počet prvků, terý do něj budeme chtít vkládat. To bychom mohli vyřešit dynamickým polem, ale dle mého názoru by práce s ním byla příliš těžkopádná. Rozhodl jsem se proto spojový seznam. Jeho výhodou je, že nemusíme vědět, kolik prvků do něj budeme vkládat a rychlé vkládání prvků. Nevýhodou by mohl být fakt, že vybírání prvků ze středu seznamu je celkem náročné, ale vzhledem k tomu že potřebujeme pracovat pouze s prvky na začátku a na konci, tak to zde není problém. 3
5 2.2 Obarvovací funkce Zvolil jsem obarvovací funkci, která vybere nejmenší možnou barvu, kterou nemá žádný z jeho sousedů. Výhoda této funkce je, že je velmi jednoduchá na implementaci. Její nevýhoda je, že nemusí vždy dát to nejlepší řešení. Její efektivita je určena vyhledávací funkci, proto když zvolíme správnou vyhledávací funkci tak dostaneme i správné řešení. 2.3 Vyhledávací funkce Celý algoritmus závisí na pořadí výběru vrcholů. Vrcholy se mohou vybírat náhodně (First Fit), nebo podle stupně vrcholu, kdy se nejdříve vyberou vrcholy s nejvyšším stupněm (Largest Degree Ordering). Já jsem však jako vyhledávací funkci zvolil BFS (vyhledávání do šířky). Jeho výhodou je, dle mého názoru, jeho jednoduchá implementace a pro tento typ úlohy by mohla být jeho efektivita více než dostačující. Pro složitější grafy by však nemusel dávat nejlepší výsledky (jako třeba pro Fruchtůf graf). 4
6 Kapitola 3 Popis implementace Projekt se skládá z několika souborů: main - obsahuje vstup progamu, stará se o načtení dat, vytvoření grafu, přiřazení frekvencí k vysílačům a vypisuje výstup na obrazovku graph - obsahuje graf linked list - obsahuje spojový seznam, který, krom jiného, funguje jako fronta i jako zásobník transmitter - obsahuje vysílač, jeho index, x-ovou a y-ovou souřadnici util - obsahuje makro pro bezpečné alokování paměti, které ukončí program, pokud není k dispozici dostatek operační paměti V kapitolách jsou postupně rozebrány jednotlivé soubory. 3.1 Soubor main Zdrojový soubor main je hlavní vstupní bod programu. O načtení dat se stará funkce int load data(char *file name, linked list **frequency list, unsigned int *p radius, linked list **transmitter list), kde file name je název souboru, ze kterého data načítáme, frequency list je seznam frekvencí, do kterého načtené frekvence budeme ukládat, p radius je promněnná, do které uložíme radius a transmitter list je seznam vysílačů, do kterého budeme ukládat jednotlivé vysílače. 5
7 Funkce int colides(transmitter* a, transmitter* b, int radius) kontroluje, jestli vysílače a a b se protínají. Parametr raduis je okruh vzdálenosti vysílání jejich signálu. Funkce int assign frequency(graph *p graph, linked list *frequency list) připisuje frekvence k jednotlivým vysílačům podle jejich barvy, kdy p graph je graf, který obsahuje zadané vysílače a frequency list je seznam frekvencí, ze kterého budeme zadané frekvence přiřazovat. Funkce void print(graph *p graph) vypíše daný graf p graph na obrazovku. 3.2 Soubor graph Tento zdrojový soubor obsahuje datovou strukturu uzlu a hrany. Funkce node add node (graph *p graph) přidá uzel do daného grafu p graph a funkce void add edge (node *a, node *b) přidá neorientovanou hranu mezi uzly a a b. Funkce void colour node(node *p node) vybarví daný uzel nejmenší možnou barvou, kterou nemá žádný z jeho sousedů. To funguje tak, že se nejprve nastaví promněnná colour na 1, jako nejmenší možná barva. Pak se projede seznam sousedů daného uzlu a do seznamu barev sousedů neighbour colours se uloží barvy jeho sousedů. Pak se daný seznam postupně testuje jesti je promněnná colour v tomto seznamu obsažena. Pokud ano, zvýší se colour o 1 a znovu se otestuje. Takto to pokračuje, dokud barva není v seznamu obsažena. Poté se tato barva nastaví danému uzlu. Funkce void bfs(node *from) je klasické vyhledávání do šířky, kdy from je počáteční vrchol, od kterého se vyhledává. Funkce void colour graph(graph *graph) vybarví celý graf tak, že provede funkci bfs(node *from) pro každý vrchol daného grafu. Pořadí vrcholů je dáno seznamem vrcholů grafu, kdy se postupně vybírají vrcholy od prvního do posledního. 6
8 3.3 Soubor linked list Rozhodl jsem se implementovat upravený spojový seznam, který funguje také jako fronta. Pokud budeme chtít použít tento seznam jako frontu, budeme přidávat prvky na konec pomocí funkce void add last(linked list *p linked list, void *data), kdy p linked list je seznam, do kterého budeme prvek vkládat a data jsou data, která tam chceme vložit. Odebírat prvky ze začátku budeme pomocí funkce void *remove first(linked list *p linked list), kdy p linked list je seznam, ze kterého budeme prvek vybírat. Seznam má dále také funkci unsigned int get size(linked list *p linked list) pro zjištění jeho počtu prvků a funkci int contains(linked list *p linked list), která zjistí, jestli se daný prvek v daném seznamu vskytuje kdy p linked list je seznam, pro který tyto informace zjišťujeme. 3.4 Soubor transmitter Tento hlavičkový soubor obsahuje vysílač, jeho index, x-ovou a y-ovou souřadnici. 3.5 Soubor util Tento zdrojový soubor obsahuje makro pro bezpečné alokování paměti, které ukončí program, pokud není k dispozici dostatek operační paměti chybovou hláškou ERR#2: Out of memory! 7
9 Kapitola 4 Uživatelská příručka Program lze sestavit z příkazové řádky příkazem make pro Linux, nebo příkazem nmake -f Makefile.win pro Windows. Pro Windows je třeba mít nainstalované Visual Studio. Program lze spustit pouze s jedním parametrem na příkazové řádce, což je soubor (nebo cesta k souboru) s informacemi o vysílačích a frekvencích, které má program přidělovat. Program tento soubor zpracuje a vypíše na obrazovku správné řešení a vrátí kód 0. V případě chyby vrátí jeden z chybových hlášek, viz Tabulka 4.1 Chybové hlášení ERR#1: Missing argument! ERR#2: Out of memory! ERR#3: Non-existent solution! ERR#4: Error while opening file! ERR#5: Error while reading file! Popis Na příkazové řádce nebyl předán parametr, specifikující vstupní soubor s informacemi o vysílačích. Není k dispozici dostatek operační paměti. Řešení pro daný počet vysílacích frekvencí nebylo nalezeno. Chyba při otvírání souboru. Chyba při čtení souboru. Tabulka 4.1: Seznam chybových hlášek 8
10 Kapitola 5 Závěr Program zvládne správně přiřadit frekvence pro dané rozmístění vysílačů a pokud nenalezne řešení, tak správně vypíše chybovou hlášku ERR#3: Non-existent solution!. Můj program tedy funguje podle zadání. Pro vzorový soubor s 25 vysílači sice program výsledné řešení nenalezne, ale to může být způsobeno jiným pořadím výběru prvků při obarvování grafu, než jaký má vzorový program. Pro vzorový soubor s 1000 vysílači však funguje program správně. Proto dle mého názoru ale funguje program optimálně, i když nevyhledává nejlepší řešení. To by se v budoucnu mohlo vyřešit výběrem jiné vyhledávácí funkce. 9
Pokud nebude na příkazové řádce uveden právě jeden argument, vypište chybové hlášení a stručný
KIV/PC ZS 2015/2016 Zadání ZADÁNÍ SEMESTRÁLNÍ PRÁCE ŘEŠENÍ KOLIZÍ FREKVENCÍ SÍTĚ VYSÍLAČŮ VARIANTA 2 (REx) Naprogramujte v ANSI C přenositelnou 1 konzolovou aplikaci, která jako vstup načte z parametru
VíceSemestrální práce KIV/PC Řešení kolizí frekvencí sítě vysílačů Zdeněk Bečvář A14B0466P 10. ledna 2016
Semestrální práce KIV/PC Řešení kolizí frekvencí sítě vysílačů Zdeněk Bečvář A14B0466P 10. ledna 2016 Obsah 1 Zadání 1 2 Analýza úlohy 2 2.1 Uložení dat ze vstupního souboru................ 2 2.2 Graf
VíceC# konzole Podíl dvou čísel, podmínka IF
C# konzole Podíl dvou čísel, podmínka IF Tematická oblast Datum vytvoření 2013 Ročník 3 Stručný obsah Způsob využití Autor Kód Internetové technologie, programování Výpočet podílu v konzolové aplikaci
VíceDSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v
DSL manuál Ing. Jan Hranáč 27. října 2010 V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v současné době krátký) seznam vestavěných funkcí systému. 1 Vytvoření nového dobrodružství Nejprve
VíceState Space Search Step Run Editace úloh Task1 Task2 Init Clear Node Goal Add Shift Remove Add Node Goal Node Shift Remove, Add Node
State Space Search Po spuštění appletu se na pracovní ploše zobrazí stavový prostor první předpřipravené úlohy: - Zeleným kroužkem je označen počáteční stav úlohy, který nemůže být změněn. - Červeným kroužkem
VíceKonstruktory a destruktory
Konstruktory a destruktory Nedostatek atributy po vytvoření objektu nejsou automaticky inicializovány hodnota atributů je náhodná vytvoření metody pro inicializaci, kterou musí programátor explicitně zavolat,
VíceDokumentace k semestrální práci z předmětu PT
Dokumentace k semestrální práci z předmětu PT Vypracovali: Eva Turnerová (A08B0176P) Martin Dlouhý (A08B0268P) Zadání Zadání: Firma Mistr Paleta, syn a vnuci rozváží palety po celé České republice. Počet
VíceAlgoritmy a datové struktury
Algoritmy a datové struktury 1 / 34 Obsah přednášky Základní řídící struktury posloupnost příkazů podmínka cyklus s podmínkou na začátku cyklus s podmínkou na konci cyklus s pevným počtem opakování Jednoduchá
VícePopis programu EnicomD
Popis programu EnicomD Pomocí programu ENICOM D lze konfigurovat výstup RS 232 přijímačů Rx1 DIN/DATA a Rx1 DATA (přidělovat textové řetězce k jednotlivým vysílačům resp. tlačítkům a nastavovat parametry
VíceSemestrální úloha 1 z předmětu Programovací jazyk C. Textový merge. Student:
Semestrální úloha 1 z předmětu Programovací jazyk C Textový merge Napište program, který spojí dva textové soubory. První soubor je datový, obsahuje databázi, tj. první řádek představuje seznam sloupců
VíceIterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004
Dokumentace k projektu č. 2 do IZP Iterační výpočty 24. listopadu 2004 Autor: Kamil Dudka, xdudka00@stud.fit.vutbr.cz Fakulta Informačních Technologií Vysoké Učení Technické v Brně Obsah 1. Úvod...3 2.
VíceAlgoritmy a datové struktury
Algoritmy a datové struktury Stromy 1 / 32 Obsah přednášky Pole a seznamy Stromy Procházení stromů Binární stromy Procházení BS Binární vyhledávací stromy 2 / 32 Pole Hledání v poli metodou půlení intervalu
VíceTypy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu
StatSoft Typy souborů ve STATISTICA Tento článek poslouží jako přehled hlavních typů souborů v programu STATISTICA, ukáže Vám jejich možnosti a tím Vám dovolí využívat program efektivněji. Jistě jste již
VíceKolekce, cyklus foreach
Kolekce, cyklus foreach Jen informativně Kolekce = seskupení prvků (objektů) Jednu již známe pole (Array) Kolekce v C# = třída, která implementuje IEnumerable (ICollection) Cyklus foreach ArrayList pro
Vícebfs, dfs, fronta, zásobník
bfs, dfs, fronta, zásobník Petr Ryšavý 25. září 2018 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší cesty, plánování cest. Prohledávání
VíceSemestální práce z předmětu PC
A05450 ZCU ZS2006 Martin Lipinský martin@lipinsky.cz Semestální práce z předmětu PC Přebarvování souvislých oblastí 1. Zadání Naprogramujte v ANSI C přenositelnou konzolovou aplikaci, která provede v binárním
VíceŠifrování/Dešifrování s použitím hesla
Fakulta elektrotechnická Katedra teoretické elektrotechniky Dokumentace k semestrální práci Šifrování/Dešifrování s použitím hesla 2012/13 Petr Zemek Vyučující: Ing. Petr Kropík, Ph.D Předmět: Základy
VícePROHLEDÁVÁNÍ GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze
PROHLEDÁVÁNÍ GRAFŮ Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 4 Evropský sociální fond Praha & EU: Investujeme do
VíceProgramování v C++, 2. cvičení
Programování v C++, 2. cvičení 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 Operátory new a delete 2 3 Operátory new a delete minule
Vícebfs, dfs, fronta, zásobník, prioritní fronta, halda
bfs, dfs, fronta, zásobník, prioritní fronta, halda Petr Ryšavý 19. září 2017 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší
VíceAlgoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová
VíceElektronická dokumentace - LATEX. Maticové operace
Elektronická dokumentace - LATEX Maticové operace 29.listopadu 2009 Luděk Bordovský (bor0022) Fakulta elektrotechniky a informatiky VŠB-TU Ostrava Uživatelská příručka 1 Obsah 1 Úvod 3 2 Ovládání 3 3 Operace
VíceRozklad na prvočinitele. 3. prosince 2010
Rozklad na prvočinitele Ondřej Slavíček 3. prosince 2010 1 Obsah 1 Příručka k programu 3 1.1 funkce main()............................. 3 1.2 funkce hlavnifunkce()........................ 3 1.3 funkce
Více02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox
02. HODINA Obsah: 1. Typy souborů a objektů 2. Ovládací prvky Label a TextBox 3. Základní příkazy a vlastnosti ovládacích prvků 4. Práce s objekty (ovládací prvky a jejich vlastnosti) 2.1 Typy souborů
Více6. ROČNÍK ŠKOLNÍ SOUTĚŽE V PROGRAMOVÁNÍ 2013
6. ROČNÍK ŠKOLNÍ SOUTĚŽE V PROGRAMOVÁNÍ 2013 Pořadí úloh si určujete sami, u každé úlohy je uvedeno její bodové hodnocení. Můžete řešit různé úlohy v různých programovacích jazycích. Každou hotovou úlohu
VíceZáklady programování. Úloha: Eratosthenovo síto. Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP
Základy programování Úloha: Eratosthenovo síto Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP Obsah 1 Zadání úkolu: 3 1.1 Zadání:............................... 3 1.2 Neformální zápis:.........................
VíceDruhá skupina zadání projektů do předmětu Algoritmy II, letní semestr 2014/2015
Druhá skupina zadání projektů do předmětu Algoritmy II, letní semestr 2014/2015 doc. Mgr. Jiří Dvorský, Ph.D. 6. dubna 2015 Verze zadání 6. dubna 2015 První verze 1 1 Sledování elektroměrů V panelovém
VíceLineární spojový seznam (úvod do dynamických datových struktur)
Lineární spojový seznam (úvod do dynamických datových struktur) Jan Hnilica Počítačové modelování 11 1 Dynamické datové struktury Definice dynamické struktury jsou vytvářeny za běhu programu z dynamicky
VíceAlgoritmizace a programování
Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu
VíceVelmi stručný návod jak dostat data z Terminálu Bloomberg do R
Velmi stručný návod jak dostat data z Terminálu Bloomberg do R Ondřej Pokora, PřF MU, Brno 11. března 2013 1 Terminál Bloomberg Klávesou Help získáte nápovědu. Dvojím stisknutím Help Help spustíte online
VíceNávod pro práci s SPSS
Návod pro práci s SPSS Návody pro práci s programem SPSS pro kurz Metodologie pro Informační studia a knihovnictví 2 (jaro 2013) Ladislava Zbiejczuk Suchá Instalace programu SPSS najdete v INETu. Po přihlášení
VíceZákladní datové struktury
Základní datové struktury Martin Trnečka Katedra informatiky, Přírodovědecká fakulta Univerzita Palackého v Olomouci 4. listopadu 2013 Martin Trnečka (UPOL) Algoritmická matematika 1 4. listopadu 2013
VíceProgramujeme v softwaru Statistica - příklady
Programujeme v softwaru Statistica - příklady Newsletter Statistica ACADEMY Téma: Programování, makra, skripty Typ článku: Návody, příklady V předchozích článcích bylo vyřčeno mnoho teorie k problematice
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VíceORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ
ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2/2, Lekce Evropský sociální fond Praha & EU: Investujeme
VíceŠablony, kontejnery a iterátory
11. března 2015, Brno Připravil: David Procházka Šablony, kontejnery a iterátory Programovací jazyk C++ Šablony Strana 2 / 31 Obsah přednášky 1 Šablony 2 Abstraktní datové struktury 3 Iterátory 4 Array
VíceZadání soutěžních úloh
16. až 18. dubna 2015 Krajské kolo 2014/2015 Úlohy můžete řešit v libovolném pořadí a samozřejmě je nemusíte vyřešit všechny. Za každou úlohu můžete dostat maximálně 10 bodů, z nichž je většinou 9 bodů
VíceZdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.
1 3 4 5 6 7 8 9 10 11 1 13 14 15 16 17 18 19 0 1 3 4 5 6 7 8 9 30 31 3 Zdůvodněte, proč funkce f(n) = n log(n) 1 n 1/ roste rychleji než funkce g(n) = n. Zdůvodněte, proč funkce f(n) = n 3/ log(n) roste
VíceJan Březina. 7. března 2017
TGH03 - stromy, ukládání grafů Jan Březina Technical University of Liberec 7. března 2017 Kružnice - C n V = {1, 2,..., n} E = {{1, 2}, {2, 3},..., {i, i + 1},..., {n 1, n}, {n, 1}} Cesta - P n V = {1,
VícePřidělování paměti II Mgr. Josef Horálek
Přidělování paměti II Mgr. Josef Horálek Techniky přidělování paměti = Přidělování jediné souvislé oblasti paměti = Přidělování paměti po sekcích = Dynamické přemisťování sekcí = Stránkování = Stránkování
VíceJako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr.
Model procesoru Jedná se o blokové schéma složené z registrů, paměti RAM, programového čítače, instrukčního registru, sčítačky a řídicí jednotky, které jsou propojeny sběrnicemi. Tento model má dva stavy:
VíceB3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11
333LP - lgoritmy a programování - Zkouška z předmětu 333LP Jméno Příjmení Už. jméno Marek oháč bohacm11 Zkouškový test Otázka 1 Jaká je hodnota proměnné count po vykonání následujícího kódu: data=[4,4,5,5,6,6,6,7,7,7,7,8,8]
VíceAlgoritmus pro hledání nejkratší cesty orientovaným grafem
1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval
VíceHledání správné cesty
Semestrální práce z předmětu A6M33AST Závěrečná zpráva Hledání správné cesty Nela Grimová, Lenka Houdková 2015/2016 1. Zadání Naším úkolem bylo vytvoření úlohy Hledání cesty, kterou by bylo možné použít
Více10 Algoritmizace Příklad 2 Word 2007/ VBA
TÉMA: Zápis algoritmu, cyklus se známým počtem opakování Prostředí aplikace Wordu je možné doplnit v rámci využití maker o automatizaci složitějších posloupností příkazů. Vedle záznamu makra je možno makra
Více9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek
9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek 1/24 Editační prostření Kód programu lze editovat v jakémkoli textovém editoru. 2/24 Editační prostření Kód
VíceProgramování II. Návrh programu I 2018/19
Programování II Návrh programu I 2018/19 Osnova přednášky Co víme? Objektový návrh programu. Příklad. Co víme? Třída Třída je popisem objektů se společnými vlastnostmi. class private:
VíceZadání: TÉMA: Zápis algoritmu, čtení textového souboru, porovnání řetězců.
TÉMA: Zápis algoritmu, čtení textového souboru, porovnání řetězců. Zadání: V textovém souboru text.txt je uloženo několik řádků textu. Vytvořte makro, které určí nejdelší řádek z daného souboru. 1. Název
VíceKolekce ArrayList. Deklarace proměnných. Import. Vytvoření prázdné kolekce. napsal Pajclín
Kolekce ArrayList napsal Pajclín Tento článek jsem se rozhodl věnovat kolekci ArrayList, protože je to jedna z nejpoužívanějších. Tento článek není kompletním popisem třídy ArrayList, ale budu se snažit
VíceZáklady programování (IZP)
Základy programování (IZP) Osmé počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 20.11.2017,
VícePrůvodce aplikací GTS Webový portál pro správce
Průvodce aplikací GTS Webový portál pro správce www.centrex.gts.cz Strana 1 z 14 Obsah 1 Přihlášení do portálu Centrex... 3 2 Hlavní stránka aplikace základní popis... 3 3 Použití interaktivní nápovědy...
VíceSRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek
Prezentace aplikace Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek Osnova Úvod Programovací jazyk - PHP Etapy vývoje Funkce aplikace Co SW umí Na čem se pracuje Vize do budoucna Úvod Úvod Inspirováno
VíceStromy, haldy, prioritní fronty
Stromy, haldy, prioritní fronty prof. Ing. Pavel Tvrdík CSc. Katedra počítačů FEL České vysoké učení technické DSA, ZS 2008/9, Přednáška 6 http://service.felk.cvut.cz/courses/x36dsa/ prof. Pavel Tvrdík
VíceSemestrální práce 2 znakový strom
Semestrální práce 2 znakový strom Ondřej Petržilka Datový model BlockFileRecord Bázová abstraktní třída pro záznam ukládaný do blokového souboru RhymeRecord Konkrétní třída záznamu ukládaného do blokového
VíceÚvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií
1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední
VíceObsah Úvodem... 5 Co je to vlastně formulář... 6 Co je to šablona... 6 Jak se šablona uloží... 6 Jak souvisí formulář se šablonou...
Obsah Úvodem... 5 Co je to vlastně formulář... 6 Co je to šablona... 6 Jak se šablona uloží... 6 Jak souvisí formulář se šablonou... 7 Jak se formulář vytváří... 8 Návrh formuláře... 8 Co jsou ovládací
VíceAlgoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Grafové úlohy Daniela Szturcová Tento
VíceObsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest
Obsah prezentace Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest 1 Základní pojmy Vrchol grafu: {množina V} Je to styčná vazba v grafu, nazývá se též uzlem, prvkem
VíceKudyšel comfort. Manuál k programu
Kudyšel comfort Manuál k programu Program Kudyšel comfort je určen pro obsluhu zařízení kudyšel (gps logeru). Kudyšel je zařízení, které zjišťuje souřadnice GPS a spolu s časovými údaji je ukládá do své
Více8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek
8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 1/41 Základní příkazy Všechny příkazy se píšou malými písmeny! Za většinou příkazů musí být středník (;)! 2/41 Základní příkazy
VíceSystém souborů (file system, FS)
UNIX systém souborů (file system) 1 Systém souborů (file system, FS)! slouží k uchování dat na vnějším paměťovém médiu a zajišťuje přístup ke struktuře dat! pro uživatele možnost ukládat data a opět je
VíceIntervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.
Intervalové stromy Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme průběžně provádět tyto dvě operace: 1. Změna jednoho čísla v posloupnosti. 2. Zjištění součtu čísel
VíceČtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání
Čtvrtek 3. listopadu Makra v Excelu Obecná definice makra: Podle definice je makro strukturovanou definicí jedné nebo několika akcí, které chceme, aby MS Excel vykonal jako odezvu na nějakou námi definovanou
VíceVýčtový typ strana 67
Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce
VíceVýhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.
Kapitola Reprezentace grafu V kapitole?? jsme se dozvěděli, co to jsou grafy a k čemu jsou dobré. rzo budeme chtít napsat nějaký program, který s grafy pracuje. le jak si takový graf uložit do počítače?
VíceImplementace numerických metod v jazyce C a Python
Fakulta elektrotechnická Katedra matematiky Dokumentace k semestrální práci Implementace numerických metod v jazyce C a Python 2013/14 Michal Horáček a Petr Zemek Vyučující: Mgr. Zbyněk Vastl Předmět:
VíceImplementace LL(1) překladů
Překladače, přednáška č. 6 Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 30. října 2007 Postup Programujeme syntaktickou analýzu: 1 Navrhneme vhodnou LL(1) gramatiku
VíceDynamické programování
ALG 0 Dynamické programování zkratka: DP Zdroje, přehledy, ukázky viz https://cw.fel.cvut.cz/wiki/courses/a4balg/literatura_odkazy 0 Dynamické programování Charakteristika Neřeší jeden konkrétní typ úlohy,
VíceParalelní programování
Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 14 Atomické akce dále nedělitelná = neproložitelná jiným procesem izolovaná =
VíceZadání soutěžních úloh
Zadání soutěžních úloh Kategorie žáci Soutěž v programování 25. ročník Krajské kolo 2010/2011 15. až 16. dubna 2011 Úlohy můžete řešit v libovolném pořadí a samozřejmě je nemusíte vyřešit všechny. Za každou
VíceZadání soutěžních úloh
Zadání soutěžních úloh Kategorie žáci Soutěž v programování 24. ročník Krajské kolo 2009/2010 15. až 17. dubna 2010 Úlohy můžete řešit v libovolném pořadí a samozřejmě je nemusíte vyřešit všechny. Za každou
VíceProcesy a vlákna (Processes and Threads)
ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna (Processes and Threads) Správa procesů a vláken České vysoké učení technické Fakulta elektrotechnická 2012 Použitá literatura [1] Stallings, W.: Operating
VíceSkripty - úvod. Linux - skripty 2
Linux - skripty Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání,
VíceAbstraktní datové typy
Karel Müller, Josef Vogel (ČVUT FIT) Abstraktní datové typy BI-PA2, 2011, Přednáška 10 1/27 Abstraktní datové typy Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra teoretické informatiky,
VíceKoncepce (větších) programů. Základy programování 2 Tomáš Kühr
Koncepce (větších) programů Základy programování 2 Tomáš Kühr Parametry a návratová hodnota main Již víme, že main je funkce A také tušíme, že je trochu jiná než ostatní funkce v programu Funkce main je
VícePŘÍRUČKA PRÁCE SE SYSTÉMEM SLMS CLASS pro učitele
PŘÍRUČKA PRÁCE SE SYSTÉMEM SLMS CLASS pro učitele Vypracoval : Pavel Žemba Obsah Tvorba vlastních testů... 3 Postup tvorby... 3 Test otázky odpovědi... 3 Zadání otázek testu... 5 Test - cvičení na souboru,
VíceSEMESTRÁLNÍ PROJEKT Y38PRO
SEMESTRÁLNÍ PROJEKT Y38PRO Závěrečná zpráva Jiří Pomije Cíl projektu Propojení regulátoru s PC a vytvoření knihovny funkcí pro práci s regulátorem TLK43. Regulátor TLK43 je mikroprocesorový regulátor s
Více1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
Víceak. rok 2013/2014 Michal Španěl, spanel@fit.vutbr.cz 24.2.2014
Zadání projektu Texturování Základy počítačové grafiky (IZG) ak. rok 2013/2014 Michal Španěl, spanel@fit.vutbr.cz 24.2.2014 1 První seznámení Cílem projektu je pochopení praktických souvislostí témat přednášek
VíceAlgoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová
VíceB3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11
Jméno Příjmení Už. jméno Marek oháč bohacm11 Zkouškový test Otázka 1 Jaká je hodnota proměnné count po vykonání následujícího kódu: data=[4,4,5,5,6,6,6,7,7,7,7,8,8] count=0 for i in range(1,len(data)):
VícePokročilé programování v jazyce C pro chemiky (C3220) Třídy v C++
Pokročilé programování v jazyce C pro chemiky (C3220) Třídy v C++ Třídy v C++ Třídy jsou uživatelsky definované typy podobné strukturám v C, kromě datových položek (proměnných) však mohou obsahovat i funkce
VíceAplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a
Aplikace Embedded systémů v Mechatronice Michal Bastl A2/713a Aplikace Embedded systémů v Mechatronice Obsah přednášky: Opakování Pointery v C pole a řetězce předání funkci referencí Vlastní datové typy
VícePřekladač a jeho struktura
Překladač a jeho struktura Překladače, přednáška č. 1 Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz http://fpf.slu.cz/ vav10ui Poslední aktualizace: 23. září 2008 Definice
VíceVYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA
VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA INFORMAČNÍ SYSTÉMY A DATOVÉ SKLADY Autosalón (semestrální projekt) ZS 2011-2012 Analýza Implementace Číslo skupiny: 2 Členové skupiny: Jmeno,příjmení,login
VíceTabulkový procesor. Základní rysy
Tabulkový procesor Tabulkový procesor je počítačový program zpracovávající data uložená v buňkách tabulky. Program umožňuje použití vzorců pro práci s daty a zobrazuje výsledné hodnoty podle vstupních
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
Vícefor (int i = 0; i < sizeof(hodnoty) / sizeof(int); i++) { cout<<hodonoty[i]<< endl; } cin.get(); return 0; }
Pole Kdybychom v jazyce C++chtěli načíst větší počet čísel nebo znaků a všechny bylo by nutné všechny tyto hodnoty nadále uchovávat v paměti počítače, tak by bylo potřeba v paměti počítače alokovat stejný
VíceVytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica
Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová 5. Statistica StatSoft, Inc., http://www.statsoft.com, http://www.statsoft.cz. Verze pro Mac i PC, dostupná
Více1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
Více2. lekce Algoritmus, cyklus Miroslav Jílek
2. lekce Algoritmus, cyklus Miroslav Jílek 1/36 Algoritmus 2/36 Algoritmus je konečná posloupnost operací, která dává řešení skupiny problémů 3/36 Algoritmus je konečná posloupnost operací, která dává
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
Více6. Tahy / Kostry / Nejkratší cesty
6. Tahy / Kostry / Nejkratší cesty BI-EP2 Efektivní programování 2 LS 2017/2018 Ing. Martin Kačer, Ph.D. 2011-18 Martin Kačer Katedra teoretické informatiky Fakulta informačních technologií České vysoké
VíceStruktura programu v době běhu
Struktura programu v době běhu Miroslav Beneš Dušan Kolář Struktura programu v době běhu Vztah mezi zdrojovým programem a činností přeloženého programu reprezentace dat správa paměti aktivace podprogramů
VíceUživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý
Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části
VíceExperimentální systém pro WEB IR
Experimentální systém pro WEB IR Jiří Vraný Školitel: Doc. RNDr. Pavel Satrapa PhD. Problematika disertační práce velmi stručný úvod WEB IR information retrieval from WWW, vyhledávání na webu Vzhledem
Více1 2 3 4 5 6 součet cvičení celkem. známka. Úloha č.: max. bodů: skut. bodů:
Úloha č.: max. bodů: skut. bodů: 1 2 3 4 5 6 součet cvičení celkem 20 12 20 20 14 14 100 známka UPOZORNĚNÍ : a) Písemná zkouška obsahuje 6 úloh, jejichž řešení musí být vepsáno do připraveného formuláře.
VíceTextové popisky. Typ dat
Textové popisky Newsletter Statistica ACADEMY Téma: Možnosti softwaru, datová reprezentace Typ článku: Tipy a triky Máte ve svých datech kategorie ve formě textu? Víme, že někdy není úplně jasné, jak Statistica
VíceTestování operačního systému Windows Phone 8
Testování operačního systému Windows Phone 8 Semestrální práce A2 v rámci předmětu A4B39TUR Muška Adam ČVUT FEL STM 0 Obsah 1. Popis přístroje... 2 2. Popis cílové skupiny... 2 3. Přehled případů užití...
VíceŠablony, kontejnery a iterátory
7. října 2010, Brno Připravil: David Procházka Šablony, kontejnery a iterátory Programovací jazyk C++ Šablony Strana 2 / 21 Šablona funkce/metody Šablona je obecný popis (třídy, funkce) bez toho, že by
Více