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.

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.

Žá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

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

  1. Evokace: dva postupy na stejný seznam — „který zvolíte, když se seznam stokrát prodlouží, a proč?“
  2. 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).
  3. 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

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

Interaktivní aktivity 14

K tisku a rozstříhání 8

Hry pro celou třídu 4

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.

Napsat ScioBotu

Související témata