Funkce a zobecňování
MXGFunkce jsou základním stavebním blokem, pomocí kterého vytváříme programy. Představují konkrétní realizaci obecného principu rozklad na části.
Zjednodušeně řečeno, funkce je kouzlo, kterému něco předložíme (vstup) a ono nám vykouzlí něco jiného (výstup).
- Pohádkový příklad: Zvětšovací kouzelná hůlka, kterou poťukáme zeleninu a ona ji zvětší na dvakrát větší velikost.
- Matematický příklad: Funkce odmocnina, která dáme na vstup číslo a ona nám vrátí jiné číslo (např. pro vstup 25, vrátí výsledek 5).
- Programátorský příklad: Funkce
polygon(n, délka)
, které dáme na vstup dvě čísla (počet stran a délku strany) a ona vykreslí obrázek mnohoúhelníku.
Jednoduché funkce bez parametrů umožňují pouze opakované vykonání přesně téhož kódu (např. vždy stejně velký čtverec). Funkce však mohou obsahovat i parametry, které ovlivňují jejich chování (např. velikost čtverce). Funkce mohou volat jiné funkce a někdy dokonce samy sebe – takovým funkcím se říká rekurzivní.
Při zavádění funkcí potřebujeme umět abstrahovat – tedy odhlédnout od nepodstatných detailů – a následně kód zobecnit – tedy nahradit proměnlivé detaily proměnnými, z nichž pak uděláme parametry funkce. Složitý program, zejména takový, ve kterém se opakuje podobný kód, lze rozložit do několika funkcí, a tím ho zjednodušit a zpřehlednit.
Rozhodovačka
Rychlé procvičování výběrem ze dvou možností.
Přesouvání
Přesouvání kartiček na správné místo. Jednoduché ovládání, zajímavé a neotřelé úlohy.
Označování
V zadaném obrázku či textu máte za úkol označit všechny oblasti, které splňují určitou vlastnost.
Pexeso
Hledání dvojic, které k sobě patří.
Krok po kroku
Doplňování jednotlivých kroků v rozsáhlejším postupu.
ProgMalování
Tvorba obrázků skládáním základním tvarů (např. kruh, čtverec), využití blokového programování.
Funkce
Stavitel
Pomocí blokového programování vytvořte program pro stavitele Standu.
Funkce bez parametrů
Rekurze
Kód kostky
Navigujte kostku po plánu podle zadaného programu. Procvičení schopnosti číst programy.
Funkce kostky
Funkce s parametry
Robotanik
Jednoduché grafické ovládání, zapeklité programátorské úlohy.
Středně těžké
Těžké
Opravdová výzva
Python želva
Tvorba programů v Pythonu, kreslení obrázků želví grafikou.