Základy programování Zápočtový projekt Komprimace/Dekomprimace souborů 1 Úvod Tento dokument slouží jako uživatelská příručka a technická dokumentace k programu realizujícímu komprimaci a zpětnou dekomprimaci dat, přesněji řečeno souborů. Tento program je spolu s vytvořenými podpůrnými webovými stránkami a tímto vygenerovaným dokumentem LaTeX součástí zápočtového projektu pro předmět Základy programování. 2 Obsah Obsah 1 Úvod 1 2 Obsah 1 3 Program 2 3.1 Spuštění a použití programu................... 2 3.2 Funkcionalita........................... 3 3.3 Vývojové nástroje......................... 3 4 Komprimace/Dekomprimace 4 4.1 Komprimace dat......................... 4 4.2 Dekomprimace dat........................ 4 5 O mně 4 1
6 Odkazy 5 3 Program 3.1 Spuštění a použití programu Celý program je koncipován jako konzolová aplikace, čemuž je přizpůsobeno i spouštění. To probíhá nejjednodušeji přes příkazový řádek, zadáním názvu programu a současným předáním tří povinných parametrů a to ve tvaru program < c/ d > < input > < output >, kde parametry nabývají následujícího významu: Komprimace dat < c > přepne program do módu komprimace < input > název vstupního souboru, který chceme zkomprimovat < output > název souboru výstupního, již zkomprimovaného, který se vytvoří v libovolném zvoleném adresáři Dekomprimace dat < d > přepne program do módu dekomprimace < input > název vstupního souboru, který budeme zpětně rekonstruovat ze souboru komprimovaného < output > název souboru výstupního, dekomprimovaného, který je totožný s původním souborem. Uloží se opět do zadaného adresáře. 2
Pokud při spuštění některý z parametrů chybí, nebo je chybně zapsán, zobrazí se jednoduchá nápověda s vypsanou správnou syntaxí. 3.2 Funkcionalita Míra a účinnost komprimace je čistě závislá na složení souboru (počtu různých znaků vyskytujících se v souboru). V případě, že je soubor složen z více než 256 různých znaků, program vyhodnotí komprimaci jako bezvýznamnou a tuto informaci vypíše. 3.3 Vývojové nástroje Kód programu je napsán pomocí programovacího jazyka C. K programování samotnému jsem využil vývojové prostředí Microsoft Visual Studio 2008 Professional Edition (C++), které v rámci studia poměrně hojně využívám. [1] Produktová řada Microsoft Visual Studio 2008 nabízí vhodné nástroje pro úplné začátečníky v programování, jednotlivé profesionály i týmy hledající prostředí podporující moderní metodiky a principy řízení životního cyklu vývoje softwarových aplikací. Visual Studio je vhodné pro vývojáře, designery, architekty, testery, projektové manažery a další účastníky životního cyklu vývoje softwarových aplikací. Pro tvorbu podpůrných webových stránek jsem použil textový editor PSPad. 3
[2] PSPad editor je volně šiřitelný (freeware) univerzální editor pro MS Windows. To znamená, že si na něj nemusíte brát půjčku, nemusíte platit žádné peníze, protože je zadarmo. Neplatíte-li poplatky, ušetříte na dovolenou, kterou pak můzete pohodlně strávit někde v Karibiku. 4 Komprimace/Dekomprimace 4.1 Komprimace dat Komprimace, jindy zvaná komprese, je proces, při kterém se data podle určitého postupu (algoritmu) převádí a ukládají do souboru o menší velikosti než původní. Komprimace se provádí, aby ušetřila místo na záznamovém médiu, případně pro snadnější práci s menšími soubory. Komprimace může být bud to ztrátová, což znamená, že při zpětné rekonstrukci souboru budou chybět určitá data - dekomprimovaný soubor již nebude totožný s původním souborem, a nebo bezztrátová, která zajistí dokonalou rekonstrukci souboru komprimovaného v původní soubor. 4.2 Dekomprimace dat Dekomprimace je ke komprimaci proces opačný 5 O mně Jméno Radim Příjmení Vavřík Login VAV0038 Bydliště Kopřivnice Fakulta Elektrotechniky a Informatiky Program Informační a komunikační technologie Ročník I. Zájmy Ve svém volném čase se aktivně věnuji hudbě a sportu. Jsem členem florbalového klubu FBC Vikings Kopřivnice. 4
6 Odkazy Reference [1] Microsoft: Microsoft MSDN. (listopad 2009). http://www.microsoft.com/cze/msdn/produkty/vstudio/default.mspx [2] J. Fiala: PSPad home page. (listopad 2009). http://www.pspad.com/cz/ 5