Kapitola 1 - Problém, postup a algoritmus
Motivace
Než začneme programovat, musíme vědět, co vlastně řešíme. Dobrý program nevzniká tím, že náhodně skládáme bloky za sebe. Vzniká z dobře popsaného postupu, který má jasný cíl, začátek, konec a podmínky, za kterých funguje.
Co se naučíš
- rozlišit problém, postup a algoritmus,
- popsat zadání úlohy, vstup a výstup,
- vysvětlit základní vlastnosti algoritmu,
- poznat postup, který je nejednoznačný nebo neproveditelný,
- určit, pro jaké vstupy algoritmus funguje.
Náčrt obsahu
| Téma | Smysl |
|---|---|
| Problém a cíl | Žák pojmenuje, čeho má být dosaženo. |
| Vstup a výstup | Žák rozpozná, s čím algoritmus začíná a co má dodat. |
| Konečnost a jednoznačnost | Žák odhalí postup, který se nedá spolehlivě provést. |
| Správnost | Žák ověří, zda postup dává očekávaný výsledek. |
| Algoritmicky řešitelné úlohy | Žák rozhodne, zda je problém vhodný pro přesný postup. |
Ukázka
Postup „udělej si dobrý čaj“ není dobrý algoritmus, protože není jasné, co znamená dobrý. Postup „ohřej 250 ml vody na 90 stupňů, vlož sáček čaje na 3 minuty a potom jej vyjmi“ je přesnější, ale stále závisí na tom, zda máme měřič teploty a časovač.
Praktický úkol
Vyber běžnou činnost ze školy nebo domova a zapiš ji jako algoritmus. Potom si ve dvojici ověřte, zda je postup jednoznačný, konečný a proveditelný.
Tahák
| Pojem | Stručné vysvětlení |
|---|---|
| Problém | Situace, kterou chceme vyřešit. |
| Algoritmus | Přesný a konečný postup vedoucí k řešení. |
| Vstup | Údaje nebo stav, ze kterých postup vychází. |
| Výstup | Výsledek, který má postup dodat. |
| Podmínka řešení | Omezení, za kterých postup funguje. |
Co už umím
- Umím vysvětlit rozdíl mezi postupem a algoritmem.
- Umím u jednoduché úlohy určit vstup a výstup.
- Umím najít místo, kde je postup nepřesný.
Návaznost na ŠVP
- Vysvětlí daný algoritmus nebo program.
- Určí, zda je daný postup algoritmem.
- Charakterizuje vstupy, pro něž daný algoritmus funguje.