Top Banner
Základy algoritmizácie Základy algoritmizácie Pojem algoritmus Pojem algoritmus Vlastnosti algoritmov Vlastnosti algoritmov
13

Základy algoritmizácie

Feb 06, 2016

Download

Documents

MiSty

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. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Základy algoritmizácie

Základy algoritmizácieZáklady algoritmizácie

Pojem algoritmusPojem algoritmus

Vlastnosti algoritmovVlastnosti algoritmov

Page 2: Základy algoritmizácie

Čo je to algoritmus ?Čo je to algoritmus ?

• Algoritmus je elementárnym pojmom Algoritmus je elementárnym pojmom informatikyinformatiky – 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.

• AlgoritmusAlgoritmus je postupje 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.

Page 3: Základy algoritmizácie

Každý postup však nie je algoritmom. Aby sme postup mohli Aby sme postup mohli považovať za algoritmus, musí mať nasledujúce vlastnosti :považovať za algoritmus, musí mať nasledujúce vlastnosti :

• 1. elementárnosť1. elementárnosť• 2. determinovanosť2. determinovanosť• 3. rezultatívnosť3. rezultatívnosť• 4. konečnosť4. konečnosť• 5. hromadnosť5. hromadnosť• 6. efektívnosť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.

Page 4: Základy algoritmizácie

1. Elementárnosť1. Elementárnosť• Algoritmus je zložený z činnosti – Algoritmus je zložený z činnosti –

krokov – ktoré sú pre realizátora krokov – ktoré sú pre realizátora elementárne – základné, jednoduché, elementárne – základné, jednoduché, ľahko realizovateľné.ľ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 :Úloha : Ktoré činnosti boli pre vás elementárne na matematike v druhom ročníku ZŠ ? Sú to tie isté činnosti ako teraz ?

Page 5: Základy algoritmizácie

2. Determinovanosť2. Determinovanosť

• Algoritmus musí byť zostavený tak, že po každom Algoritmus musí byť zostavený tak, že po každom kroku je jasné, ktorá činnosť nasleduje, alebo či sa kroku je jasné, ktorá činnosť nasleduje, alebo či sa postup skončil.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 :Úloha : Povedzte postup, ako bezpečne prejsť cez ulicu.

Page 6: Základy algoritmizácie

3. Rezultatívnosť3. Rezultatívnosť

• Algoritmus dáva pre rovnaké vstupné Algoritmus dáva pre rovnaké vstupné údaje vždy rovnaké výsledky.údaje vždy rovnaké výsledky.

Príklad :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.

Page 7: Základy algoritmizácie

4. Konečnosť4. Konečnosť

• Algoritmus skončí vždy po vykonaní konečného počtu krokov Algoritmus skončí vždy po vykonaní konečného počtu krokov a v konečnom ( reálnom ) čase.a v konečnom ( reálnom ) čase.

Príklad :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.

Page 8: Základy algoritmizácie

5. Hromadnosť5. Hromadnosť

• Algoritmus je určený na riešenie veľkého Algoritmus je určený na riešenie veľkého počtu úloh rovnakého ( podobného ) typu. 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 :Ú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.

Page 9: Základy algoritmizácie

6. Efektívnosť6. Efektívnosť

• Táto vlastnosť sa často považuje za doplnkovú. Táto vlastnosť sa často považuje za doplnkovú. • Algoritmus umožňuje získať výsledok v čo Algoritmus umožňuje získať výsledok v čo

najkratšom čase a s využitím čo najmenšieho najkratšom čase a s využitím čo najmenšieho počtu prostriedkov 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..

Page 10: Základy algoritmizácie

• Algoritmizácia 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čiastočne 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

a konečný, sa nazýva správnysprávny.• Program je algoritmus napísaný Program je algoritmus napísaný

v programovacom jazyku. v programovacom jazyku.

Page 11: Základy algoritmizácie

ProgramovanieProgramovanie • je konštruktívna myšlienková ale aj praktická

činnosť, ktorou vytvárame nové programové produkty realizovateľné na počítači.

• Vytvorenie programuVytvorenie programu pozostáva z týchto pozostáva z týchto činností :č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 :Dobrá rada : Nepíšte program hneď do počítača ! Vyhnete sa tak opakovanému prepisovaniu zdanlivo hotového programu.

Page 12: Základy algoritmizácie

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 Abú Jáfar Mohamed Ibn MúsaMohamed Ibn Músa al-Chworezmí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 Kittab al-jabr w‘al-mugabalaw‘al-mugabala. Jej latinský preklad začína podľa vtedajšieho zvyku slovami „ Algoritmi dici...“ t.j. „ Al-Chworezmí hovorí ... “.

Úloha :Úloha : Čo znamená a ako vzniklo slovo algebra ?

Page 13: Základy algoritmizácie

Prezentácia je určená žiakom 1. ročníka gymnáziaPrezentácia je určená žiakom 1. ročníka gymnázia

Použitá a odporúčaná literatúra : Použitá a odporúčaná literatúra :

Peter DrlíkPeter Drlík : : Turbo Pascal 1Turbo Pascal 1

Turbo Pascal 2Turbo Pascal 2