Podprogramy a zobecnění v blokovém jazyce

Žáci v blokovém jazyce vyčlení opakující se část do podprogramu s parametry i bez nich, aby byl program přehlednější a znovupoužitelný.

Průvodce tématem Podprogramy a zobecnění v blokovém jazyce v předmětu Informatika pro 7. 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 Podprogramy a zobecnění v blokovém jazyce (7. 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.

V sedmé třídě žáci v blokovém jazyce přecházejí od dlouhého skládání stejných úseků k vyčlenění opakující se části do podprogramu. Cílem je přehlednější program: stejný postup se zapíše jednou, pojmenuje se a odkudkoli se zavolá. Tím se naplňuje výstup INF-INF-002-ZV9-007 (přehledný blokový program) a zároveň INF-INF-002-ZV9-006 (rozklad úlohy na řešitelné části).

Nejprve se vyčleňuje úsek bez parametrů (stejné chování na více místech, například „nakresli dům“ nebo „posuň postavu o jeden krok vzoru“). Pak se stejný postup zobecní parametrem: jedna definice umí dům různé velikosti, čtverec různé strany nebo opakování s různým počtem. Parametr není ozdoba názvu — je to vstup, kterým se volání liší.

Žáci porovnávají verzi „zkopíruj bloky“ s verzí „definuj a volej“. Učí se, že změna uvnitř podprogramu se projeví u všech volání, a že definice sama o sobě nic nevykreslí, dokud ji hlavní skript nezavolá.

Předpoklady

Klíčové pojmy

Podprogram (definice)
Pojmenovaný úsek příkazů, který se zapíše jednou. Sám se nespustí; popisuje, co se má stát, až ho někdo zavolá.
Volání
Blok, který v hlavním skriptu (nebo v jiném podprogramu) spustí definovaný úsek. Bez volání se kresba nebo pohyb neprovede.
Znovupoužití
Stejný postup se na více místech nekopíruje, ale volá. Oprava chyby se dělá na jednom místě.
Parametr
Vstup podprogramu (číslo, barva, počet kroků), kterým se jednotlivá volání liší, aniž by se měnila definice.
Zobecnění
Úprava konkrétního postupu (pevné číslo vevnitř) na postup s parametrem, aby pokryl celou rodinu podobných úloh.
Rozklad na části
Nejprve se v úloze najdou opakující se nebo samostatně pojmenovatelné celky (INF-INF-002-ZV9-006), teprve potom se z nich staví podprogramy.
Přehlednost programu
Hlavní skript čte jako krátký seznam kroků („střecha, stěna, okno“); detaily jsou schované v podprogramech (INF-INF-002-ZV9-007).

Časté miskoncepce

  • Častá chyba

    Žák zkopíruje stejný úsek třikrát a říká, že podprogram nepotřebuje, „vždyť to už mám hotové“.

    Jak na to

    Nechte ho změnit jeden detail (barvu nebo velikost) ve všech kopiích. Pak ukažte tutéž změnu v jedné definici a třech voláních.

  • Častá chyba

    Žák složí definici podprogramu, ale do zelené vlajky ji nezavolá — na jevišti se nic nestane a hledá chybu v blocích uvnitř.

    Jak na to

    Vedle sebe spusťte dva skripty: jen definice a definice plus volání. Žáci ukážou prstem, který blok „spouští práci“.

  • Častá chyba

    Žák do podprogramu natvrdo napíše číslo (strana 50) a pro větší čtverec celý podprogram znovu zkopíruje místo parametru.

    Jak na to

    Dejte úkol „tři čtverce o stranách 30, 60 a 90 jednou definicí“. Pokud vzniknou tři definice, vraťte ho k otázce: čím se volání liší?

  • Častá chyba

    Žák zamění název podprogramu s parametrem („nazvu to čtverec60“) a parametrový ovál nechá prázdný nebo ho nepoužije uvnitř.

    Jak na to

    Na tabuli napište dvojici: název = co to dělá; parametr = čím se to teď liší. V definici musí parametrový ovál viset tam, kde dřív bylo pevné číslo.

Jak učit

2–3 hodiny

  1. Evokace: ukažte dva stejně dlouhé skripty se třemi stejnými „domy“ a zeptejte se, co se stane, když v jednom domě opravíte okno.
  2. Jádro: společně vyčleňte úsek do podprogramu bez parametru, ověřte voláním; vzápětí stejný úsek zobecněte parametrem a vyměňte pevné číslo za ovál.
  3. Reflexe: žáci na hotovém projektu ukážou definici, volání a místo, kde parametr mění výsledek, a řeknou, kterou chybu by teď opravovali jen jednou.

Nápady na aktivity

  • Vzory pro kreslicí pero nebo postavu: nejprve podprogram „jeden motiv“ bez parametru, pak parametr velikost nebo počet opakování uvnitř motivu.
  • Stavba scény z částí (strom, dům, plot): hlavní skript jen volá podprogramy; jedna část má parametr (výška stromu), ostatní zatím bez.

Hodnocení

Žák v projektu ukáže alespoň jeden podprogram bez parametru a jeden s parametrem, oba volané z hlavního skriptu, a vysvětlí, proč úsek nezkopíroval.

Při změně zadání (jiná velikost nebo barva) upraví jen definici nebo hodnotu v volání, ne tři stejné kopie bloků.

Související témata

Zdroje

Co pro vás ScioBot připraví k tématu Podprogramy a zobecnění v blokovém jazyce

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 Podprogramy a zobecnění v blokovém jazyce jedním klikem.

Základní materiály

Interaktivní aktivity 14

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

Téma v dalších ročnících: 8. třída

Učíte Podprogramy a zobecnění v blokovém jazyce 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