Funkce a opakování v Pythonu

Žáci rozdělují úlohu na menší části a v Pythonu používají funkce s parametry a vnořené cykly k zápisu opakujících se postupů.

Průvodce tématem Funkce a opakování v Pythonu v předmětu Informatika pro 8. třídu: co mají žáci zvládnout, na co navázat a kde nejčastěji chybují. K tomu příprava na hodinu, pracovní list nebo písemka, které ScioBot připraví na jedno kliknutí přesně pro tento ročník.

Připravit hodinu Všechny formáty

Klikněte a tvořte

Získejte přípravu zdarma

Vyberte formát. Jedním kliknutím otevřete tvorbu na téma Funkce a opakování v Pythonu (8. třída) — ScioBot ho připraví za vás.

Připravit hodinu

Další formáty na jedno kliknutí

Téma i ročník jsou už vyplněné. Nic nepíšete — rovnou tvoříte.

Funkce pojmenuje dílčí postup a díky parametrům jej lze použít pro různé vstupy. Vnořené cykly `for` zajišťují opakování ve dvou úrovních, například pro sloupce v jednotlivých řádcích. Žáci tak rozdělují úlohu na části a skládají z nich postup řešení. Tato práce souvisí s výstupem RVP Žák rozdělí problém na jednotlivě řešitelné části a navrhne postupy a algoritmy pro jeho řešení.

Při práci v Pythonu žáci sledují, jak funkce a opakování zpřehledňují program. Výstup RVP Žák v blokově orientovaném programovacím jazyce vytvoří přehledný program, používá opakování, větvení programu, proměnné. se vztahuje k blokovému jazyku; dovednosti procvičené v Pythonu mohou žáci využít i při plánování takového programu.

Při čtení programu žáci rozlišují definici funkce od jejího volání a sledují, které příkazy patří podle odsazení do funkce nebo cyklu. Vysvětlí také, zda funkce výsledek vrací pomocí `return`, nebo jej vypíše pomocí `print`, a co se při změně vstupu vykoná jinak.

Předpoklady

Klíčové pojmy

Funkce s parametry
Pojmenovaný úsek kódu, který při volání přijímá hodnoty předané jako argumenty a provádí určený úkol.
Volání funkce
Příkaz, který spustí tělo dříve definované funkce. Zapisuje se jejím názvem a závorkami, případně s argumenty.
Návratová hodnota (`return`)
`return` předá hodnotu volajícímu kódu, který ji může dál použít. `print` výsledek pouze vypíše.
Lokální proměnná
Proměnná vytvořená uvnitř funkce, která je dostupná v jejím těle. Její hodnotu může funkce předat volajícímu kódu pomocí `return`.
Vnořený cyklus
Cyklus uvnitř jiného cyklu. Pro každý průchod vnějšího cyklu proběhne vnitřní cyklus znovu, například pro každý řádek projde všechny sloupce.
Odsazení v Pythonu
Odsazení vymezuje tělo funkce či cyklu a určuje, které příkazy se vykonávají uvnitř něj.
Znovupoužití postupu
Stejnou funkci lze volat opakovaně i s různými argumenty. Změna jejího těla se projeví při dalších voláních.

Časté miskoncepce

  • Častá chyba

    Žák napíše například `def vykresli(n):`, spustí soubor a očekává výstup, přestože funkci nikde nezavolal.

    Jak na to

    Porovnejte definici s voláním `vykresli(3)` a nechte žáky určit, při kterém příkazu se tělo funkce vykoná.

  • Častá chyba

    Žák očekává, že přiřazení lokální proměnné uvnitř funkce změní stejnojmennou proměnnou mimo funkci, nebo že funkce používající pouze `print` předá vypsanou hodnotu do proměnné.

    Jak na to

    Porovnejte vypsání výsledku pomocí `print` s jeho vrácením pomocí `return`. Ukažte, jak se vrácená hodnota přiřadí mimo funkci.

  • Častá chyba

    Žák zapíše dva cykly pod sebe se stejným odsazením a očekává mřížku 3 × 3.

    Jak na to

    Porovnejte pořadí průchodů dvojicemi řádku a sloupce se zápisem cyklů. Vnitřní cyklus patří do odsazeného těla vnějšího.

  • Častá chyba

    Žák považuje parametr v definici funkce za pevně danou hodnotu nebo zaměňuje definici `def scitej(a, b)` za volání funkce.

    Jak na to

    Porovnejte definici s voláními `scitej(2, 3)` a `scitej(4, 5)`. Žáci určí, jaké hodnoty parametry při každém volání dostanou.

Jak učit

  1. Evokace: Ukažte několik kopií příkazu pro výpis řádku a zeptejte se, co by se měnilo při jiném počtu řádků.
  2. Uvědomění: Na funkci s parametrem a vnořených cyklech `for` sledujte, jak argumenty a rozsahy cyklů určují rozměry výstupu.
  3. Reflexe: Žáci vysvětlí, kterou část postupu převzala funkce a jak spolupracují vnější a vnitřní cyklus.

Nápady na aktivity

  • Obdélník z hvězdiček: funkce `radek(sirka)` vypíše řádek o zadané šířce a vnější cyklus ji volá podle požadované výšky. Pozornost věnujte místu volání a odsazení.
  • Malá násobilka nebo součet hodnot v tabulce: vnořené cykly procházejí dvojice řádku a sloupce. Funkce vrací hodnotu pro danou dvojici pomocí `return`; hlavní program ji vypíše nebo přičte k součtu.

Hodnocení

Žák rozdělí úlohu na dílčí kroky, napíše funkci s parametrem, opakovaně ji zavolá a vysvětlí, jak cykly projdou řádky a sloupce.

Žák ve svém kódu označí vnější a vnitřní cyklus a na výsledku volání funkce vysvětlí rozdíl mezi `print` a `return`.

Související témata

Zdroje

Co pro vás ScioBot připraví k tématu Funkce a opakování v Pythonu

Interaktivní aktivity, které žáci spustí na tabletu či tabuli, tisknutelné kartičky a hry pro celou třídu – každý formát na téma Funkce a opakování v Pythonu jedním klikem.

Základní materiály

Interaktivní aktivity 15

K tisku a rozstříhání 8

Hry pro celou třídu 4

Očekávané výstupy

  • 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é.

Učíte Funkce a opakování v Pythonu trochu jinak?

Popište ScioBotu vlastními slovy, co s žáky chcete zvládnout a kolik máte času. Materiál přizpůsobí vašemu ŠVP, třídě i žákům se speciálními vzdělávacími potřebami.

Napsat ScioBotu

Související témata