Zklady algoritmizcie Pojem algoritmus Vlastnosti algoritmov o je

  • Slides: 13
Download presentation
Základy algoritmizácie Pojem algoritmus Vlastnosti algoritmov

Základy algoritmizácie Pojem algoritmus Vlastnosti algoritmov

Čo je to algoritmus ? • Algoritmus je elementárnym pojmom informatiky – nie je

Č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í

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

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é,

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 :

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

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

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ť

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á

• 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

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

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

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