Algoritmus

Problém- stav, v ktorom existuje rozdiel medzi tým, čo máme a tým, čo chceme dosiahnuť.

Čo je to algoritmus?
Algoritmus je postupnosť krokov, presný návod pomocou, ktorého môžeme vyriešiť problém. Takéto postupy využívame každý deň aj v bežnom živote. Najednoduchším príkladom algoritmu je aj recept alebo postup pomocou, ktorého si varíme čaj. Nie každý postup je algoritmus! Aby bol postup agoritmom, musí spĺňať nasledovné vlastnosti:

Vlastnosti algoritmu:

Základné vlastvosti:

  • Elementárnosť (jednoduchosť) postup je zložený z jednoduchých krokov, ktoré sú pre vykonávateľa algoritmu (počítač, človek) jednoduché a zrozumiteľné.

  • Determinovanosť postup je zostavený tak, že v každom momente jeho vykonávania je jednoznačne určené, aká činnosť bude nasledovať, alebo či sa už postup skončil, vieme presne povedať kde sa ktorý krok začína a kde sa skončil.

  • Rezultatívnosť (výsledkovosť) postup dáva pre rovnaké vstupné údaje vždy rovnaké výsledky. Napríklad ak algoritmu na sčítanie dvoch čísel zadáme hodnoty 5 a 2 vždy nám program pre tieto vstupné hodnoty (5 a 2) vráti výsledok 7.

  • Konečnosť postup sa vždy skončí! Algoritmus sa skladá z konečného počtu krokov, každý krok trvá konečný čas a z toho vyplýva, že sa algoritmus po konečnom čase skončí. Zatiaľ čo človek na základe skúseností vie rozhodnúť, či sa algoritmus skončí alebo nie, počítač takto rozhodnúť nevie.
    Príklad:
    Ak v recepte narazíme na bod: miešame, človek obsah hrnca zamieša podľa skúseností a ide na ďalší krok, pričom počítač by miešal neustále (Kým by sme ho nevypli, kým by sa nepokazil...).
    Rišenie:
    Do receptu je potrebné doplňiť: miešame, kým nezačne vrieť alebo miešame, kým obsah nezhustne... Teraz počítač vie kedy má prestať miesať a prejsť na ďalší krok.

  • Hromadnnosť algoritmus nerieši iba jednu konkrétnu úlohu, ale rieši celú množinu úloh toho istého typu. Postup je použiteľný na celú triedu prípustných vstupných údajov.

    Príklad: ak chceme napísať algoritmus pre sčítanie dvoch čísel algoritmus NEBUDE vyzerať nasledovne: sčítaj číslo 5 a 2 pretože tento algoritmus vie sčítať len tieto konkrétne dve čísla. Skús si premyslieť ako by mal vyzerať správny algoritmus pre sčítavanie dvoch čísel a porovnaj ho so správnym riešením.

    Doplnkové vlastnosti:

  • Efektívnosť postup sa uskutočňuje v čo najmenšom čase a s využitím čo najmenšieho množstva krokov a pamäte. Efektívnosť je možné správne vyhodnotiť len vtedy, ak je možné porovnať viaceré algoritmy.

  • Správnosť postup je bezchybný, kroky nasledujú logicky po sebe. Je to prirodzená požiadavka na algoritmus.

  • Jednoduchý algoritmus na prípravu hrnčeka kakaa:
    1. overiť dostatok surovín
    2. do prázdnej šálky zmiešame kakao a cukor
    3. do hrnčeka nalejeme mlieko
    4. mlieko dáme zorhiať
    5. skontrolujeme mlieko
    6. ak nie je dosť teplé vrátime sa k bodu 4
    7. zalejeme zmes v šálke
    8. necháme trochu vychladnúť
    9. vypijeme.

    Úloha:
    Do zošita si napíšte iný príklad algoritmu z bežného života napríklad: varenie pudingu, výmena žiarovky, ...

    Zaujímavosti z histórie

    Slovo algoritmus je odvodené od mena stredovekého matematika Muhammada al-Chorezmiho, ktorý žil približne v rokoch 780 až 850. Celým menom Abú Abd Alláh Muhammad Ibn Músá al-Chórezmí Abú Dža'far bol perzský matematik a astronóm. Jeho meno al-Chórezmí bolo v stredoveku latinizované na Al-Gorizmí, neskôr na Algoritmí a stalo sa základom slova algoritmus. Samotný princíp algoritmizácie bol však známý už omnoho skôr.