Lekce 4 - Proměnné ve Scratchi
V předchozí lekci, První program ve Scratchi, jsme vytvořili svoji první aplikaci ve Scratchi a postupně ji vylepšovali a upravovali.
V dnešním Scratch tutoriálu se podíváme na tzv. typový systém, ukážeme si základní datové typy a práci s proměnnými. Nakonec si vytvoříme jednoduchý program, který nám poví hodnotu proměnné.
Proměnné
Pojďme si nejprve povědět, co je to proměnná. Možná znáte z
matematiky proměnnou (např. a
), do které můžeme uložit
nějakou hodnotu. Například trojúhelník může mít stranu a
dlouhou 7 cm. Do proměnné a
bychom tedy uložili hodnotu
7
. Ve světě počítačů je proměnná to samé 🙂 Je to
místo někde v paměti počítače, kam si můžeme
uložit nějaká data.
Proměnná má vždy nějaký datový typ. Může to být číslo, znak, text a podobně. Záleží na tom, k čemu ji pak chceme používat. Před jejím použitím musíme proměnnou nejprve deklarovat. To znamená, že musíme programovacímu jazyku říci, jak se bude jmenovat.
V některých složitějších programovacích jazycích musíme i napsat, jakého bude datového typu a ten potom nemůžeme měnit. Pokud tedy řekneme, že proměnná bude obsahovat číslo a pokusíme se do ní uložit text, takový program vyhodí chybu.
Jazyk nejprve proměnnou vytvoří v paměti počítače a až potom s ní můžeme pracovat. Podle datového typu potom pozná, kolik v paměti zabírá místa a jak s tímto kusem paměti pracovat, tj. jak ji má číst a upravovat.
Typový systém
Existují dva základní typové systémy, a to statický a dynamický.
Dynamický typový systém
Pokud používáme dynamický typový systém, nemusíme datový typ proměnné určovat. Vlastně to skoro vypadá, že žádný nemá. Ona ho samozřejmě vnitřně má, ale jazyk to nedává najevo 😉 Do té samé proměnné můžeme ukládat text a potom desetinné číslo. Jazyk se s tím sám popere a vnitřně automaticky datový typ mění. Scratch používá právě dynamický typový systém, což nám ulehčí práci.
Mezi složitější jazyky s dynamickým typovým systémem patří např. PHP nebo Ruby.
Statický typový systém
Statický typový systém naopak striktně vyžaduje definovat datový typ proměnné a tento typ je dále neměnný. Jakmile proměnnou jednou deklarujeme, není možné její datový typ změnit. Jakmile se do textového řetězce pokusíme uložit číslo, dostaneme vynadáno.
Mezi takové jazyky patří třeba Java nebo C#.
Program vypisující proměnnou
Abychom nezůstali jen u teorie, pojďme si nyní všechno vyzkoušet přímo ve vývojovém prostředí Scratche. Vytvoříme si jednoduchý program pro práci s proměnnými.
Založíme si tedy nový projekt a pojmenujeme ho Vypis
.
I ke všem dalším příkladům si vždy založíme nový projekt, který pokaždé na konci uložíme k předchozím projektům.
Opět si v něm nejdříve z bloku Události přidáme blok po kliknutí na (vlaječka):
Deklarace proměnné
Dále si vytvoříme proměnnou, do které můžeme něco uložit. Přejdeme do bloků Proměnné a klikneme na Vytvoř proměnnou:

Proměnnou si pojmenujeme a
. Můžeme nechat zvolenou možnost
Pro všechny postavy a potvrdíme tlačítkem OK:

Vidíme, že se nám vytvořila nová proměnná a
, která má
vedle sebe zaškrtnutou modrou fajfku. To znamená, že hodnota, kterou do ní
uložíme, se zobrazí ve výstupním okně. Pokud jí tam nechceme, můžete
fajfku odškrtnout. Na hodnotu uloženou v proměnné to nemá vliv:
Inicializace proměnné
Inicializace proměnné znamená, že do ní něco uložíme. Pojďme tedy do
naší proměnné uložit třeba číslo 56
🙂
Z bloků Proměnné vybereme blok nastav a na ... a přilepíme ho za náš startovní blok:

Místo 0
pak napíšeme číslo 56
:

Výpis proměnné
Výpis už umíme. Přejdeme do bloků Vzhled a přilepíme za náš kód blok bublina:

Teď přejdeme znovu do bloků Proměnné a blok s proměnnou
a
přesuneme do bloku bublina v našem kódu:

Když teď program spustíme, náš kočičák nám řekne číslo, které
jsme si uložili do proměnné a
:

Možná si teď říkáte, k čemu je to všechno dobré? Číslo
56
jsme přeci mohli napsat kočičákovi přímo do bubliny a
výstup by byl stejný. Ano, v takto jednoduchém příkladu bychom se bez
proměnné obešli. V dalších lekcích a ve složitějších aplikacích však
budeme proměnné často využívat. Ukážeme si například, jak do nich
uložit čísla zadaná uživatelem a jak je sečíst nebo vynásobit.
Díky proměnným můžeme snadno a efektivně řešit různé úkoly, jako je počítání, ukládání informací nebo manipulace s textem. Proměnné nám pomáhají vytvořit chytřejší programy a umožňují nám pracovat s informacemi tak, jak potřebujeme.
V následujícím cvičení, Řešené úlohy k 3.-4. lekci Scratche, si procvičíme nabyté zkušenosti z předchozích lekcí.