Aplikace A5 Počítáme do deseti II

V minulé lekci jsme si ukázali, jak provádět matematické operace. Protože jsme použili blok pro opakování typu “for”, v této lekci si tento blok vysvětlíme podrobně a ukážeme si stejném příkladu, jak snadno napsat program.

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


V minulé lekci jsme si ukázali, jak provádět matematické operace. Protože jsme použili blok pro opakování typu “for”, v této lekci si tento blok vysvětlíme podrobně a ukážeme si stejném příkladu, jak snadno napsat program.

Podívejme se na tento blok a jeho funkci. Jak už jsme poznali v minulé lekci, provádí tento blok opakovaně činnosti – bloky, které jsou uzavřeny v jeho kleštích. Kolikrát má opakování vykonat si můžeme zadat. Proto je tento blok “for” nazýván “cyklus s pevným počtem opakování”.

Za slovem “for” (překlad -> pro) je pole, ve kterém se nachází jméno proměnné. Je to celočíselná numerická proměnná, standardně nastavená na jméno “i”. Už od pradávných dob programování se pro všeobecné celočíselné numerické proměnné používali písmena abecedy od písmene “i”. (zřejmě od slova index). Takže pokud jsme v programu potřebovali tři celočíselné numerické proměnné pro všeobecné použití (indexaci), nazvali jsme je “i”, “j”, a “k”.

Jestliže použijeme blok “for” a ponecháme jméno proměnné “i” tak se nám tato proměnná objeví i v nabídce Variables. Proměnné se říká “řídící proměnná cyklu”. Můžeme si zvolit jiné jméno, pokud k tomu máme nějaký důvod. Protože jsme v minulé lekci pracovali s proměnnou “pocitadlo” a tento význam bude platit i pro program této lekce, přejmenujeme si proměnnou z “i” na “pocitadlo”. Hned si to zkusíme. V editoru z nabídky Loops klikneme na blok “for”. V poli, kde se nachází “i” klikneme na malou šipku a vybereme z nabídky “Rename variable …”. Do políčka napíšeme “pocitadlo”. Podíváme se do nabídky Variables, kde by již tato proměnná měla být k dispozici.

Než začne blok “for” opakovat blok nebo bloky ve svých kleštích, nastaví si počáteční hodnotu své řídící proměnné cyklu, v našem případě “pocitadlo” na hodnotu nula. V opakovaných blocích můžeme hodnotu z řídící proměnné cyklu číst, nesmíme ji však měnit. Takže ji můžeme použít pro výpis na displej. Při prvním průchodu (poprvé provádí bloky v kleštích) má naše proměnná “pocitadlo” hodnotu nula. Dáme si do kleští bloku “for” výpis obsahu proměnné “počitadlo”, to už jsme programovali v minulé lekci.  Bude to vypadat následovně :

Pokud máme potíže s vložením bloku “show number”, podíváme se minulé lekce, Proměnnou “pocitadlo” najdeme v nabídce Variables.

Pokud bychom to ponechali takto, asi bychom toho moc neviděli protože mikropočítač je rychlý. Tak si za blok “show number” dáme blok “pause 1000” a budeme klidně číst hodnoty z displeje.

Když mikropočítač dokončí první průchod (provede poslední blok v kleštích), tak do řídící proměnné cyklu přičte jedničku, v našem případě do “pocitadlo”. A teď pozor, jestliže je hodnota řídící proměnné větší než hodnota udaná za slůvkem “to”, v našem případě 4, pak opakování se ukončí a provádí se další blok za blokem “for”. Když ale je hodnota v řídící proměnné menší nebo rovna hodnotě za “to”, začíná další kolo a provádí se první blok v kleštích. V našem případě by se počet opakování rovnal pěti (pro hodnoty řídící proměnné cyklu 0, 1, 2, 3 a 4).

Protože máme v zadání počítat do deseti, tak řídící proměnná cyklu bude nabývat hodnot 0 až 9, celkem 10 různých hodnot. Naše číslo v bloku “for” je tedy 9.

Všimněme si, jak se nám program zjednodušil. Blok “for” za nás nastavil počáteční hodnotu počitadla na nulu, také nemusíme vkládat blok pro výpočet nové hodnoty proměnné  “pocitadlo”, udělá to za nás blok – cyklus “for”. Celý program se provede jen jednou a tím končí. Pokud bychom chtěli, aby se program opakoval stále dokola a my nemuseli na Micro:bit stále mačkat tlačítko RESET, vložíme celý program do kleští bloku “forever”.

Použití bloku “for” si ukážeme ještě na jiném příkladu. Budeme postupně rozsvěcovat a zhasínat Led diody na displeji a to v hlavní úhlopříčce, tedy na adresách (0,0) až (5,5).

Program už nemusím vysvětlovat, vyzkoušejte si ho sami. Program vypadá takto :

Úkoly této lekce :

  • zkuste rozsvěcovat LED diody jen v nultém řádku.
  • zkuste rozsvěcovat diody jen v prostředním (druhém) sloupci.
  • pro chytré : zkuste nejprve LED diody rozsvítit v hlavní úhlopříčce a pak je následně nechat zhasínat. (nápověda: potřebujeme dva bloky “for”, jeden pro rozsvěcování bez zhasínání, druhý blok je bude zhasínat)
Posted in kat A - začátečníci.