Programování

Programovací jazyky

Určitě jsi se už trochu seznámil s aplikacemi a softwarem. Kde se ale aplikace vzaly? Jeden by si myslel, že se prostě objevily. Ale tak tomu opravdu není. Za každou aplikací nebo programem se skrývá člověk, kterému se říká programátor. Je to takový šikovný člověk, který dostane nápad a pak ho pomocí speciálních jazyků zformuje do podoby aplikace.

Nejsložitější aplikací je operační systém. Na něm se většinou podílí více programátorů v různých skupinách, diskutují, co by vylepšili, kde by co změnili a co je potřeba opravit. Na spoustě aplikací ale pracují programátoři sami. Dokonce i ty by sis mohl zkusit vytvořit nějakou aplikaci, třeba jednoduchou hru. Ale vezmeme to pěkně po pořádku.

Aby aplikace mohla vzniknout, musíme umět speciální jazyk, kterému se říká jazyk programovací. Takových jazyků je spousta a každý je vhodný na některé věci více a na některé méně. Třeba pro webové stránky používáme jazyk HTML. Zápis tvé oblíbené stránky si můžeš zobrazit, když v prohlížeči klikneš pravým tlačítkem a zvolíš možnost Zobrazit zdrojový kód stránky. Je to spousta různých značek a bude se ti to špatně číst, ale počítač to přelouská raz dva.

Programovací jazyky se dělí na různé skupiny třeba podle toho, jestli jsou určené pro pobavení nebo pro opravdovou práci. Takovým vtipným jazykem je například Ook!, Omgrofl nebo Whitespace. Whitespace neuvidíte, Ook! obsahuje pouze příkazy Ook?, Ook! a Ook. a Omgrofl používá zkratky a výrazy používané v internetové mluvě. Pro milovníky divadla je tady jazyk Shakespeare, ve kterém musíte veršovat jako slavný spisovatel. A kdo by neměl rád jídlo, že? Pro šéfkuchaře a gurmány existuje jazyk Chef, ve kterém píšete recept.

Pro tvorbu programů a aplikací programátoři používají ale lepší jazyky, ve kterých se vyznají a neztratí. Nejpoužívanější jsou Java, Python, C# nebo PHP. Pro naše začátky jsou ale zatím moc složité. Pro výuku a použití do škol jsou vhodnější dětské jazyky. Na nich se naučíme, jak takové programování funguje, co dokážeme vytvořit a že to vlastně není nic složitého.

Vaši rodiče se možná setkali s jazykem Karel. Byl to robot, který se dokázal pohybovat po kostičkách, přenášet cihly a plnit různé úkoly. Ale s dnešními hrami se to srovnávat nedá. Další jazyk je Baltík, ve kterém ovládáme čaroděje Baltazara a plníme s ním úkoly. Na kreslení tzv. želví grafiky (geometrické obrazce, vločky, …) se využívá jazyk Logo. Pomocí příkazů pohybujeme po plátně želvou se štětcem, která kreslí čáry a obrazce.

Pro naše první hry si vyzkoušíme jazyk Scratch. Můžeme si ho stáhnut jako editor do počítače, kdy nebudeme potřebovat internet, nebo pracovat přes internet a tím si můžeme hrát na kterémkoli zařízení s přístupem k internetu. Při prvním spuštění zde najdeme postavičku kocoura, kterého můžeme ovládat, a spoustu dílků s pokyny, které do sebe zacvakáváme jako puzzle. Skládáním dílků pod sebe vytváříme kód, který po spuštění postava kocoura provede. Pokud mu tedy řekneme, že má popojít o 10 kroků dopředu, tak se po obrazovce posune. Skládáním dílků k sobě můžeme kocoura naučit skákat, létat, běhat nebo i kreslit.

Nyní si tedy ukážeme, jak Scratch vypadá, kde najdeme jednotlivé pokyny a zkusíme si naprogramovat jednoduchou hru.

Záložka č. 2

Vestibulum ac sollicitudin urna, ac elementum nisi. In elit ipsum, pretium sed urna a, cursus tempor justo. Sed fringilla tempor metus, eget eleifend dui tristique ac. Vivamus volutpat lorem turpis, eu molestie tortor ornare vitae.

Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium feugiat scelerisque.

Mauris rutrum
lacus dolor

vel lacinia nulla placerat eget. Sed at elit eget justo consequat luctus. Donec finibus turpis tortor, et vestibulum turpis lacinia ut. Maecenas quis augue nisl. Proin finibus, lectus eu scelerisque suscipit, justo velit mattis est, id pretium dolor leo varius libero. Sed non velit et leo eleifend tempor et in libero. Integer a ultrices sem, vitae iaculis nisi.

Sed dolor enim, vestibulum accumsan ante et, elementum luctus risus. Sed dapibus, est vitae fringilla aliquam, turpis turpis sodales mi, ut pharetra tellus eros non ex. In eget fermentum erat. Vivamus ultricies accumsan diam nec congue.

Pellentesque accumsan, mi a feugiat posuere, magna lorem lacinia urna, id finibus lorem neque in est. Mauris fringilla libero in leo viverra vestibulum. Donec efficitur eros eu odio dictum, id fermentum leo eleifend. Cras non bibendum ipsum. Aliquam interdum lacus eget tortor gravida convallis. Aenean et pellentesque sapien, quis vehicula lacus. Nunc dignissim molestie enim, sed egestas metus sodales quis.

Záložka č. 3

Vestibulum ac sollicitudin urna, ac elementum nisi. In elit ipsum, pretium sed urna a, cursus tempor justo. Sed fringilla tempor metus, eget eleifend dui tristique ac. Vivamus volutpat lorem turpis, eu molestie tortor ornare vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium feugiat scelerisque.

Mauris rutrum lacus dolor

vel lacinia nulla placerat eget. Sed at elit eget justo consequat luctus. Donec finibus turpis tortor, et vestibulum turpis lacinia ut. Maecenas quis augue nisl. Proin finibus, lectus eu scelerisque suscipit, justo velit mattis est, id pretium dolor leo varius libero. Sed non velit et leo eleifend tempor et in libero. Integer a ultrices sem, vitae iaculis nisi.Sed dolor enim, vestibulum accumsan ante et, elementum luctus risus. Sed dapibus, est vitae fringilla aliquam, turpis turpis sodales mi, ut pharetra tellus eros non ex. In eget fermentum erat. Vivamus ultricies accumsan diam nec congue. Pellentesque accumsan, mi a feugiat posuere, magna lorem lacinia urna, id finibus lorem neque in est. Mauris fringilla libero in leo viverra vestibulum. Donec efficitur eros eu odio dictum, id fermentum leo eleifend. Cras non bibendum ipsum. Aliquam interdum lacus eget tortor gravida convallis. Aenean et pellentesque sapien, quis vehicula lacus. Nunc dignissim molestie enim, sed egestas metus sodales quis.

zdroj: scratch.mit.edu

Po spuštění programu si hned všimneme okna rozděleného na tři části. V tom největším skládáme puzzlíky do kódu pomocí příkazů z nabídky vlevo. Vpravo nahoře se nám zobrazuje vzhled programu, který právě sestavujeme, a můžeme si ho zde přehrát a zkontrolovat. Pod tímto okénkem najdeme seznam postav, které můžeme přidávat, odebírat či upravovat.

Nabídka příkazů je rozdělena logicky na devět částí. Nás bude nejvíce zajímat prvních šest. V sekci Pohyb nalezneme příkazy, které pohybují postavičkou, kterou máme právě zvolenu. Postavička umí chodit, skákat, klouzat, měnit směr nebo se otáčet. V sekci Vzhled můžeme postavičce změnit kostým, zobrazit bublinu promluvy, zvětšovat a zmenšovat ji, prostě s ní dělat všelijaké grafické triky. V sekci Zvuk nalezneme spoustu melodií, které můžeme přehrát, nebo nastavení hlasitosti. V sekci Události jsou veškeré aktivity, kterými začíná nebo končí nějaká část kódu programu. V sekci Ovládání nalezneme tzv. cykly a podmínky. To jsou takové speciální struktury, které nám zjednoduší zápis kódu, aby nebyl tak dlouhý. Cyklus nám provede opakování určité části programu, třeba udělá krok, dokud postavička nedojde na kraj okna. Podmínka zase větví program, to znamená, že pokud se něco stane, provede se jedna část kódu, jinak se provede část jiná. V sekci Vnímání postavička zjišťuje, jestli je zmáčknutá některá klávesa, dotýká se některé barvy nebo klade otázku, na kterou vyžaduje odpověď. V sekci Operátory najdeme matematické a logické operace, jako je plus, mínus nebo třeba spojka a. V sekci Proměnné si vytvoříme svoji „krabičku“ do které můžeme uložit různé věci, nebo je z ní naopak vyndat. Tyto „krabičky“ jsou již trochu složitější, takže se s nimi setkáte spíše až ve vyšších ročnících nebo speciálních kroužcích, kde je budete využívat. Poslední sekcí je Moje bloky. V této sekci si můžeme vytvořit kód pro nějakou činnost, kterou budeme často používat a tím si poté zkrátit kód.

Již jsme si tedy popsali, kde se nacházejí jednotlivé povely, ale jak je použít? Není nic jednoduššího než si s nimi začít hrát. Na začátku máte kocourka, který nic neumí, jen tak si stojí uprostřed bílé plochy a nic nedělá. Naším prvním úkolem bude kocourka rozpohybovat, tedy ho zkusíme naučit povel Udělej krok. Jednotlivé povely se skládají jako puzzle. Musejí mít nějaký začátek a případně také konec. V sekci Události vybereme povel Po kliknutí na zelený praporek. Tím řekneme, že se má něco stát hned, jak program zapneme. Abychom kocourka něco naučili, vezmeme tento povel a přetáhneme ho myší do prázdného pole vedle nabídky pokynů.

Dále kocourkovi musíme říct, aby udělal krok. To provedeme v sekci Pohyb, kde vybereme Dopředu o 10 kroků. Tento povel opět přetáhneme do volného pole a připojíme ho jako puzzle k prvnímu dílku se startem. Jelikož ale chceme, aby kocourek udělal pouze jeden krok, tak číslo 10 musíme přepsat na číslici 1. To provedeme kliknutím myši na dané číslo a napsáním číslice 1 na klávesnici.

Teď už kocourek umí postoupit o jeden krok dopředu. Jestli se povel opravdu naučil ověříme kliknutím na zelenou vlaječku nad pravým oknem s postavičkou kocoura. Pokud budete klikat vícekrát, kocourek vám dojde až na konec obrazovky. 

Dále si zkusíme kocourka otočit. To se opět naučíme v sekci Pohyb, kde zvolíme příkaz Otoč se o 15 stupňů. Abychom kocourka otočili na opačnou stranu, musíme ho otočit o 180 stupňů. To zajistíme kliknutím myší na číslo 15 a na klávesnici ho přepíšeme na 180.

Pokud program spustíme zelenou vlaječkou, začne se kocourek otáčet. Všimli jste si, že se chová nějak zvláštně? Vždyť je po otočení vzhůru nohama! Jako by se ocitl u protinožců. My si tedy opravíme směry otáčení tak, aby se kocourek opravdu otočil a zůstal při tom nohama na zemi. V Pohybu najdeme příkaz nastav otáčení. Tento příkaz přidáme do kódu před povel otočení. Zkontrolujeme, že máme otáčení nastaveno na vlevo-vpravo a poté zkusíme prográmek znovu spustit. Tak co? Už zůstal nohama na zemi? Pokud ano, máte vše správně, pokud ne, tak jste nejspíš přidali otáčení na špatné místo.

Kocourka jsme naučili pohyb vpřed a otočku. Nyní si zkuste sami vymyslet, co by kocourek ještě mohl umět. Co ho naučit třeba skákat nebo létat? Pokud budete šikovní a budete si zkoušet spojovat puzzlíky, jistě na to přijdete.

Více vzorových úloh se zadáním i řešením naleznete ve cvičebnici.