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ín2. 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. |