Rýchlokurz micro:bit/03 Premenná
Zo stránky SensorWiki
← Predchádzajúca lekcia | ⌂ Obsah kurzu | Nasledujúca lekcia →
Čo sa naučíte
- čo je premenná a na čo slúži,
- vytvoriť premennú, nastaviť jej hodnotu a použiť ju,
- ako premenné správne pomenovať.
Vysvetlenie: premenná
Predstavte si, že máte animáciu s desiatimi obrázkami a medzi každými dvoma je pauza 200 ms. Keď chcete animáciu zrýchliť, musíte číslo prepísať na desiatich miestach, a ľahko na niektoré zabudnete. Riešením je uložiť hodnotu na jedno miesto, pomenovať ho a všade používať už len toto meno.
Premenná je pomenované miesto v pamäti, do ktorého si program uloží hodnotu. Môžete si ju predstaviť ako škatuľku s menovkou: na menovke je meno (napr. rychlost) a vnútri je hodnota (napr. 200). S premennou sa robia dve základné veci:
- priradenie – vloženie novej hodnoty do škatuľky (pôvodná hodnota sa tým stratí),
- čítanie – použitie hodnoty, ktorá je v škatuľke práve uložená.
V textových jazykoch sa priradenie zapisuje znakom =. Pozor, nie je to matematická rovnosť, ale príkaz „ulož hodnotu sprava do premennej vľavo“. Preto je úplne v poriadku zápis x = x + 1, ktorý v matematike nedáva zmysel. Pre počítač znamená: „vezmi hodnotu x, pripočítaj k nej 1 a výsledok ulož späť do x“.
Premenná môže obsahovať rôzne typy hodnôt, najčastejšie číslo, text alebo logickú hodnotu (pravda/nepravda, anglicky true/false). Typ určuje, čo sa s hodnotou dá robiť: čísla sa dajú sčítať, texty spájať. Napríklad 1 + 2 dá číslo 3, ale "1" + "2" dá text "12".
Program: srdce s nastaviteľnou rýchlosťou
Premennú vytvoríte v kategórii Variables tlačidlom Make a Variable.... Potom sa v palete objavia bloky set rychlost to (priradenie), change rychlost by (zmena o hodnotu) a samotná premenná ako oválny blok, ktorý môžete vložiť všade tam, kde sa očakáva číslo.
-
Program v blokoch...
let rychlost = 200
basic.forever(function () {
basic.showIcon(IconNames.Heart)
basic.pause(rychlost)
basic.showIcon(IconNames.SmallHeart)
basic.pause(rychlost)
})
rychlost = 200
def on_forever():
basic.show_icon(IconNames.HEART)
basic.pause(rychlost)
basic.show_icon(IconNames.SMALL_HEART)
basic.pause(rychlost)
basic.forever(on_forever)
Ako to funguje
V časti on start sa vytvorí premenná rychlost a priradí sa do nej hodnota 200. V JavaScripte sa nová premenná deklaruje (ohlási) slovom let. Python žiadne také slovo nepotrebuje, premenná vznikne pri prvom priradení.
V tele cyklu sa na dvoch miestach namiesto čísla používa meno premennej. Počítač si pri každom vykonaní príkazu pause(rychlost) pozrie, aká hodnota je v premennej práve uložená, a počká tak dlho. Keď teraz zmeníte jediné číslo v prvom riadku, zmení sa rýchlosť celej animácie.
Premenná sa volá premenná preto, že jej hodnota sa počas behu programu môže meniť. Blok change rychlost by 50 v textovom zápise vyzerá takto:
| JavaScript | Python | Význam |
|---|---|---|
rychlost += 50 |
rychlost += 50 |
skrátený zápis rychlost = rychlost + 50
|
Pravidlá pre mená premenných
- Meno sa skladá z písmen bez diakritiky, číslic a podčiarkovníka
_. Nesmie obsahovať medzeru a nesmie začínať číslicou. - Veľké a malé písmená sa rozlišujú:
rychlostaRychlostsú dve rôzne premenné. - Meno má vyjadrovať, čo premenná obsahuje:
rychlost,pocetBodov,teplotasú dobré mená,a,x1,premennazlé. Program čítate častejšie, ako ho píšete, a o mesiac si už nebudete pamätať, čo znamenaloa. - Mená zložené z viacerých slov sa v JavaScripte zvyčajne píšu ako
pocetBodov, v Pythone akopocet_bodov. MakeCode však pri prekladoch necháva meno rovnaké.
Časté chyby
- Premenná sa nastavuje vo forever namiesto v on start. Ak by ste v úlohe 2 napísali set rychlost to 200 na začiatok tela cyklu, pri každom opakovaní by sa hodnota vrátila na 200 a zmena by sa nikdy neprejavila.
- Preklep v mene. V textových jazykoch vznikne chyba, v blokoch sa to nestane, lebo premennú vyberáte zo zoznamu.
Úlohy
- Zmeňte počiatočnú hodnotu premennej a overte, že sa zmenila rýchlosť celej animácie.
- Na koniec tela cyklu pridajte blok change rychlost by 50. Popíšte, čo sa bude diať s animáciou. Čo sa stane po dlhšom čase?
- Pridajte do tela cyklu príkaz
show number, ktorý zobrazí aktuálnu hodnotu premennejrychlost. Takto si môžete kedykoľvek overiť, čo je v premennej uložené. Je to jeden zo základných spôsobov hľadania chýb v programe. - Vytvorte druhú premennú (napr.
dlzkaSvietenia) a použite ju tak, aby veľké srdce svietilo inak dlho ako malé.
← Predchádzajúca lekcia | ⌂ Obsah kurzu | Nasledujúca lekcia →
