Blokové programování V (funkce)

Typický ročník9.
Interval vhodných ročníků8. – 1. SŠ
Učivofunkce 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í
  • Vysvětlí, co je funkce v programování a k čemu slouží.
  • Rozpozná situace, kdy je vhodné použít funkci k zjednodušení programu.
  • Vytvoří a použije vlastní funkci bez parametrů i s parametry v blokovém jazyce.
  • Rozdělí složitější problém na dílčí části a každou z nich vyřeší samostatně.
Související RVP výsledky učení
  • INF-INF-002-ZV9-006 Rozdělí problém na jednotlivě řešitelné části a navrhne postupy a algoritmy pro jeho řešení.
  • INF-INF-002-ZV9-007 V blokově orientovaném programovacím jazyce vytvoří přehledný program, používá opakování, větvení programu, proměnné.
  • INF-INF-002-ZV9-008 Průběžně ověřuje správnost vytvářeného postupu, zkouší program, opravuje chyby, posoudí efektivitu postupu, programu.

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.

Bloky a dosažený postup

1. Funkce bez parametrů I
2. Robotanik
4. Funkce s parametry
Souhrn tématu

Funkce s parametry

Souhrn tématu

Funkce mohou mít parametry, které ovlivňují jejich chování. To se hodí pro psaní obecných funkcí, které budou použitelné ve více případech – různé hodnoty parametrů povedou na různé chování. Parametry se většinou zapisují do závorek za jméno funkce. Když funkci voláme, musíme dodat hodnoty parametrů (opět typicky v závorkách za jménem funkce).

Parametry funkce lze vnímat jako speciální proměnné. Předaným hodnotám parametrů se říká argumenty. (V ukázce výše je parametrem jméno délka, zatímco čísla 3 a 2 argumenty.)

Parametry ve Scratchi

Scratch označuje funkce jako „scénáře“ či „moje bloky“ a umožňuje jim přiřadit parametry různých typů – číslo, text, logická hodnota (pravda/nepravda).

Více parametrů

Funkce může mít parametrů více. Oddělují se většinou čárkou. První parametr se nastaví na první předaný argument, druhý parametr na druhý předaný argument atd. V následující ukázce se nastaví n = 5, x = 3 a vypíše se pět trojek. Pokud bychom volali řada(3, 5) nastavilo by se n = 3, x = 5 a vypsaly by se tři pětky.

5. Použití funkcí
Souhrn tématu

Zobecňování programů

Souhrn tématu

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í).

Souhrn tématu

Rozklad programů

Souhrn tématu

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 části

Skupinová 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.

NAPIŠTE NÁM

Děkujeme za vaši zprávu, byla úspěšně odeslána.

Napište nám

Nevíte si rady?

Před položením dotazu si prosím projděte návody:

Prosíme, nezasílejte dotazy na prozrazení řešení úloh či vysvětlení postupu. Pokud hlásíte chybu, upřesněte prosím, v čem přesně spočívá a připojte snímek obrazovky.

Čeho se zpráva týká?

Vzkaz Hlášení chyby Obsah Ovládání Přihlášení Licence