Aplikace B4 Počítáme do deseti

V této lekci navážeme na lekci A4 a ukážeme si na příkladu, jak provádět matematické operace.

název: B4 Počítáme do deseti
kategorie: B mírně pokročilí
ref.číslo: B4
projekt: 10+10 dní s microbitem pro mírně pokročilé, lekce B4
verze: 01, 2017-04-03
autor: Ivo Obr, Lanškroun


V této lekci navážeme na lekci A4 a ukážeme si 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.

Proměnné v MicroPython si nejlépe vytvoříme (nadeklarujeme) hned na začátku programu, i když to není povinné. Aspoň si můžeme udělat poznámky, co která proměnná znamená a k čemu ji používáme. Jak už jsme si řekli v lekci A4, máme proměnné numerické, řetězcové (znakové), logické a MicroPython má ještě další typy, o kterých si v této lekci nebudeme povídat.

Typ proměnné se nastaví při jejím prvním použití. Takže, pokud si vytvoříme proměnné hned na začátku programu, naplníme je počátečními hodnotami, které také budou určovat typ proměnné. Příklady :

i = 1                                 i  je numerická celočíselná proměnná

x = 2.5                            x  je numerická reálná proměnná (používáme desetinou tečku)

a = “Ahoj svete!”          a  je řetězcová proměnná (obsah je uzavřen v uvozovkách)

q = True                        q  je logická proměnná (může obsahovat False nebo True)

Jména proměnných volíme podle toho, jaký význam budou obsahovat (ale není to nutné). Jména proměnných nesmí být rezervovaná slova jazyka MicroPython. (například True nebo while). Nejdříve si program napíšeme tak, jak jsme si ho v lekci A4 sestavili z bloků. V reálném programu programovacího jazyka bychom asi tímto způsobem program nenapsali, ale protože se učíme, budeme postupovat od nejjednodušších struktur.

Jako první řádek programu (po poznámkách) napíšeme naše známé :

from microbit import *

Řekli jsme si, že nejprve uděláme deklaraci proměnných, u nás to je “pocitadlo”, viz bloková struktura z lekce A4. Příkaz bude :

pocitadlo = 0

Nyní nás čeká blok “show number” pro vypsání numerické hodnoty proměnné počitadlo. Na výpis řetězce (znaků) už známe příkaz display.show(), kde v kulaté závorce je řetězec. My tam však potřebujeme vypsat numerickou hodnotu. Na to je v MicroPythonu funkce se jménem str(), která převede numerický obsah proměnné v závorce na znakový řetězec. No a ten už můžeme dát do kulaté závorky výše uvedeného příkazu. Takže celý příkaz bude vypadat následovně :

display.show(str(pocitadlo))

Zápis “str(pocitadlo)” je ve výsledku znakový řetězec, který je vytvořen z hodnoty uložené v proměnné “pocitadlo”. V našem případě je v počitadle hodnota “nula” a znak, který mikropočítač vypíše je “0”. No a nyní už dokončíme prvou část programu blokem “pause 1000”, přeloženo do MicroPython je to :

sleep(1000)

Ověříme si napsání programu ikonou “Check” a nahrajeme do mikropočítače. Celý program vypadá takto :

Po nahrání programu by se nám měla zobrazit na displeji nula.

 

Pro zvyšování hodnoty o jedničku v proměnné “pocitadlo” jsme použili blok :

 

My nyní trochu odbočíme a ukážeme si matematické operátory – jaké znaky se používají pro sčítání, odčítání a podobně.

znak         význam                      příklad

+              sčítání                         i = a + 5

               odčítání                       i = a  – 5

              násobení                     i = a * 5

               dělení                          i = a / 5            ( 12 / 5 = 2.4 )

//               celočíselné dělení       i = a // 5          ( 12 // 5 = 2 ,  12.0 // 5 = 2.0 )

              přiřazení hodnoty výrazu z pravé strany do proměnné na levé straně

 

Naše přičítání hodnoty jedna do proměnné počitadlo bude vypadat takto :

pocitadlo = pocitadlo + 1

Dalším příkazem bude zobrazení hodnoty v proměnné “pocitadlo” a pak čekání 1000ms. To budeme opakovat ještě devětkrát, jak jsme to programovali v lekci A4. (viz obrázek). Tam jsme použili blok for, ten už známe z lekce A5 a jeho zápisy v MicroPython si vysvětlíme v lekci B5. Tady jen ukážu zápis, který se bude týkat našeho programu. Jen pro zopakování, řídící proměnná cyklu bude “i”.

for i in range(0, 9):

 

Celý náš program bude vypadat následovně :

Nakonec nás čeká stisknutí ikony Check pro kontrolu a Flash pro vložení programu do micro:bit. Nezapomeňte si program uložit pod názvem B4.py Doporučuji si teď program smazat a sestavit si ho ještě jednou, ale bez pomoci tohoto návodu. 🙂

Příště se podíváme, jak ho naprogramovat efektivněji a to pomocí příkazu “while”. Také si povíme něco víc o příkazu “for”. Samozřejmě si doplňte poznámkové řádky na začátek programu.

Úkoly této lekce :

  • zkuste upravit program tak, aby nám počítal od 9 do 0. (nastavíme poč. hodnotu ve druhém příkazu na hodnotu 9  a pak 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 B - mírně pokročilí.