Karel (programovací jazyk)

programovací jazyk

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.

Karel
Paradigmaprocedurální
Vznik1981
AutorRichard E. Pattis
Ovlivněn jazykyPascal
Ovlivnil jazykyKarel++, AgentSheets, Guido van Robot

Původní robot Karel

editovat

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

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

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

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

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

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

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

Reference

editovat

Literatura

editovat

Externí odkazy

editovat