�vod

Podstata sout�e spo��v� v �e�en� zadan�ch �loh, kter� �e��c� (sout��c�) pos�l� na Internet. Za vy�e�en� ka�d� �lohy sout��c� z�sk�v� body. Po�et bod� ur�uje po�ad�. �kolem bude v�dy napsat zdrojov� text programu pro robota Karla, kter� vy�e�� zadan� probl�m. Zdrojov� text ode�lete pomoc� formul��e na n� server. Zde dojde k jeho vyhodnocen� a p��padn� k zapo��t�n� v�sledk�. Va�e �e�en� server vyhodnocuje tak, �e v�mi zaslan� zdrojov� text spust� na p�edem p�ipraven�ch situac�ch na �achovnici. Pod pojmem situace na �achovnici rozum�me rozm�ry �achovnice, rozm�st�n� cihel, poloha robota a oto�en� robota. Ka�d� zdrojov� text bude n�kolikr�t vyzkou�en na r�zn�ch situac�ch. Probl�m pro �e�itele (a v tom je cel� pointa sout�e) spo��v� v tom, �e �e�itel se nikdy nedozv� na jak�ch situac�ch (neboli na jak�ch vstupn�ch datech) bude v� zdrojov� text testov�n. Je�t� zb�v� podotknout, �e tento princip sout�e je p�evzat z celosv�tov� sout�e organizace ACM, kter� pravideln� po��d� sout�e v programov�n� vysok�ch �kol z cel�ho sv�ta. V t�chto sout��ch vytv��ej� sout��c� programy v jazyc�ch C/C++, Pascal, p��padn� Java. Sv� �e�en� sout��c� ode�lou k vyhodnocen� a dozv� se pouze, zda je �e�en� spr�vn�, �i nikoliv. Data, na kter�ch byla �loha testov�na se nikdy nedozv�. Zd�-li se n�komu programovac� jazyk Karel jako "m�n�cenn�", m��e si vyzkou�et tr�nink na zmi�ovan� sout�e ACM na adrese http://acm.uva.es.

Kdo se m��e ��astnit?

Sout� v programovac�m jazyce Karel je ur�en� pro ty, kter� zaujal programovac� jazyk Karel, kter� je zdarma ke sta�en� na adrese http://xkarel.sourceforge.net. Jestli�e v�s robot Karel zaujal, je sout� ur�en� pr�v� v�m. Jestli�e jste narazili na tuto str�nku ani� by jste program Robot Karel znali, doporu�ujeme V�m nejprve jeho sta�en� z adresy http://xkarel.sourceforge.net/downloadsCZ.html. Chcete-li �e�it �lohy, mus�te se nejprve zaregistrovat. Registrace je zdarma. Registrovat se m��e jednotlivec, nebo skupina lid�. Po zaregistrov�n� se z v�s st�v� sout��c�. Podle sv�ch mo�nost� si m��ete libovoln� vyb�rat ze sb�rky �loh �lohy, kter� se rozhodnete �e�it. Podle sv�ch v�sledk� se bude pr�b�n� m�nit va�e um�st�n� v po�ad� sout��c�ch. Pr�b�n� budeme dod�vat nov� �lohy r�zn� obt��nosti. Jak douf�me, bude se tak� zvy�ovat po�et sout��c�ch. Na v� v�sledek nem� ��dn� vliv doba, kdy se do sout�e p�ihl�s�te (zaregistrujete). Nikdy nen� pozd� za��t. Proto�e za n�mi nestoj� ��dn� sponzor, kter� by poskytl n�jak� ceny, je sout� bez jak�chkoliv cen.

Pravidla sout�e

Zde do n�kolika bod� shrneme pravidla sout�e.

  • Sout�it m��e pouze zaregistrovan� u�ivatel. P�i registraci zad�te sv� jm�no a heslo, pomoc� nich� budete odevzd�vat �lohy.
  • Sout��c� m��e �e�it �lohu, dokud ji nevy�e��. Sout��c� m� na vy�e�en� �lohy libovoln� po�et pokus�.
  • Ne�sp�n� pokus o vy�e�en� nem� ��dn� vliv na hodnocen� a po�ad� sout��c�ho.
  • Sout��c� nesm� �e�it �lohu, kterou ji� �sp�n� vy�e�il. Takov� pokus nebude nikde zapo��t�n.
  • Sout��c� m��e �e�it libovolnou �lohu, kterou si vybere. Nesm� ji ji� m�t vy�e�enou.
  • �lohy jsou bodov�ny podle obt��nosti.
  • Ka�d� �e�en� mus� obsahovat proceduru start. Tato procedura bude p�i kontrole �e�en� zavol�na. Po jej�m ukon�en� mus� b�t spln�n zadan� �kol.
  • Vyhodnocen� �e�en� prob�h� automaticky na stran� serveru. Vyhodnocen� se prov�d� testov�n�m na p�edem dan�ch situac�ch na �achovnici. Sout��c� se nem� mo�nost dozv�d�t, na jak�ch situac�ch na �achovnici je zaslan� �e�en� testov�no.
  • V �e�en� je mo�n� zavolat pouze 5000 element�rn�ch p��kaz�. Jedn� se o dostate�n� vysok� ��slo. Nemus�te se ni�eho ob�vat. Chr�n�me se t�m pouze proti nekone�n�m smy�k�m ve zdrojov�ch textech.
  • V �e�en� je mo�n� zavolat "pouze" 1000x jakoukoliv proceduru. Op�t se nemus�te ni�eho ob�vat. Chr�n�me se t�m pouze proti nekone�n�m smy�k�m ve zdrojov�ch textech.
  • V�sledky ka�d�ho sout��c�ho jsou v�em k dispozici na Internetu.
  • Zdrojov� texty (�e�en� �loh) se na Internetu nezve�ej�uj� ani nearchivuj�.
  • P�i �e�en� �loh m��ete po��tat pouze s p�edpoklady, kter� jsou u zad�n� uveden�. Nic ostatn�ho p�i testov�n� nen� jist�.

Str�nky

V t�to kapitole si pop��eme v�echny obrazovky (www str�nky) se kter�mi se m��ete v t�to sout�i setkat.

�vodn�

�vodn� str�nka slou�� jako rozcestn�k. Je zde um�st�no menu sout�e, kter� je p��tomno na v�ech str�nk�ch sout�e. Na �vodn� str�nce sout�e lze tak� nal�zt informace k sout�i.

Registra�n� formul��

Str�nka slou�� k registrov�n� nov�ch sout��c�ch. P�i vypl�ov�n� formul��e m�jte na pam�ti, �e v�echny zadan� �daj� budou zve�ejn�ny. Kolonky formul��e:

Jm�no sout��c�ho jednotlivce nebo dru�stva

Zde uve�te jm�no, pod kter�m bude sout��c� vystupovat. Ka�d� jm�no m��e b�t zaregistrov�no jen jednou. M��ete zaregistrovat jednotlivce i kolektiv lid�.

P��stupov� heslo

Heslo, pomoc� kter�ho budete autorizov�ni. Ka�d� kdo zn� heslo m��e odevzd�vat �e�en� �lohy a m�nit registra�n� informace. Heslo mus� m�t minim�ln� 5 znak�. Maxim�ln� 15.

Znovu potvr�te p��stupov� heslo

Zde napi�te va�e heslo znovu. P�edch�z� se t�m p�eklep�m. Ob� hesla napsan� na t�to str�nce musej� b�t identick�.

Adresa elektronick� po�ty (e-mail)

Zde napi�te va�� adresu elektronick� po�ty. Uv�d�jte funk�n� adresu. Jestli�e zapomenete heslo, bude v�m posl�no pouze na tuto adresu.

Slovn� charakteristika sout��c�ho jednotlivce nebo sout��c�ho dru�stva:

Zde m��ete (ale nemus�te) napsat n�co, co chcete aby o v�s v�ichni ostatn� v�d�li. V�e co nap��ete, bude ve�ejn� p��stupn� na WWW str�nk�ch sout�e.

Registrace se provede kliknut�m na tla��tko Zaregistrovat. T�m se dost�v�te na str�nku registrace.

Registrace

Na t�to str�nce se zobraz� v�sledek registrace.

Mus�te zadat heslo dvakr�t stejn�. Asi do�lo k p�eklepu. Zkuste to znova.
Registrace neprob�hla. Zadal jste �patn� heslo. Heslo mus� b�t naps�no dvakr�t stejn�.
Bohu�el n�zev VA�E JM�NO je ji� registrov�n. Zvolte pros�m jin� n�zev.
Registrace neprob�hla. V�mi zadan� jm�no sout��c�ho je ji� zaregistrov�no. N�kdo v�s s t�mto jm�nem p�edb�hl. Zvolte si jin� jm�no.
Dru�stvo VA�E JM�NO bylo �sp�n� zaps�no.
Registrace prob�hla �sp�n�.

Seznam zaregistrovan�ch sout��c�ch

Na t�to str�nce je tabulka obsahuj�c� informace o v�ech zaregistrovan�ch hr���ch. V prvn�m sloupci je po�et z�skan�ch bod�. V druh�m je n�zev sout��c�ho. Ve t�et�m sloupci je datum a �as posledn� zm�ny registra�n�ch �daj� dan�ho hr��e. V posledn�m sloupci nazvan�m "Podrobn�j�� informace" je odkaz s n�zvem "INFO". Tento odkaz zobraz� podrobn�j�� informace o sout��c�m.

Informace o sout��c�m

Na t�to str�nce jsou podrobn� informace o sout��c�m. Tak� jsou k dispozici v�sledky, kter�ch sout��c� dos�hl. V prvn�m odstavci je um�st�n slovn� popis, kter� o sob� sout��c� zadal p�i registraci. Na str�nce se nach�z� tabulky s informacemi o sout��c�m hr��i. Je zde zobrazeno jm�no, email a posledn� zm�na �daj�. Odkazy Zm�na �daj� a Zm�na hesla slou�� ke zm�n� registra�n�ch �daj� a zm�n� hesla. Jestli�e se hr�� ji� pokusil poslat alespo� jedeno �e�en� �lohy, je na str�nce um�st�n� tabulka "Statistika". V prvn�m sloupci je n�zev �lohy. Jedn� se o odkaz, kter� odkazuje na str�nku se zad�n�m �lohy. V druh�m sloupci je po�et pokus� o �e�en� dan� �lohy, kter� zaslal dan� hr��. Jedn� se rovn� o odkaz na str�nku s odeslan�mi �e�en�mi. Na t�to str�nce budou zobrazeny pouze odeslan� �e�en� vybran�ho hr��e pro danou �lohu. V posledn�m sloupci je v�sledek pokus� o �e�en�. �daj v posledn�m sloupci obsahuje informaci, zda se hr��i poda�ilo �lohu vy�e�it, nebo ne. V posledn� ��dku tabulky je celkov� souhrn v�sledk�. Je zde uveden celkov� po�et odeslan�ch �e�en�. Jedn� se rovn� o odkaz, kter� se odkazuje na str�nku s odeslan�mi �e�en�mi. Na t�to str�nce jsou zobrazeny v�echny doru�en� pokusy o �e�en�, kter� zaslal vybran� hr��.

Formul�� pro zm�nu registra�n�ch informac�

Str�nka slou�� ke zm�n� �daj�, kter� sout��c� zadal p�i registraci. Str�nka je velice podobn� str�nce pro zaregistrov�n�. Do kolonky heslo mus�te zadat star� heslo. Pomoc� n�j budete identifikov�ni. Na t�to str�nce nen� mo�n� zm�nit heslo. Chcete-li zm�nit heslo, klikn�te na tla��tko Zm�nit heslo. Zobraz� se p�i tom str�nka pro zm�nu hesla. Tla��tko Poslat heslo ode�le heslo na emailovou adresu, kterou sout��c� uvedl p�i registraci. Tla��tko Zapsat zarp��e nov� �daje. Kliknut�m na toto tla��tko se dost�v�te na str�nku p�eregistrov�n� u�ivatele.

Zm�na registra�n�ch �daj�

Str�nka slou�� ke informov�n� sout��c�ho o proveden� zm�n� registra�n�ch �daj�.

Hl�ky

Bohu�el n�zev XXXX je ji� registrov�n. Zvolte pros�m jin� n�zev.
Chcete zm�nit n�zev (jm�no) sout��c�ho, ale bohu�el takov� n�zev (jm�no) je ji� registrov�no n�k�m jin�m. Mus�te vybrat jin� n�zev. Jm�no sout��c�ho v hl�ce je odkaz, kter�m se dostanete na str�nku zobrazuj�c� informace o sout��c�m, kter� je ji� pod t�mto jm�nem registrov�n.
�patn� zadan� heslo. ��dn� �daj nebyl zm�n�n! Prove�te operaci znovu a zadejte spr�vn� heslo.
P�i zad�v�ni hesla jste se pravd�podobn� spletli. Mus�te zadat va�e platn� heslo, nikoliv nov�.
Prob�hla zm�na �daj� u hr��e XXXX. Heslo z�stalo nezm�n�no.
Zm�na prob�hla �sp�n�. Jm�no sout��c�ho je odkaz, kter� odkazuje na str�nku zobrazuj�c� informace o sout��c�m. M��ete si tam hned ov��it, �e informace jsou zm�n�n�.

Formul�� pro zm�nu hesla

Str�nka slou�� ke zm�n� hesla, pomoc� kter�ho se sout��c� identifikuje v syst�mu. V horn� ��sti obrazovky je uvedeno jm�no sout��c�ho, u kter�ho dojde ke zm�n� hesla. Jedn� se o odkaz, kter� se odkazuje na str�nku s informacemi o sout��c�m. Sout��c� mus� zadat nejprve star� heslo, aby bylo mo�n� ov��it, �e se jedn� skute�n� o dan�ho sout��c�ho. Pot� mus� zadat dvakr�t stejn� nov� heslo. D�lka nov�ho hesla mus� m�t minim�ln� 5 a maxim�ln� 15 znak�. Jestli�e jste sv� star� heslo zapomn�li, pou�ijte tla��tko Poslat heslo. Heslo m��e b�t posl�no jen 1 kr�t za 24 hodin. Chcete-li zm�nit heslo za nov�, po vypln�n� formul��e stiskn�te tla��tko Zm�nit. T�m se dostanete na str�nku Zm�na hesla.

Zm�na hesla

Tato str�nka zobraz� v�sledek pokusu o zm�nu hesla. Na t�to str�nce m��e b�t zobrazeno:

Heslo hr��e XXXX je zm�n�no
Heslo bylo �sp�n� zm�n�no
�patn� zadan� star� heslo pro hr��e XXXX. Zkuste to znova.
Star� heslo, kter�m byl hr�� identifikov�n je �patn�. Ke zm�n� hesla mus�te zn�t star� heslo. Jestli�e jste heslo zapomn�li, na str�nce, pro zm�nu hesla m��ete stisknout tla��tko Poslat heslo.

Seznam �loh

Str�nka slou�� k zobrazen� v�ech sout�n�ch �loh. V�echny �lohy jsou zobrazeny v tabulce. V prvn�m sloupci je uveden n�zev �lohy. Jedn� se o odkaz na str�nku s informacemi o dan� �loze. V druh�m sloupci je po�et bod�, kter� za spr�vn� vy�e�en� �lohy sout��c� z�sk�. N�sleduje sloupec s po�tem pokus� o vy�e�en� �lohy. V tomto sloupci jsou zapo��t�ny �sp�n� i ne�sp�n� pokusy. Jedn� se o odkaz, kter� se odkazuje na str�nku se seznamem doru�en�ch �e�en� pro danou �lohu. Ve �tvrt�m sloupci je uveden po�et �sp�n�ch �e�en�. V posledn�m sloupci je procentu�ln� zobrazen� �sp�nost p�i �e�en� t�to �lohy. Pod tabulkou lze vybrat krit�rium, podle kter�ho maj� b�t �lohy v tabulce se�azeny. Samotn� se�azen� se provede pomoc� tla��tka Se�adit.

Zad�n� p��kladu

Na t�to str�nce se nach�z� zad�n� konkr�tn� sout�n� �lohy se statistikou a s formul��em pro odevzd�n� �e�en�. Na str�nce je krom� zad�n� �lohy tak� tabulka obsahuj�c� n�zev �lohy a statistiky t�kaj�c� se pokus� o vy�e�en� t�to �lohy. Zad�n� si dob�e pro�t�te. krom� zad�n� jsou uvedeny p�edpoklady. P�edpoklady si p�e�t�te je�t� pozorn�ji ne� zad�n�. Dob�e si promyslete �e�en�. Nic, co nen� uvedeno v p�edpokladech nen� jist�. Nem��ete tedy po��tat s ni��m, co v p�edpokladech nen� uvedeno. Jestli�e spou�t�te sv� procedury v programu xKarel, po resetu je robot v�dy v lev�m doln�m rohu, oto�en na sever a �achovnice je bez cihel. V sout�i nen� nikde �e�eno, jak� bude na �achovnici situace p�ed vyhodnocov�n�m �e�en�. M��ete po��tat pouze s t�m, co je uvedeno v p�edpokladech. Nen�-li v p�edpokladech uvedeno jinak, je poloha robota, oto�en� robota, rozm�st�n� cihel, maxim�ln� po�et cihel na poli a velikost �achovnice libovoln�. Va�e zdrojov� texty musej� b�t v tomto smyslu obecn� pro v�echny mo�n� situace. M��ete si b�t jist�, �e zde bude mnoho chyt�k�.

Byl-li doru�en alespo� jeden pokus o vy�e�en� t�to �lohy, je na str�nce tabulka statistik. V tabulce je v prvn�m sloupci uvedeno jm�no sout��c�ho. Jedn� se o odkaz na str�nku s informacemi o dan�m sout��c�m. V druh�m sloupci je po�et pokus� o vy�e�en� �lohy. Jedn� se o odkaz, kter� sm��uje na str�nku se seznamem odeslan�ch �e�en� dan�ho hr��e pro danou �lohu. V posledn�m sloupci je uvedeno, zda se sout��c�mu ji� poda�ilo vy�e�it �lohu, nebo ne. V posledn�m ��dku a prost�edn�m sloupci je ��slo ud�vaj�c� celkov� po�et pokus� o vy�e�en� �lohy. Jedn� se o odkaz na str�nku se seznamem v�ech doru�en�ch �e�en�ch pro tuto �lohu.

Na str�nce se nach�z� formul�� pro odevzd�n� �lohy. Pomoc� tohoto formul��e sout��c� pos�l� �e�en� na server, kde dojde k jejich vyhodnocen�. Sout��c� m��e podle pravidel pos�lat libovoln� po�et �patn�ch �e�en� �lohy. Jakmile jednou dojde k zasl�n� �sp�n�ho �e�en�, nem��e se ji� sout��c� pokou�et o dal�� vy�e�en� t�to �lohy. Ale samoz�ejm� m��ou se o to pokusit jin� sout��c�. Ka�d� sout��c� m��e �sp�n� vy�e�it �lohu jen 1x. Do 1. kolonky formul��e vepi�te sv� jm�no. D�le mus�te zadat p��stupov� heslo. Jen tak lze prok�zat, �e se za sout��c�ho nevyd�v� n�kdo jin�. Do kolonky Zdrojov� text vepi�te zdrojov� text �e��c� �lohu. Zdrojov� text mus� obsahovat proceduru start, kter� bude zavol�na k vy�e�en� �lohy. D�le m��e obsahovat libovoln� po�et dal��ch procedur, kter� pou��v�te. �e�en� se po�le tla��tkem Poslat �e�en�. Stisknut�m tohoto tla��tka dojde k automatick�mu vyhodnocen� va�eho �e�en�. V�sledek bude zobrazen na str�nce s v�sledkem.

Vyhodnocen� zaslan�ho �e�en�

Na t�to str�nce je zobrazen v�sledek pokusu o vy�e�en� p��kladu. Mo�n� hl�ky p�i vyhodnocov�n� �e�en�

�patn� zadan� heslo. Sout��c� XXXX m� jin� p��stupov� heslo. Zkuste to znovu. �e�en� nebylo zapo��t�no.
P�i odevzd�v�n� �e�en� bylo zad�no �patn� heslo. K vyhodnocen� �e�en� nedo�lo. P��klad nebyl nikam zapo��t�n. Tento pokus o vy�e�en� se neprojev� v ��dn�ch statistik�ch ani v seznamu doru�en�ch �e�en�. Nepoda�ilo se prok�zat, �e se skute�n� jedn� o dan�ho sout��c�ho. Ve sv�m WWW prohl��e�i pou�ijte funkci "zp�t" a vypl�te spr�vn� heslo.
�patn� zadan� jm�no sout��c�ho. Pou�ijte tla��tko "Zp�t" ve va�em WWW prohl��e�i a opravte jm�no sout��c�ho. Pokus o �e�en� nebyl zapo��t�n.
P�i odevzd�v�n� �e�en� bylo zad�no neexistuj�c� jm�no sout��c�ho. Patrn� p�eklep. K vyhodnocen� �e�en� nedo�lo. P��klad nebyl nikam zapo��t�n. Tento pokus o vy�e�en� se neprojev� v ��dn�ch statistik�ch ani v seznamu doru�en�ch �e�en�.
Tuto �lohu u� m�te vy�e�enou. Vy�e�il jste ji XXXX. �e�en� nebylo zapo��t�no.
Tuto �lohu ji� m�te vy�e�enou. K vyhodnocen� �e�en� nedo�lo. P��klad neby nikam zapo��t�n. Tento pokus o vy�e�en� se neprojev� v ��dn�ch statistik�ch ani v seznamu doru�en�ch �e�en�. Vyberte si jinou �lohu. Tuto �lohu ji� nem��ete �e�it.
Procedura XXX nem� definovan� t�lo!
Ve va�em zdrojov�m textu je zavol�na procedura, kter� nem� definovan� t�lo. Zdrojov� text jazyka mus� b�t �esky. Je-li XXX n�zev element�rn�ho p��kazu, pak nen� v �esk�m jazyce.
Au, to bol�! Narazil jsem hlavou do zdi.
Ve va�em �e�en� je chyba. Karel narazil hlavou do zdi, kdy� vykon�val v�mi zaslan� �e�en�.
Lituji, nemohu postavit v�ce cihel.
Ve va�em �e�en� je chyba. Karel nem��e postavit v�ce cihel. Chyba nastala, kdy� robot vykon�val v�mi zaslan� �e�en�.
Nemohu vz�t cihlu.
Ve va�em �e�en� je chyba. Karel p�i vykon�v�n� p��kaz� z va�eho zaslan�ho �e�en� se sna�� zvednou cihlu z pole, na kter�m ��dn� cihla nen�.
P��li� mnoho element�rn�ch povel� pro Karla!
P�i vykon�v�n� va�eho �e�en� dostal Karel p��li� mnoho element�rn�ch p��kaz�. Maxim�ln� po�et element�rn�ch p��kaz�, kter� m��e Karel vykonat je 5000.
Nezn�m� chyba p�i vytv��en� procedury.
Ve va�em zdrojov�m textu je bl��e neur�en� syntaktick� chyba.
Vnit�n� chyba. Omlouv�me se!
Za tuto chybu se omlouv�me. Jedn� se o chybu, za kterou nem��ete vy ale my. N�co se stalo ve vyhodnocovac�m syst�mu. Zkuste to za chv�li znovu.
V� zdrojov� text je v�t�� ne� 100000 byt�.
Zdrojov� text �e�en�, kter� pos�l�te k vyhodnocen� nesm� b�t v�t�� ne� 100000 byt�.
Ve va�em zdrojov�m textu nen� procedura start.
Zdrojov� text �e�en� mus� obsahovat metodu start. Metoda start je v�dy zavol�na. Po dokon�en� metody start mus� b�t spln�n �kol.
�patn� V� zdrojov� text nen� p�ijat!
Po ukon�en� procedury start nebyl spln�n po�adovan� �kol.
OK V� zdrojov� text je p�ijat jako spr�vn� �e�en� �lohy!
V podstat� se nejedn� o chybovou hl�ku. V�e �e�en� je spr�vn� a bylo p�ijato. M��ete se v�novat dal��m p��klad�m.
P��li� mnoho zavolan�ch procedur.
P�i vykon�v�n� va�eho �e�en� byla jedna procedura zavol�na v�ce ne� 1000 kr�t. To podle pravidel nelze.
Neo�ek�van� konec zdrojov�ho textu procedury XXX
Ve va�em �e�en� je syntaktick� chyba. Zkontrolujte, jestli procedura XXX m� spr�vn� z�vorky { a }
Nemohu naj�t za��tek bloku (znak \"{\" v
Ve va�em �e�en� je syntaktick� chyba. N�kde v procedu�e XXX sch�z� znak {
Nemohu naj�t konec bloku (znak \"}\" v XXX
Ve va�em �e�en� je syntaktick� chyba. N�kde v procedu�e XXX sch�z� znak }
�patn� pou�it� kl��ov�ho slova NE v procedu�e XXX
Ve va�em �e�en� je syntaktick� chyba. V procedu�e XXX je �patn� pou�ito kl��ov� slovo NE.
�patn� pou�it� kl��ov�ho slova JINAK v procedu�e XXX
Ve va�em �e�en� je syntaktick� chyba. V procedu�e XXX je �patn� pou�ito kl��ov� slovo JINAK.
Za kl��ov�m slovem DOKUD (resp. DOKUD NE) mus� n�sledovat podm�nka v procedu�e
Ve va�em �e�en� je syntaktick� chyba. V procedu�e XXX je �patn� pou�ito kl��ov� slovo DOKUD. Za DOKUD (resp. DOKUD NE) mus� n�sledovat jedna z podm�nek JeSever, JeZe�, JeCihla.
Kl��ov� slovo nesm� b�t pou�ito jako n�zev procedury XXX
Ve va�em �e�en� je syntaktick� chyba. Sna��te se pou��t jako n�zev procedury n�zev kl��ov�ho slova.

Zasl�n� hesla

Str�nka zobraz� informaci o odesl�n� hesla sout��c�mu na jeho elektronickou adresu.

Dopis s heslem byl odesl�n na adresu XXXXX.
Dopis byl �sp�n� odesl�n. P�e�t�te si do�lou po�tu, ve kter� bude dopis s va��m heslem. Dal�� ��dost o heslo nebude vy��zena d��ve ne� za 24 hodin.
Bohu�el, nepoda�ilo se odeslat dopis s heslem na adresu XXXXX.
Z n�jak�ch d�vod� se nepoda�ilo odeslat dopis na danou adresu. Bohu�el. Zkuste to za chv�li.
Va�e heslo nem��e b�t odesl�no. O heslo lze po��dat a� 24 hodin po posledn� ��dosti o heslo. Va�e posledn� ��dost o heslo byla XXX.
Jen 1x za 24 hodin lze po��dat o heslo.

Doru�en� �e�en�

Str�nka slou�� k zobrazen� informac� o doru�en�ch �e�en�ch, kter� jsou zapo��t�v�ny ve statistik�ch. Podle toho, z kter�ho m�sta tuto str�nku nav�t�v�te, m��e nastat jedna z mo�nost�:

  • Jsou zobrazeny v�echny pokusy o �e�en�.
  • Jsou zobrazeny pokusy o �e�en� dan� �lohy.
  • Jsou zobrazeny pokusy dan�ho hr��e o �e�en�.
  • Jsou zobrazeny pokusy dan�ho hr��e o �e�en� dan� �lohy.

V�dy jsou ale zobrazeny jen ty pokusy o �e�en� (�sp�n� �i ne�sp�n�), kter� jsou zapo��t�v�ny. Ostatn� zobrazeny nejsou (nejsou ani archivov�ny). Proto nap��klad odeslan� �e�en� u kter�ho je �patn� zad�no heslo sout��c�ho nen� zapo��t�no a tud�� ani zobrazeno.

Na str�nce je zobrazen� tabulka obsahuj�c� pokusy o �e�en�. V prvn�m sloupci je datum a �as doru�en�. V druh�m sloupci je n�zev �lohy. Jedn� se o odkaz, kter� se odkazuje na str�nku se zad�n�m dan� �lohy. V n�sleduj�c�m sloupci je jm�no sout��c�ho. Jedn� se o odkaz, kter� se odkazuje na str�nku s informacemi o sout��c�m. V posledn�m sloupci jsou v�sledky jednotliv�ch pokus� o �e�en�.

Krok za krokem pro za��naj�c�

P�edpokl�d�m, �e jste pr�v� objevili tyto str�nky a o sout�i nic nev�te. Jste na �vodn� str�nce a nev�te co d�lat. V t�to kapitole V�s krok po kroku provedu registrac� a vy�e�en�m prvn� �lohy.

Registrace

Nejprve se tedy mus�te zaregistrovat. Klikn�te na �vodn� str�nce na odkaz Registrace. T�m se dostanete na WWW str�nku s registra�n�m formul��em. Nyn� mus�te vyplnit informace. Uv�domte si, �e v�e co zde nap��ete bude zve�ejn�no na Internetu. Proto zde nepi�te ��dn� osobn� �daje. Nejprve zapi�te jm�no, pod kter�m budete v sout�i vystupovat. M��e to b�t p�ezd�vka nebo i t�eba k�estn� jm�no. Ka�d� hr�� mus� m�t jin� jm�no. Jestli�e jste kolektiv v�ce hr���, uve�te n�jak� n�zev charakterizuj�c� va�i skupinu. Nap��klad 6.B Z� Horn� Kot�hulky nebo Rychl� ��py a podobn�. D�le uve�te heslo, pomoc� kter�ho budete identifikov�ni p�i odevzd�v�n� �e�en�. Heslo by m�lo m�t alespo� 5 znak�. Uv�domte si, �e ka�d� kdo zn� heslo, m��e odevzd�vat pod jm�nem sout��c�ho �e�en� �loh. U skupiny sout��c�ch by m�l zn�t heslo ka�d� �len t�mu. U jednotlivce pouze jednotlivec. Heslo napi�te je�t� jednou do kolonky n��e. Heslo mus� b�t stejn�. T�m se zamezuje p�eklep�m. D�le uve�te adresu elektronick� po�ty (e-mail). Jestli�e n�kdy zapomenete heslo, bude v�m posl�no jen na tuto adresu. Na ��dnou jinou. Zb�v� u� jen doplnit slovn� charakteristiku sout��c�ho. Zde m��ete zadat n�co o sob�, co chcete aby o v�s ostatn� sout��c� v�d�li. Op�t nezapome�te, �e v�e bude zve�ejn�no na Internetu. Zb�v� stisknout tla��tko Zaregistrovat. Jestli�e se po stisku tla��tka objevili n�jak� komplikace pod�vejte se na kapitolu o Registrace. Jestli�e vid�te str�nku s n�pisem "Dru�stvo v�mi zadan� jm�no bylo �sp�n� zaps�no." znamen� to, �e v�e prob�hlo bez probl�m�. Nyn� se m��ete pod�vat na seznam zaregistrovan�ch hr���.

Seznam zaregistrovan�ch hr���

Klikn�te na odkaz Seznam zaregistrovan�ch sout��c�ch. Zde m�te tabulku, ve kter� vid�te po�et z�skan�ch bod� a jm�no v�ech zaregistrovan�ch sout��c�ch. Podrobn�j�� informace o ka�d�m sout��c�m m��ete z�skat kliknut�m na odkaz INFO.

Zm�na registra�n�ch �daj�

Vyberte si sebe a klikn�te na odkaz INFO. Zde vid�te informace o sob�. Proto�e nem�te vy�e�enu ��dnou �lohu, nen� zde tabulka informac� o vy�e�en�ch �loh�ch a o ne�sp�n�ch pokusech. Nev�te-li jak rozum�t �daj�m na t�to str�nce pod�vejte se na kapitolu Informace o sout��c�m. Nyn� jste si t�eba uv�domili, �e n�jak� �daj nen� zad�n spr�vn�. Chcete-li n�co zm�nit (ne heslo), klikn�te na odkaz Zm�na �daj�. Zde m��ete informace poopravit a kliknout na tla��tko Zapsat. Mus�te ale zadat spr�vn� heslo. Ka�d�, kdo zn� heslo, m��e m�nit informace o sout��c�m. Nikdo jin� ne. Chcete-li v�d�t v�ce o t�to str�nce, pod�vejte se na kapitolu Formul�� pro zm�nu registra�n�ch �daj�. Chcete-li zm�nit heslo, klikn�te na tla��tko Zm�nit heslo. Objev� se v�m str�nka na kter� budete po��d�ni o zad�n� star�ho hesla a o naps�n� nov�ho hesla dvakr�t. Pot� klikn�te na tla��tko Zm�nit. Jestli�e jste heslo zapomn�li, klikn�te na tla��tko Poslat heslo. Heslo v�m bude doru�eno po�tou. Takov� zm�ny, �i zas�l�n� hesla m��ete ud�lat kdykoliv v pr�b�hu sout�e. Nyn� se pod�v�me na seznam �loh.

Seznam �loh

Klikn�te na odkaz Seznam sout�n�ch �loh. Na zobrazen� str�nce je tabulka s informacemi o v�ech sout�n�ch �loh�ch. Je zde zobrazen n�zev �lohy, po�et bod� za vy�e�en� �lohy, po�et pokus� o vy�e�en� t�to �lohy a po�et �sp�n�ch pokus� o vy�e�en� �lohy. Posledn�m �dajem je �sp�nost vyj�d�ena v procentech. Jestli�e kliknete na ��slo ud�vaj�c� po�et pokus� o vy�e�en�, uvid�te kdo, kdy a s jak�m v�sledkem se pokusil vy�e�it �lohu. Jestli�e kliknete na n�zev �lohy, dostanete se na str�nku s konkr�tn�m zad�n�m �lohy.

Vy�e�en� �lohy

Vyberte �lohu s n�zvem �vodn� a klikn�te na jej� n�zev. Nyn� se nach�z�te na str�nce se zad�n�m �lohy. Tato �loha spo��v� v oto�en� robota na z�pad. Na�im �kolem tedy je ud�lat proceduru s n�zvem start, kter� oto�� robota na z�pad. Ve zdrojov�m textu, kter� budete odevzd�vat jako �e�en� mus� b�t v�dy jedna procedura s n�zvem start. Z t�to procedury m��ete volat jin� procedury, kter� tak� mus�te samoz�ejm� zapsat. Chcete-li v�ce porozum�t �daj�m na t�to str�nce pod�vejte se na kapitolu zad�n� p��kladu. Zamysleme se nad �e�en�m. N�koho by asi napadlo, �e �e�en� je jednoduch�. Prost� zavol�me povel vlevobok. Co p�i tom p�edpokl�d�me? P�edpokl�d�me, �e robot je oto�en p�ed vykon�n�m procedury start na sever. Tak jak je oto�en robot v programu p�i resetu. M��eme to p�edpokl�dat? NE! Nem��eme p�edpokl�dat nic, ne� to, co je uvedeno v p�edpokladech zad�n�. P�edpoklady jsou pouze takov�, �e robot nen� oto�en na z�pad. Znamen� to, �e m��e b�t oto�en kamkoliv krom� z�padu, m��e st�t kdekoliv, �achovnice m��e b�t libovoln� velik� a mohou na n� b�t rozm�st�ny libovoln� cihly. D�vejte si na podobn� chyt�ky pozor! Je jich v t�to sout�i spousta. Neb�t takov�ch chyt�k�, byla by sout� velice jednoduch�. Spr�vn� �e�en� tedy je:

 
procedure start 
{ 
   #Nejprve oto��me Karla na sever. 
   dokud ne jeSever 
   { 
      vlevobok 
   } 
   vlevobok 
   #Nyn� je Karel oto�en na z�pad 
} 

Poj�me tedy odevzdat �e�en�. Mus�te k tomu vyplnit formul�� na t�to str�nce. Do prvn� kolonky napi�te jm�no sout��c�ho, kter� odevzd�v� �e�en�. Je to jm�no, kter� jste uvedli p�i registraci. Do kolonky zdrojov� text napi�te �e�en�. �e�en� jsem ji� uvedl. Zkuste sem ale napsat jin� �e�en�. V mnoh�ch p��padech bude toti� nutn� m�t v�ce procedur ne� jen proceduru start. Uprav�me na�e �e�en� tak, aby m�lo dv� procedury. Uk�eme si na tom, jak odevzd�vat �e�en� s v�ce procedurami. Do kolonky zdrojov� text tedy napi�te:

 
procedure naSever 
{ 
   #Nejprve oto��me Karla na sever. 
   dokud ne jeSever 
   { 
      vlevobok 
   } 
} 
 
procedure start 
{ 
   naSever 
   vlevobok 
   #Nyn� je Karel oto�en na z�pad 
} 

Karel bude v�dy volat proceduru start. T�m m�me formul�� vypln�n�. Zb�v� kliknout na tla��tko Poslat �e�en�. Podobn�m zp�sobem m��ete pokra�ovat v �e�en� dal��ch �loh. �lohy za 1 bod jsou velmi jednoduch�. Pokud �e�en� p��mo nenajdete v dod�van� sb�rce p��klad�, ur�it� je bez probl�m� vy�e��te. V�ce bodov� �lohy jsou pon�kud n�ro�n�j��.

Zp�sob bodov�n�

�lohy jsou r�zn� bodov�ny. Lehk� �lohy maj� m�n� bod� ne� t�k� �lohy. To, jak je kter� �loha lehk� a t�k� rozhodujeme my. Jedn� se tedy o n� �ist� subjektivn� n�zor na slo�itost zad�n�. S t�mto n�zorem samoz�ejm� nemus� ka�d� souhlasit. Ur�it� zde najdete �lohy, kter� by jste ohodnotili jinak. A� u� v�ce nebo m�n� body. P�i ur�ov�n� po�tu bod� za vy�e�en� �lohy se ��d�me alespo� p�ibli�n� n�sleduj�c�mi pravidly.

Bodov� hodnocen� Slovn� popis
1 bod Lehk� �loha nebo �loha kter� je vy�e�en� ve sb�rce p��klad� dod�van�ch s Karlem. M��e se tak� jednat o �lohu, kter� je podobn� �loze ze sb�rky �loh dod�van� s Karlem. Nesta�� ale �lohu opsat ze sb�rky. Mus�te si p�e��st p�edpoklady a d�t si pozor na chyt�ky. P�ece jen si mus�te �lohu trochu promyslet.
2 body Lehk� �loha. Oproti jednobodov�m �loh�m je nutn� se trochu v�ce zamyslet nad p�edpoklady.
5 bod� St�edn� t�k� �loha. V�t�inou bude nutn� po��t rekurzi. Nen� to ale v�dy podm�nkou. K vy�e�en� �lohy je pot�eba se nad probl�mem zamyslet.
10 bod� T�k� �loha. Pro za��te�n�ka se �as pot�ebn� k vy�e�en� �lohy m��e pohybovat ��dov� v hodin�ch �ist�ho �asu. Hodn� je pot�eba d�vat pozor na p�edpoklady. N�kter� chyt�ky mohou b�t velice z�ke�n�.
15 bod� Super t�k� �loha.

Chybov� hl�en�

Chybov� hl�en� jsou pops�na v kapitole Vyhodnocen� zaslan�ho �e�en�.

Odpov�di na �asto kladen� ot�zky

  1. O �em ta sout� vlastn� je? Sout�� se v �e�en� �loh v programovac�m jazyce Karel. Program lze st�hnout z adresy http://xkarel.sourceforge.net/downloadsCZ.html.
  2. Co mus�m ud�lat, abych mohl sout�it? Je pot�eba se zaregistrovat. Registrace je zdarma pomoc� registra�n�ho formul��e.
  3. Mohou se zaregistrovat pouze jednotlivci nebo i skupiny? Je mo�n� zaregistrovat i skupinu v�ce lid� jako jednoho sout��c�ho. Jako sout��c� t�m p�dem m��e b�t t�eba skupina kamar�d� nebo i cel� �koln� t��da.
  4. Jsou v sout�i n�jak� ceny? NE
  5. Co znamenaj� n�kter� ty statistick� �daje u hr��� nebo u �loh? P�e�t�te si kapitolu "Str�nky" kde se dozv�te v�ce.
  6. Cht�l bych sout�it, ale n�jak jsem to nepochopil a nev�m co m�m d�lat. P�e�t�te si dob�e tento dokument, zvl�t� kapitolu Krok za krokem.
  7. Po odevzd�n� �e�en� mi to nap��e, �e nen� nalezena procedura start. Co s t�m? Procedura start mus� b�t v ka�d�m odevzdan�m �e�en�. Pr�v� tato procedura bude zavol�na. Po skon�en� procedury start mus� b�t spln�n zadan� �kol.
  8. Kdy� odevzd�m �e�en�, je tam po��d n�jak� chyba. Jak je to mo�n�? Podrobn� popis chyb je v kapitole Chyby. Nezapome�te, �e m��ete spol�hat jen na to, co je uvedeno v p�edpokladech. Jste si nap��klad jist�, �e va�e �e�en� je pou�iteln� na libovoln� rozestav�n� cihel? �e robot m��e st�t kdekoliv atd...?
  9. Jsme zaregistrov�n, ale zapomn�l jsem heslo. Co mi zb�v�? Nechte si zobrazit seznam v�ech sout��c�ch. Vyberte sebe a na str�nce s informacemi o v�s klikn�te na odkaz "Zm�na hesla". Pot� klikn�te na tla��tko poslat heslo. Heslo v�m bude doru�eno elektronickou po�tou. O heslo nem��ete po��dat �ast�ji ne� 1 kr�t za 24 hodin.
  10. M�m k programu nebo k t�to sout�i n�jak� p�ipom�nky. Jak v�m je m�m sd�lit? Byli by jsme vd��n�, kdyby jste n�m nepos�lali elektronickou po�tu. Sv� p�ipom�nky rad�ji zapi�te do diskuze. Je toti� mo�n�, �e n�kdo m�l podobnou p�ipom�nku d��ve. Zbyte�n� by jsme museli odpov�dat na stejnou p�ipom�nku dvakr�t.
  11. Na�el jsem chybu nebo m�l p�ipom�nku, kterou jsem napsal do diskuze. Nic se nestalo. Pro�? A� budeme m�t �as, ur�it� se na Va�� p�ipom�nku nebo upozorn�n� na chybu zam���me. V�voj programu i t�to sout�e jde velice pomalu. D�l�me to ve sv�m voln�m �ase a zadarmo. Vy�e�en� i ban�ln�ho probl�mu m��e trvat i cel� m�s�ce.
  12. Karel (a� u� program nebo tato sout�) se mi zal�bil a r�d bych pro V�s n�co ud�lal. Jak mohu pomoci? Uv�tali by jsme, kdyby n�m n�kdo pomohl s
    • p�ekladem Karla (hlavn� dokumentace) do ciz�ch jazyk�. Do angli�tiny jej p�ekl�d�me sami. Proto�e se ale sp��e v�nujeme programov�n�, jde n�m to velmi pomalu. Jin� ciz� jazyky neum�me.
    • programov�n�m Karla. Zde by jsme uv�tali, kdyby potenci�ln� pomocn�k s�m p�i�el s n�padem, co dod�lat. Ide�ln� by bylo, kdyby se jednalo o registrovan�ho GNU v�voj��e na serveru http://sourceforge.net. Nen� to ale podm�nkou. Samotn� Karel je naps�n v C++ s pou�it�m knihovny FLTK. Tato sout� je napsan� v PHP & MySQL & C++.
    • propagac�. Je mo�n� ps�t a publikovat �l�nky, recenze nebo kritiku (nejen pozitivn�) o Karlovi.
    • distribuc�. Licence Karla umo�n� komukoliv zdarma a leg�ln� ���it program xKarel. Jste-li distributorem n�jak�ho CD a zva�ujete o distribuci Karla na va�em CD, rad�ji n�m napi�te a domluv�me se. Licence v�s sice nenut� n�s o tom informovat, ale my v�m m��eme t�eba ��ci, �e v nejbli���ch dnech bude nov� verze nebo n�jakou podobnou informaci. Tak� by jsme r�di v�d�li, kde se Karel ����. Ur�it� nebudeme nikomu ���en� Karla zakazovat.
  13. Co za to budu m�t, kdy� v�m pom��u? NIC :-) Tak jako my.
  14. Jak� jsou c�le tohoto projektu? Chceme dostat Karla na CD distribuce opera�n�ho syst�mu LINUX. Znamen� to, �e Karel by se jednoho dne distribuoval po cel�m sv�t�.

Z�v�r

Tato sout� m� poslou�it k dal��mu roz���en� programu xKarel. Byla vyvinuta jako vedlej�� produkt p�i v�voji programu xKarel (robot Karel).