Python: aplikace — čísla a obrázky

Žáci použijí Python na krátké aplikace: počítání s čísly a práci s obrázky, ověří výsledek a opraví chyby v konkrétním zadání.

Průvodce tématem Python: aplikace — čísla a obrázky 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 Python: aplikace — čísla a obrázky (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 skládají dříve osvojené prvky Pythonu (proměnné, výrazy, cyklus for, podmínky if, funkce) do krátkých aplikací se dvěma typy dat: čísly a rastrovými obrázky. Cílem není nová syntaxe, ale převést slovní zadání na postup: vstup → výpočet nebo úprava pixelů → výstup, a ten ověřit na konkrétních hodnotách. Navazují výstupy INF-INF-002-ZV9-006 (rozklad úlohy), INF-INF-002-ZV9-007 (přehledný program s opakováním, větvením a proměnnými) a INF-INF-002-ZV9-008 (zkoušení programu a oprava chyb).

U číselných úloh žáci počítají součty, průměry, minima a maxima, převody jednotek nebo jednoduché vzorce; u obrázků pracují s polem pixelů (jas, inverze, ořez, zvětšení kopírováním). Obrázek chápou jako mřížku hodnot, kterou už znají z kódování obrazu, a v Pythonu ji procházejí vnořenými cykly. Každá aplikace má zadaný očekávaný výsledek, aby šlo porovnat výstup s ručním výpočtem nebo s ukázkovým obrázkem.

Hodina se opírá o malé, uzavřené zadání (jedna funkce nebo jeden skript), ne o velký projekt. Žáci nejprve úlohu rozloží na části, napíší kód, spustí ho na několika vstupech a chybu hledají v datech i v pořadí příkazů. Efektivitu posuzují jen hrubě: zbytečné opakování stejného výpočtu, zbytečný průchod celým obrázkem, když stačí výřez.

Předpoklady

Klíčové pojmy

Aplikace jako uzavřený postup
Krátký program řeší jedno zadání: přečte nebo dostane data, spočítá nebo upraví je a vrátí výsledek, který lze zkontrolovat.
Číselný vstup a výstup
Hodnoty z klávesnice, ze seznamu nebo z parametru funkce se uloží do proměnných; výsledek se vypíše nebo vrátí. Typ a rozsah čísla musí odpovídat zadání (celé číslo, desetinné číslo).
Agregace čísel
Součet, počet, minimum, maximum a průměr vznikají postupným průchodem seznamu: akumulátor se aktualizuje v cyklu, průměr až po spočítání součtu a počtu.
Obrázek jako mřížka pixelů
Rastr je dvojrozměrná struktura (řádky a sloupce). Barva nebo jas pixelu je číslo nebo trojice čísel; změna obrázku je změna těchto hodnot.
Vnořené cykly přes pixely
Vnější cyklus jde po řádcích, vnitřní po sloupcích. Stejný vzor slouží k inverzi, prahování jasu, výřezu i ke kopírování bloku pixelů.
Rozklad zadání
Úloha se rozdělí na části (načtení, výpočet nebo filtr, zápis výsledku). Každá část má vlastní ověřitelný mezikrok, aby šlo najít, kde vznikla chyba.
Ověření a oprava
Program se zkouší na malých datech se známým výsledkem (krátký seznam, obrázek 3×3). Odchylka od očekávání vede k úpravě výrazu, meze cyklu nebo podmínky.

Časté miskoncepce

  • Častá chyba

    Žák napíše průměr jako součet dělený pevným číslem (např. vždy 10), i když seznam má jiný počet prvků, protože „v zadání bylo deset známek“.

    Jak na to

    Nechte ho spočítat průměr ručně na seznamu o třech číslech a pak program spustit na stejném vstupu; opravte jmenovatel na len(seznam) nebo na počítadlo v cyklu.

  • Častá chyba

    U obrázku prohodí řádky a sloupce: cykluje `for x in range(šířka)` jako vnější smyčku a pak sahá na `pixel[x][y]`, takže program spadne nebo překreslí jen pruh.

    Jak na to

    Na tabuli nakreslete mřížku 3×2, očíslujte `obraz[řádek][sloupec]` a společně přepište cykly tak, aby vnější index byl řádek.

  • Častá chyba

    Při inverzi nebo prahování mění jen jeden kanál (nebo jen „první číslo“) a čeká, že šedý i barevný obrázek vypadají stejně jako v editoru.

    Jak na to

    Otevřete jeden pixel jako trojici (R, G, B), spočítejte inverzi 255−složka pro všechny tři hodnoty a porovnejte výřez před a po.

  • Častá chyba

    Žák po první chybě (IndexError, špatný součet) přepisuje náhodně čísla v `range` místo toho, aby ověřil délku seznamu nebo rozměry obrázku.

    Jak na to

    Vyžadujte před opravou výpis `len` a rozměrů; chybu opravujte až když žáci ukážou, který index je mimo rozsah.

Jak učit

2–3 hodiny

  1. Evokace: ukažte slovní zadání (průměr známek / zesvětlení fotky) a nechte žáky říct, co je vstup, co výpočet a jak poznají správný výsledek.
  2. Jádro: společně rozložte jednu číselnou a jednu pixelovou úlohu, napište cyklus a podmínku, spusťte na malých datech a opravte první chybu.
  3. Reflexe: žáci na stejném kódu změní jedno číslo v zadání a popíší, která část programu se musí změnit a jak výsledek zkontrolovali.

Nápady na aktivity

  • Dvojice dostane seznam teplot a má spočítat minimum, maximum a průměr; výsledek ověří kalkulačkou a teprve pak odevzdá skript.
  • Na obrázku 8×8 (nebo výřezu) žáci napíší inverzi jasu a ořez na prostřední čtverec; porovnají výstup s předem danou „správnou“ mřížkou.

Hodnocení

Žák samostatně rozloží krátké zadání (čísla nebo obrázek) na části, napíše program s cyklem a podmínkou a na zadaném vstupu ukáže shodu s očekávaným výsledkem (INF-INF-002-ZV9-006, INF-INF-002-ZV9-007).

U úmyslně chybného skriptu (špatný index nebo špatný jmenovatel průměru) najde chybu, opraví ji a znovu ověří výstup (INF-INF-002-ZV9-008).

Související témata

Zdroje

Co pro vás ScioBot připraví k tématu Python: aplikace — čísla a obrázky

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 Python: aplikace — čísla a obrázky 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é.
  • 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 Python: aplikace — čísla a obrázky 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