Zklady algoritmizcie Pojem algoritmus Vlastnosti algoritmov o je
- Slides: 13
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 matematike. • Algoritmus preto definujeme iba popisne, napr. postupu určenému pre nemysliace zariadenie ( stroj, procesor ) hovoríme algoritmus. • Algoritmus je postup, 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. 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, správny ak v prípade že skončí, dáva vždy správne výsledky. • Algoritmus nazývame konečný, konečný ak pre ľubovoľné vstupné údaje skončí v konečnom čase. • Algoritmus, ktorý je čiastočne správny konečný, sa nazýva správny • Program je algoritmus napísaný programovacom jazyku. a v
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