8
Micro:bit – lekce 4. Cykly (iterační příkazy) - Opakují dokola několikrát kus programu, potom program pokračuje dál. - Buď předem určeným počtem kolikrát, nebo do splnění nějaké podmínky. - Bloky cyklů najdeme v sekci LOOPS. Cyklus s určeným počtem opakování – cyklus Repeat - Na obrázku: Několikrát (pocetOpakovani krát) blikne ikonka srdce. - Předem daný počet opakování může být zadán tedy také aktuální hodnotou proměnné – pocetOpakovani, nebo „natvrdo“ přímo číslem = literálem Cyklus s počtem opakování daným řídicí proměnnou – cyklus For – from – to - Na obrázku: Bude vypisovat čísla od 0 do pocetOpakovani = zopakuje pocetOpakovani+1 krát. - Automaticky se vytvoří řídící proměnná „index“ – lze použít i svoji. - Řídící proměnnou lze použít pro něco při vykonávání opakujících se příkazů – viz příklad. - Řídicí proměnná začíná vždy od 0 – jak „začít“ od jiného čísla? - Zvětšování řídící proměnné je automatické vždy o +1. - Nebezpečí řízení řídicí proměnné

Micro:bit lekce 4. - cykly.pdf · 2020. 2. 24. · Cyklus s podmínkou na začátku While – do - Dokud je splněna podmínka, opakuje příkazy. Když podmínka splněna není,

  • Upload
    others

  • View
    24

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Micro:bit lekce 4. - cykly.pdf · 2020. 2. 24. · Cyklus s podmínkou na začátku While – do - Dokud je splněna podmínka, opakuje příkazy. Když podmínka splněna není,

Micro:bit – lekce 4.

Cykly (iterační příkazy) - Opakují dokola několikrát kus programu, potom program pokračuje dál.

- Buď předem určeným počtem kolikrát, nebo do splnění nějaké podmínky.

- Bloky cyklů najdeme v sekci LOOPS.

Cyklus s určeným počtem opakování – cyklus Repeat

- Na obrázku: Několikrát (pocetOpakovani krát) blikne ikonka srdce.

- Předem daný počet opakování může být zadán tedy také aktuální hodnotou proměnné –

pocetOpakovani, nebo „natvrdo“ přímo číslem = literálem

Cyklus s počtem opakování daným řídicí proměnnou – cyklus For – from – to

- Na obrázku: Bude vypisovat čísla od 0 do pocetOpakovani = zopakuje pocetOpakovani+1 krát.

- Automaticky se vytvoří řídící proměnná „index“ – lze použít i svoji.

- Řídící proměnnou lze použít pro něco při vykonávání opakujících se příkazů – viz příklad.

- Řídicí proměnná začíná vždy od 0 – jak „začít“ od jiného čísla?

- Zvětšování řídící proměnné je automatické vždy o +1.

- Nebezpečí řízení řídicí proměnné

Page 2: Micro:bit lekce 4. - cykly.pdf · 2020. 2. 24. · Cyklus s podmínkou na začátku While – do - Dokud je splněna podmínka, opakuje příkazy. Když podmínka splněna není,

Cyklus s podmínkou na začátku While – do - Dokud je splněna podmínka, opakuje příkazy. Když podmínka splněna není, příkazy už

nezopakuje a jde dál.

- Na obrázku: Bude vypisovat sudá čísla od 0 do „maximum“ = zopakuje maximum/2+1 krát.

- Nemusí se provést ani jednou.

- Zvětšování řídící proměnné musí obstarat programátor – nemusí to být o +1.

- Nebezpečí nekonečného cyklu!

Page 3: Micro:bit lekce 4. - cykly.pdf · 2020. 2. 24. · Cyklus s podmínkou na začátku While – do - Dokud je splněna podmínka, opakuje příkazy. Když podmínka splněna není,

Příklad 1 (repeat):

Microbit udělá 5 tepů srdce, pak zhasne = 5x se zopakuje: ikona srdce, počkej 500ms, zhasni diody,

počkej 200ms.

Příklad 2 (while nebo for):

Pomocí cyklu WHILE udělej odpočet od 9 do 0 – celé zopakuj jen 1x, pak zhasni . Bez literálů!

Příklad 2B (while):

Vylepši příklad 2 tak, že na počátku programu bude ve dvou konstantách POCATEK a KONEC od kolika

do kolika má počítadlo počítat. Počítadlo si samo určí přírůstek (zda bude připočítávat, nebo zda

odpočítávat).

Příklad 2C (for):

Zkus příklad 2 (ne 2B) „odpočítávání“ udělat pomocí cyklu FOR!

Příklad 3 (while):

Počítej a vypisuj čísla od 0 do nekonečna – dokud uživatel nestiskne tlačítko A (použij „Button A is

pressed“ – ze sekce INPUT, event. „not“ ze sekce LOGIC). Na displeji nakonec zůstane zobrazené

poslední číslo.

Příklad 3B:

Předchozí „stopky“ přeprogramuj tak, aby se tlačítkem počítání pouze přerušilo a po opětovném

stisku vždy zase pokračovalo. Tlačítkem B se nastaví počítání od začátku.

Příklad 4 (while):

Pulsující dioda: U jedné rozsvícené diody na daných souřadnicích se bude její jas postupně zvyšovat

(blok LED – Plot X Y brightness). Když dosáhne maxima, začne opět od začátku.

Příklad 5 (while):

Stále pomaleji blikající dioda: Na zvolených souřadnicích se bude rozsvěcet a zhasínat jedna dioda.

Doba zhasnutí bude po celou dobu konstantní. První rozsvícení diody bude stejně dlouhé jako doba

zhasnutí a při každém dalším rozsvícení bude toto delší o nějakou danou hodnotu – přírůstek doby

svícení. Program začne od začátku, pokud bude doba svícení >= desetinásobku počáteční doby

svícení. Zresetovat program = program začne od začátku kdykoliv po stisku tlačítka A.

Příklad 6 (for):

Svítící dioda se bude posouvat z levého horního rohu postupně vždy o jednu doprava, dokud nedojde

do pravého horního rohu. Tedy SLOUPEC se bude postupně měnit od 0 do 4 (řádek zůstává stejný).

Při každém průchodu (při každé iteraci) se:

1. Zobrazí dioda

2. Počká

3. Zhasne dioda

4. Změní sloupec o jedničku (pokud to neudělá cyklus automaticky)

Program se bude opakovat dokolečka.

Příklad 7 (for, for):

Page 4: Micro:bit lekce 4. - cykly.pdf · 2020. 2. 24. · Cyklus s podmínkou na začátku While – do - Dokud je splněna podmínka, opakuje příkazy. Když podmínka splněna není,

Svítící dioda „proběhne“ celý displej. Na zhasnutém displeji se rozsvítí jen levá horní dioda (0,0), která

se bude postupně přesunovat ve směru, jako když se čte (v češtině ). Na každé pozici zůstane svítit

0,5 sekundy. Po dosvícení v pravém dolním rohu (4,4) se bude celý program opakovat.

Příklad 5B:

Jako příklad 4 s tím, že ve čtyřech konstantách (HORNI_ZARAZKA, LEVA_ZARAZKA, DOLNI_ZARAZKA,

PRAVA_ZARAZKA) lze vymezit oblast na displeji, kde se bude dioda pohybovat (např. jen 3x3 diody

uprostřed).

Příklad 8:

Dokud je stisknuto tlačítko A, zobrazuj ikonu smajlíka, dokud je stisknuto tlačítko B, zobrazuj mračíka.

Není-li stisknuto žádné tlačítko, nezobrazuj nic.

Příklad 9:

Běž do domečku = diodový displej micro:bitu (5 x 5 červených diod) nechť funguje jako „hřiště“. Na

začátku programu (a také kdykoliv stiskneš levé A tlačítko) tě mikrobit „vysadí“ na náhodné souřadnice

hřiště. Vymysli program, který tě automaticky dovede nejkratší cestou (může i šikmo) do „domečku“ =

pravý dolní roh. Každý krok nechť je vidět na displeji po dobu 0,5 sekundy.

Page 5: Micro:bit lekce 4. - cykly.pdf · 2020. 2. 24. · Cyklus s podmínkou na začátku While – do - Dokud je splněna podmínka, opakuje příkazy. Když podmínka splněna není,

Řešení Příklad 1

Příklad 2

Příklad 3

Page 6: Micro:bit lekce 4. - cykly.pdf · 2020. 2. 24. · Cyklus s podmínkou na začátku While – do - Dokud je splněna podmínka, opakuje příkazy. Když podmínka splněna není,

Příklad 3B

Příklad 4

Příklad 5

Page 7: Micro:bit lekce 4. - cykly.pdf · 2020. 2. 24. · Cyklus s podmínkou na začátku While – do - Dokud je splněna podmínka, opakuje příkazy. Když podmínka splněna není,

Příklad 6

Příklad 7 + Příklad 7B

Příklad 8

Page 8: Micro:bit lekce 4. - cykly.pdf · 2020. 2. 24. · Cyklus s podmínkou na začátku While – do - Dokud je splněna podmínka, opakuje příkazy. Když podmínka splněna není,

Příklad 9