Nápověda programu KAREL


Vítáme vás v nápovědě programu KAREL!       Vyberte si položku v obsahu.

Obsah


Úvod

Program Karel někomu může připadat jako hra, někomu jako jednoduchý programovací jazyk. Karel 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 znám spíše z 8-mi bitových počítačů, my vám jej dnes nabízíme na počítače PC, a pod operační systém Windows 95 a vyšším.

O co jde?

Karel je robot, který se pohybuje po šachovnici 10 x 10 polí. 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ýmy pravidly, která jsou popsána v nápovědě. Karla jsme napsali jako semestrální práci na vysoké škole. Program je volně a zdarma šířitelný. Autoři:
Dostál Radim
&
Abrahamczik Petr

Menu programu

V této kapitole popíšeme jednotlivé položky menu. Hlavní menu:
  • Soubor
  • Nový
  • Otevřít
  • Přidat
  • Uložit
  • Uložit jako...
  • Konec
  • Příkaz
  • Provést
  • Krok
  • Detailní krok
  • Stop
  • Reset
  • Nový povel
  • Editace
  • Smazat
  • Nápověda
  • Syntaxe
  • Program
  • O programu
  • Popisy 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 Karel.
    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. By-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 Okna)
    Smazat
    Smaže povel, na němž je kurzor v katalogu povelů. (Viz Okna)
    Syntaxe
    Zobrazí nápovědu k syntaxi jazyka pro robota Karla.
    Program
    Zobrazí tuto nápovědu.
    O programu
    Zobrazí informace o programu Karel, a o jeho autorech. Rovněž zde nabízí navštívit www stránky autorů.

    Okna programu

    Program Karel po spuštění zobrazí dvě okna. Okno "Katalog", a okno "Místnost".
    Okno "Katalog"

    Okno "Místnost"



    Krok po kroku

    V této kapitole vám ukážeme krok po kroku, jak vytvořit nový povel, a jak jej spustit.
  • 1. krok je vybrat 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 v příkladu, a poté okno zavřete. Než začnete tvořit své vlastní povely, dobře si prostudujte syntaxi jazyka pro robota Karla.

    Po stisknutí označeného tlačítka bude dotázání, zda má program aktualizovat proceduru. Volbou Storno stornujete zavírání okna, a můžete nový povel dále měnit. Volbou Ano dojde k vytvoření nového povelu. Máte-li v textu nějakou chybu, budete na tento fakt upozorněni. Volbou Ne nebude nový povel (procedura) vytvořen.
  • 2. krokem je 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 stisknout klávesu Enter, nebo zmáčknout tlačítko "Proveď", nebo 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 stiskněte tlačítko "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 do prava
      ČelemVZad
      VLevoBok
    }


    Tato procedura se vám bude hodit v další kapitole. Můžete opět tuto proceduru spustit, či ji "krokovat".
  • 3. krokem je 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.


  • 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 tlačítky "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 stiskněte tlačítko "Detailní krok". 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, stiskněte tlačítko "Krok", chcete-li i povel "ČelemVZad" detailně krokovat, stiskněte tlačítko "Detailní krok". Vyzkoušejte obě možnosti, uvědomíte si tím rozdíl mezi tlačítky "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.

    Chyby

    V této kapitole poukážeme na časté chyby, které mohou nastat i vám při psaní programů pro robota Karla. Zde vám nabídneme několik rad, jak předejít chybám.
    Vysvětlení některých chybových hlášek:
    Nečekané ukončení zdrojového textu procedury XXX - V dané proceduře došlo k ukončení těla procedury, ačkoliv syntaxe konec nedovoluje. Zkontrolujte například, jestli všechny podmínky, nebo cykly mají správně závorky.
    XXX ve svém těle někde postrádá začátek bloku (znak "{") - Zkontroluje, jestli znak "{" je skutečně všude, kde je očekáván. V cyklech, podmínkách, za slovem "JINAK".
    XXX ve svém těle někde postrádá konec bloku (znak "}") - Zkontroluje, jestli znak "}" je skutečně všude, kde je očekáván. V cyklech, podmínkách, za slovem "JINAK".
    Špatné použití klíčového slova NE v proceduře XXX - Zkontrolujte, zda před každým slovem "NE" v proceduře XXX je skutečně slovo "DOKUD", a za slovem "NE" následuje podmínka.
    Špatné požití klíčového slova JINAK v proceduře XXX- Zkontrolujte, zda před každým slovem "JINAK" v proceduře XXX je podmínka, a za slovem "NE" následuje závorka "{".
    Za klíčovým slovem DOKUD (resp. DOKUD NE) je očekávána podmínka v proceduře XXX - Zkontrolujte, zda za každým slovem dokud, (resp. Dokud NE) následuje podmínka.
    Jako název procedury nelze použít klíčové slovo XXX - Změňte název procedury. Název procedury nesmí být klíčové slovo XXX.
    Chyby, jenž vzniknou během vykonávání nějaké procedury:
    Bohužel, tady už je cihla, nemůžu sem nic položit. - Karel pokládá cihlu na pole, na kterém již cihla leží.
    Nemohu nic vzít. Kde nic není, ani smrt nebere. - Snažíte se zvednout cihlu z pole, na kterém nic není.
    Au, to bolí, narazil jsem hlavou do zdi! - Karel narazil hlavou do zdi. Tedy provedl povel "Krok" v momentě, kdy stál před zdí, a byl otočen směrem ke zdi.
    XXX nemá definované tělo. - Někde používáte povel nazvaný XXX, který však Karel nezná.

    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 "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.