Podprogramy v blokovém jazyce

Žáci vyčlení opakující se část blokového programu do podprogramu (funkce bez parametrů), pojmenují ho a znovu ho volají.

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

Žáci v 5. ročníku v blokově orientovaném jazyce vyčlení opakující se úsek programu do podprogramu (vlastního bloku bez parametrů), dají mu srozumitelný název a znovu ho volají. Navazují na posloupnosti příkazů a cykly: místo kopírování stejné hromádky bloků jednou popíší „co se má stát“ a na více místech to jen spustí. Výstup INF-INF-002-ZV5-005 vyžaduje program s opakováním i podprogramy a opravu chyb.

Podprogram není nový pohyb postavy, ale pojmenovaný postup, který počítač provede až po zavolání. Žáci porovnají dva stejně dlouhé postupy — jeden s mnohokrát vloženými stejnými bloky a druhý s krátkým voláním — a uvidí, že změna uvnitř podprogramu se projeví všude, kde ho volají. Parametry a návratové hodnoty sem nepatří.

Učitel drží úlohy u konkrétní scény (kreslení čtverce, taneční figury, úsek cesty robota). Nejdřív žáci stejný úsek zkopírují, pak ho přesunou do podprogramu a ověří, že výsledek na plátně zůstává stejný. Chyby hledají podle toho, zda se podprogram vůbec volá a zda je volání na správném místě v pořadí.

Předpoklady

Klíčové pojmy

Podprogram (vlastní blok)
Pojmenovaný úsek bloků, který se provede až tehdy, když ho program zavolá; bez parametrů dělá pokaždé totéž.
Definice a volání
Definice říká, co podprogram obsahuje; volání je blok, který ho spustí na konkrétním místě v hlavním programu.
Název podprogramu
Krátký název podle toho, co úsek dělá (např. nakresliČtverec), ne podle barvy bloku ani podle jména žáka.
Opakující se úsek
Stejná skupina bloků na více místech; místo kopírování se jednou uloží do podprogramu a volá se znovu.
Podprogram a cyklus
Cyklus opakuje bloky za sebou; podprogram umožňuje tentýž úsek použít i mimo jedno opakování, na různých místech programu.
Změna na jednom místě
Oprava uvnitř definice se projeví u každého volání; kopírované bloky by se musely opravovat zvlášť.
Ladění volání
Když se nic nestane, často chybí volání, je mimo běh programu, nebo je definice prázdná, protože bloky zůstaly jen v hlavní větvi.

Časté miskoncepce

  • Častá chyba

    Žák složí vlastní blok, ale do hlavního programu ho nevloží a čeká, že se postava stejně pohne.

    Jak na to

    Nechte ho spustit program: na plátně se nic nestane. Pak společně přetáhněte volání pod zelenou vlajku a porovnejte běh.

  • Častá chyba

    Žák pojmenuje podprogram „blok1“ nebo „moje“ a za týden neví, co dělá.

    Jak na to

    U tabule přepište název na sloveso podle akce (otočVpravoČtverec). Žák musí sousedovi říct jednou větou, co blok provede, než ho použije.

  • Častá chyba

    Žák zkopíruje stejné čtyři bloky třikrát pod sebe a říká, že „už má podprogram“, protože to opakuje.

    Jak na to

    Ukázat vedle sebe kopie a jeden vlastní blok se třemi voláními. Změňte v definici jednu barvu čáry — u kopií se změní jen jedno místo, u podprogramu všechna volání.

  • Častá chyba

    Žák dá do podprogramu celý program včetně startu a pak ho volá uvnitř sebe, až se scéna zasekne nebo se nic nekreslí.

    Jak na to

    Rozlišit na papíře „start“ a „úsek, který se smí volat“. Do vlastního bloku patří jen opakovaný úsek, startovní blok zůstane venku.

Jak učit

2–3 hodiny

  1. Evokace: žáci na kartách složí stejný „tanec“ třikrát za sebou a spočítají, kolik karet by ušetřili jednou pojmenovanou kartou.
  2. Jádro: ve Scratchi nebo obdobném prostředí vyčlení opakovaný úsek do vlastního bloku bez parametrů, pojmenují ho a nahradí kopie voláními; přidají cyklus tam, kde se volání opakuje za sebou.
  3. Reflexe: žáci ukážou sousedovi, kde je definice a kde volání, a řeknou, co by se stalo po změně jednoho bloku uvnitř podprogramu.

Nápady na aktivity

  • Kreslení: třikrát stejný čtverec na různých místech — nejdřív kopiemi, pak podprogramem nakresliČtverec a třemi voláními.
  • Robot nebo postava: stejný úsek cesty (vpřed, vpravo, vpřed) jako vlastní blok jdiRoh; hlavní program ho volá na dvou křižovatkách a jednou uvnitř cyklu.

Hodnocení

Žák odevzdá blokový program, kde je alespoň jeden vlastní blok bez parametrů, je pojmenovaný podle akce a je alespoň dvakrát zavolán; program po spuštění splní zadanou scénu.

Ústně ukáže definici a volání a opraví připravenou chybu: chybějící volání nebo bloky omylem jen v hlavní větvi (INF-INF-002-ZV5-005).

Související témata

Zdroje

Co pro vás ScioBot připraví k tématu Podprogramy 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 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-ZV5-005 Sestaví v blokově orientovaném jazyce program, ve kterém používá opakování a podprogramy, opraví případné chyby.

Učíte Podprogramy 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