Blokové programování V (funkce)
| Typický ročník | 9. |
| Interval vhodných ročníků | 8. – 1. SŠ |
| Učivo | funkce bez parametrů, funkce s parametry, rozklad problému, znovupoužití kódu |
| Předcházející moduly | |
| Navazující modul | Shrnutí blokového programování a ukázka Pythonu |
| Bezprostřední výsledky učení |
|
| Související RVP výsledky učení |
|
Modul uvádí žáky do práce s funkcemi v blokovém programování a rozvíjí klíčový princip abstrakce. Žáci se naučí dělit problém na menší části, vytvářet a používat vlastní funkce – nejprve bez parametrů a následně s parametry. Důraz je kladen na přehlednou strukturu programu, opakované využití kódu a schopnost zobecňovat řešení. Modul navazuje na předchozí znalosti proměnných, cyklů a podmínek a představuje další krok ke komplexnějším algoritmům.
Programy lze často zobecnit (abstrahovat) nahrazením konkrétní hodnoty za obecnou proměnnou. To umožňuje tvořit programy, které řeší obecnější problémy. Například místo několika různých programů pro výpis čísla obklopeného jedničkami stačí jediný:

Při zobecňování je někdy potřeba kromě proměnné zavést také podmíněný příkaz nebo cyklus. Příklad:


Kromě vytváření obecnějších řešení můžeme pomocí zobecňování upravovat programy tak, aby byly přehlednější. Když si v programu všimneme opakujícího se vzoru (např. opakované výpisy čísla obklopeného jedničkami), můžeme tyto kousky kódu po vhodném zobecnění nahradit společnou funkcí (parametrizovanou proměnnými zavedenými při zobecňování).
Složitý program lze zpřehlednit tím, že ho rozdělíme na několik částí, které vyčleníme do samostatných funkcí. V takovém programu se navíc snáze hledají a opravují chyby, protože můžeme testovat jednotlivé funkce zvlášť.
Příklad: V následujícím programu je výpis posloupnosti 11–14 podobný výpisu posloupnosti 31–34. V obou případech jde o výpis 4 čísel od n+1 do n+4. Můžeme proto tyto výpisy nahradit voláním nové funkce s parametrem n, která bude vypisovat n+1 až n+4.


Program rozdělujeme tak, aby nově zavedené funkce měly jasný význam. Často pomůže všimnout si částí programu, které si jsou hodně podobné (hledání vzorů). Tyto části zobecníme tak, aby je vykonával stejný kód a ten zapíšeme do nové funkce (jejími parametry jsou proměnné potřebné ke společnému zobecnění kódů). Původní kódy pak nahradíme voláním této nové funkce.
Náměty na doplňkové aktivity
Grafický vzor pomocí funkcíŽáci vytvoří program (např. pomocí prostředí Scratch), který kreslí opakující se vzory (např. květ, mozaiku) pomocí funkcí s parametry.
Rozklad praktického problému na částiSkupinová aktivita, ve které žáci rozdělí reálný úkol (např. příprava na školní výlet) na jednotlivé části a popíší je jako „funkce“ se vstupy a výstupy.

