Karel (programovací jazyk)

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Karel je programovací jazyk (a většinou také vývojové prostředí) určený pro výuku programování naprostých začátečníků. Programy umožňují ovládat robota pohybujícího se po čtvercové síti.

Původní robot Karel[editovat | editovat zdroj]

S myšlenkou výuky programování prostřednictvím tvorby programů pro svět robotů přišel na přelomu 70. a 80. let 20. století Richard E. Pattis, který jej používal na Stanfordově univerzitě při výuce studentů. Pojmenoval jej Karel (a ne Charles) jako poctu Karlu Čapkovi, který slovo robot zavedl do světového slovníku.

V Pattisově verzi se robot pohyboval ve městě sestávajícím z vodorovných ulic (streets) a svislých bulvárů (avenues – svislý směr měla připomínat první písmena: AV).

Robot rozuměl 5 základním příkazům: move (přesuň se na další křižovatku), turnleft (otoč se vlevo), putbeeper (polož bzučák), pickbeeper (zvedni bzučák) a turnoff (vypni se), dokázal testovat, zda je před ním volno, zda jsou v jeho blízkosti bzučáky a na kterou stranu je natočen. S pomocí těchto základních příkazů a pomocí programových konstrukcí (sekvence, smyčky, podmíněné příkazy) bylo možno definovat nové příkazy a používat je v programu.

V půli 90. let byl Pattisův Karel opuštěn, když Stanford začal při výuce používat programovací jazyk Java. Od roku 2005 se Karel do Stanfordu vrátil v nové implementaci právě v jazyku Java a IDE Eclipse. V současnosti studenti na Stanfordu začínají v jazyku Karel a během několika týdnů plynule přecházejí k Javě.[1]

Příklad[editovat | editovat zdroj]

Jednoduchý příklad programu v programovacím jazyce Karel:

BEGINNING-OF-PROGRAM
 
 DEFINE turnright AS
 BEGIN
   turnleft
   turnleft
   turnleft
 END
 
 BEGINNING-OF-EXECUTION
   ITERATE 3 TIMES
     turnright
 
   turnoff
 END-OF-EXECUTION
 
END-OF-PROGRAM

Lokalizace[editovat | editovat zdroj]

V Česku byla původní myšlenka lehce upravena. Robot se pohyboval po obdélníkovém, šachovnicovitě uspořádaném dvorku, na jehož políčka pokládal či z nich zvedal značky. Jeho základní příkazy byly přeloženy do češtiny: Krok, VlevoVbok, Polož (rozuměj značku) a Zvedni (značku). Kromě toho uměl otestovat, je-li před ním zeď, je-li pod ním značka a je-li otočen na sever.

Robot Karel může vykonávat velmi rozmanité činnosti: od primitivních příkazů typu VpravoVbok přes jednoduché skoky, oběhy pole a kreslení různých obrazců z Karlových značek, až ke složitému hledání značek v bludišti nebo sčítání a porovnávání čísel (představovaných počtem značek na jednotlivých políčcích).

Na Slovensku vznikla verze s názvem Robot Karol++, u které jsou klíčová slova ve slovenštině a která obsahuje některá další rozšíření. Tato verze byla později přeložena i do češtiny, angličtiny a němčiny.

Metodika[editovat | editovat zdroj]

Kolem české verze Karla vznikla rozsáhlá metodika s řadou nejrůznějších výukových materiálů. Tato metodika v první etapě výuky vůbec nepoužívá v programech proměnné, čímž snižuje nároky na množství látky, kterou je třeba žákům přednést. Žáci se v této etapě naučí především dekomponovat složitější problémy na sadu problémů jednodušších a používat základní programové konstrukce. Používání proměnných se zavádí až při přechodu na konkrétní programovací jazyk. Zde žáci používají knihovnu simulující jim známý svět robota Karla. Nejprve se při přepisování svých programů pro robota Karla naučí základy syntaxe použitého programovacího jazyka a v dalších etapách začnou tyto programy zdokonalovat využitím proměnných.

Karel++[editovat | editovat zdroj]

Programovací jazyk Karel byl později rozšířen na objektově orientovaný jazyk označený Karel++ (po vzoru C++). Tento jazyk je syntakticky podobný jazyku Java.

Karel H[editovat | editovat zdroj]

Nová modifikace programovacího jazyka karel++, která má implementováno nové GUI a prvky programovacího jazyka C#. Syntaxe příkazů je podobná CSS, HTML a JAVA. Tato modifikace byla pojmenována podle autora Karla Hladíka.

Reference[editovat | editovat zdroj]

  • Richard E. Pattis. Karel The Robot: A Gentle Introduction to the Art of Programming. John Wiley & Sons, 1981. ISBN 0-471-59725-2.
  • Joseph Bergin, Mark Stehlik, Jim Roberts, Richard E. Pattis. Karel++: A Gentle Introduction to the Art of Object-Oriented Programming. John Wiley & Sons, 1996. ISBN 0-471-13809-6.

Související články[editovat | editovat zdroj]

Robot Karel se objevuje v klipu Nikdy nic nebylo od Sto zvířat[2]

Externí odkazy[editovat | editovat zdroj]

Zdroje[editovat | editovat zdroj]

  1. http://lia.deis.unibo.it/Courses/FondA0809-AUT/materiale/karellearnsjava.pdf
  2. klip na Youtube