Algoritmus
Lidé a stroje na celém světě bez ustání provádí pracovní postupy. Ráno vstaneš a spustíš svou ranní rutinu. Obličej, zuby, hřeben, obléknout, snídaně, svačina, batoh a ven. Každý má svou, ale pro každého je ráno skoro stejné. O čem při ní přemýšlíme? Většina z nás už nepřemýšlí o tom, co bude další krok v pořadí. To jsme se naučili v první třídě. Máme ranní postupy zautomatizované. Uříznout chleba, druhý krajíc, máznout máslo, med, totéž druhý krajíc, nalít si čaj. Můžeme myslet na zajímavější a důležitější věci: co nás dnes čeká?
Vyřešit početní příklad je pro někoho složitější, než namazání chleba. Někdo ale má řešení zautomatizované. Nemusí nad ním přemýšlet, neunavuje ho. Je to rutinní, stále stejně se opakující sled jednoduchých kroků, které spolehlivě vedou k výsledku. Zbývá tak kapacita na přemýšlení o tom, co pak vlastně bude dělat s výsledkem. Podobně osvobozující efekt má kalkulačka, jen se člověk tak dobře nepocvičí a není v přímém kontaktu s tím, co se s čísly vlastně děje.
Provoz na křižovatce se na první pohled může jevit jako poměrně složitý. Je však dostatečně jednoduchý na to, aby ho bylo možno jednoznačně popsat. A pokud jde něco jednoznačně popsat, může to provádět stroj. Provoz proto může řídit semafor namísto policisty, který tak svůj intelektuální potenciál může využít efektivněji.
Zásadním předpokladem úspěšného zvládnutí záplavy informací je jejich třídění a přiřazování priorit. Někteří lidé stráví desítky minut denně rozdělováním příchozí pošty do složek, aby se tak mohli soustředit na ty nejdůležitější a zároveň nejurgentnější, a přitom mohli později snadno dohledat ty ostatní. Někteří lidé si všimnou, podle jakých kritérií vlastně zprávy posuzují, a vytvoří pro jejich třídění automatizované filtry. Mají totiž pro svůj čas lepší využití, nechtějí ho trávit tříděním pošty, které za ně snadno udělá stroj, když mu postup správně popíšou.
Tyto spolehlivé pracovní postupy, které lze provádět bez zapojení intelektu, jsou velmi užitečné a my je prozkoumáme blíž. Budeme jim říkat algoritmy.
Algoritmus je jeden z hlavních předmětů zkoumání informatiky. Slovo informatika koneckonců pochází ze slov automatické zpracování informace.
Obsah kapitoly
V téhle kapitole se věnujeme poměrně podrobně samotnému pojmu algoritmu. Těžiště práce tedy není ve vymýšlení algoritmů, jak by někdo mohl očekávat. Nejsou tu ani obecné postupy či strategie k tvorbě algoritmů — nanejvýš dílčí příklady, ale nikoliv systematické pojetí (které by hravě vydalo na celý školní rok).
V první řadě zjistíme, čím se vůbec spolehlivé pracovní postupy vyznačují. Na základě jejich vlastností pak algoritmus definujeme. S definicí už můžeme začít rozlišovat, který postup je a který není algoritmem. Mezitím se naučíme algoritmy účelně zapisovat.
Hlavní otázky
- Jak psát spolehlivě fungující pracovní postupy?
- Co to je algoritmus, a proč by mě to mělo zajímat?
- Jaké má algoritmus vlastnosti?
- Jak algoritmy zapisujeme?
- Jak poznáme, jestli je nějaký postup algoritmus?
Kapitoly
- Úvodní pokusy — metodické poznámky, plán hodiny
- Slovní popis pracovního postupu — metodické poznámky, plán hodiny
- Co je to algoritmus — metodické poznámky, plán hodiny
- Vývojové diagramy — metodické poznámky, plán hodiny
- Úlohy (textový dokument)
Tučně uvedené kapitoly tvoří základní jádro.
Další zdroje
- Šestý modul kurzu Computer Science Principles od Code.org.
- Kapitola o algoritmech v novozéladnské polní příručce informatiky.
- Kniha Algoritmy pro život.