Karel (programovací jazyk)
Paradigma | procedurální |
---|---|
Vznik | 1981 |
Autor | Richard E. Pattis |
Ovlivněn jazyky | Pascal |
Ovlivnil jazyky | Karel++, AgentSheets, Guido van Robot |
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). Tato varianta Karla je dodnes aktualizovaná (naposledy v roce 2021) a funguje kolem ní komunita uživatelů a programátorů.
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.
V hudbě
[editovat | editovat zdroj]Robot Karel se objevuje v klipu Nikdy nic nebylo od Sto zvířat[2]
Odkazy
[editovat | editovat zdroj]Reference
[editovat | editovat zdroj]Literatura
[editovat | editovat zdroj]- PATTIS, Richard E. Karel The Robot: A Gentle Introduction to the Art of Programming. 2. vyd. [s.l.]: John Wiley & Sons, 1995. Dostupné online. ISBN 0-471-59725-2, ISBN 978-0-471-59725-4.
- 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.
Externí odkazy
[editovat | editovat zdroj]- Obrázky, zvuky či videa k tématu Karel na Wikimedia Commons
- Kniha Programovací jazyk Karel ve Wikiknihách
- Syntaxe jazyka Karel
- Karel++
- Slovenská verze (Robot Karol++)
- Robot Karel: vývojové prostředí
- xKarel - další Karel pro PC
- Robot Karel pro iPad Archivováno 22. 2. 2014 na Wayback Machine.
- Karel-3D v JavaScripte a C++ (sk) (en) (de) (es) 2018
- Karel-3D s WebGL (sk) (en) (de) (es) 2018
- Česká verze Karel 1981 (2021)
- Dobrý Karel ještě žije/Dobrý Karel žije víc, než jsem čekal (přehledové články, Česká škola, 2004) Archivováno 18. 5. 2023 na Wayback Machine.