Algoritmy a programovanie Pojem algoritmus Vlastnosti algoritmov o

  • Slides: 12
Download presentation
Algoritmy a programovanie Pojem algoritmus Vlastnosti algoritmov

Algoritmy a programovanie Pojem algoritmus Vlastnosti algoritmov

Čo je to algoritmus ? Algoritmus je postup, postup ktorého realizáciou získame zo zadaných

Čo je to 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 realizátora

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

2. Determinovanosť Algoritmus musí byť zostavený tak, že po každom kroku je jasné, ktorá

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

3. Rezultatívnosť Algoritmus dáva pre rovnaké vstupné údaje vždy rovnaké výsledky. Príklad : Na

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ť výsledok v

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

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 a konečný, sa nazýva správny Program je algoritmus napísaný v programovacom jazyku.

Programovacie jazyky Každý počítač má svoj progr. jazyk, kt. je určený procesorom, na báze

Programovacie jazyky Každý počítač má svoj progr. jazyk, kt. je určený procesorom, na báze kt. je počítač skonštruovaný. V informatike sa pojmom progr. jazyk označuje sústava vyjadrovacích prostriedkov na opísanie výpočtového postupu úlohy riešenej na počítači. Druhy progr. jazykov ASSEMBLER FORTRAN (FORmula TRANslator) BASIC (Beginners All-purpose Symbolic Instruction Code) COBOL (Common Businnes Oriented Language) LISP (LISt Processing language) PROLOG (PROgramming in LOGic C jazyk PASCAL a iné

Programovanie je konštruktívna myšlienková ale aj praktická činnosť, ktorou vytvárame nové programové produkty realizovateľné

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.