1 / 16

ALGORITMY

Kód ITMS projektu: 26110130519 Gymnázium Pavla Jozefa Šafárika – moderná škola tretieho tisícročia. ALGORITMY. Obsah. Vlastnosti algoritmov Chyby algoritmov Zápis algoritmov Úlohy na riešenie Zdroje. Čo je to algoritmus?.

remedy
Download Presentation

ALGORITMY

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kód ITMS projektu: 26110130519 Gymnázium Pavla Jozefa Šafárika – moderná škola tretieho tisícročia ALGORITMY

  2. Obsah • Vlastnosti algoritmov • Chyby algoritmov • Zápis algoritmov • Úlohy na riešenie • Zdroje

  3. Č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. postup určený pre nemysliace zariadenie ( stroj, procesor ) nazývame algoritmus.

  4. Čo je to algoritmus? • Al-Chvarízmí (okolo r. 800), arabský matematik napísal dielo Alghoritmi de numero Indorum o indickej pozičnej sústave počítania. Je to kniha o pravidlách, podľa ktorých možno v desiatkovej sústave základné počtové úkony. Podľa názvu latinského prekladu knihy vzniklo slovo algoritmus, čiže návod, postup, pravidlo.

  5. Čo je to algoritmus? • Algoritmusje 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.

  6. Uveďte príklady algoritmov z bežného života?

  7. Vlastnosti algoritmov 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.

  8. 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.

  9. Elementárnosť • Algoritmus je zložený z jednoduchých krokov alebo činností – ktoré sú pre realizátora elementárne – základné, jednoduché, ľahko realizovateľné.

  10. 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.

  11. Rezultatívnosť Algoritmus je postup, ktorý vedie od vstupných hodnôt k výsledkom. 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.

  12. 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.

  13. 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.

  14. 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.. Príklad: Vypočítajte súčet čísel od 1 do 100. Neefektívnym algoritmom by bolo postupné sčítavanie 1+2+…+99+100. Omnoho efektívnejším spôsobom by bol výpočet (1+100)*50

  15. História programovacích jazykov 1950 - Assembler (Nižší programovací jazyk) - symbolické pomenovanie strojových inštrukcií a adries1957 - Fortran (Formula Translation) - jazyk na technické výpočty1958 - Algol (Algorithmic language) - základ pre štruktúrované jazyky1958 - Lisp (List Processing) - jazyk pre vedcov pracujúcich v oblasti umelej inteligencie a symbolických výpočtov1964 - Basic (Beginers All Purpose Instruction Code) - úvodný jazyk inžinierov ako príprava na Fortran1967 - Logo (Jazyk pre deti) - korytnačia grafika, práca so zoznamami1970 - Pascal (pomenovaný na počesť B. Pascala) - určený ako úvodný jazyk na vyučovanie programovania1972 - C - Jazyksystémových programátorov1980 - Smalltalk 80 - Čisto objektovo orientovaný jazyk - idea okien, práca s myšou1983 - Pascal (Štandard jazyka Pascal) - neskôr sa rozšíril skoro na všetky univerzity sveta ako základný jazyk informatiky

  16. Použité zdroje • Filo, P. a kol. : Projekty pre regionálny rozvoj, vydavateľstvo ERA OZ, Bratislava 2005, ISBN: 80–969367–0–0.

More Related