Aplikace A4 Počítáme do deseti

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.

název: Počítáme do deseti
kategorie: A začátečníci
ref.číslo: A4
projekt: prvních 10 dní s microbitem, lekce 4
verze: 01, 2017-03-14
autor: Ivo Obr, Lanškroun


Tato lekce byla napsána pro Microsoft Block Editor. Ten už byl bohužel stažen ze stránek microbit.org. Proto si můžete spustit tento editor na následující adrese :
https://www.microbit.co.uk/app/#create:xczaux
Zatím tam původní editor stále ještě funguje. Lze také lekce zpracovávat na JavaScrip Block Editoru, jsou tam malé odchylky, které ale nemusí být na závadu.

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:

  1.  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”.
  2. 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.
  3. 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:

  1.  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.)
  2. k hodnotě proměnné “pocitadlo” přičteme hodnotu 1, vypíšeme obsah proměnné “počitadlo” na displeji a čekáme 1000ms.
  3. bod 2.) 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 blok “set item to”. Set znamená nastav, v našem případě by to byla proměnná s přednastaveným jménem “item”. My jsme si ale zvolili, že naše proměnná se bude jmenovat “pocitadlo”. Tak jméno “item” změníme na “počitadlo”. Klikneme na šipku za “item” a z nabídky si vybereme “rename variable…”. V novém okně přepíšeme “item” na “pocitadlo” (pozor – bez háčku a čárky) a klikneme na OK. Ještě musíme do této proměnné vložit hodnotu nula. V levém sloupci vybereme Maths a v seznamu vidíme, že  se jako poslední krčí nula. Klikneme na ni a přesuneme z pravé strany do bloku “set”. Co jsme vytvořili? Proměnnou se jménem “pocitadlo” a do ní jsme vložili hodnotu nula.

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 číslo 2, ale my chceme ale vypsat hodnotu, která je v proměnné “pocitadlo”. Tak se vrátíme k nabídce Variables a nyní vidíme, že tam máme k dispozici proměnnou “pocitadlo”. Klikneme na ní a přetáhneme jí myší do bloku “show number” na místo, kde je číslo 2.

Připojíme blok “show number”  k prvnímu bloku. 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 je na následujícím obrázku:

Tuto část programu si můžeme samostatně odzkoušet. Klikneme na ikonu run a na obrázku Micro:bit vpravo by se měla zobrazit nula.

Budeme pokračovat tvorbou programu dle bodu 2.) 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.  Následující obrázek popisuje tuto činnost :

Blok “set počitadlo to” jsme již složili na začátku lekce, takže to zopakujeme. K bloku “set” v pravé jeho části ale místo nuly připojíme blok z nabídky Maths, a to hned první odshora, a místo nuly vlevo vložíme proměnnou “pocitadlo” (najdeme ve Variables). Nakonec úplně v pravé části změníme nulu na jedničku. Připojíme za blok “pause”.

Dále 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 následujícím obrázku :

Opět si zkusíme fungování programu. Klikneme na ikonu “run” a na obrázku microbitu v pravo 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 3.). 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 malé “i”, 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ě :

Nakonec nás čeká stisknutí ikony run nebo vložení programu do Micro:bit ikonou compile. 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)
Posted in kat A - začátečníci.