Programování v Pythonu: výpočty a obrázky

Žáci skládají známé prvky Pythonu do krátkých aplikací pro výpočty s čísly a úpravu obrázků, ověřují výstupy a hledají příčiny chyb.

Průvodce tématem Programování v Pythonu: výpočty 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 Programování v Pythonu: výpočty 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 a funkce) do krátkých aplikací, které pracují se dvěma typy dat: čísly a rastrovými obrázky. Učí se převést slovní zadání na postup: vstup → výpočet nebo úprava pixelů → výstup, a ověřit jeho správnost na konkrétních hodnotách. Tím rozvíjejí dovednosti směřující k výstupům 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).

V číselných úlohách žáci počítají součty, průměry, minima a maxima, převádějí jednotky nebo používají jednoduché vzorce. U obrázků pracují s mřížkou pixelů: upravují jas, invertují hodnoty, vyřezávají části nebo zvětšují obraz kopírováním pixelů. Obrázek chápou jako mřížku hodnot, kterou už znají z tématu kódování obrazu, a procházejí ji v Pythonu vnořenými cykly. Každá aplikace má očekávaný výsledek, se kterým lze porovnat výstup programu.

Úlohy jsou malé a uzavřené, například jedna funkce nebo jeden skript. Žáci nejprve rozdělí zadání na části, napíší kód a vyzkoušejí ho na několika vstupech. Při hledání chyby kontrolují data i pořadí příkazů. Efektivitu posuzují na jednoduchých příkladech, například zda program zbytečně neopakuje výpočet nebo neprochází celý obrázek, když stačí upravit jen výřez.

Předpoklady

  • Proměnné, výrazy a číselné datové typy v Pythonu
  • Cyklus for a řízení výpočtu
  • Podmíněný příkaz if
  • Funkce a vnořené cykly

Klíčové pojmy

Aplikace jako uzavřený postup
Krátký program řeší jedno zadání: převezme data, vypočítá nebo upraví je a vrátí výsledek, který lze zkontrolovat.
Číselný vstup a výstup
Číselné hodnoty zadané uživatelem, uložené v seznamu nebo předané funkci se ukládají do proměnných. Výsledek se vypíše nebo vrátí. Datový typ a rozsah čísla musí odpovídat zadání.
Výpočty se seznamem čísel
Součet, počet, minimum, maximum a průměr lze určit postupným průchodem seznamu. Součet a počet se průběžně aktualizují v cyklu; průměr se vypočítá ze součtu a počtu prvků.
Obrázek jako mřížka pixelů
Rastrový obrázek je dvojrozměrná struktura složená z řádků a sloupců. Podle použité reprezentace je barva nebo jas pixelu uložen jako číslo nebo jako několik čísel; úprava obrázku mění tyto hodnoty.
Vnořené cykly přes pixely
Vnější cyklus prochází řádky a vnitřní sloupce. Tento postup lze použít k úpravě hodnot pixelů, vyříznutí části obrázku nebo kopírování jeho části.
Rozklad zadání
Úloha se rozdělí na části, například načtení dat, výpočet nebo úpravu a zápis výsledku. Každá část má ověřitelný mezikrok, který pomáhá určit, kde vznikla chyba.
Ověření a oprava
Program se zkouší na malých datech se známým výsledkem, například na krátkém seznamu nebo obrázku 3 × 3. Při nesouladu s očekáváním žák prověří výraz, meze cyklu i podmínku.

Časté miskoncepce

  • Častá chyba

    Žák vypočítá průměr jako součet dělený pevným číslem, například vždy 10, i když seznam obsahuje jiný počet hodnot.

    Jak na to

    Nechte žáka nejprve ručně vypočítat průměr ze tří čísel a potom spustit program se stejnými hodnotami. Jmenovatelem je počet prvků, například len(seznam) nebo počítadlo aktualizované v cyklu.

  • Častá chyba

    Žák prohodí řádky a sloupce: použije šířku jako vnější cyklus a přistupuje k pixelům pomocí prohozených indexů. Program pak může skončit chybou nebo upravit jen část obrázku.

    Jak na to

    Nakreslete mřížku se třemi sloupci a dvěma řádky, označte přístup obraz[řádek][sloupec] a společně uspořádejte cykly tak, aby vnější index označoval řádek.

  • Častá chyba

    Žák při inverzi barevného pixelu upraví jen jeden kanál a očekává stejný výsledek jako při úpravě všech složek RGB.

    Jak na to

    Ukažte pixel jako trojici hodnot RGB. U osmibitových složek od 0 do 255 vypočítejte inverzi jako 255 − složka pro každou ze tří hodnot a porovnejte výsledek.

  • Častá chyba

    Po chybě, například IndexError nebo nesprávném součtu, žák náhodně mění hodnoty v range místo toho, aby ověřil délku seznamu nebo rozměry obrázku.

    Jak na to

    Před opravou ověřte délku seznamu nebo rozměry obrázku. Chybu opravujte až poté, co žák ukáže, který index překročil rozsah.

Jak učit

2–3 hodiny

  1. Evokace: Ukažte slovní zadání, například výpočet průměru známek nebo úpravu obrázku, a nechte žáky určit vstupy, výpočet a způsob ověření výsledku.
  2. Uvědomění: Společně rozdělte číselnou a pixelovou úlohu na části, sestavte odpovídající cyklus a podmínku a ověřte program na malých datech. Při nesprávném výsledku určete, která část postupu selhala.
  3. Reflexe: Žáci změní jednu hodnotu ve vstupu a popíší, zda a proč se musí změnit některá část programu. Poté ověří nový výsledek.

Nápady na aktivity

  • Dvojice dostane seznam teplot a napíše skript pro výpočet minima, maxima a průměru. Výsledky nejprve ověří ručně nebo kalkulačkou a potom je porovná s výstupem programu.
  • Na černobílé mřížce 8 × 8 žáci invertují hodnoty pixelů a vyříznou předem vyznačený čtverec 4 × 4. Výstup porovnají s kontrolní mřížkou.

Hodnocení

Žák rozdělí krátké zadání s čísly nebo obrázkem na části, napíše program s cyklem a případně podmínkou a na zadaném vstupu porovná výstup s očekávaným výsledkem (INF-INF-002-ZV9-006, INF-INF-002-ZV9-007).

Žák najde a opraví chybu v krátkém programu, například chybný index nebo nesprávný jmenovatel průměru, a ověří výsledek opakovaným spuštěním (INF-INF-002-ZV9-008).

Zdroje

Co pro vás ScioBot připraví k tématu Programování v Pythonu: výpočty 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 Programování v Pythonu: výpočty a obrázky 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-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 Programování v Pythonu: výpočty 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