V této lekci si ukážeme na příkladu, jak provádět matematické operace. Budeme hodnotu nula zvyšovat o 1 a takto získanou novou hodnotu vypíšeme na displeji.
V této lekci si ukážeme na příkladu, jak provádět matematické operace. Budeme hodnotu nula zvyšovat o 1 a takto získanou novou hodnotu vypíšeme na displeji. Začneme s nulou a ukončíme na hodnotě 9, takže vypíšeme na displeji celkem 10 hodnot počínaje hodnotou nula a konče hodnotou devět. Na úvod si ale musíme něco říci o uchovávání hodnot v počítači.
Při vytváření programů budeme potřebovat, aby jsme si po dobu činnosti počítače pamatovali nějaké hodnoty – jak číselné, tak textové nebo ještě speciální, říkáme jim logické, které nám umožní rozhodovat se, jakou činnost máme dále vykonat.
Hodnoty uchováváme v malých úsecích paměti počítače. Každý úsek si nazveme nějakým jménem a to nejlépe tak, abychom z pojmenování poznali, pro jaký účel si hodnotu pamatujeme. Hodnota může být stále stejná po dobu činnosti programu, nebudeme ji měnit, zůstane konstantní a proto tyto úseky nazýváme konstantami. Jiné hodnoty se mohou při běhu programu měnit a proto je nazýváme proměnnými.
Konstanty i proměnné mohou obsahovat:
a) jeden nebo více znaků, říkáme jim znakové nebo řetězcové (obsahují řetězec jednotlivých znaků). Už jsme se s takovou konstantou setkali při bloku “show string”, kde řetězcovou konstantou bylo “Ahoj svete!”. Znakem je také “1” a ostatní číslice. Znaky či řetězce při psaní uzavíráme do uvozovek. V obsahu proměnné nebo konstanty už uvozovky nejsou, je tam jen řetězec znaků uvedený mezi uvozovkami. Délka řetězce “123” (obsahuje tři znaky) je 3. Hodnota takového řetězce není 123 ale tři číslice “123”.
b) numerickou hodnotu, buď celočíselnou např. 123 nebo reálnou 3,14559. S celočíselnými hodnotami počítače pracují rychleji než s hodnotami reálnými. Proto kde můžeme, použijeme hodnoty celočíselné. Například počet opakování nějaké činnosti bude celé číslo. (Nemůžeme celistvý blok opakovat 0,3 krát.)
Celočíselné proměnné nebo konstanty nazýváme jako typ Integer, reálné (čísla s desetinnou čárkou) jako typ Real.
c) logické hodnoty probereme v lekci A6.
To by bylo na úvod dost a nyní se pustíme do samotného programu. Mohli bychom za sebou vypsat znaky “0” až “9”, ale to by byl trochu podvod, protože jsme si řekli na začátku, že budeme počítat. Také do hodnoty 9 je to poměrně jednoduché, ale pokud by zadání bylo do hodnoty 5000, tak už by problém byl. Takže náš program bude vypadat ve slovním popisu asi takto:
a) vytvoříme si numerickou celočíselnou proměnnou se jménem “pocitadlo”, do které dáme na začátku hodnotu nula. Tuto hodnotu vypíšeme na displeji a počkáme 1000ms, abychom byli schopni tuto hodnotu přečíst. (kdybychom počítač nechali pracovat dále bez čekání, by by moc rychlý a my bychom zahlédli jen poslední hodnotu a to devět.)
b) k hodnotě proměnné “pocitadlo” přičteme hodnotu 1, vypíšeme obsah proměnné “počitadlo” na displeji a čekáme 1000ms.
c bod b) zopakujeme ještě 8x
Tak a teď už konečně do toho. Postupujeme podle slovního popisu :
V levém sloupci editoru si najdeme nabídku Variables a klikneme na tlačítko “Make a Variable”. Otevře se nám malé okno s názvem „New variable name“ do kterého zadáme jméno našeho místa v paměti počítače. My jsme si zvolili, že se naše proměnná bude jmenovat “pocitadlo” (pozor – bez háčku a čárky) a klikneme na OK. V MENU – nabídce Variables vidíme, že se nám vytvořily tři bloky. Ten první – ovál je ta proměnná, ve které mohou být různé hodnoty. Druhý blok je určen k vožení hodnoty do naší proměnné, třetí blok můžeme použít ke změně hodnoty proměnné.
A můžeme začít tvořit program. Zatím použijeme blok „on start“, takže se nám náš program vykoná pouze jedenkrát.
Použijeme blok z nabítky Variables a to „set pocitadlo to 0“. Pokud bychom chtěli nastavit jinou počáteční hodnotu v proměnné „pocitadlo“, místo nuly bychom dosadili jinou hodnotu. Blok pomocí myši přesuneme do kleští bloku „on start“.
Obsah této proměnné máme vypsat na displeji a počkat 1000ms (což je jedna vteřina). Z nabídky Basic vybereme blok “show number”. Je tam hodnota 0, ale my chceme ale vypsat hodnotu, která je v proměnné “pocitadlo”. Tak se vrátíme k nabídce Variables, chytneme myší oválný blok „pocitadlo“, což je naše proměnná a přesuneme ho na ploše dovnitř bloku „show number“ místo stávající nuly. Ze slovního popisu pod bodem a) nám už chybí jen čekat 1000ms. To jsme již prováděli v minulých lekcích, jen připomenu, že blok “pause” se najde v nabídce Basic. První část programu je na obrázku vlevo.
Pokud máte spuštěn v levé části simulátor Micro:bitu, tak vidíte, že na displeji Micro:bitu je zobrazena nula.
Budeme pokračovat tvorbou programu dle bodu b) textového popisu. Novou hodnotu proměnné “pocitadlo” získáme z původní hodnoty proměnné “počitadlo” ke které přičteme jedničku. Můžeme to udělat dvěma způsoby. Tak prvně ten jednodušší. Vybereme z nabídky Variables blok „change pocitadlo by 1“, který nám zvýší hodnotu v proměnné „pocitadlo“ o 1 (nebo o jinou hodnotu, kterou bychom dali místo hodnoty 1).
Druhý způsob je takový, že z nabídky Math si vyberem blok, který umí sečíst dvě čísla V našem případě to bude proměnná „pocitadlo“ a hodnota 1. Tento oválný blok umístíme do bloku „set pocitadlo to …“, to je že nastavíme hodnotu na hodnotu součtu v oválném bloku.
První způsob je jednodušší a tak ho budeme nadále používat. Když jsme přičetli jedničku do proměnné „pocitadlo“, zbývá nám obsah této proměnné vypsat na displeji.
Potřebujeme připojit bloky “show number” a “pause”. Rychlejší způsob získání bloků je jejich kopírování již ze stávajících, neboť budou stejné. Klikneme na druhý blok programu shora – “show number” a pravým tlačítkem myši vyvoláme kontextové menu, ve kterém klikneme na Duplicate. Duplikát bloku připojíme odspodu k programu. To samé s blokem “pause”.
Výsledný blok příkazů je na obrázku vpravo.
Opět si zkusíme fungování programu. Na simulátoru vlevo zastavíme běh programu kliknutím na levé tlačítko s obrázkem čtverce a pak znovu běh simulátoru spustíme kliknutím na to samé tlačítki, na kterém je nyní šipka. Na obrázku microbitu vlevo by se měla zobrazit nula, asi po jedné vteřině jednička.
Poznámka : Pokud si program zkoušíte přímo na destičce Micro:bit, bude to vteřina přesně, pokud to zkoušíte jen na obrázku webové stránky, bude čas delší o čas komunikace mezi webovým serverem a vašim PC.
No a jsme u posledního odstavce popisu programu – odstavce c). Měli bychom opakovat poslední tři činnosti – bloky, a to ještě celkem 8krát. Jsou to bloky “set”, “show” a “pause”. Můžete si to vyzkoušet, program se nám trochu natáhne.
Horší situace by nastala, kdybychom měli počítat ne do 10, ale například do 5000. Tak tohle bych psát nechtěl. Také se to pomocí kopírování nedělá. Pokud se na program podrobně podíváme, zjistíme, že ty tři bloky (“set”, “show” a “pause”) se opakují vlastně 9krát. (jednou a 8krát opakovat).
Stejně jako blok “while” nám opakoval bloky stále dokola, blok “for” nám zopakuje bloky tolikrát, jaké bude naše zadání. Blok “for” najdeme v nabídce Loops, a do jeho kleští sevřeme ty tři bloky, které chceme opakovat. V bloku “for” úplně vpravo místo hodnoty 4 dáme hodnotu 8. Blok “for” nám bude opakovat bloky v kleštích celkem 9krát (pro hodnoty 0,1,2,3,4,5,6,7,8). Za slůvkem “for” je znak název “index”, což je “řídící proměnná cyklu”, ale o ní a celém bloku “for” si povíme v další lekci A5.
Program bude vypadat následovně :
Program si opět vyzkoušíme na simulátoru vlevo. Pokud nám pracuje jak má, nahrajeme si ho do destičky Micro:bitu. Jak se to dělá jsme si vysvětlili v předchozích lekcích. Aby nám počitání fungovalo opakovaně, stačí bloky z kleští bloku „on start“ přesunout do kleští bloku „forever“.
Doporučuji si teď program smazat a sestavit si ho ještě jednou, ale bez pomoci tohoto návodu. 🙂
Úkoly této lekce :
– zkusme upravit program tak, aby nám počítal od 9 do 0. (nastavíme poč. hodnotu v prvním bloku “set” na 9 a pak v bloku “set”, který je v kleštích budeme měnit hodnotu v proměnné “pocitadlo” odečítáním jedničky /místo “+” tam dát “-“/ nebo přičítat hodnotu -1)