Algoritmizace

Pojmy

Algoritmus - přesný abstraktní postup určený pro vyřešení dané úlohy

Program - konkrétní řešení algoritmu v daném programovacím jazyce

Programovací jazyk - prostředek pro zápis algoritmů

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

Známé algoritmy

Erastotenovo síto

Algoritmus pro získání všech prvočísel od dvou po dané číslo. Vytvoříme si pole všech čísel obsažených v daném rozsahu. Postupujeme postupně přes všechna čísla rozsahu a odebíráme z něj čísla, která jsou násobky těchto čísel.

Ukázka erastotenova síta na číslech od 2 do 120