Základy algoritmizácie Pojem algoritmus Vlastnosti algoritmov
Čo je to algoritmus ? Algoritmus je elementárnym pojmom informatiky – nie je ho možné popísať pomocou ešte elementárnejších pojmov – tak ako napr. pojmy bod a číslo v ma- tematike. Algoritmus preto definujeme iba popisne, napr. postupu určenému pre nemysliace zariadenie ( stroj, procesor ) hovoríme algoritmus. Algoritmus je postup, ktorého realizáciou získame zo zadaných vstupných údajov po konečnom počte činností v konečnom čase správne výsledky.
Každý postup však nie je algoritmom Každý postup však nie je algoritmom. Aby sme postup mohli považovať za algoritmus, musí mať nasledujúce vlastnosti : 1. elementárnosť 2. determinovanosť 3. rezultatívnosť 4. konečnosť 5. hromadnosť 6. efektívnosť Tieto vlastnosti sú dôležité preto, aby postup mohlo realizovať nemysliace zariadenie, ktoré si nevie uvedomiť, že napr. činnosť vykonáva podozrivo dlho, ani sa nevie poučiť z chýb.
1. Elementárnosť Algoritmus je zložený z činnosti – krokov – ktoré sú pre realizátora elementárne – základné, jednoduché, ľahko realizovateľné. Človek sa dokáže učiť a vytvárať stále zložitejšie elementárne činnosti, ktoré kombinuje do ešte zložitejších postupov. Počítače používajú iba veľmi obmedzenú množinu elementárnych činností. Úloha : Ktoré činnosti boli pre vás elementárne na matematike v druhom ročníku ZŠ ? Sú to tie isté činnosti ako teraz ?
2. Determinovanosť Algoritmus musí byť zostavený tak, že po každom kroku je jasné, ktorá činnosť nasleduje, alebo či sa postup skončil. Ľudia dokážu chápať postupy, v ktorých nie je zvýraznené poradie činností alebo presne určené ako dlho treba činnosť opakovať. Človek môže správne pochopiť postup, v ktorom je poradie krokov chybne zapísané alebo sú niektoré kroky vynechané. Do postupu pre nemysliace zariadenie je nevyhnutné uviesť poradie činností ! Úloha : Povedzte postup, ako bezpečne prejsť cez ulicu.
3. Rezultatívnosť Algoritmus dáva pre rovnaké vstupné údaje vždy rovnaké výsledky. Príklad : Na matematike sa všetci učíte tie isté algoritmy – postupy rôznych výpočtov. Napriek tomu nemajú v písomke všetci žiaci rovnaké výsledky. Prečo ? Chyba nie je v algoritmoch, ale v ľuďoch. Buď sa algoritmy nenaučili správne, alebo použili nesprávne algoritmy – určené na riešenie iného typu úloh.
4. Konečnosť Algoritmus skončí vždy po vykonaní konečného počtu krokov a v konečnom ( reálnom ) čase. Príklad : Počítajte podľa nasledovného postupu : pomyslite si nejaké číslo k tomu číslu opakovane pripočítajte jednotku ... ... počítajte ... ... až kým váš výsledok nebude rovný -10,3 Žiaci, ktorí skončili, môžu odísť z učebne. Skúsenosti nám umožňujú prerušiť činnosť, keď vidíme, že nevedie k požadovanému výsledku. Stroj v rovnakej situácii pracuje ďalej – pokiaľ má zdroj energie. Ak potrebujeme výsledok v priebehu niekoľkých sekúnd, tak postup, pomocou ktorého sa dopracujeme k riešeniu za hodinu, nie je vhodným algoritmom.
5. Hromadnosť Algoritmus je určený na riešenie veľkého počtu úloh rovnakého ( podobného ) typu. Dobrý algoritmus pripúšťa premenlivé vstupné údaje. Táto vlastnosť je skôr užitočná ako nevyhnutná. Existujú algoritmy na riešenie jedinej úlohy. Úloha : Napíšte algoritmus na riešenie rovnice a.x+b=0, kde x je neznáma a a,b sú ľubovoľné reálne čísla.
6. Efektívnosť Táto vlastnosť sa často považuje za doplnkovú. Algoritmus umožňuje získať výsledok v čo najkratšom čase a s využitím čo najmenšieho počtu prostriedkov – finančných, technických, ľudských. Často sa najskôr vytvorí akýkoľvek funkčný algoritmus, ktorý sa v prípade potreby vylepšuje – ak máme na to dostatok prostriedkov. Požiadavka získať výsledok čo najrýchlejšie je často v rozpore s požiadavkou minimalizovať použité prostriedky..
Algoritmizácia je schopnosť aktívne vytvárať algoritmy určené pre nemysliace zariadenie. Je nevyhnutná pri vytváraní počítačových programov. Algoritmus nazývame čiastočne správny, ak v prípade že skončí, dáva vždy správne výsledky. Algoritmus nazývame konečný, ak pre ľubovoľné vstupné údaje skončí v konečnom čase. Algoritmus, ktorý je čiastočne správny a konečný, sa nazýva správny. Program je algoritmus napísaný v programovacom jazyku. Algoritmizácia
Programovanie je konštruktívna myšlienková ale aj praktická činnosť, ktorou vytvárame nové programové produkty realizovateľné na počítači. Vytvorenie programu pozostáva z týchto činností : algoritmizácia problému – určenie vstupných a výstupných podmienok vytvorenie programu a programovej dokumentácie zapísanie a odladenie programu priamo na počítači. Dobrá rada : Nepíšte program hneď do počítača ! Vyhnete sa tak opakovanému prepisovaniu zdanlivo hotového programu.
Test : Pred koľkými rokmi vznikol pojem algoritmus ? a) asi pred 20 rokmi b) asi pred 80 rokmi c) asi pred 800 rokmi Slovo algoritmus vzniklo skomoleným latinským prepisom mena Abú Jáfar Mohamed Ibn Músa al-Chworezmí. Bol to arabský matematik, ktorý okolo roku 825 napísal knihu o riešení rovníc v desiatkovej číselnej sústave nazvanú Kittab al-jabr w‘al-mugabala. Jej latinský preklad začína podľa vtedajšieho zvyku slovami „ Algoritmi dici...“ t.j. „ Al-Chworezmí hovorí ... “. Úloha : Čo znamená a ako vzniklo slovo algebra ?
Prezentácia je určená žiakom 1. ročníka gymnázia Použitá a odporúčaná literatúra : Peter Drlík : Turbo Pascal 1 Turbo Pascal 2