Skládání programu z funkcí a opakování
Žáci v Pythonu rozkládají úlohu na menší části, používají funkce s parametry a vnořené cykly a sledují, jak tyto prostředky zpřehledňují opakující se postup.
Průvodce tématem Skládání programu z funkcí a opakování 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 Skládání programu z funkcí a opakování (8. třída) — ScioBot ho připraví za vás.
Další formáty na jedno kliknutí
- Vytvořit: Pracovní list
- Vytvořit: Písemka
- Vytvořit: Aktivita
- Vytvořit: Prezentace
- Vytvořit: Kartičky
- Vytvořit: QR hra
Téma i ročník jsou už vyplněné. Nic nepíšete — rovnou tvoříte.
V 8. ročníku žáci skládají větší úlohu z menších částí: funkce s parametry popíše opakovaně použitelný postup a vnořené cykly `for` zvládnou opakování ve dvou úrovních, například po řádcích a sloupcích. Učí se tak rozdělit problém, sestavit kroky do přehledného algoritmu a vysvětlit jejich návaznost, což podporuje výstup INF-INF-002-ZV9-006.
Žáci při práci v Pythonu poznávají, jak funkce a opakování přispívají k přehlednosti a znovupoužitelnosti programu. Výstup INF-INF-002-ZV9-007 však výslovně požaduje program v blokově orientovaném jazyce; tato část v Pythonu proto procvičuje související myšlení, ale sama nedokládá splnění tohoto výstupu.
Při rozboru programu je užitečné sledovat, zda žáci rozlišují definici funkce od jejího volání, rozumějí odsazení a vědí, zda funkce výsledek vrací pomocí `return`, nebo jej pouze vypíše pomocí `print`. Smyslem je, aby dokázali popsat, co se opakuje, která část řeší samostatný dílčí úkol a co by bylo třeba změnit při jiném vstupu.
Předpoklady
- Cyklus `for`, rozsah opakování a řízení výpočtu v Pythonu
- Proměnné a výrazy: ukládání hodnot a jejich použití ve výpočtu
- Podmíněný příkaz `if` pro větvení uvnitř cyklu nebo funkce
- Rozklad úlohy na části před zápisem kódu
Klíčové pojmy
- Funkce s parametry
- Pojmenovaný úsek kódu, který při volání dostane konkrétní hodnoty parametrů a provede určený úkol.
- Volání funkce
- Zápis `def` funkci pouze definuje; její tělo se vykoná až při volání názvem a závorkami, případně s argumenty.
- Návratová hodnota (`return`)
- `return` předá výsledek funkce volajícímu kódu, který ho může uložit do proměnné nebo dál použít. `print` pouze zobrazí text.
- Lokální proměnná
- Proměnná vytvořená uvnitř funkce je dostupná v jejím těle; kód mimo funkci její hodnotu přímo nepoužije. Funkce ji může předat dál jako návratovou hodnotu.
- Vnořený cyklus
- Vnitřní cyklus dokončí všechna svá opakování pro každou hodnotu vnějšího cyklu, například projde sloupce v každém řádku.
- Odsazení v Pythonu
- Odsazení určuje, které příkazy patří do funkce nebo cyklu a které cykly jsou vnořené. Příkazy na stejné úrovni odsazení následují po sobě.
- Znovupoužití postupu
- Stejnou funkci lze volat s různými argumenty. Úprava jejího těla se pak projeví při každém volání.
Časté miskoncepce
Častá chyba
Žák napíše funkci, například `def vykresli(n):`, spustí soubor a očekává výstup, přestože funkci nikde nezavolal.
Jak na to
Porovnejte samotnou definici funkce s jejím voláním, například `vykresli(3)`, a nechte žáky určit, kdy se její tělo vykoná.
Častá chyba
Žák uvnitř funkce změní lokální proměnnou, například `soucet = soucet + x`, a očekává, že se tím změní stejnojmenná proměnná mimo funkci. Nebo přiřadí do перемnné výsledek funkce, která pouze použila `print`, a čeká, že v ní bude hodnota.
Jak na to
Porovnejte funkci, která výsledek zobrazí pomocí `print`, s funkcí, která jej vrátí pomocí `return` a jeho hodnotu přiřadí. Proberte, proč hodnota lokální proměnné sama nepřenese změnu ven z funkce.
Častá chyba
Žák zapíše dva cykly pod sebe se stejným odsazením a očekává mřížku 3 × 3; cykly se však vykonají postupně, nikoli jeden uvnitř druhého.
Jak na to
Vyznačte na mřížce 3 × 3 pořadí dvojic (i, j) a porovnejte je s kódem. Vnitřní cyklus musí být odsazen uvnitř těla vnějšího cyklu.
Častá chyba
Žák považuje parametr v hlavičce za pevně danou hodnotu, například že `n` je vždy 5, nebo zamění definici `def scitej(a, b)` za volání funkce.
Jak na to
Porovnejte definici `def scitej(a, b)` s voláními `scitej(2, 3)` a `scitej(4, 5)`. Žáci popíší, jaké argumenty funkce při jednotlivých voláních dostane.
Jak učit
2–3 hodiny
- Evokace: Ukažte několik kopií stejného výpisu řádku a zeptejte se, co by bylo třeba změnit, kdyby řádků mělo být osm.
- Uvědomění: Proberte funkci s parametrem a vnořený cyklus `for`; sledujte, jak se při změně rozměru mění argumenty a rozsahy opakování.
- Reflexe: Žáci pojmenují část programu převedenou do funkce, určí vnější a vnitřní cyklus a popíší, co je třeba změnit pro jiný vstup.
Nápady na aktivity
- Obdélník z hvězdiček: funkce `radek(sirka)` vykreslí řádek o zadané šířce a vnější cyklus ji opakuje podle výšky. Sledujte odsazení i to, kde se funkce volá.
- Malá násobilka nebo součet hodnot v tabulce: vnořené cykly projdou dvojice řádku a sloupce; funkce může pro dvojici vrátit číslo pomocí `return` a hlavní program je vypíše nebo sečte.
Hodnocení
Žák vysvětlí rozdělení úlohy na dílčí kroky, napíše funkci s parametrem, opakovaně ji zavolá a popíše, jak vnořené cykly sestaví mřížku nebo projdou skupiny hodnot (INF-INF-002-ZV9-006).
Žák na vlastním kódu označí vnější a vnitřní cyklus a vysvětlí rozdíl mezi `print` a `return`. Pro doložení výstupu INF-INF-002-ZV9-007 je třeba ověřit použití opakování, větvení a proměnných v blokově orientovaném programu.
Zdroje
Co pro vás ScioBot připraví k tématu Skládání programu z funkcí a opakování
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 Skládání programu z funkcí a opakování jedním klikem.
Základní materiály
-
Příprava na hodinu
Kompletní příprava s cíli, průběhem a aktivitami.
-
Pracovní list
List s úlohami, klíčem a variantou.
-
Písemka
Časovaná písemka s body a variantami.
-
Aktivita
Aktivita do hodiny, kterou žáci hned spustí.
-
Prezentace
Sada slajdů k výkladu a procvičení.
-
Kartičky
Materiál k tisku (kartičky, plakát, pracovní list).
-
QR hra
Interaktivní hra k procvičení tématu.
Interaktivní aktivity 15
-
Křížovka s tajenkou
Legendová křížovka, kde se ve sloupci skrývá tajenka. Skvělá na opakování pojmů.
10–20 min
-
Kartičky
Sada oboustranných kartiček na učení pojmů a definic. Žáci si je procvičí překlápěním.
5–20 min
-
Pexeso a spojovačka
Dvojice kartiček s obrázky, pojmy nebo příklady. Spojovačka, pexeso i volné třídění – ideální na slovní zásobu i opakování.
10–25 min
-
Poslechové cvičení
Vícehlasý dialog s namluvenými hlasy a navázanými otázkami k poslechu.
5–30 min
-
Rozhodovačka
Rychlé rozhodování mezi možnostmi s okamžitou zpětnou vazbou.
5–12 min
-
Otázky
Sada otázek s výběrem odpovědí; jedna nebo více správných. Okamžitá sebekontrola.
5–15 min
-
Vpisování
Žáci dopisují krátké odpovědi a ihned vidí, zda se trefili.
5–15 min
-
Rozřazovačka
Žáci přetahují kartičky do správných kategorií.
5–15 min
-
Rozbory
Žák přiřazuje značky k částem věty nebo výrazu — větné členy, slovní druhy, větné rozbory. Sebevyhodnocovací procvičování.
10–20 min
-
Označování
Žáci označují správná slova přímo v textu.
5–15 min
-
Doplňování textu
Žáci doplňují chybějící slova přímo do vět nebo krátkého textu.
5–15 min
-
Krok po kroku
Žáci řadí kroky procesu do správného pořadí.
5–15 min
-
Popis obrázku
Diagram s očíslovanými špendlíky. Žáci přiřazují popisky k částem obrázku — biologie, zeměpis, anatomie.
5–15 min
-
Přesouvání
Žáci přetahují kartičky do přesně určených slotů.
5–15 min
-
Čtení s porozuměním
Žáci čtou krátký text a odpovídají na otázky k jeho obsahu.
10–25 min
K tisku a rozstříhání 8
-
Páry
Kartičky se dvěma polovinami, které k sobě patří (např. datum–událost). Žáci je vystřihnou a párovají.
10–20 min
-
Výběr z možností (s tajenkou)
Kartičky s úlohami a třemi možnostmi. Písmena u správných odpovědí složí tajenku — žák si tak řešení zkontroluje sám.
10–20 min
-
Doplňování do vět
Věty s výběrem ze dvou možností uvnitř — žák zakroužkuje správnou.
10–20 min
-
Hra Riskuj
Kvízová hra se třemi podtématy a otázkami různé hodnoty — klasický formát Riskuj / Jeopardy.
15–30 min
-
Hra AZ kvíz
28 otázek na hexagonální hrací pole — cílem je spojit všechny tři strany.
15–35 min
-
Označ správnou možnost
Kartičky s otázkou a čtyřmi možnostmi — žák označí správnou (např. kolíčkem).
10–20 min
-
Já mám, kdo má …?
Kartičky s tvrzením a otázkou — žáci je čtou v kruhu a hledají navazující odpověď.
10–25 min
-
Hádej, kdo jsem
Kartičky s popisem osobnosti, věci nebo zvířete v 1. osobě — žáci tipují, o koho/co jde.
10–25 min
Hry pro celou třídu 4
-
AZ kvíz
28 otázek na hexagonálním hracím poli — cílem je spojit všechny tři strany. Včetně náhradních ANO/NE otázek.
15–35 min
-
Riskuj
Klasická hra se 5 kategoriemi a otázkami za 100–500 bodů — týmy soutěží o nejvyšší skóre.
15–40 min
-
Pexeso
Klasické pexeso s 10 dvojicemi (pojem ↔ popis) — dva týmy se střídají a hledají shody.
10–25 min
-
Šarády
Šarády se 12 úkoly (mluvení, kreslení, pantomima) — dva týmy hádají, kdo uhodne první, dostane bod.
15–30 min
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 Skládání programu z funkcí a opakování 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.
Související témata
-
Webdesign: HTML a CSS
Žáci sestaví jednoduchou stránku v HTML a CSS, volí značky, barvy a rozložení podle účelu dokumentu a ověří, že stránka dává smysl uživateli.
-
Trendy digitálních technologií
Žáci diskutují o fungování digitálních technologií, které určují trendy, včetně umělé inteligence, a zvažují přínosy, limity i dopady.
-
Grafy a čtení dat z vizualizace
Žáci čtou sloupcové a koláčové grafy, pojmenují části grafu a odvodí z vizualizace informaci, kterou tabulka sama o sobě nesděluje.
-
Výběr hardwaru a softwaru
Žáci rozliší hardware a software, pojmenují základní části počítače i typy aplikací a vyberou sestavu vhodnou pro zadanou školní úlohu.
-
Výběr hardwaru a softwaru
Žáci vyberou hardware a software podle vlastností zařízení a zdůvodní, proč se hodí k zadanému úkolu, limitu i rozpočtu.
-
Hardware, software a vstupní zařízení
Žáci rozlišují hardware a software, poznají běžná vstupní a výstupní zařízení a vyberou, co k dané úloze potřebují.
-
Tabulkový editor: buňky, řádky a sloupce
Žáci se orientují v tabulkovém editoru, rozlišují buňky, řádky a sloupce, řadí záznamy a zapisují do nich data podle zadání.
-
Dokumenty, prezentace a typografie
Žáci připraví textový dokument a prezentaci s citací zdrojů, dodrží základní typografii a vyberou software podle toho, komu je výstup určen.