Toto je starší verze dokumentu!
Algoritmizace
Algoritmus
Algoritmus je přesný popis pracovního procesu, který z měnitelných vstupních údajů dochází k žádaným výsledkům.
Vlastnosti algoritmus
- Determinovanost - v každé situaci musí být naprosto zřejmé, co a jak se má provést, jak má provádění algoritmu pokračovat, pro stejné vstupní data musí mít stejný výstup
- Obecnost - algoritmus by neměl řešit jeden konkrétní problém (například 5 x 5), ale měl by nabízet obecné řešení daného problému (například X x Y)
- Finitivnost - algoritmus by měl vždy mít omezený počet kroků, po kterých skončí
- Resultativnost - musí mít nějaký výstup
- Korektnost - výstup by měl být správně
- Efektivita - děláí se na paměťovou efektivitu (náročnost na paměť) a výpočetní efektivitu (náročnost na výpočet), tyto dvě vlastnosti jsou většinou k sobě ve vztahu nepřímé úměry
Základní prvky algoritmů
Podmínky
Umožňují větvení algoritmů. Podmínky můžou mít dvě možné formy. První forma jsou podmínky typu if-then, když něco, tak dělej („Pokud máš řidičák, budeš řídit.“). Druhou formou jsou podmínky typu if-else když něco, tak dělej, a pokud ne něco, tak dělej něco jiného („Když máte kuřecí kůžičky, přidejte je, pokud je nemáte použijte potravinovou fólii.“ - převzato z kuchařky Ládi Hrušky).
Cykly
Umožňují vícenásobné opakování části algoritmu. Cykly můžou mít také dvě možné formy. První forma jsou cykly typu while, dokud něco tak prováděj („Dokud máš v košíku nákup, skládej ho na pult.“). Druhá forma jsou cykly typu do-while prováděj dokud něco(„Ohřívej vodu, dokud nezačne vařit.“). Hlavní rozdíl mezi cykly typu while a do-while je ten, že cyklus typu do-while proběhne minimálně jednou, zatímco cyklus while pokud nebude hned na počátku splněna podmínka nemusí.
Ukázka algoritmu
Vajíčka
- Vstupní údaje: počet vajec, typ tuku, šunka
- Výstup: poživatelná volská oka
- Vezmi pánev
- POKUD je typ tuku máslo, vezmi z lednice máslo
- POKUD NENÍ, vem ze skříně olej (if-else)
- Dej olej na pánev
- Přidej na pánev šunku
- DOKUD není šunka dozlatova, čekej (while)
- Přidej vejce, DOKUD tam nejsou všechny (do-while)
- DOKUD vše není hotovo, čekej (while)
- Vypni plotnu
- Jez!