Nároky algoritmu
Žáci posoudí nároky algoritmu vzhledem k velikosti vstupu, porovnají dvě řešení a zvolí vhodnější podle času, paměti nebo srozumitelnosti. Nejde o měření hardwaru ani o počítačové sítě.
Průvodce tématem Nároky algoritmu v předmětu Informatika pro II. ročník: 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 Nároky algoritmu (II. ročník) — ScioBot ho připraví za vás.
Další formáty na jedno kliknutí
- Vytvořit: Pracovní list
- Vytvořit: Písemka
- Vytvořit: Aktivita
- Vytvořit: Prezentace
- Vytvořit: Kartičky
- Vytvořit: QR hra
Téma i ročník jsou už vyplněné. Nic nepíšete — rovnou tvoříte.
Žák posuzuje, jak se s rostoucí velikostí vstupu mění časové a paměťové nároky algoritmu, a umí to vztáhnout k výstupu G-INF-02-003. Nejde o měření konkrétního počítače ani o sítě, ale o to, zda řešení při zdvojnásobení dat „jen trochu zpomalí“, nebo se stane nepoužitelným. Druhé hledisko je srozumitelnost: kratší nebo chytřejší zápis nemusí být vhodnější, pokud ho třída nedokáže ověřit.
Porovnání dvou řešení stejného problému (např. hledání maxima, součtu, řazení nebo hledání v seznamu) žáci opírají o stejné vstupy různé délky a o pozorování z krokování a ladění (G-INF-02-008). Vyberou algoritmus podle zvoleného hlediska — čas, paměť, nebo čitelnost — a umí říct, co by na algoritmu změnili, aby se hledisko zlepšilo, aniž by se ztratila správnost.
Zobecnění znamená, že totéž pravidlo (lineární průchod, zbytečné vnořené cykly, zbytečné kopírování seznamu) přenesou na podobnou úlohu, ne že recitují vzorce složitosti bez vztahu k datům.
Předpoklady
- Vlastnosti algoritmu, zápis postupu a rozklad na kroky
- Větvení a cykly: kolikrát se tělo cyklu provede
- Seznamy: délka vstupu a průchod prvky
- Testování a ladění: vliv vstupních dat na běh
Klíčové pojmy
- Velikost vstupu
- Číslo, které vystihuje, kolik dat algoritmus zpracovává (délka seznamu, počet čísel). Nároky se hodnotí vůči této velikosti, ne vůči „rychlosti notebooku“.
- Časové nároky
- Kolik základních kroků (porovnání, přiřazení, průchod prvkem) algoritmus udělá, když vstup roste. Žák to odhadne z počtu opakování cyklů, ne z hodinových údajů procesoru.
- Paměťové nároky
- Kolik pomocných hodnot nebo kopií dat algoritmus navíc potřebuje. Nový seznam stejné délky je jiný nárok než několik proměnných.
- Porovnání podle hlediska
- Dvě správná řešení se mohou lišit časem, pamětí i srozumitelností. Výběr „lepšího“ platí jen k zvolenému kritériu a k charakteru vstupu.
- Vliv vstupních dat
- Stejný kód se chová jinak u prázdného, krátkého, dlouhého nebo už seřazeného vstupu. To souvisí s běhovým chováním a s testováním, ne jen se syntaxí.
- Vylepšení algoritmu
- Úprava, která sníží zbytečnou práci (druhý průchod, vnořený cyklus navíc, kopírování celého seznamu), aniž se změní výsledek pro stejné vstupy.
- Srozumitelnost jako hledisko
- Řešení, které třída dokáže krokovat a obhájit, může být vhodnější než kratší zápis, který nikdo neověří — zejména u školních úloh a údržby kódu.
Časté miskoncepce
Častá chyba
„Můj program je rychlejší, protože na mém počítači doběhl dřív.“
Jak na to
Nechte oba programy zpracovat stejné tři vstupy (např. 10, 1 000 a 10 000 prvků) a porovnejte počet kroků nebo počet průchodů cyklem, ne stopky jednoho stroje.
Častá chyba
„Když je v kódu míň řádků, je algoritmus méně náročný.“
Jak na to
Dejte vedle sebe krátký zápis s vnořenými cykly a delší s jedním průchodem; žáci spočítají, kolikrát se vnitřní tělo provede při n prvcích.
Častá chyba
„Seznam délky n vždycky potřebuje n² kroků.“
Jak na to
Ukažte hledání maxima (jeden průchod) a naivní porovnání každého s každým; žáci přiřadí, který vzor patří ke které úloze.
Častá chyba
„Optimalizace znamená smazat komentáře a zkrátit názvy proměnných.“
Jak na to
Opravte na konkrétním kódu zbytečné druhé procházení seznamu; komentáře nechte a ptejte se, zda se výsledek a počet průchodů změnily.
Jak učit
2–3 hodiny
- Evokace: dva postupy na stejný seznam — „který zvolíte, když se seznam stokrát prodlouží, a proč?“
- Jádro: na stejném problému žáci spočítají průchody, označí pomocnou paměť a vyberou řešení podle zadaného hlediska (čas / paměť / srozumitelnost).
- Reflexe: žáci jednou větou zapíší, co by na zvoleném algoritmu změnili při ještě větším vstupu, aniž by pokazili správnost.
Nápady na aktivity
- Porovnávací tabulka: dvě implementace (např. součet v jednom cyklu vs. opakované sčítání od začátku); sloupce n, počet kroků, pomocná paměť, srozumitelnost, doporučení.
- Úprava kódu: dostanou funkční, ale zbytečně náročný postup (kopie seznamu v každé iteraci); navrhnou vylepšení a ověří stejnými testovacími vstupy.
Hodnocení
Žák na dvou správných řešeních stejné úlohy uvede, jak se nároky mění s délkou vstupu, a vybere vhodnější podle zadaného hlediska (čas, paměť, nebo srozumitelnost).
Žák navrhne jednu konkrétní úpravu algoritmu, která sníží zbytečnou práci, a ověří, že výsledky na připravených vstupech zůstanou stejné.
Související témata
- Algoritmus: vlastnosti, zápis a rozklad
- Větvení a cykly
- Seznamy v Pythonu
- Funkce a podprogramy
- Testování a ladění
- Vývoj a sestavení programu
Zdroje
Co pro vás ScioBot připraví k tématu Nároky algoritmu
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 Nároky algoritmu jedním klikem.
Základní materiály
-
Příprava na hodinu
Kompletní příprava s cíli, průběhem a aktivitami.
-
Pracovní list
List s úlohami, klíčem a variantou.
-
Písemka
Časovaná písemka s body a variantami.
-
Aktivita
Aktivita do hodiny, kterou žáci hned spustí.
-
Prezentace
Sada slajdů k výkladu a procvičení.
-
Kartičky
Materiál k tisku (kartičky, plakát, pracovní list).
-
QR hra
Interaktivní hra k procvičení tématu.
Interaktivní aktivity 14
-
Křížovka s tajenkou
Legendová křížovka, kde se ve sloupci skrývá tajenka. Skvělá na opakování pojmů.
10–20 min
-
Kartičky
Sada oboustranných kartiček na učení pojmů a definic. Žáci si je procvičí překlápěním.
5–20 min
-
Pexeso a spojovačka
Dvojice kartiček s obrázky, pojmy nebo příklady. Spojovačka, pexeso i volné třídění – ideální na slovní zásobu i opakování.
10–25 min
-
Rozhodovačka
Rychlé rozhodování mezi možnostmi s okamžitou zpětnou vazbou.
5–12 min
-
Otázky
Sada otázek s výběrem odpovědí; jedna nebo více správných. Okamžitá sebekontrola.
5–15 min
-
Vpisování
Žáci dopisují krátké odpovědi a ihned vidí, zda se trefili.
5–15 min
-
Rozřazovačka
Žáci přetahují kartičky do správných kategorií.
5–15 min
-
Rozbory
Žák přiřazuje značky k částem věty nebo výrazu — větné členy, slovní druhy, větné rozbory. Sebevyhodnocovací procvičování.
10–20 min
-
Označování
Žáci označují správná slova přímo v textu.
5–15 min
-
Doplňování textu
Žáci doplňují chybějící slova přímo do vět nebo krátkého textu.
5–15 min
-
Krok po kroku
Žáci řadí kroky procesu do správného pořadí.
5–15 min
-
Popis obrázku
Diagram s očíslovanými špendlíky. Žáci přiřazují popisky k částem obrázku — biologie, zeměpis, anatomie.
5–15 min
-
Přesouvání
Žáci přetahují kartičky do přesně určených slotů.
5–15 min
-
Čtení s porozuměním
Žáci čtou krátký text a odpovídají na otázky k jeho obsahu.
10–25 min
K tisku a rozstříhání 8
-
Páry
Kartičky se dvěma polovinami, které k sobě patří (např. datum–událost). Žáci je vystřihnou a párovají.
10–20 min
-
Výběr z možností (s tajenkou)
Kartičky s úlohami a třemi možnostmi. Písmena u správných odpovědí složí tajenku — žák si tak řešení zkontroluje sám.
10–20 min
-
Doplňování do vět
Věty s výběrem ze dvou možností uvnitř — žák zakroužkuje správnou.
10–20 min
-
Hra Riskuj
Kvízová hra se třemi podtématy a otázkami různé hodnoty — klasický formát Riskuj / Jeopardy.
15–30 min
-
Hra AZ kvíz
28 otázek na hexagonální hrací pole — cílem je spojit všechny tři strany.
15–35 min
-
Označ správnou možnost
Kartičky s otázkou a čtyřmi možnostmi — žák označí správnou (např. kolíčkem).
10–20 min
-
Já mám, kdo má …?
Kartičky s tvrzením a otázkou — žáci je čtou v kruhu a hledají navazující odpověď.
10–25 min
-
Hádej, kdo jsem
Kartičky s popisem osobnosti, věci nebo zvířete v 1. osobě — žáci tipují, o koho/co jde.
10–25 min
Hry pro celou třídu 4
-
AZ kvíz
28 otázek na hexagonálním hracím poli — cílem je spojit všechny tři strany. Včetně náhradních ANO/NE otázek.
15–35 min
-
Riskuj
Klasická hra se 5 kategoriemi a otázkami za 100–500 bodů — týmy soutěží o nejvyšší skóre.
15–40 min
-
Pexeso
Klasické pexeso s 10 dvojicemi (pojem ↔ popis) — dva týmy se střídají a hledají shody.
10–25 min
-
Šarády
Šarády se 12 úkoly (mluvení, kreslení, pantomima) — dva týmy hádají, kdo uhodne první, dostane bod.
15–30 min
Očekávané výstupy
- G-INF-02-003 žák ve vztahu k charakteru a velikosti vstupu hodnotí nároky algoritmů; porovná algoritmy podle různých hledisek, vybere pro řešený problém ten nejvhodnější; vylepší algoritmus podle zvoleného hlediska; zobecní řešení pro širší třídu problémů
- G-INF-02-008 testování, optimalizace – syntaktické, běhové a logické (funkční) chyby, krokování a ladění programu; vliv vstupních dat na spotřebované výpočetní zdroje
Učíte Nároky algoritmu 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.
Související témata
-
Algoritmus: vlastnosti, zápis a rozklad
Žáci vysvětlí vlastnosti algoritmu, zapíší ho slovně, diagramem i pseudokódem, rozdělí problém na části a zdůvodní, co řešit algoritmicky. Neopakují blokové programování ze ZŠ.
-
Binární kódování
Žáci zapíší čísla ve dvojkové soustavě, vysvětlí bit, bajt a množství informace podle vyloučených možností a zdůvodní volbu datového typu mimo programovací jazyk.
-
Umělá inteligence
Žáci vysvětlí princip strojového učení, uvedou aplikace umělé inteligence a posoudí její limity, přínosy a rizika při práci s informacemi i ve společnosti.
-
Data a informace
Žáci rozliší data od informace, navrhnou sběr a evidenci údajů, posoudí jejich úplnost a význam pro rozhodnutí a oddělí evidenci od návrhu informačního systému.
-
Proměnné a výrazy v Pythonu
Žáci v Pythonu deklarují proměnné, volí datové typy a sestavují číselné i logické výrazy včetně vstupu a výstupu. Nejde o první seznámení s proměnnými ze ZŠ, ale o přehledný zápis výrazů v programu.
-
Tabulky, klíče a procesy
Žáci navrhnou tabulky s atributy, primárním a cizím klíčem, propojí je relacemi a sladí procesy od sběru po výstup s rolemi, které data mění nebo jen čtou.
-
Větvení a cykly
Žáci programují větvení se složenými podmínkami a cykly for i while, vnořují bloky a řídí tok výpočtu. Rozšiřují řízení výpočtu ze ZŠ o složené podmínky a přehlednou strukturu.
-
Počítačové sítě a internet
Žáci porovnají způsoby propojení počítačů, charakterizují lokální sítě a internet, vysvětlí paketový přenos, web, cloud, bezdrátové sítě a internet věcí.