Scratch

Vizuální programovací jazyk

Jedná se o programování pomocí vizuálních prvků, které představují určitý kus kódu. Nejčastěji jde o obrázkové reprezentace v podobě ikonek. Odstraňuje se tak nutnost naučení se syntaxe konkrétního jazyka a stačí jen vědět, jak vhodné stavební bloky poskládat, tak, aby program dělal to, co chceme. To má své výhody ale i nevýhody. Výhodou je, že nemusíme znát syntaxi daného jazyka, pokud jsou bloky jednoznačně označené. Nevýhoda těchto jazyků je jejich funkční omezenost. Jde v podstatě jen o používání již předpřipravených bloků v konkrétním programovacím prostředí. Další nevýhodou může být přenositelnost. Většina těchto vizuálních programovacích jazyků potřebuje ke svému chodu nainstalované prostředí a program nekompiluje, jen interpretuje. Ve vizuálním programovacím jazyce tedy žádný, v praxi použitelný, program není možné vytvořit. Jedná se však o vhodný nástroj, jak se naučit programovat. [1]

Scratch

Scratch Logo

Scratch je jednoduchý vizuální programovací jazyk určený zejména pro děti (od 8 do 16 let). Je však vhodný také pro úplné začátečníky jakékoliv věkové skupiny pro pochopení základních principů při programování. Pro děti ve věku od 5 do 7 let poté existuje zjednodušená verze ScratchJr. Scratch vytváří a rozvíjí komunita kolem MIT Media Lab. Scratch slouží k výuce programování. Dají se pomocí něj vytvářet jednoduché hry, animace či interaktivní prezentace. Je dostupný na stránkách zde. [2] Umožňuje následně své výtvory sdílet s online komunitou. Je používán ve více než 150 zemích světa a je dostupný ve více než 60 jazycích. [3] Scratch funguje ve většině současných webových prohlížečů stolních i přenosných počítačích a tabletech. Projekty je možné prohlížet na mobilech, ale není možné zde projekty vytvářet či měnit. Je možné jej také využívat off-line a to prostřednictvím stažení aplikace Scratch. [4]

Programovací bloky (pomocí nichž se aplikace programuje) jsou rozděleny do několika kategorií. Tyto programovací bloky se potom vkládají na tzv. Sprity, což jsou obrázky, ať už bitmapové nebo vektorové, které představují postavičky v programu. Výsledkem potom může být hra, animace a další. [1]

Soubor:Gatto scratch.png
Postava kocoura

Obsahuje příkazy pro:

  • pohyb (mezi možné pohyby, které lze nastavit patří: posuň se o - kroků, otoč se doprava o - stupňů, natoč se k, jdi na -, směr, když narazíš na okraj odraz se atd.)
  • vzhled (např. řekni - , mysli si, ukaž, velikost, název pozadí, jdi do popředí, skryj se atd.)
  • zvuk
  • pero (např. smaž, otiskni se, nastav odstín pera na - atd.)
  • data(např. nastav proměnnou na-, změň proměnou o -)
  • události (např. po kliknutí na vlajku, rozešli všem -, po stisku klávesy -)
  • ovládání (např. čekej sekundu, když - tak, zastav -, opakuj dokud nenastane -)
  • vnímání
  • operátory
  • bloky

Obsahuje objekty:

  • projekt: programy ve Scratchi nazýváme Projekty. Můžeme si je představit jako loutkové divadlo. Máme k dispozici scénu, po které se pohybují postavy, které se řídí svými scénáři. Scéna může mít různé kulisy (pozadí) a postavy mohou převlékat kostým.
  • scéna: tvoří rámec a pozadí projektu. Jedná se o obrazovku, na které se projekt odehrává.
  • postava: jedná se o základní součást programu. Postavě pomocí scénářů říkáme, co má dělat a jak se má chovat. Pro vytvoření nového programu máme rovnou k dispozici postavu kocoura, ale můžeme přidat libovolné další postavy.
  • scénář: nebo-li skripta jsou řídící příkazy pro danou postavu nebo pro scénu. Tvoří se z programových bloků - příkazů.
  • podmínka: jedná se o otázku, na kterou program odpoví buď ane nebo ne. Pokud odpoví ano, je podmínka splněna, pokud ne, tak podmínka není splněna. Příkladem je: dotýká se postava okraje? Je myš stisknuta? [5]

Výhody

  • Během práce ve Scratchi se u dětí rozvíjí kreativní a logické myšlení a také schopnost algoritmizace (algoritmizace je postup při tvorbě programu pro počítač, kterým lze prostřednictvím algoritmu řešit nějaký problém). Dítě si sice „hraje“ s počítačem, ale při tom přemýšlí, počítá, kombinuje a tvoří.
  • Scratch vychází z technik programování běžně používaných v „profesionálních“ programovacích jazycích, čímž umožňuje snadný a přirozený přechod na vyšší programovací jazyky.
  • Scratch je ideální k vytváření jednoduchých her, které je možné vytvořit velmi rychle, což může být pro děti motivující.
  • Pro práci ve Scratchi nejsou nutné žádné zvláštní znalosti práce s počítačem. Stačí umět trochu pracovat s myší.
  • Scratch je česky, není nutná znalost angličtiny.
  • Jeho další výhodou je také to, že běží přímo ve webovém prohlížeči a je dostupný zdarma. [2]

Nevýhody

  • Scratch není „vážný“ programovací jazyk a chybí mu programovací koncepty (někteří odborníci jej kritizují za to, že v něm nejsou implementovány některé důležité programovací koncepty a je až příliš jednoduchý)
  • Nestandardní struktura cyklů (v jazyce Scratch jsou implementovány dva příkazy cyklu: forever if (opakuj dokola pokud) a repeat until (opakuj, dokud nenastane)).
    • příkaz forever if: je specifický tím, že musí být posledním příkazem v každé sérii příkazů, protože za něj nelze připojit jiný příkaz. [6]
    • příkaz repeat until: má podmínku na začátku cyklu, takže funguje jako kříženec příkazů repeat a while u většiny konvenčních jazyků. Jazyk Scratch lze proto použít pro výuku konceptu cyklů, cykly jsou pouze vyjádřeny mírně odlišným způsobem než u většiny ostatních programovacích jazyků.

Scratch Jr.

Již už zmínění Scratch Junior je vizuální programovací jazyk. Slouží jako pomůcka k výuce algoritmizace a programování. Prostředí této aplikace má velmi jednoduché rozhraní a dá se využít už pro žáky od mateřské školky. Aplikace obsahuje jen základní příkazy, které mají barevné rozlišení s velkými tlačítky s jednoduchým ovládáním a slouží tak k jednoduchému úvodu do programování. K dispozici jsou základní příkazy pro pohyb (krok, otočení), příkazy pro výstup (mluvení, zvuky), cyklus a zjednodušené podmínky. Postaviček může být na jedné ploše více a dokážou spolu komunikovat. Aplikace umí exportovat vytvořené projekty. [7]

Další vizuální programovací jazyky

Baltík

Jedná se se o program od české společnosti SGP Systems. Jde o programovací jazyk s vlastním vývojovým prostředím pro výuku programování na základních nebo středních školách. Umožňuje programovat pomocí obrázkových ikon. Od verze 4 lze programovat i pomocí kódu v jazyce C#. Baltík je zatím jediným plně grafickým standardním programovacím jazykem na bázi C a Pascal. Skládá se z režimu skládání scény, programování a malování. V prvním režimu se skládá scéna z malých obrázků, které se dají v dalším režimu programovat. V rámci programování se programuje herní logika pomocí ikonek, kde každá představuje kus kódu. Do scény lze vložit i předdefinovanou postavičku čaroděje Baltíka, kterého lze pomocí ikonek programovat. [1]

Kodu Game Lab

Jedná se o vizuální programovací jazyk od Microsoft Research Lab, pobočky firmy Microsoft. Je vytvořen speciálně pro tvorbu 3D her. Jde tedy zároveň i o herní engine s jednoduchým ovládáním, kde si každý může vytvořit hru bez znalostí programování. Tvorba probíhá v trojrozměrném světě, po kterém se může tvůrce jako pozorovatel pohybovat a na určitých místech tak může přidávat objekty a ty programovat znovu pomocí obrázkových příkazů. Opět je zde hlavní hrdina jako byl v předchozím případě Baltík. Zde se nachází robot Kodu či další roboti. Výsledek své práce si tvůrce může vyzkoušet přímo v programu a sdílet jej na speciálních stránkách s ostatními. [1]

Odkazy

Reference

  1. 1,0 1,1 1,2 1,3 VÍDEŇSKÝ, Zdeněk. Vizuální programovací jazyk. Olomouc: Univerzita Palackého v Olomouc, Přírodovědecká fakulta, Katedra informatiky, 2017. 66 s. Vedoucí bakalářské práce: Mgr. Tomáš Kühr, Ph.D. [cit. 2021-08-11]. Dostupné z: https://theses.cz/id/mmlalk/21661373
  2. 2,0 2,1 Co je Scratch a proč začít právě s ním? Scratch [online]. [cit. 2021-08-09]. Dostupné z: http://scratch.chaputo.cz/co-je-to-scratch/
  3. O Scratchi. Scratch [online]. [cit. 2021-08-09]. Dostupné z: https://scratch.mit.edu/about
  4. Často kladené otázky. Scratch [online]. [cit. 2021-08-09]. Dostupné z: https://scratch.mit.edu/info/faq
  5. Příkazy a objekty jazyka Scratch. Scratch - programování pro děti [online]. [cit. 2021-08-15]. Dostupné z: http://scratch.chaputo.cz/prikazy-objekty-jazyka-scratch/
  6. HALOUSKOVÁ, Alena. Učebnice jazyka Scratch. [online]. Brno: 2012 Vedoucí diplomové práce: doc.RNDr. Tomáš Pitner, Ph.D. [cit. 2021-08-09]. Dostupné z: https://is.muni.cz/th/vrs79/DP_Halouskova.pdf
  7. Úvod. Začínáme se SCRATCH JUNIOR [online]. [cit. 2021-08-15]. Dostupné z: https://scratchd18234.estranky.cz/

Doporučená literatura

  • MCMANUS, Sean. Jak se naučit programovat v 10 lekcích. První české vydání. Praha: Svojtka & Co., 2017. 64 stran. Super lekce. ISBN 978-80-256-2046-5.
  • Programování pro děti: naučte se programovat při tvorbě skvělých her. 1. vyd. Brno: Computer Press, 2013. 159 s. ISBN 978-80-251-3809-0.
  • KAFAI, Yasmin B. Connected code: why children need to learn programming [online]. Cambridge, Massachusetts: The MIT Press, [2014]. The John D. and Catherine T. Macarthur foundation series on digital media and learning [cit. 2021-08-09]. ISBN 0-262-31924-1. Dostupné z: http://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&db=nlabk&AN=815362.
  • VAN PUL, Sergio. Scratch 2.0 game development hotshoot: 10 engaging projects that will teach you how to build exciting games with the easy-to-use Scratch 2.0 environment [online]. Birmingham, England: Packt Publishing Ltd, 2014, ©2014 [cit. 2021-08-09]. ISBN 978-1-84969-757-6. Dostupné z: https://ebookcentral.proquest.com/lib/natl-ebooks/detail.action?docID=1481123.
  • MILONOVICH, Brandon. Scratch cookbook [online]. Birmingham, UK: Packt Pub., 2013 [cit. 2021-08-09]. Dostupné z: https://ebookcentral.proquest.com/lib/natl-ebooks/detail.action?docID=1236051.

Související články

Klíčová slova

vizuální programovací jazyk, programování, počítačové hry, programovací jazyk