= projekty - zdrojové kódy - Jihočeská univerzita - programování - C# (Csharp) - opengl - java - databaze - SQL - WWW - PHP =

Projekty a zdrojové kódy - Jihočeská univerzita

Spuštění a ovládání programu

Program jsem vyhotovil jak v české tak i anglické verzi. Zde se budu zabývat pouze tou anglickou ...

Program byl vytvořen v prostředí LPA Prolog a zde je také funkční. Zkoušel jsem ho přeložit i v SWI Prologu, ale neúspěšně - chybí některé vestavěné predikáty jako třeba char/1.

Program tedy otevřeme a zkompilujeme v LPA Prologu. Jako první příkaz můžeme zadat [help.] nebo v české verzi [pomoc.]. Dozvíme se, že se aplikace spouští příkazem [start.] a také kde nalezneme více informací.

help.   /* spustí nápovědu programu */

Příkaz [start.] tedy spustí aplikaci. Program nás přivítá a hnes se nás zeptá, co má dál dělat.

start.   /* spustí aplikaci */

Na otázku, zda chceme načítat vstupní text ze souboru odpovíme buď ano [yes.] nebo ne [no.]. Pokud odpovíme [yes.], budeme načítat text ze souboru. Pokud odpovíme [no.], budeme načítat zadaný text uživatelem.

yes.   /* budeme načítat text ze souboru */

no.   /* budeme načítat zadaný text uživatelem */

Chceme-li načítat text ze souboru, tak se nás program dále zeptá na jméno souboru, který obsahuje text pro kompresi. Sdělíme mu tedy název souboru, například ['text.txt'.]. Název souboru musí být v jednoduchých uvozovkách a zakončen tečkou. Viz příklad.

'text.txt'.   /* jméno vstupního souboru s textem */

Program výpíše text ze souboru na obrazovku a pak provede kompresi textu a tento zakódovaný text také výpíše na obrazovku. Poté se program ukončí.

Nechceme-li načítat text ze souboru, ale z klasického vstupu (klávesnice), tak program bude čekat, až zadáme nějaký text pro kompresi. Opět musí být v jednoduchých uvozovkách zakončen tečkou. Viz příklad.

'ahoj ahoj'.   /* vstupní text pro kompresi */

Na vstupní text ['ahoj ahoj'.] nám program vyjede kód pro tento textový řetězec a bude vypadat následovně:

97-104-111-106-32-128-130-

Pozn.: Pomlčky jsou zde pro lepší čitelnost kódu.

Byly tedy použity tyto položky ze slovníku:

97  => a
104 => h
111 => o
106 => j
32  => ' '
128 => ah   /* nový kód ve slovníku */
130 => oj   /* nový kód ve slovníku */

Jak je vidět i na tomto krátkém příkladě, tak původní řetězec měl 9 znaků a výsledný již zanků jenom 7 (reprezentovaných dekadickými číslicemi). Samozřejmě je to dáno opakovaným výskytem jednotlivých znaků.

A takto to vypadá v LPA Prologu:

Spuštění a ovládání programu