Obsah
Úvod
Program xKarel někomu může připadat jako hra, někomu jako jednoduchý programovací jazyk. Program xKarel je rozhodně vynikající nástroj jak se naučit strukturovaně programovat, a to zvláště pro děti. Jediná podmínka pro práci s tímto programem je, aby uživatel již uměl číst a psát. Vytváření nových procedur nutí uživatele k algoritmizaci daného problému, a rozdělení problému na menší části. Program Karel byl v naší zemi velmi populární v době 8-mi bitových počítačů.
O co jde?
Karel je robot, který se pohybuje po šachovnici, jejíž velikost lze nastavit. Karel zná jednoduché povely, jako je povel na provedení kroku, otočení se do leva, položení cihly na šachovnici, či zvednutí cihly ze šachovnice. Karel se může naučit novým povelům od uživatele, který je naprogramuje kombinací z již známých povelů. Program pro robota Karla se řídí syntaktickými pravidly, která jsou popsána v nápovědě. xKarla jsme původně napsali jako semestrální práci na vysoké škole ( VŠB - TU OSTRAVA Fakulta Elektrotechniky a Informatiky Katedra informatiky, Předmět "Objektově orientované programování").
Získání xKarla a jeho instalace
Karla lze získat zadarmo na adrese xKarel.sourceforge.net. Karel je šířen pod licencí GPL. Můžete zde získat binární (zkompilovanou) verzi pro Microsoft® Windows®, nebo Linux. Dále zde můžete získat zdrojové texty xKarla, které si můžete sami zkompilovat, pokud používáte jinou platformu.
Menu programu
V této kapitole popíšeme jednotlivé položky menu. Hlavní menu:
- Soubor
- Příkaz
- Nastavení
- Nápověda
Popis jednotlivých voleb menu
Nový
Program vytvoří nový katalog povelů. Smaže všechny uživatelem definované povely.
Otevřít...
Program načte katalog povelů ze souboru. Tato volba zobrazí standardní okno pro otevírání souborů. Katalog povelů pro robota Karla má koncovku "krl". Otevřením nového katalogu dojde ke ztrátě všech uživatelem definovaných povelů. Nechcete-li smazat staré povely, použijte volbu Přidat.
Přidat...
Program načte katalog povelů ze souboru. Tato volba zobrazí standardní okno pro otevírání souborů. Katalog povelů pro robota Karla má koncovku "krl". Přidáním povelů z katalogu do aktuálního katalogu, který používáte nedojde ke ztrátě uživatelem definovaných povelů. Chcete-li smazat staré povely, použijte volbu Otevřít. Jsou-li v katalogu, který právě používáte povely stejného názvu, jako v katalogu na disku, budou vymazány, a nahrazeny povely z disku.
Uložit
Uloží povely aktuálního katalogu do diskového souboru.
Uložit jako...
Uloží povely aktuálního katalogu do diskového souboru, ale před tím se zeptá na název souboru.
Konec
Ukončí program xKarel.
Provést
Spustí provádění povelů. Je-li nějaký povel z části spuštěný (při ladění), potom bude Karel v tomto povelu pokračovat. Není-li žádný povel z části vykonán, začne se od začátku vykonávat povel, na kterém je v katalogu povelů (viz. Okna) kurzor.
Krok
Karel provede krok. Viz ladění
Detailní krok
Karel provede detailní krok. Viz ladění
Stop
Karel zastaví provádění povelu.
Reset
Karel zastaví provádění povelu, je-li nějaký prováděn. Dále odstraní ze šachovnice všechny cihly, a uvede se do výchozí pozice. Byl-li laděn nějaký povel, toto ladění se zruší.
Nový povel
Přidá nový povel. Zobrazí editační okno pro nový povel. Blíže v kapitole Krok po kroku.
Editace
Modifikuje povel, na němž je kurzor v katalogu povelů. (Viz Krok po kroku)
Smazat
Smaže povel, na němž je kurzor v katalogu povelů. (Viz Okna)
Náhodně rozestav cihly
V místnosti se náhodně rozloží cihly. Vhodné pro testování nových procedur.
Skrýt elementy
Je-li tato volba vybrána v seznamu povelů nebudou zebrazeny elementární povely. Můžete si vybrat, co vám připadá přehlednějsí.
Místnost...
Umožní Vám nastavit velikost místnosti. Rozměry místnosti jsou udávány v počtech polí. Dále vám také umožní nastavit hustotu pokrytí cihlami při náhodném rozestavení. Je-li hustota 0%, potom se pří náhodném rozestavění cihlel nepostaví žádná cihla. Naopak je-li hustota 100%, potom se šachovnice celá pokryje cihlami. Můžete zde rovněž nastavit maximální možný počet cihel na jednom poli.
Jazyk
Vyberte jazyk, ve kterém je napsán zdrojový text. Vyberete-li si standartní, je použit jazyk prostředí, ve kterém Karel běží (Viz lokalizace). Můžete si vybrat i jiný jazyk. Program to umožňuje. V současné době je k dispozici pouze Anglický a Český jazyk. Názvy elementárních povelů budou v jazyce, který si zvolíte.
Nahrej nastavení
Obnoví uložené nastavení programu.
Ulož nastavení
Uloží aktuální nastavení programu do souboru. V Unixových systémech vytvoří soubor .xkarelrc ve vašem domovském adresáři. Ve Windows® vytvoří soubor xkarel.cfg ve svém adresáři.
Původní nastavení
Nastaví implicitní nastavení programu.
Syntaxe
Zobrazí nápovědu k syntaxi jazyka pro robota Karla.
Program
Zobrazí tuto nápovědu.
O programu
Zobrazí informace o programu xKarel, a o jeho autorech.
Okna programu
Program xKarel po spuštění zobrazí dvě okna. Okno "Katalog", a okno "Místnost".
Okno "Katalog"
Okno "Místnost"
Okno "Místnost" (classic verze)
Tlačítka programu
Okno "Katalog" má celkem 11 tlačítek. Tlačítka slouží pouze pro urychlení práce s programem. Význam všech tlačítek je stejný jako význam voleb v menu. Oproti minulým verzím jsou tlačítka označeny nikoliv textem, ale malým obrázkem, jak bývá zvykem u mnoha programů. Význam tlačítek:
POŘADÍ ZLEVA | OBRÁZEK | ODPOVÍDÁ VOLBĚ V MENU |
---|---|---|
1 | Nový dokument | Soubor / Nový |
2 | Načtení dokumentu z diskového zařízení | Soubor / Otevřít |
3 | Uložení dokumentu do diskového zařízení | Soubor / Uložit |
4 | Blesk | Příkaz / Provést |
5 | Šipka s obloukem nahoře | Příkaz / Krok |
6 | Šipka s obloukem dole | Příkaz / Detailní krok |
7 | Kolečko s písmenem s (skoro dopravní značka stop) | Příkaz / Stop |
8 | Drát vytažený ze zásuvky | Příkaz / Reset |
9 | Zeď z cihel | Místnost / Náhodně rozestav cihly |
10 | Nový povel | Příkaz / Nový povel |
11 | Povel | Příkaz / Editace |
Používání těchto tlačítek urychluje práci s Karlem. Nemusíte pracně hledat volby v menu programu, stačí pouze kliknout na daný obrázek. Dalším urychlením práce jsou Zkratkové klávesy.
Menu okna Editace
Zvolíte-li v hlavním menu programu volbu Příkaz a podvolbu Nový povel, nebo Editace zobrazí se vám editační okno. V této kapitole si povíme něco o volbách v menu tohoto okna.
Popisy jednotlivých voleb menu:
Vytvořit
Vytvoří novou (aktualnizuje) proceduru v katalogu, ale nezavře editační okno. Máte-li ve zdrojovém textu chybu, budete na ni upozorněni.
Zavřít
Ukončí editaci. Vytvoří novou (aktualizuje) proceduru v katalogu. Budete vyzváni, aby jste potvrdili aktualizaci. Potvrdíte-li aktualizaci, program zkontroluje zda nemáte ve zdrojovém textu chybu.
Vyjmout
Vyjme označenou část textu. Označený text uloží do schránky. Ze schránky je možné vyjmutý text ložit zpátky.
Kopírovat
Zkopíruje označenou část textu do schránky. Ze schránky je možné vyjmutý text ložit zpátky.
Vložit
Vloží text ze schránky.
Vybrat vše
Označí veškerý text v okně. Označený text lze vyjmout, nebo kopírovat.
Zkratkové klávesy
Zkratková klávesa je klávesa, či kombinace více kláves na klávesnici počítače. Stisknutím klávesové zkratky na klávesnici vyvolá nějakou činnost. Přehled klávesových zkratek:
KLÁVESA | ODPOVÍDÁ VOLBĚ V MENU |
---|---|
F1 | Nápověda / Syntaxe |
F2 | Soubor / Uložit |
F3 | Soubor / Otevřít |
F4 | Příkaz / Náhodně rozmístit cihly |
F5 | Příkaz / Nový povel |
F6 | Příkaz / Editace |
F7 | Příkaz / Detailní krok |
F8 | Příkaz / Krok |
F9 | Příkaz / Provést |
F10 | Příkaz / Reset |
ESC | Příkaz / Stop |
Krok po kroku
V této kapitole vám ukážeme krok po kroku, jak vytvořit nový povel, a jak jej spustit.
- Vyberte v menu volbu Příkaz a v ní volbu Nový
povel. Zobrazí se editační okno. Vyplňte text v okně přesně tak, jak
je uvedeno na obrázku. V menu editačního okna vyberte volbu Příkaz
a podvolbu Konec editace. Než začnete tvořit
své vlastní povely, dobře si prostudujte syntaxi jazyka pro robota Karla.
- Ladění a spouštění tohoto
povelu. Nastavte v seznamu povelů kurzor na povel "ČelemVzad". (Jednou klikněte
myší na tento povel.) Provedli-li jste 1. krok správně, měl by zde tento
povel být. Nyní můžete zvolit v menu volbu "Příkaz" a podvolbu "Proveď".
Karel se v místnosti otočí čelem v zad. Mějte kurzor stále nastavený na povelu
"ČelemVzad", a třikrát zvolte v menu "Příkaz" podvolbu "Detailní krok". Sledujte
při tom, co Karel v místnosti dělá. K tomuto blíže v kapitole o ladění. Doporučuji Vám ještě vytvořit následující proceduru:
Procedura VpravoBok { # Povel, který otočí Karla doprava ČelemVzad VlevoBok }
Tato procedura se vám bude hodit v další kapitole. Můžete opět tuto proceduru spustit, či ji "krokovat".
- Nové povely v katalogu uložit do diskového souboru. Neučiníte-li tak, nebudete mít tyto povely při příštím spuštění Karla k dispozici. Zvolte tedy v menu volbu Soubor a podvolbu Uložit. Při příštím spuštění Karla zvolte volbu Soubor a podvolbu Otevřít..., nebo podvolbu Přidat k načtení povelů z diskového souboru. Viz kapitola Menu. Kdykoliv se Vám bude zdát práce s menu programu zdlouhavá můžete použít Tlačítka programu, nebo Zkratkové klávesy pro urychlení práce.
POZNÁMKA: Zkuste se zamyslet, proč nebylo lepší definovat nejprve povel "VpravoBok" pomocí povelů "VlevoBok", a potom povel "ČelemVzad" pomocí povelů "VpravoBok".
Ladění
Ladění je vlastně hledání chyb v procedurách (povelech) pomocí postupného krokování těchto povelů. Jak se krokuje, a jaký je rozdíl mezi možnostmi "Krok" a "Detailní krok" si vysvětlíme na povelech "ČelemVzad" a "VpravoBok" z předchozí kapitoly. Nastavte v seznamu povelů kurzor na povel "VpravoBok", a zvolte v menu "Příkaz" podvolbu "Detailní krok", nebo "Krok". (Můžete také využít Tlačítka programu, nebo Zkratkové klávesy.) V tomto případě je jedno kterou volbu zvolíte. V těle povelu se vám zvýraznil řádek, který se má provést. Na tomto řádku by měl být povel "ČelemVzad". Chcete-li otočit Karla v zad, vyberte volbu v menu "Příkaz", podvolbu "Krok", chcete-li i povel "ČelemVzad" detailně krokovat, vyberte volbu v menu "Příkaz", podvolbu "Detailní krok". Vyzkoušejte obě možnosti, uvědomíte si tím rozdíl mezi "Krok" a "Detailní krok". Pomocí těchto mechanizmů můžete sledovat co Karel dělá při provádění povelů, a hledat tak chyby. Budete-li chtít krokování ukončit, zvolte v menu volbu Příkaz a podvolbu Reset, nebo nechte Karla rozdělanou práci dokončit volbou menu "Příkaz", podvolbu "Proveď".
Lokalizace
Karla lze teoreticky přeložit do jakéhokoliv jazyka. V současné době je k dispozici pouze Český a Anglický jazyk. Program může mít lokalizované jak prostředí, tak i jazyk zdrojových textů programů pro robota. Obojí lze lokalizovat nezávisle na sobě. Můžete tedy mít program v Angličtině a používat názvy elementárních příkazů v Českém jazyce, nebo naopak.
Lokalizace zdrojových textů
Karel používá implicitně názvy elementů v jazyce, v němž je lokalizován program. Chcete-li změnit jazyk, ve kterém budete psát zdrojové texty, zvolte v menu volbu Nastavení a podvolbu Jazyk. Zde si můžete vybrat jazyk, ve kterém budou zdrojové texty pro robota Karla.
Lokalizace programu v systémech Unixového typu
Program automaticky zjistí, o jakou lokalizaci jde. V současné době je k dispozici pouze Český jazyk pro české prostředí a Anglický jazyk pro zbytek. Chcete-li mít Karla v Českém jazyce, nastavte proměnnou prostředí LANG na hodnotu cs_CZ. Spusťte například xterm, máte-li například jako svůj shell bash, napište export LANG=cs_CZ. Poté z tohoto okna můžete spustit Karla. Nechcete-li nastavovat proměnnou prostředí lze také spustit Karla LANG="cs_CZ" xkarel
Lokalizace programu ve Windows®
Program si automaticky zjistí, o jakou lokalizaci Windows® se jedná. Podle toho vybere svůj jazyk. V současné době je k dispozici pouze Český jazyk pro české prostředí Windows®. Pro ostatní je k dispozici Anglický jazyk. Chcete-li změnit jazyk ve Windows®, nastavte si jazyk v ovládacích panelech Windows®.
Otázky a odpovědi
Zde naleznete odpovědi na vaše pravděpodobné otázky.
- Proč Karel vykoná jiný příkaz na stisk tlačítka s bleskem ("proveď"), než který je vybrán v seznamu povelů?
- Asi jste před tímto provedením nějaký povel ladil, a ladění jste neukončil. Zvolte v menu volbu Příkaz a podvolbu Reset. Nyní by se již měl provádět opravdu zvolený povel.
- Co jsou to soubory s koncovkou "krl"?
- Jedná se o katalogy robota Karla uložené v diskovém souboru. Je to vlastně zdrojový text vašich povelů.
- Proč se neotevřelo okno "Místnost"?
- Okno se určitě otevřelo, ale je možná zakryto oknem "Katalog". Zkuste přesunout okno "Katalog" na jiné místo obrazovky.
- Co mám dělat, když nevím jak mám vytvořit nový povel?
- Podívejte se na syntaxi jazyka pro robota Karla volbou v menu Nápověda a podvolbou Syntaxe, a podívejte se také na postup krok po kroku.
- Autor WWW stránek: Radim Dostál
- Autoři programu: Radim Dostál & Petr Abrahamczik
- > Doporučený styl <
- > Styl pro tisk <
- > Bez stylu <