Zkoušení a zlepšování programů

Žáci průběžně ověřují program na různých vstupech, hledají a opravují chyby a porovnávají, kolik kroků nebo výpočtů vyžadují různá řešení stejného úkolu.

Průvodce tématem Zkoušení a zlepšování programů 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 Zkoušení a zlepšování programů (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.

Žáci v 8. ročníku navazují na čtení algoritmů, rozklad úlohy a práci v Pythonu s podmínkami, funkcemi a vnořenými cykly. Učí se program průběžně spouštět, porovnávat výsledek se zadáním a při neshodě hledat místo, kde se jeho chování odchýlilo. Vedle správnosti posuzují také efektivitu: například počet provedených kroků či porovnání nebo opakování téhož výpočtu.

Výstup INF-INF-002-ZV9-008 zahrnuje ověřování správnosti postupu, zkoušení programu, opravu chyb i posouzení efektivity. Žáci mohou porovnat dvě řešení stejného úkolu a vysvětlit, podle čeho posuzují jejich úspornost, například podle počtu kroků nebo opakovaných průchodů daty. Není potřeba zavádět formální zápis složitosti. Při ladění pomáhá sledovat mezivýsledky, ověřovat různé vstupy a měnit vždy jen jednu podezřelou část.

Téma propojuje správnost a efektivitu s prací na delších programech, například se skripty pro zpracování čísel či obrázků a s funkcemi. Žáci se učí své závěry opírat o konkrétní chování programu a počet provedených operací, nikoli jen o jeho délku.

Předpoklady

  • Čtení a vysvětlení algoritmu (kroky, větvení, opakování)
  • Python: podmíněný příkaz if
  • Python: funkce a vnořené cykly
  • Hledání a oprava chyb v blokovém programu

Klíčové pojmy

Správnost postupu
Program pro zadaný vstup vytváří výsledek, který odpovídá zadání; nestačí, že jen něco vypíše.
Průběžné zkoušení
Po menší změně se program znovu spustí a ověří se, zda se chová podle očekávání.
Ladění
Systematické hledání místa, kde se výpočet odchýlí od očekávání, například sledováním hodnot, podmínek a mezí cyklu.
Efektivita postupu
Míra úspornosti, kterou lze u konkrétní úlohy posoudit například podle počtu kroků, porovnání nebo opakovaných výpočtů.
Porovnání dvou řešení
Žáci porovnají dvě funkční varianty stejného postupu a své hodnocení úspornosti zdůvodní, například počtem průchodů seznamem.
Testovací vstupy
Různé vstupy, na kterých se ověřuje chování programu, například běžný, prázdný nebo krajní vstup.
Jedna změna najednou
Při hledání chyby se upraví jedna podezřelá část programu a ověří se, zda se jeho chování změnilo podle očekávání.

Časté miskoncepce

  • Častá chyba

    „Když program jednou vypíše číslo, je hotovo; další vstupy zkoušet nemusím.“

    Jak na to

    Ověřte stejný program na několika vstupech, například na nule, kladném a záporném čísle, pokud je úloha připouští. Porovnejte výsledky se zadáním a hledejte případ, na kterém se program zachová chybně.

  • Častá chyba

    „Delší program je lepší nebo odbornější; kratší řešení je podezřelé.“

    Jak na to

    Porovnejte dva správné postupy pro součet čísel: opakované přičítání jednotlivých hodnot a přičítání v cyklu. Zvažte, který postup se snáze použije pro větší počet čísel.

  • Častá chyba

    „Když program nefunguje, opravím najednou několik částí.“

    Jak na to

    Nechte původní verzi programu a nejprve sledujte mezivýsledek před podezřelou podmínkou. Podle zjištěné hodnoty upravte jednu část a program znovu ověřte.

  • Častá chyba

    „Efektivitu poznám podle toho, jak rychle program působí při krátkém výpisu.“

    Jak na to

    Porovnejte jeden průchod seznamem s vnořenými cykly, které porovnají každou dvojici různých hodnot, například při hledání shodných hodnot. U seznamu s 5 prvky připadá na dvojice 10 porovnání, u 20 prvků 190; porovnejte tento růst.

Jak učit

2–3 hodiny

  1. Evokace: Žáci porovnají dva papírové postupy pro stejný úkol, například pro součet nebo hledání maxima, a určí, kde se provádějí zbytečné kroky.
  2. Uvědomění: Žáci spouštějí krátký skript v Pythonu, sledují mezivýsledky, opravují chybu a porovnávají dvě funkční varianty podle počtu provedených kroků.
  3. Reflexe: Každý stručně popíše, jak program ověřoval a podle čeho usoudil, že jedno řešení je úspornější.

Nápady na aktivity

  • Párová práce: Jeden žák píše program, druhý navrhuje různé testovací vstupy a porovnává výsledky se zadáním.
  • Srovnávací list: U stejného zadání žáci porovnají dvě hotová řešení, vyhledají zbytečný cyklus nebo opakovaný výpočet a navrhnou jednu úpravu.

Hodnocení

Žák na konkrétním programu ukáže, jak ověřil jeho správnost alespoň na dvou vstupech, a popíše chybu i navrženou opravu.

Žák porovná dvě správná řešení a zdůvodní, které je pro danou úlohu úspornější, například podle počtu kroků nebo průchodů.

Zdroje

Co pro vás ScioBot připraví k tématu Zkoušení a zlepšování programů

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 Zkoušení a zlepšování programů 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-008 Průběžně ověřuje správnost vytvářeného postupu, zkouší program, opravuje chyby, posoudí efektivitu postupu, programu.

Učíte Zkoušení a zlepšování programů 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