�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:

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 katalogu s n�pov�dou

Okno "M�stnost"

Okno m�stnosti v 3D proveden�

Okno "M�stnost" (classic verze)

Okno m�stnosti v 2D proveden�

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.

  1. 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.
    Okno pro editaci p��kazu
    Bude dot�z�n�, zda m� program aktualizovat proceduru. Volbou Zru�it 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. 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".

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