Na této stránce se dozvíš to nejdůležitější o programovacím jazyku, kterým se ovládá želvička. Seznámíš se se základními příkazy a zkusíš si sám (sama) vytvořit jednoduché prográmky.
Programovat znamená dávat počítači návod, jak řešit nějaký problém. Počítač umí mnoho věcí, ale musí se mu přesně říct, co má udělat a jak to má udělat. Je to jen hloupý stroj, lidé -- programátoři -- jsou tu od toho, aby počítač naučili provádět užitečné věci. K tomu složí takzvané programovací jazyky. Ty jsou podobné jazykům přirozeným, pro počítač je však jednodušší jim porozumět. Zápis v programovacím jazyce připomíná tak trochu kuchařku. Věci, které má počítač provést, jsou zapsány krok za krokem a to častokrát velmi stroze a stručně.
Slovo procedura má v češtině více významů, nás však bude zajímat jen jeden z nich. Procedura je laicky řečeno část počítačového programu, která řeší jednu konkrétní úlohu. Představ si počítačový program, který má za úkol nakreslit domeček. Domeček se skládá například ze střechy, z okna, dveří a přední zdi. Okno může mít tvar čtverce, dveře a přední zeď mohou mít tvar obdelníka a střecha tvar trojúhelníka. V našem počítačovém programu bychom tedy mohli vytvořit čtyři procedury:
Neměj strach, že hned v úvodu si ukážeme tak složitý příklad, jako je kreslení domečku. Ze začátku budeme vytvářet pouze takové prográmky, které si vystačí s jednou procedurou. Je ale dobré vědět, co to vlastně procedura je a k čemu slouží.
Pojďme si tedy zkusit napsat první malý program. Každý program v jazyce pro ovládání želvičky, má-li něco dělat, musí obsahovat alespoň jednu proceduru. Když program Želví grafika pustíš, v levé části okna uvidíš seznam procedur. Zatím je prázdný. Proceduru do něj přidáš tak, že stikneš tlačítko na horní liště s nápisem nová proc. Zadej název procedury, například prvni, a potvrď stisknutím tlačítka vytvořit. Otevře se nové okno.
Textové pole, do kterého se mají zadat parametry, nech prázdné. O parametrech bude řeč později. Do hlavní textové plochy, nadepsané Sem pak napiš, co má tvá procedura dělat, napiš toto:
vpred o 100;
Dodržuj velikost písmen. Když bude v ukázce na nějakém místě malé písmeno, piš malé písmeno. Když se v ukázce objeví velké, použij velké. Jinak by ti Želví grafika nerozuměla. Jakmile budeš hotov(a), zavři editační okno a potvrď, že chceš proceduru uložit. V seznamu v levé části okna přibyla jedna položka -- právě vytvořená procedura. Poklepej (tzn. dvakrát za sebou klikni) na její název. Pokud je vše v pořádku, želvička se pohne dopředu a zanechá za sebou stopu. Želvička, tak se říká té modré šipce, která se pohybuje ve směru, kterým ukazuje, a nechává za sebou stopu, odtud název Želví grafika. Stopa má délku sto obrazovkových bodů. Nemusíš přesně vědět, co to je obrazovkový bod, snadno si ale uděláš představu, jak je dlouhý.
Jakmile jsi poklepal(a) na název procedury, Želví grafika začala
zpracovávat kód tvé procedury příkaz po příkazu. Co je to příkaz?
Příkazem říkaš, co se má provést. Naše právě vytvořená procedura
obsahuje pouze jediný příkaz, a tím je vpred o 100;
.
Ten znamená "posuň želvičku o 100 bodů dopředu".
Podívejme se, z čeho se příkaz skládá. Nejdůležitější je takzvané
klíčové slovo (např. vpred
). Tím Želví grafice
sdělíme, jaký úkon se má provést. Spoustu příkazů musíme navíc
upřesnit pomocí parametru, v našem případě je parametrem
číslo 100
. U každého příkazu musíme dodržovat něco,
čemu se říká syntax (nebo také syntaxe),
tedy přesně stanovená pravidla pro jeho zápis, něco jako pravopis v češtině.
Správná syntax příkazu vpred
je vpred o delka
.
Pokud syntax nedodržíš, Želví grafika bude protestovat (nemůžeš třeba napsat
vpred 100
, Želví grafika si předložku o
nedokáže domyslet, je to přece jenom hloupý počítačový program). Dále si
všimni, že náš příkaz je zakončen středníkem. Každý příkaz
musí být zakončen středníkem, podle toho Želví grafika pozná, kde příkaz končí.
Posloupnosti příkazů budeme říkat kód procedury nebo také
zdrojový kód.
otoč
Označ v seznamu v levé části okna naši proceduru a stiskni tlačítko
edituj na horní liště. Znovu se otevře editační okénko
s procedurou. Za konec kódu procedury napiš příkaz otoc o 90;
,
zavři editační okno, potvrď uložení procedury a spusť ji poklepáním
na její název v seznamu vlevo. Želvička by se měla opět pohnout dopředu
o 100 obrazovkových bodů a zanechat stopu, poté by se ale měla otočit o 90 stupňů
po směru hodinových ručiček.
A pojďme experimentovat dále. Opět otevři editační okénko s procedurou
a za konec zdrojového kódu přídej příkaz vpred o 100;
.
Pro přehlednost piš každý příkaz na samostatný řádek (byť to není nutné,
jak jsme si řekli, Želví grafika pozná konec příkazu podle středníku).
Zdrojový kód by tak měl vypadat následovně:
vpred o 100;
otoc o 90;
vpred o 100;
Proceduru ulož, smaž si plochu, na kterou se kreslí (tlačítkem smaž plochu), aby ti starý obrázek nepřekážel. Pak proceduru spusť. Jak vidíš, Želví grafika vykonala příkazy jak byly napsány za sebou a výsledkem jsou dvě na sebe kolmé úsečky.
Úloha: vytvoř novou proceduru, která nakreslí čtverec o straně délky 50.
Bílým znakem se v Želví grafice rozumí mezera nebo konec řádku. Bílé nebo též netisknutelné znaky se jim říká proto, že nemají žádný vliv na zpracování kódu procedury. Libovolně dlouhou posloupnost libovolných bílých znaků lze použít v podstatě kdekoliv v kódu -- pochopitelně ne uprostřed slova (klíčového slova, jména procedury, typu, proměnné, funkce -- tyto pojmy budou vysvětleny později). Používání bílých znaků by mělo tvůj kód zpřehlednit, pomoci v lepší orientaci. Následující dvě ukázky kódu slouží k tomu, aby sis udělal(a) obrázek o tom, k čemu používání bílých znaků je. Příkazům, které jsou v nich použity, ještě rozumět nebudeš, to však není důležité. Všimni si hlavně, jak mohou bílé znaky tvůj kód zpřehlednit. V první ukázce není použito žádné formátování pomocí bílých znaků.
pokud $n = 0:
vpred o $d;
jinak:
koch2 $n - 1
$d / 3;
otoc o 60;
koch2 $n - 1
$d / 3;
otoc o -120;
koch2 $n - 1
$d / 3;
otoc o 60;
koch2 $n - 1
$d / 3;
konec;
V následující ukázce je formátování použito, kód je daleko pěknější a snáze se v něm vyznáš.
pokud $n = 0:
vpred o $d;
jinak:
koch2 $n - 1
$d / 3;
otoc o 60;
koch2 $n - 1
$d / 3;
otoc o -120;
koch2 $n - 1
$d / 3;
otoc o 60;
koch2 $n - 1
$d / 3;
konec;
Na závěr si ukážeme několik příkazů, které jsou jednoduché, a přesto dokážou zpestřit tvé prográmky.
Prvním z nich je příkaz tloustka
, kterým můžeš nastavit tloušťku
pera, kterým želvička kreslí. Jeho syntax je tloustka bud cislo
,
kde cislo
predstavuje tloustku pera v obrazovkovych bodech.
Zkus si tedy vytvořit a pustit proceduru s tímto kódem:
tloustka bud 10;
otoc o 15;
vpred o 100;
otoc o 150;
vpred o 100;
Příkazu tloustka
je podobný příkaz barva
. Jeho syntax je
barva bud barva
, kde za barva
je třeba dosadit některé ze slov cervena
, zelena
,
modra
, zluta
, bila
, cerna
,
fialova
, seda
, podzimni
, oranzova
,
ruzova
, bledemodra
, hneda
.
Někdy může vadit, že želvička za sebou zanechává stopu. Pokud chceš želvičku
posunout vpřed a nechceš při tom kreslit čáru, použij příkaz zvedni
,
který zvedne pero (tedy po použití tohoto příkazu nebude želvička nechávat stopu).
Pro opětovné položení pera slouží příkaz poloz
. Žádný z těchto
příkazů nebere žádný parametr a nemá zvláštní syntax. Tady je ukázka kódu
(nakreslí přerušenou čáru).
vpred o 50;
zvedni;
vpred o 10;
poloz;
vpred o 50;
Pokud chceš přímo z kódu procedury smazat obsah plochy, na niž želvička
kreslí, použij příkaz smaz!;
. Vykřičník patří k syntaxi příkazu
a jeho nepoužití je chybou. Pokud nechceš, aby byla želvička viditelná,
napiš příkaz zelvicku skryj;
. Chceš-li, aby se znovu objevila,
zadej příkaz zelvicku ukaz
.
Na konec se podíváme na rozšířenou syntaxi příkazu otoc
. Tomuto
příkazu lze zadat coby parametr úhel ve stupních, o který se má želvička
otočit po směru hodinových ručiček. Pokud toto nevyhovuje a chtěl(a) bys,
aby se želvička otáčela proti směru hodinových ručiček, napiš v příkaze
za hodnotu úhlu slovo doleva
. Tento kus kódu
vykreslí lomenou úsečku.
vpred o 100;
otoc o 90;
vpred o 100;
otoc o 90 doleva;
vpred o 100;
Jakýkoliv text, který uzavřeš do složených závorek { }, považuje Želví grafika za komentář a přeskočí ho, tváří se, jako by tam nebyl. K čemu je to dobré? Jestliže je kód procedury dlouhý, usnadňují komentáře orientaci -- lépe se v kódu vyznáš. Na dalších stránkách uvidiš spousty příkladů, jak komentáře použít.
Na závěr nezapoměň celý projekt uložit. Pozor! To, že jsi při uzavírání editačních oken s kódem procedury stiskl(a) tlačítko Ano, ulož neznamená, že procedury byly uloženy do souboru! Tím jsi dal(a) pouze najevo, že si přeješ, aby Želví grafika při dalším spuštění procedury vykonala kód, který jsi jí tam napsal(a).