Informatika · sexta VI.A · D2 po 21. 9. · D1 st 23. 9.
Větvení a cykly
Program, který se rozhoduje a opakuje — na micro:bitu v MakeCode.
Cíl: žák použije podmínku (i složenou), tři druhy cyklu a proměnnou jako počítadlo; přečte cizí program a předpoví jeho chování. Průběh: 1. hodina společně s tipováním a dvě úlohy (kostka, krokoměr), přestávka, 2. hodina samostatné úlohy ve třech úrovních. Prostředí makecode.microbit.org, program nahrávat na desku, ne jen simulátor.
Rozcvička · 3 minuty
Co tenhle program dělá?
Otázka
Co se stane, když nastav kroky na 0 přesuneme dovnitř bloku opakuj stále?
Odpověď: pořád by se nulovalo – displej by ukazoval jen 0. Tohle je nejčastější chyba: inicializace patří do „po spuštění“, ne do smyčky. Rozdíl „po spuštění“ (jednou) × „opakuj stále“ (pořád dokola) zopakuj nahlas.
Větvení
když … jinak
Pravidla
- podmínka je šestiúhelník — vejde se jen tam, kde se ptáme
- platí → větev když, neplatí → větev jinak
- víc možností: jinak když (plus u bloku)
Ukaž naživo, jak se podmínka vkládá a jak se tlačítkem „+“ přidává „jinak když“. Teplotu simulátor umí měnit posuvníkem, na desce funguje čidlo v čipu.
Porovnávání
Šest otázek, na které jde odpovědět ano/ne
| blok | význam |
= | rovná se |
≠ | nerovná se |
< > | menší, větší |
≤ ≥ | menší nebo rovno, větší nebo rovno |
Pozor
Hodnota se do podmínky čte v okamžiku, kdy program dojde k bloku.
Proto se podmínky dávají dovnitř „opakuj stále“ — ať se ptají znovu a znovu.
Krátce, 3 minuty. Připomeň jednotky: teplota ve °C, světlo 0–255, zrychlení v mg.
Složené podmínky
a · nebo · ne
amusí platit obě
tma a pohyb → rozsviť
nebostačí jedna
tlačítko A nebo B → start
neotočí odpověď
ne (je světlo) → tma
když
úroveň světla < 50 a síla zrychlení > 1500 tak
ukaž ikonu ⚠
zahraj tón C5
Tohle je zárodek alarmu: tma a pohyb. Zeptej se, co by se stalo s „nebo“ místo „a“ (pípalo by i za světla při každém pohybu). Bloky „a / nebo / ne“ jsou v kategorii Logika.
Úloha A · 8 minut
Kostka
- Zatřeseš deskou → padne číslo 1–6.
- Padne 6 → navíc zahraj tón.
- Rozšíření: počítej, kolikrát padla šestka.
Bloky: když zatřeseno (Vstup), náhodné číslo od … do … (Matematika).
Pozor na past: „náhodné číslo od 0 do 6“ dává sedm možností včetně nuly. Rozšíření = proměnná sestky + „změň sestky o 1“ uvnitř podmínky, výpis na tlačítko B.
Cykly
Tři druhy opakování
opakuj 4×
Vím, kolikrát.
blikni čtyřikrát
opakuj dokud
Vím, dokdy.
dokud je tma
opakuj stále
Běží až do vypnutí.
hlavní smyčka zařízení
opakuj
4 krát
ukaž ikonu ❤
pauza 200 ms
smaž displej
pauza 200 ms
V textových jazycích jsou to for (opakuj N×) a while (opakuj dokud) — stejná myšlenka, jiný zápis.
Bez pauzy se blikání neuvidí – mikrokontrolér je rychlejší než oko. To je dobrý most k tomu, proč se v cyklu čeká. Zmiň i vazbu na textový zápis (for / while), ať mají spojení s plánem a s tím, co uvidí v jiných jazycích.
Proměnná + cyklus
Krokoměr
Proměnná
nastav hodnotu přepíše.
změň o k ní přičte.
Proměnná = pojmenovaná schránka na jedno číslo.
Krokoměr je vlastně počítadlo událostí. Zeptej se, proč je „nastav na 0“ v „po spuštění“ (jinak by se krok po kroku nulovalo).
Úloha B · 10 minut
Krokoměr s cílem
- Počítej kroky (zatřesení).
- Tlačítko A ukáže počet kroků.
- Při dosažení cíle (například 20) ukaž ☺ a zahraj melodii.
- Tlačítko B vynuluje počítadlo.
Kde je co
Vstup: když zatřeseno, když stisknuto A / B
Proměnné: nastav, změň o
Logika: když … tak
Hudba: začni melodii
Hlídej dvě chyby: podmínka na cíl mimo obsluhu zatřesení (nikdy se nevyhodnotí) a chybějící vynulování v „po spuštění“. Rychlejší pošli na bonus: počítat jen kroky nad prahem síly zrychlení.
Ukázka naživo
Teploměr s alarmem
opakuj stále
nastav t na teplota (°C)
když
t > 25 tak
ukaž ikonu ⚠
zahraj tón A5
pauza 1000 ms
Sledujte:
- co dělá pauza s reakcí zařízení
- proč měříme do proměnné a ne dvakrát ze senzoru
- jak se program chová na desce proti simulátoru
Zahřej čidlo prstem nebo dechem – reakce trvá desítky sekund, čidlo je uvnitř čipu. V simulátoru jde teplota nastavit posuvníkem. Tohle je předloha pro příští hodinu (senzory) i pro IoT projekt.
Časté chyby
Čtyři věci, které to obvykle jsou
1 · Inicializace ve smyčce
„nastav na 0“ patří do po spuštění.
2 · Podmínka mimo smyčku
Zkontroluje se jen jednou a nikdy víc.
3 · Chybí pauza
Blikání ani zvuk nejsou vidět a slyšet.
4 · Simulátor ≠ deska
Senzory se na desce chovají jinak. Testuj na hardwaru.
Nech je doplnit pátou z vlastní zkušenosti – zapiš na tabuli, příští hodinu se k seznamu vrátíme u ladění.
Přestávka
5 minut
Pak samostatné úlohy.
2. hodina · samostatně
Tři úrovně
Základ
Semafor. Tlačítko A přepíná červená → oranžová → zelená a zase dokola.
Plus
Reakční hra. Po náhodné pauze se rozsvítí ikona, hráč tiskne A. Změř a ukaž čas.
Hvězda
Alarm. Tma a pohyb spustí zvuk; tlačítko A+B alarm vypne.
Hotovo → ukaž mi to na desce, ne v simulátoru. Kdo chce víc, připojí senzor z IoT sady a podmínku postaví na něm.
Reakční hra potřebuje „běžící čas (ms)“ z Vstupu. Semafor je zárodek stavového automatu – proměnná stav 0/1/2, což je téma za tři hodiny. Kdo má všechno, může zkusit dvě desky a rádio (předehra k listopadu).
Hodnocení
Průběžná známka
1Základ + Plus fungují a je i Hvězda nebo vlastní rozšíření
2Základ + Plus fungují
3Základ funguje
Program ulož jako prijmeni-semafor a sdílej odkaz do Učebny.
Stupnici uprav podle třídy. V MakeCode jde projekt sdílet odkazem (Sdílet) nebo stáhnout jako .hex – vyber jednu cestu a drž ji celý rok.
Shrnutí
Čtyři věty na cestu
- po spuštění se stane jednou, opakuj stále pořád dokola.
- Podmínka je otázka ano/ne; složená používá a, nebo, ne.
- opakuj N× (for), když vím kolikrát; opakuj dokud (while), když vím dokdy.
- Proměnná si pamatuje hodnotu mezi průchody — proto umí počítat.
Příště: rozdělení problému na části — vlastní bloky nad senzory desky a IoT sady.
Exit otázka ústně: kde v krokoměru je proměnná, podmínka a cyklus? Příští hodina podle plánu: rozdělení problému na části – vlastní blok (funkce) s parametrem a návratovou hodnotou na měřicím programu.