Masarykova univerzita, Brno. Fakulta informatiky

Rozměr: px
Začít zobrazení ze stránky:

Download "Masarykova univerzita, Brno. Fakulta informatiky"

Transkript

1 Masarykova univerzita, Brno Fakulta informatiky Bakalářská práce Inteligentní vyhledávání na FTP Vypracoval: Ondřej Holeček Vedoucí: Mgr. Jan Kasprzak Brno, červen 2002

2 Inteligentní vyhledávání na FTP Prohlašuji, že tato práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Abstrakt Účelem tohoto projektu je zajistit návštěvníkovi FTP-serveru prostřednictvím WWW stránek větší komfort při vyhledávání požadovaných souborů. Program bude umět projít adresářovou strukturu a vhodně si uložit informace o nalezených adresářích a souborech do vlastní databáze. Další část programu potom bude v této databázi vyhledávat. Program, který je součástí této práce, smí být volně šířen pod licencí GPL. Ondřej Holeček

3 Obsah Úvod Program dbfind Program walk Návrh datových struktur Nároky kladené na databázi Reprezentace dat v databázi Datové elementy ukládané do databáze Návrh algoritmů Základ Buffering Načtení symbolického linku Regulární výrazy Zapisování do databáze Strom symbolických linků Intervaly Rozhraní na procházení databáze Vytváření databáze Vyhledávání Jak programy fungují walk dbfind Závěr Použitá literatura Příloha i

4 Úvod Inteligentní vyhledávání na FTP Projekt bude rozdělen na dva samostatné programy. Program walk prohledá zadaný adresář a jeho obsah si uloží do databáze. Druhý program dbfind bude vyhledávat zadaný soubor v databázi na základě parametrů zadaných z příkazové řádky. Oba programy se svojí funkcí budou velmi podobat programům locate(1) a updatedb(1) s tím rozdílem, že dokáží prohledávat i uvnitř symbolických linků. To je hlavní problém, který se v této práci bude řešit. Kompletní zdrojové kódy k projektu jsou k dispozici na adresách: ftp://ftp.linux.cz/pub/linux/people/ondrej holecek Program dbfind Program dokáže na základě předem vytvořené databáze vyhledávat soubory a adresáře. Vyhledávání bude možné jak pomocí přímého zadání jména souboru resp. adresáře, tak i zadáním regulárního výrazu. Program bude schopen vyhledávat od libovolného počátečního adresáře. Příklad vyhledávání: Předpokládejme, že kořenový adresář, od kterého je vytvořena souborová databáze, obsahuje tyto soubory, adresáře a symbolické linky: /pub/linux/soubor1 /pub/pub /pub/adr/test /pub/adr/pokus/soubor2 /pub/adr/pub /pub/adr/link1 /pub/linux /pub/adr/link2 /pub/adr/pokus /pub/adr/link3 /pub/adr/ Poznámka: Bude-li se v následujícím textu hovořit o konkrétním adresáři/souboru a nebude-li explicitně řečeno jinak, bude se jednat o adresář/soubor z tohoto příkladu. Budeme-li vyhledávat soubory pomocí regulárního výrazu.*pub.*, budou nalezeny tyto adresáře resp. soubory: /pub, /pub/pub, /pub/adr/pub. Soubor /pub/linux se na výstupu neobjeví i přesto, že v nadřazeném adresáři je slovo pub obsaženo. Slovo linux podslovo pub neobsahuje a to je směrodatné. 1

5 Vyhledává-li program locate(1), najde všechny soubory, v jejichž cestě je slovo pub obsaženo. V uvedeném příkladu by locate(1) nalezl úplně všechno, protože slovo pub je jméno kořenového adresáře, vyskytuje se ve všech cestách. Ošetření symbolických linků: Jedná se o stěžejní problém, který se bude v tomto projektu řešit. Narazí- -li dbfind při prohledávání na symbolický link (dále jen link), bude prohledávat i uvnitř tohoto linku, avšak pouze v místech, kam by se prohledávání bez tohoto linku nedostalo. Bude-li dbfind v tomto případě prohledávat od adresáře /pub/adr/, najde díky linku /pub/adr/link1 i soubor /pub/linux/soubor1, na výstupu však bude cesta k tomuto souboru vyjádřena pomocí linku. Tedy /link1/soubor1, nikoli /pub/linux/soubor1. Program také musí zajistit, aby se žádný soubor nevyhledával dvakrát. Tedy bude-li vyhledávání začínat v adresáři /pub, bude se /pub/adr/link2 ignorovat, protože ukazuje do již prohledávané oblasti. Výstup programu musí být vhodně přizpůsoben k dalšímu zpracování pro umístění na WWW. V první verzi programu se počítá s prostým sekvenčním vyhledáváním v databázi. V pozdějších verzích programu by mělo být možné i rychlé vyhledávání pomocí setříděného indexu. Toto prohledávání však bude fungovat pouze při přímém vyhledávání. Bude-li zadán požadavek na vyhledávání pomocí regulárního výrazu, bude se vyhledávat sekvenčně. 1.2 Program walk Tento program bude vytvářet databázi na základě prohledaného adresáře. Data v databázi musí být organizována co nejúsporněji. Program nebude potřeba optimalizovat na rychlost, protože se očekává, že se databáze souborů bude vytvářet pouze jednou za poměrně dlouhou dobu. Proces vytváření databáze bude spouštěn obvykle v nočních hodinách a bude mít tedy dostatek času. Adresář, od kterého se bude databáze vytvářet, musí být možné zadat z příkazového řádku. Oba programy, dbfind i walk by měly být napsány co nejpřehledněji. Vstup do programu dbfind bude zadáván anonymním uživatelem z WWW a je možné, že tento vstup nebude zcela korektní. Mohlo by tak dojít ke zhroucení programu, v horším případě k nabourání serveru. 2

6 Návrh datových struktur 2.1 Nároky kladené na databázi Aby bylo možné provést seriózní návrh databázové struktury, bude nezbytné si ujasnit, jaké nároky budou na databázi kladeny. Databáze musí být co nejmenší Ušetří se tak místo na disku a zvýší se rychlost programu. Program nebude muset číst z disku velký objem dat a vyhledávání tak bude rychlejší. Bude-li to možné, měla by se velikost databáze blížit velikosti databáze vytvářené programem locate(1). Rychlé vyhledávání konkrétní cesty Bude-li požadavek na vyhledání konkrétního místa v databázi, tzn. jednoho konkrétního souboru v konkrétní cestě, musí být možné tento soubor pomocí cesty pokud možno rychle vystopovat. Bude-li například požadováno vyhledávat v souborech počínaje určitým adresářem, musí být možné tuto cestu rychle najít a rozpoznat soubory, které v ní leží. Detekce zacyklení Datová struktura musí umožnit snadnou detekci zacyklení. Bude-li se například prohledávat /pub/adr, narazí se na link3 který ukazuje zpět na tento adresář. Tento fakt se musí odhalit a předejít tak zacyklení programu. Datová struktura musí být vhodně navržena pro detekci takových zacyklení. 2.2 Reprezentace dat v databázi Myšlenka organizace dat v databázi je založena na tzv. závorkové notaci. Každý objekt, který se bude do databáze ukládat, bude obsahovat své jméno a informaci o typu objektu. Bude-li objektem adresář, budou za ním umístěny pomyslné závorky, ve kterých bude uzavřen jeho obsah. Příklad závorkové notace: pub{ linux{ pub soubor1 } adr{ pub link1 link2 link3 } } Aby bylo možné v databázi začít prohledávat od určitého adresáře, bude každá levá závorka obsahovat ještě informaci o umístění svého protějšku (pravé závorky). Žádost o vyhledání určitého souboru v určitém adresáři se potom bude řešit tak, že se nejprve vyhledá levá pomyslná závorka od adresáře, ve kterém se má vyhledávat. Tato závorka společně se svým protějškem vymezí interval, ve kterém se bude prohledávat. 3

7 V databázi se kromě adresáře jako takového bude rozlišovat ještě prázdný adresář, u kterého nebude nutné zapisovat závorky (ve kterých beztak nic nebude). Bude-li se do adresáře ukládat link, může nastat několik případů: Jestliže link ukazuje na soubor, bude tento link považován za soubor a bude uložen stejným způsobem jako soubor. Bude-li link ukazovat na prázdný adresář, bude uložen stejným způsobem jako prázdný adresář. Ukazuje-li link na neprázdný adresář a tento adresář bude nadřazeným adresářem adresáře, ve kterém je link (například: /pub/adr/link2), uloží se taktéž jako prázdný adresář. Je zřejmé, že tento link nikdy nebude prohledáván dovnitř. A konečně, bude-li link ukazovat na neprázdný adresář, který není podadresářem adresáře, ve kterém je link, uloží se k linku interval, který vymezuje tento adresář. Bude-li se v následujícím textu vyskytovat pojem interval, bude se jednat o dvě 4-bytová čísla, která udávají offset levé a pravé závorky, ve které je uložen adresář a jeho obsah. Kdybychom například zjistili interval určitého adresáře a celý tento interval ze souboru separovali, získali bychom vlastně novou databázi od tohoto počátečního adresáře. Samozřejmě aby byla databáze korektní, museli bychom všechny intervaly v takto vzniklé databázi dekrementovat o dolní hodnotu původního intervalu. 2.3 Datové elementy ukládané do databáze Aby byla formální struktura databáze úplná, bude nutné rozvrhnout paměťové rozložení jednotlivých datových elementů v databázi. Soubor: F 1 file name n \0 1 Prázdný adresář: E 1 file name n \0 1 Adresář: { 1 offset of } 4 file name n \0 1 Uzávěr adresáře: } 1 Link: L 1 offset of { 4 offset of } 4 file name n \0 1 Každý rámeček znázorňuje jeden datový blok. Dolní index u pravého okraje rámečku udává jeho velikost v bytech. Bude-li v dalším textu řeč o datovém elementu, bude tím myšlena jedna z těchto datových struktur. 4

8 Návrh algoritmů Celý projekt je rozložen do několika samostatných souborů. Tato část dokumentace popisuje klíčové algoritmy, které se v projektu použily, a odkazuje přímo na zdrojový kód projektu, resp. na soubory, ve kterých je konkrétní algoritmus realizován. 3.1 Základ soubor: basic.c Než jsem začal pracovat na samotném projektu, vytvořil jsem nejprve jakousi knihovnu základních funkcí. Jde především o funkce xmalloc, xfree, xrealloc, xstrdup a xclose. Tyto funkce dělají v podstatě to samé jako jejich protějšky bez x, avšak kontrolují návratové hodnoty a v případě chyby ukončí program. (Není-li možné alokovat potřebnou paměť, nemá cenu pokračovat!) Kromě těchto funkcí stojí za zmínku ještě funkce FATAL, která se použije v případech, kdy dojde k chybě, kterou není možné ošetřit (například při prohledávání adresáře tento adresář někdo smaže). Funkce zajistí vypsání chybového hlášení a program ukončí. 3.2 Buffering soubor: buffering.c Při zápisu libovolných dat do souboru je nutné tato data zapisovat pokud možno sekvenčně. Zapisování je tak daleko efektivnější, hlava disku se nemusí pokaždé vystavovat na nové místo. Šetříme tak strojový čas i disk. Bude-li se do databáze zapisovat velké množství adresářů, bude nutné u každého adresáře zapsat zpětně k levé závorce offset pravé závorky. Uvědomíme-li si celkový počet adresářů, pro které by program musel takový zpětný zápis provádět, začneme brzy uvažovat o způsobu, jak tyto zpětné zápisy eliminovat. Algoritmus, který jsem za tímto účelem navrhnul, vychází z faktu, že zápis zpět se bude provádět většinou velmi blízko od aktuálního offsetu. Bude-li se zapisovat adresář, který obsahuje jen malé množství podadresářů, je zřejmé, že interval mezi složenými závorkami bude malý. Tedy, zápis zpět se bude provádět jen krátkou vzdálenost od právě zapisované pravé závorky. Princip tohoto algoritmu je jednoduchý. V paměti se neustále udržují dva buffery stejné velikosti. Dojde-li k požadavku na zápis, nezapisuje se přímo do souboru, ale pouze do prvního bufferu. Jakmile se první buffer zaplní, začne se 5

9 zapisovat do druhého. Jakmile je zaplněn i ten, první se uloží na disk a buffery se vymění. V případě požadavku na zápis zpět se nejprve rozpozná, zda není náhodou tento zápis možné provést ještě v rámci bufferů. Jestliže to možné není, poznamená se tento požadavek do zřetězeného seznamu a zapíše se pak najednou při zavírání bufferu. Bude-li na disku velké množství velkých adresářů, bude jich málo a vystačíme si s prostým zápisem na disk. Bude-li na disku velké množství malých adresářů, což obvykle bývá, zpětnému zápisu se vyhneme díky bufferování. 3.3 Načtení symbolického linku soubor: readlink.c Při zjišťování, kam ukazuje určitý symbolický link, je třeba kromě práce kterou vykoná klasická funkce readlink(3), provést ještě řadu dalších akcí. Především je potřeba zjistit přesnou cestu od kořene. To se provede tak, že program nejprve provede chdir na patřičný link a zjistí aktuální adresář voláním getcwd. Tím se vyřeší případy, kdy link ukazuje na jiný link nebo když link udává cestu relativně. (například:../../jedna/dva). Dále je potřeba transformovat cestu na cestu relativní od počátečního adresáře. Bude-li se do databáze ukládat obsah adresáře /ftp a bude-li link ukazovat na /ftp/pub/linux, musí být cesta transformována na cestu relativní vzhledem k adresáři /ftp. Tedy na /pub/linux. Dále se zde rozpoznává, jestli případný link neukazuje do podadresáře vzhledem k adresáři, ve kterém je link obsažen, (viz odstavec 2.2). 3.4 Regulární výrazy soubor: re.c K realizaci vyhledávání pomocí regulárního výrazu jsem použil funkce z hlavičkového souboru regexp.h. 3.5 Zapisování do databáze soubor: bfdb.c V tomto souboru jsou obsaženy základní funkce pro zapisování jednotlivých elementů do databáze. Jsou to funkce: ddb write empty dir, ddb write file, ddb write dir BEGIN, ddb write dir END a ddb write link. Tyto funkce jako vstupní parametr očekávají popis konkrétního adresáře, linku nebo souboru a zapíší jej do databáze. 6

10 Pro zápis adresáře bylo potřeba vytvořit dvě funkce. ddb write dir BEGIN zajistí zápis levé závorky, volného místa pro offset a jméno adresáře. Místo, kam se má ukládat offset, však zatím není známé, program ho zjistí až po prozkoumání všech podadresářů, proto si pouze uloží do zásobníku pozici offsetu. Po prohledání celého adresáře pak funkce ddb write dir END zapíše pravou závorku. Je zřejmé, že teprve v tomto místě je známa pozice pravé závorky, proto funkce vybere ze zásobníku poznamenané místo, kam tuto informaci zpětně zapsat, a offset zapíše. 3.6 Strom symbolických linků soubor: litree.c Aby bylo možné po vytvoření databáze zpětně doplnit ke všem linkům patřičné ukazatele, musí si program během prohledávání zapamatovat cesty ke všem adresářům, na které nějaký link ukazoval. Narazí-li walk při prohledávání na link, který vyhovuje všem kritériím z odstavce 2.2, zapamatuje si adresář, na který ukazuje. Algoritmus vytvoří v paměti strom, který se podobá adresářové struktuře na disku. V tomto stromě jsou po prohledání uloženy všechny adresáře, na které ukazuje nějaký link. Ke každému takovému adresáři je poznamenán patřičný offset k odpovídajícímu linku v databázi. 3.7 Intervaly soubor: interval.c Jak již bylo dříve poznamenáno, každý adresář vymezuje v databázi jistý interval, který je určen párem složených závorek { a }. Je-li v databázi uložen link na adresář, poznamená se k němu právě tento interval. Algoritmy pracující s těmito intervaly jsou obsaženy právě v souboru interval.c. Každý interval se ukládá do základní struktury interval. Tato struktura obsahuje levou a pravou hranici daného intervalu. Kromě toho bude potřeba pracovat s množinou takových intervalů. Za tímto účelem obsahuje struktura interval ukazatel na další strukturu téhož typu. Získá se tak množina intervalů jako jednosměrný zřetězený seznam. Připomeňme, že dva intervaly mohou být pouze disjunktní nebo jeden je podmnožinou druhého. Je zřejmé, že jsou-li na disku dva různé adresáře a soubor je v prvním i druhém adresáři, pak je jeden adresář podadresářem druhého. 3.8 Rozhraní na procházení databáze soubor: find.c V tomto souboru se nacházejí nejdůležitější podprogramy, které prochází samotnou databázi. Funkcí rdb open se databáze otevře a následně se z ní mohou 7

11 funkcí rdb read načítat jednotlivé datové elementy. Soubor s databází je mapován do paměti pomocí volání mmap(2). Pro správné fungování programu musí systém tuto funkci podporovat (u Linuxu a většiny jiných UNIXů to není problém). Kromě těchto základních funkcí je zde důležitá funkce rdb skip dir. Načte-li se funkcí rdb read adresář, který chceme přeskočit (soubory ani adresáře v něm nás nezajímají), zavoláme tuto funkci a adresář se přeskočí. Je celkem zřejmé, jak se to provede. U každé levé závorky je v databázi zaznamenán offset pravé, není proto problém celý adresář přeskočit. Další důležitou funkcí je funkce rdb dir entry2. Tato funkce má jako svůj parametr jméno adresáře včetně cesty (zadáno klasickým zápisem např. /pub/linux). Výsledkem volání této funkce je interval, ve kterém se daný adresář nachází. 3.9 Vytváření databáze soubor: walk.c V tomto souboru jsou uloženy všechny funkce, které se starají o procházení všech souborů a adresářů na disku. Funkce dl readdir dokáže přečíst obsah celého adresáře (nikoli podadresářů). Tato funkce je dále volána z funkce walk, která zajistí rekurzivní procházení všech adresářů do hloubky. Za zmínku stojí i funkce dl qsort, která soubory před uložením setřídí. (Algoritmus QuickSort je zde implementován nad jednosměrným zřetězeným seznamem.) Všechny funkce jsou do značné míry závislé na přesném chování operačního systému. Program předpokládá, že se z každého adresáře dostaneme přechodem přes.. do jeho nadřazeného adresáře. Dále se předpokládá, že getcwd(3) vrátí cestu v přesném formátu. Tedy cesta musí začínat / a končit jménem nejvyššího adresáře. Při návrhu tohoto algoritmu jsem uvažoval o tom, že by bylo pěkné, kdyby místo procházení všech adresářů bral program jako svůj vstup výstup programu find(1). Po krátké úvaze jsem však tuto možnost zavrhnul. Program find(1) svůj výstup nemá dostatečně vhodný. U jmen symbolických linků není uveden jejich protějšek nehledě na to, že by bylo nutné prohledávat do hloubky, což find(1) sice umí, ale vznikla by tak závislost na formátu vstupu. Program by mohl jen těžko odlišit případy, kdy mu někdo podstrčil (byť neúmyslně) špatný vstup, například spustil find(1) se špatným parametrem Vyhledávání soubor: dbfind.c Jde o samotný program, kde je implementován algoritmus pro inteligentní prohledávání linků. Algoritmus je zabudován ve funkci search interval. Tato funkce získá jako vstup interval, který má prohledat, a prohledá ho. Krom toho je 8

12 jako druhý parametr této funkce seznam intervalů, které při prohledávání budou přeskakovat. Funkce při prohledávání neustále sleduje, zda následující prohledávaný adresář nebyl už náhodou prohledán. Jestliže tomu tak bylo, adresář přeskočí. Narazí-li při prohledávání na link, uloží si jeho interval do fronty. Po prohledání celého adresáře si funkce zapamatuje prohledaný interval, vybere nový z vrcholu fronty a pokračuje ve hledání. 9

13 Jak programy fungují Ovládání obou programů je velmi intuitivní. Spustíme-li kterýkoli z programů s parametrem -h, vypíše se jednoduchá nápověda, podle které se dá velmi snadno poznat, jak který program funguje. Přesto zde uvádím krátký popis jednotlivých parametrů. 4.1 walk walk [-o soubor] [-v] [-d adresář] Projde adresářovou strukturu a výsledek hledání uloží do souboru. Program se ovládá z příkazové řádky pomocí parametrů: [ -o soubor ] Soubor do kterého se bude ukládat databáze. [ -d adresář ] Jméno adresáře, od kterého se bude databáze vytvářet. [ -v ] Bude vypisovat procházené adresáře na terminál. 4.2 dbfind Vyhledává v databázi vytvořené programem walk. Parametry programu jsou: dbfind [-d soubor] [-f adresář] [-w reg. výraz] [-0] [ -d soubor ] Jméno souboru s databází. [ -f adresář ] Jméno adresáře, od kterého se bude vyhledávat. [ -w soubor ] Regulární výraz (co se bude vyhledávat). [ -0 ] Jako oddělovač výstupu použít znak \0. 10

14 Závěr Po dokončení programu jsem provedl krátkou rekapitulaci toho, co se v programu podařilo více, co méně a co se nepodařilo vůbec. Hlavní problém, který se v projektu řešil problém symbolických linků se vyřešit podařilo. Bylo k tomu však potřeba značného úsilí a otázkou je, zda koncový uživatel (návštěvník toto úsilí ocení. Velikost databáze vytvořené z celého mého disku ( souborů) je asi o 20% větší než velikost databáze vytvořené programem locate(1) (pro tento účel používaným). Doba vyhledávání v databázi i vytváření databáze je asi o 5 10% delší. Velkou výhodou programu je bezesporu podpora regulárních výrazů. Na druhou stranu regulární výraz prohledávání zpomalí 5 až 10. Jako test hotového programu jsem vytvořil databázi programem walk na počítači aisa adresáře /ftp/pub. Doba vytváření této databáze lehce překročila jednu hodinu (Zmíněný adresář se montuje přes NFS, což jeho procházení značně zpomaluje. Procházení lokálního disku bude zřejmě rychlejší.) a výsledný soubor s databází měl velikost 15083KB. Databáze stejného adresáře vytvořená programem locate(1) měla velikost 14085KB. Rychlost následného vyhledávání v této databázi programem dbfind mě mile překvapila. Zkoušel jsem vyhledat klíčová slova redhat a pub, doba prohledání celé databáze nebyla delší než 2 vteřiny. V porovnání s programem locate(1), je doba vyhledávání jen o zlomek delší. 5.1 Použitá literatura K sepsání této dokumentace mi jako pomůcka dobře posloužily knihy TEXBook naruby a Jemný úvod do TEXu. Bylo použito i několik TEXových maker, obsažených v digitální formě knihy Jemný úvod do TEXu. Potřebné informace o funkcích ze standardních unixových knihoven, které jsem neznal zpaměti, jsem hledal v manových stránkách. Další pomůckou mi byly stránky WWW, většinou žádná konkrétní stránka mi však jako důležitý zdroj informací nesloužila. 5.2 Příloha K projektu je přiložena disketa se souborem ftpdb-v0.9.tar.gz, který obsahuje aktuální verzi programu. (md5sum: c2d a09e8bec65d5b7d0b28ae5) 11

Systém souborů (file system, FS)

Systé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íce

Modul Konfigurace. 2006... MTJ Service, s.r.o.

Modul Konfigurace. 2006... MTJ Service, s.r.o. Modul Konfigurace Modul Konfigurace Představení Menu konfigurace sdružuje všechny konfigurační příkazy k celému systému Soft-4-Sale. Dále konfigurace kopíruje jednotlivé moduly systému tzn. že existuje

Více

Jak vyhledávat. Vyhledávače KAPITOLA 3

Jak vyhledávat. Vyhledávače KAPITOLA 3 KAPITOLA 3 Jak vyhledávat Už víme, jak zacházet s programem Microsoft Internet Explorer, a můžeme se pustit do surfování. Ostatně, stejně jsme to při seznamování s funkcemi programu chtíce nechtíce dělali.

Více

Aplikace. vliv na to, jakou mají strukturu i na to, jak pracné je je vyvinout. Bylo vypozorováno, že aplikace je možné rozdělit do skupin

Aplikace. vliv na to, jakou mají strukturu i na to, jak pracné je je vyvinout. Bylo vypozorováno, že aplikace je možné rozdělit do skupin Aplikace Aplikace se liší tím, k jakému účelu jsou tvořeny. To má vliv na to, jakou mají strukturu i na to, jak pracné je je vyvinout. Bylo vypozorováno, že aplikace je možné rozdělit do skupin s podobnou

Více

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2 Přednáška 2 Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. 1 Systém souborů (FS) I 2 Systém souborů II Logický systém souborů pro běžného uživatele se jeví jako jediná homogenní struktura

Více

Algoritmy a datové struktury

Algoritmy 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íce

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové

Více

Prohledávání do šířky = algoritmus vlny

Prohledávání do šířky = algoritmus vlny Prohledávání do šířky = algoritmus vlny - souběžně zkoušet všechny možné varianty pokračování výpočtu, dokud nenajdeme řešení úlohy průchod stromem všech možných cest výpočtu do šířky, po vrstvách (v každé

Více

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Už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íce

Databáze prodejců. Tlačítka. Vytvoří kartu nového prodejce (Alt+N); Změní vybraného prodejce Uloží nového prodejce nebo změnu (Alt+U);

Databáze prodejců. Tlačítka. Vytvoří kartu nového prodejce (Alt+N); Změní vybraného prodejce Uloží nového prodejce nebo změnu (Alt+U); Databáze prodejců Tlačítka Vytvoří kartu nového prodejce (Alt+N); Změní vybraného prodejce (Alt+E); Uloží nového prodejce nebo změnu (Alt+U); Při zakládání nového prodejce zadejte jeho číslo (musí to být

Více

Maturitní téma: Operační MS-DOS

Maturitní téma: Operační MS-DOS Maturitní téma: Operační MS-DOS OS - základní softwarové vybavení každého, počítače. DOS byl diskový operační systém určený pro práci na počítačích kompaktabilních s počítači IBM PC. MSDOS poskytoval uživateli

Více

1. Databázové systémy (MP leden 2010)

1. Databázové systémy (MP leden 2010) 1. Databázové systémy (MP leden 2010) Fyzickáimplementace zadáníaněkterářešení 1 1.Zkolikaajakýchčástíseskládáčasprovstupněvýstupníoperaci? Ze tří částí: Seektime ječas,nežsehlavadiskudostanenadsprávnou

Více

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004

Iterač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íce

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21. Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky

Více

Standardní algoritmy vyhledávací.

Standardní algoritmy vyhledávací. Standardní algoritmy vyhledávací. Vyhledávací algoritmy v C++ nám umožňují vyhledávat prvky v datových kontejnerech podle různých kritérií. Také se podíváme na vyhledávání metodou půlením intervalu (binární

Více

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit Jednoduché stránkování Operační systémy Přednáška 8: Správa paměti II Hlavní paměť rozdělená na malé úseky stejné velikosti (např. 4kB) nazývané rámce (frames). Program rozdělen na malé úseky stejné velikosti

Více

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

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 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íce

Datové struktury 2: Rozptylovací tabulky

Datové struktury 2: Rozptylovací tabulky Datové struktury 2: Rozptylovací tabulky prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy

Více

Informatika / file system KIT.PEF.CZU

Informatika / file system KIT.PEF.CZU Informatika / file system KIT.PEF.CZU kódování znaků Vlastní návrh kódování Chci psát text a napsané chci uložit pro další použití. Co udělám? Odhadnu počet symbolů, které budu chtít kódovat (nezbytný

Více

Adresní vyhledávání (přímý přístup, zřetězené a otevřené rozptylování, rozptylovací funkce)

Adresní vyhledávání (přímý přístup, zřetězené a otevřené rozptylování, rozptylovací funkce) 13. Metody vyhledávání. Adresní vyhledávání (přímý přístup, zřetězené a otevřené rozptylování, rozptylovací funkce). Asociativní vyhledávání (sekvenční, binárním půlením, interpolační, binární vyhledávací

Více

Principy počítačů a operačních systémů

Principy počítačů a operačních systémů Principy počítačů a operačních systémů Operační systémy Souborové systémy Zimní semestr 2011/2012 Poděkování Při přípravě této prezentace jsem většinu materiálu převzal z prezentace Yaghob, J. Základy

Více

Linux-příkazový řádek

Linux-příkazový řádek Linux-příkazový řádek 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íce

Popis programu EnicomD

Popis 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íce

10 Algoritmizace Příklad 2 Word 2007/ VBA

10 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íce

Systém adresace paměti

Systém adresace paměti Systém adresace paměti Základní pojmy Adresa fyzická - adresa, která je přenesena na adresní sběrnici a fyzicky adresuje hlavní paměť logická - adresa, kterou má k dispozici proces k adresaci přiděleného

Více

Semestrální práce 2 znakový strom

Semestrá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

Velmi 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 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íce

Systém pro poloautomatické propojení textů se zdroji

Systém pro poloautomatické propojení textů se zdroji Masarykova univerzita Fakulta informatiky Systém pro poloautomatické propojení textů se zdroji Bakalářská práce Jindřich Ryšavý Brno, podzim 2016 Masarykova univerzita Fakulta informatiky Systém pro poloautomatické

Více

PB161 programování v C++ Výjimky Bezpečné programování

PB161 programování v C++ Výjimky Bezpečné programování PB161 programování v C++ Výjimky Bezpečné programování Chyby... Snaha psát programy bez chyb myslet : ) Snaha psát programy se schopností fault tolerance. snaha se z chybového stavu dostat lze řešit testováním

Více

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12. Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Vyhledávání 201 / 344 Osnova přednášky

Více

Řešení: PŘENESVĚŽ (N, A, B, C) = přenes N disků z A na B pomocí C

Řešení: PŘENESVĚŽ (N, A, B, C) = přenes N disků z A na B pomocí C Hanojské věže - 3 kolíky A, B, C - na A je N disků různé velikosti, seřazené od největšího (dole) k nejmenšímu (nahoře) - kolíky B a C jsou prázdné - úkol: přenést všechny disky z A na B, mohou se odkládat

Více

Da D to t v o é v ty t py IB111: Datové typy

Da D to t v o é v ty t py IB111: Datové typy Datové typy IB111: Datové typy Data a algoritmizace jaká data potřebuji pro vyřešení problému? jak budu data reprezentovat? jaké operaci s nimi potřebuji provádět? Navržení práce s daty je velice důležité

Více

Opravy a prodej. Uživatelská příručka. Milan Hradecký.

Opravy a prodej. Uživatelská příručka. Milan Hradecký. Opravy a prodej Uživatelská příručka Milan Hradecký. 2 1. ÚVOD : Program slouží k evidenci dílenských oprav, k prodeji náhradních dílů a k fakturaci. Pracuje v prostředí WINDOWS 95 až WINDOWS XP. K rychlému

Více

Úvod do Unixu. man: příkaz pro zobrazení nápovědy k danému příkazu, programu (pokud je k dispozici), např. man cp. pwd: vypíše cestu k aktuální pozici

Úvod do Unixu. man: příkaz pro zobrazení nápovědy k danému příkazu, programu (pokud je k dispozici), např. man cp. pwd: vypíše cestu k aktuální pozici Základní příkazy Úvod do Unixu man: příkaz pro zobrazení nápovědy k danému příkazu, programu (pokud je k dispozici), např. man cp vypíše nápovědu o příkazu cp, manuálová stránka se ukončí stisknutím klávesy

Více

bin arn ı vyhled av an ı a bst Karel Hor ak, Petr Ryˇsav y 23. bˇrezna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT

bin arn ı vyhled av an ı a bst Karel Hor ak, Petr Ryˇsav y 23. bˇrezna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT binární vyhledávání a bst Karel Horák, Petr Ryšavý 23. března 2016 Katedra počítačů, FEL, ČVUT Příklad 1 Naimplementujte binární vyhledávání. Upravte metodu BinarySearch::binarySearch. 1 Příklad 2 Mysĺım

Více

VISUAL BASIC. Práce se soubory

VISUAL BASIC. Práce se soubory VISUAL BASIC Práce se soubory Práce se soubory 1/2 2 Vstupní data pro programy bývají uloženy do souborů Vstupy pro výpočet, nastavení vzhledu aplikace Výsledky práce programu je potřeba uchovat uložit

Více

Knihovna RecDBXLib ZÁZNAMY V DATABOXU TXV 003 49.01

Knihovna RecDBXLib ZÁZNAMY V DATABOXU TXV 003 49.01 PROGRAMOVATELNÉ AUTOMATY Knihovna RecDBXLib ZÁZNAMY V DATABOXU TXV 003 49.01 KNIHOVNA RecDBXLib DATABÁZE V DATABOXU 2. vydání řijen 2008 OBSAH 1. ÚVOD...3 2. KNIHOVNA RecDBXLib DATABÁZE V DATABOXU...4

Více

Formulář pro křížový filtr

Formulář pro křížový filtr Formulář pro křížový filtr Formulář pro křížový filtr je určen zejména autorům křížovek a má sloužit jako pomůcka při jejich tvorbě. Levé části formuláře dominuje tzv. šablona, což je síť 20 krát 20 políček

Více

Souborové systémy a logická struktura dat (principy, porovnání, příklady).

Souborové systémy a logická struktura dat (principy, porovnání, příklady). $TECH 13 Str. 1/5 Souborové systémy a logická struktura dat (principy, porovnání, příklady). Vymezení základních pojmů Soubor První definice: označuje pojmenovanou posloupnost bytů uloženou na nějakém

Více

FORTANNS. havlicekv@fzp.czu.cz 22. února 2010

FORTANNS. havlicekv@fzp.czu.cz 22. února 2010 FORTANNS manuál Vojtěch Havlíček havlicekv@fzp.czu.cz 22. února 2010 1 Úvod Program FORTANNS je software určený k modelování časových řad. Kód programu má 1800 řádek a je napsán v programovacím jazyku

Více

Jazyk C práce se soubory. Jan Hnilica Počítačové modelování 16

Jazyk C práce se soubory. Jan Hnilica Počítačové modelování 16 Jazyk C práce se soubory 1 Soubory Použití souborů pro vstup většího množství dat do programu (uživatel nezadává z klávesnice ručně tisíce údajů...) pro uložení většího množství výsledků, např. k pozdějšímu

Více

1.5.1 Číselné soustavy

1.5.1 Číselné soustavy .. Číselné soustavy Předpoklady: základní početní operace Pedagogická poznámka: Tato hodina není součástí klasické gymnaziální sady. Upřímně řečeno nevím proč. Jednak se všichni studenti určitě setkávají

Více

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Třídění dat. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_26 04

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Třídění dat. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_26 04 Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Třídění dat Autor:

Více

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Přednáška Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského

Více

OPERAČNÍ SYSTÉM. Informační a komunikační technologie

OPERAČNÍ SYSTÉM. Informační a komunikační technologie OPERAČNÍ SYSTÉM Informační a komunikační technologie Operační systém počítače Definice - charakteristika Je soubor programů, které zajišťují základní činnosti počítače (vstup a výstup dat, zpracování uživatelského

Více

B4B35OSY: Operační systémy

B4B35OSY: Operační systémy B4B35OSY: Operační systémy Souborové systémy Michal Sojka 1 7. prosince 2017 1 michal.sojka@cvut.cz 1 / 35 Obsah I 1 Úvod 2 Souborové systémy FAT Souborový systém založený na inode 3 Žurnálování 4 Souborové

Více

OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA

OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA BAKALÁŘSKÁ PRÁCE 2002 SEDLÁK MARIAN - 1 - OSTRAVSKÁ UNIVERZITA PŘÍRODOVĚDECKÁ FAKULTA KATEDRA INFORMATIKY A POČÍTAČŮ Vizualizace principů výpočtu konečného

Více

vyhledávací stromové struktury

vyhledávací stromové struktury vyhledávací algoritmy Brute Force Binary Search Interpolation Search indexové soubory Dense index, Sparse index transformační funkce Perfect Hash, Close Hash Table, Open Hash Table vyhledávací stromové

Více

Instalace. Produkt je odzkoušen pro MS SQL server 2008 a Windows XP a Windows 7. Pro jiné verze SQL server a Windows nebyl testován.

Instalace. Produkt je odzkoušen pro MS SQL server 2008 a Windows XP a Windows 7. Pro jiné verze SQL server a Windows nebyl testován. Instalace Produkt se neinstaluje. Stačí soubor uložit na libovolné místo na Vašem počítací (klikněte pravým tlačítkem a dejte 'uložit cíl jako ), pak jen spustit. Požadavky na software Produkt je odzkoušen

Více

Nápověda 360 Search. Co je 360 Search? Tipy pro vyhledávání

Nápověda 360 Search. Co je 360 Search? Tipy pro vyhledávání 1 z 5 Nápověda 360 Search Co je 360 Search? 360 Search je metavyhledávač, který slouží k paralelnímu prohledávání všech dostupných informačních zdrojů prostřednictvím jednotného rozhraní. Nástroj 360 Search

Více

Datové typy a struktury

Datové typy a struktury atové typy a struktury Jednoduché datové typy oolean = logická hodnota (true / false) K uložení stačí 1 bit často celé slovo (1 byte) haracter = znak Pro 8-bitový SII kód stačí 1 byte (256 možností) Pro

Více

Vzdělávací obsah předmětu

Vzdělávací obsah předmětu Vzdělávací obsah předmětu 1. správně se přihlašuje ve školní síti využívá dostupné školní informační zdroje a techniku pracuje s informacemi a softwarovým vybavením ve školní síti v souladu se školním

Více

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu

Typy 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íce

Práce s programem MPVaK

Práce s programem MPVaK Práce s programem MPVaK Tato informace popisuje postup práce s programem "MPVaK Vybrané údaje z majetkové a Vybrané údaje z provozní evidence. Jsou v ní popsány nejdůležitější úlohy, které budete s programem

Více

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Typové a netypové soubory

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Typové a netypové soubory Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Typové a netypové

Více

1. Podmínky chodu aplikace

1. Podmínky chodu aplikace 1 / 15 1. Podmínky chodu aplikace Licenční instalace určení pro značku, lokální instalace, nebo síťová licencovaná MAS serverem. 1.1. Instalace podpory MicroCat na lokální stanici Na dané stanici musí

Více

Paměti a jejich organizace

Paměti a jejich organizace Kapitola 5 Paměti a jejich organizace 5.1 Vnitřní a vnější paměti, vlastnosti jednotlivých typů Vnější paměti Jsou umístěny mimo základní jednotku. Lze je zařadit mezi periferní zařízení. Zápis a čtení

Více

Úvod do UNIXu. Okruh č. 4 - vi, regulární výrazy, grep a sed. Jakub Galgonek. verze r2. inspirováno materiály Davida Hokszy

Úvod do UNIXu. Okruh č. 4 - vi, regulární výrazy, grep a sed. Jakub Galgonek. verze r2. inspirováno materiály Davida Hokszy Okruh č.4 Okruh č. 4 - vi, regulární výrazy, grep a sed verze 1.0.0-r2 inspirováno materiály Davida Hokszy Textové editory Okruh č.4 vi(m) prastarý textový editor (1976) dostupný v podstatě na každém UNIXovém

Více

HROMADNÉ ÚPRAVY NAJÍT A NAHRADIT

HROMADNÉ ÚPRAVY NAJÍT A NAHRADIT HROMADNÉ ÚPRAVY NAJÍT A NAHRADIT Funkce Najít a nahradit slouží k rychlému vyhledávání určitých slov a jejich nahrazování jinými slovy. Lze hledat i určité varianty slov a nahrazovat je buď hromadně (všechny

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: 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íce

Naproti tomu gramatika je vlastně soupis pravidel, jak

Naproti tomu gramatika je vlastně soupis pravidel, jak 1 Kapitola 1 Úvod V přednášce se zaměříme hlavně na konečný popis obecně nekonečných množin řetězců symbolů dané množiny A. Prvkům množiny A budeme říkat písmena, řetězcům (konečným posloupnostem) písmen

Více

Základní příkazy OS UNIX

Základní příkazy OS UNIX 1 Základní příkazy OS UNIX Výpis obsahu adresáře ls [přepínače] [soubor]! výpis informací o zadaných souborech! pokud zadáme jméno adresáře, je vypsán obsah adresáře (seznam souborů, které jsou v adresáři

Více

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Přednáška Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského

Více

Cílem kapitoly je seznámit studenta se seznamem a stromem. Jejich konstrukci, užití a základní vlastnosti.

Cílem kapitoly je seznámit studenta se seznamem a stromem. Jejich konstrukci, užití a základní vlastnosti. Seznamy a stromy Cílem kapitoly je seznámit studenta se seznamem a stromem. Jejich konstrukci, užití a základní vlastnosti. Klíčové pojmy: Seznam, spojový seznam, lineární seznam, strom, list, uzel. Úvod

Více

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz Vývoj moderních technologií při vyhledávání Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz INFORUM 2007: 13. konference o profesionálních informačních zdrojích Praha, 22. - 24.5. 2007 Abstrakt Vzhledem

Více

Microsoft. Word. Hromadná korespondence. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie

Microsoft. Word. Hromadná korespondence. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie Microsoft Word Hromadná korespondence Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie Hromadná korespondence Funkce hromadná korespondence umožňuje vytvoření malé databáze (tabulky)

Více

Dynamické datové struktury I.

Dynamické datové struktury I. Dynamické datové struktury I. Seznam. Fronta. Zásobník. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz

Více

2 Datové struktury. Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky

2 Datové struktury. Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky 25 Pole Datová struktura kolekce elementů (hodnot či proměnných), identifikovaných jedním nebo více indexy, ze kterých

Více

Programování v C++, 2. cvičení

Programová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íce

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy TÉMATICKÝ OKRUH Počítače, sítě a operační systémy Číslo otázky : 12. Otázka : Metody fyzické organizace dat Obsah : 1.Úvod 2.Vnější paměti 3.Sekvenční soubory 3.1 Setříděné sekvenční soubory 4.Zřetězené

Více

www.zlinskedumy.cz Pracovní list VY_32_INOVACE_33_19 Databáze Databáze Databáze Ing. Petr Vilímek

www.zlinskedumy.cz Pracovní list VY_32_INOVACE_33_19 Databáze Databáze Databáze Ing. Petr Vilímek VY_32_INOVACE_33_19 Pracovní list Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Střední průmyslová škola Zlín Inovace výuky prostřednictvím ICT v

Více

Návod pro práci s webovou aplikací pro zadávání, čištění a odesílání dat z laboratoří do systému EARSS.

Návod pro práci s webovou aplikací pro zadávání, čištění a odesílání dat z laboratoří do systému EARSS. Návod pro práci s webovou aplikací pro zadávání, čištění a odesílání dat z laboratoří do systému EARSS. Aplikace je dostupná na webové adrese: http://cb7.jlabs.cz/earss/ Přihlášení do systému: jako přihlašovací

Více

Anotace: V příspěvku jsou ukázány hlavní charakteristiky operačního systému OS/400.

Anotace: V příspěvku jsou ukázány hlavní charakteristiky operačního systému OS/400. OBJEKTOVÁ KONCEPCE OPERAČNÍHO SYSTÉMU OS/400 Václav Vostrovský katedra informatiky, PEF, tel: (02) 3382272 Vysoká škola zemědělská, 165 21 Praha 6 - Suchdol Anotace: V příspěvku jsou ukázány hlavní charakteristiky

Více

Operační systémy 1. Přednáška číslo 11 3. 5. 2010. Souborové systémy

Operační systémy 1. Přednáška číslo 11 3. 5. 2010. Souborové systémy Operační systémy 1 Přednáška číslo 11 3. 5. 2010 Souborové systémy Dělení dle bezpečnosti Souborové systémy s okamžitým zápisem pouze jeden druh operace a další musí čekat. Data se nemohou ztratit, ale

Více

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu: Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury

Více

Internetové vyhledávače

Internetové vyhledávače Internetové vyhledávače Co je internetový vyhledávač služba, která umožňuje na Internetu najít webové stránky, které obsahují požadované informace uživatel zadává do rozhraní vyhledávače klíčová slova,

Více

DobSort. Úvod do programování. DobSort Implementace 1/3. DobSort Implementace 2/3. DobSort - Příklad. DobSort Implementace 3/3

DobSort. Úvod do programování. DobSort Implementace 1/3. DobSort Implementace 2/3. DobSort - Příklad. DobSort Implementace 3/3 DobSort Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 V roce 1980 navrhl Dobosiewicz variantu (tzv. DobSort),

Více

KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ KLÍČOVÉ POJMY Internet World Wide Web FTP, fulltext e-mail, IP adresa webový prohlížeč a vyhledávač CÍLE KAPITOLY Pochopit, co je Internet

Více

Reranking založený na metadatech

Reranking založený na metadatech České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Reranking založený na metadatech MI-VMW Projekt IV - 1 Pavel Homolka Ladislav Kubeš 6. 12. 2011 1

Více

Validace souborů DS3

Validace souborů DS3 Validace souborů DS3 Verze: 1.33 1. Rozsah...1 1.1 Identifikace systému...1 1.2 Přehled systému...1 2. Přehled verzí a změny v nich...1 3. Použité dokumenty...2 4. Shrnutí údajů o programovém vybavení...4

Více

Struktura programu v době běhu

Struktura 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íce

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba. Odpovědi jsem hledala v prezentacích a na http://www.nuc.elf.stuba.sk/lit/ldp/index.htm Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je

Více

Vzorce. Suma. Tvorba vzorce napsáním. Tvorba vzorců průvodcem

Vzorce. Suma. Tvorba vzorce napsáním. Tvorba vzorců průvodcem Vzorce Vzorce v Excelu lze zadávat dvěma způsoby. Buď známe přesný zápis vzorce a přímo ho do buňky napíšeme, nebo použijeme takzvaného průvodce při tvorbě vzorce (zejména u složitějších funkcí). Tvorba

Více

DATABÁZE MS ACCESS 2010

DATABÁZE MS ACCESS 2010 DATABÁZE MS ACCESS 2010 KAPITOLA 5 PRAKTICKÁ ČÁST TABULKY POPIS PROSTŘEDÍ Spuštění MS Access nadefinovat název databáze a cestu k uložení databáze POPIS PROSTŘEDÍ Nahoře záložky: Soubor (k uložení souboru,

Více

FUNKCE 3. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen 2013. Ročník: sedmý. Vzdělávací oblast: Informatika a výpočetní technika

FUNKCE 3. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen 2013. Ročník: sedmý. Vzdělávací oblast: Informatika a výpočetní technika FUNKCE 3 Autor: Mgr. Dana Kaprálová Datum (období) tvorby: září, říjen 2013 Ročník: sedmý Vzdělávací oblast: Informatika a výpočetní technika 1 Anotace: Žáci se seznámí se základní obsluhou tabulkového

Více

Připravil: David Procházka. Vertex Buffer Objects

Připravil: David Procházka. Vertex Buffer Objects 30. září 2013, Brno Připravil: David Procházka Vertex Buffer Objects Počítačová grafika 2 Obsah přednášky Strana 2 / 22 Obsah přednášky 1 Obsah přednášky 2 Vertex Buffer Objects 3 Příklady 4 Shrnutí Obsah

Více

KRY. Projekt č. 2. Kamil Dudka xdudka00

KRY. Projekt č. 2. Kamil Dudka xdudka00 KRY Projekt č. 2 Kamil Dudka xdudka00 1 Úvod Úkolem bylo vytvořit program, který do určeného obrázku umí schovat text a tento text z obrázku později vytáhnout. Schovaný text měl být zabezpečený pomocí

Více

DUM 06 téma: Tvorba makra pomocí VBA

DUM 06 téma: Tvorba makra pomocí VBA DUM 06 téma: Tvorba makra pomocí VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie

Více

1. Implementace funkce počet vrcholů. Předmět: Algoritmizace praktické aplikace (3ALGA)

1. Implementace funkce počet vrcholů. Předmět: Algoritmizace praktické aplikace (3ALGA) Předmět: Algoritmizace praktické aplikace (3ALGA) Vytvořil: Jan Brzeska Zadání: Vytvoření funkcí na stromech (reprezentace stromu směrníky). Zadané funkce: 1. Počet vrcholů 2. Počet listů 3. Součet 4.

Více

ZOS OPAKOVÁNÍ. L. Pešička

ZOS OPAKOVÁNÍ. L. Pešička ZOS OPAKOVÁNÍ L. Pešička ZÁKLADNÍ PRAVIDLO Důležité je znát nejen fakta, ale porozumět jim a zasadit je do kontextu celého OS Př. algoritmus Second Chance využívá bitu Referenced tak, že (fakta) a kdy

Více

Webový server lapache

Webový server lapache Webový server lapache Abstrakt lapache (lukas light apache) je jednoduchý UNIXový webový server podporující: podmnožinu HTTP 1.0/1 protokolu virtuální servery (s vlastními chybovými stránkami a kořenem

Více

PŘÍKAZY OVLÁDÁNÍ SHELLU

PŘÍKAZY OVLÁDÁNÍ SHELLU PŘÍKAZY OVLÁDÁNÍ SHELLU Název školy Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště Název DUMu Příkazy ovládání shellu Autor Martin Šimůnek Datum

Více

Obecná informatika. Matematicko-fyzikální fakulta Univerzity Karlovy v Praze. Podzim 2012

Obecná informatika. Matematicko-fyzikální fakulta Univerzity Karlovy v Praze. Podzim 2012 Obecná informatika Přednášející Putovních přednášek Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Podzim 2012 Přednášející Putovních přednášek (MFF UK) Obecná informatika Podzim 2012 1 / 18

Více

Semestrální práce z KIV/PC. Kolja Matuševský (A14B0310P)

Semestrální práce z KIV/PC. Kolja Matuševský (A14B0310P) 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 Obsah 1 Zadání 2 2 Analýza úlohy 3 2.1 Vytvoření grafu..........................

Více

Spojová implementace lineárních datových struktur

Spojová implementace lineárních datových struktur Spojová implementace lineárních datových struktur doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB

Více

Práce s počítačem: 5. ročník

Práce s počítačem: 5. ročník 5.3 Vzdělávací oblast: Informační a komunikační technologie 5.3.1 Vzdělávací obor: Informační a komunikační technologie 5.3.1.1 Vyučovací předmět: Práce s počítačem Informatika Charakteristika vyučovacího

Více

7. Enterprise Search Pokročilé funkce vyhledávání v rámci firemních datových zdrojů

7. Enterprise Search Pokročilé funkce vyhledávání v rámci firemních datových zdrojů 7. Enterprise Search Pokročilé funkce vyhledávání v rámci firemních datových zdrojů Verze dokumentu: 1.0 Autor: Jan Lávička, Microsoft Časová náročnost: 30 40 minut 1 Cvičení 1: Vyhledávání informací v

Více

Algoritmizace. 1. Úvod. Algoritmus

Algoritmizace. 1. Úvod. Algoritmus 1. Úvod Algoritmizace V dnešní době již počítače pronikly snad do všech oblastí lidské činnosti, využívají se k řešení nejrůznějších úkolů. Postup, který je v počítači prováděn nějakým programem se nazývá

Více

Kdy se narodil... Vypracovali: Mrkývka Vojtěch, Mrázek Ondřej, Novotná Marie. Předmět: PLIN08 Projekty II. Semestr: Jaro 2015

Kdy se narodil... Vypracovali: Mrkývka Vojtěch, Mrázek Ondřej, Novotná Marie. Předmět: PLIN08 Projekty II. Semestr: Jaro 2015 Kdy se narodil... Vypracovali: Mrkývka Vojtěch, Mrázek Ondřej, Novotná Marie Předmět: PLIN08 Projekty II Semestr: Jaro 2015 Vedoucí projektu: Mgr. Marek Grác, Ph.D. Úkolem tohoto projektu bylo vytvořit

Více

Systém souborů Mgr. Josef Horálek

Systém souborů Mgr. Josef Horálek Systém souborů Mgr. Josef Horálek Systém souborů = Pro většinu uživatelů je systém souborů nejviditelnější součástí operačního systému = provádí mechanismy pro on-line ukládání a přístup k programům a

Více