Algoritmus: Rozdiel medzi revíziami

Smazaný obsah Přidaný obsah
d Verzia používateľa 87.197.43.210 (diskusia) bola vrátená, bola obnovená verzia od Martin Urbanec
Značka: rollback
Vegetator (diskusia | príspevky)
dBez shrnutí editace
Riadok 1:
[[Súbor:Moj algoritmus.JPG|thumb|príkladPríklad algoritmu – [[vývojový diagram]].]]
 
'''Algoritmus''' je konečná postupnosť presne definovaných inštrukcií na splnenie určitej úlohy. 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 nazývame čiastočne správny, ak v prípade že skončí, dáva vždy správne výsledky. Algoritmus nazývame 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. Algoritmizácia je schopnosť aktívne vytvárať algoritmy určené pre nemysliace zariadenie. Je nevyhnutná pri vytváraní počítačových programov. Program je algoritmus napísaný v programovacom jazyku.
 
== Vlastnosti algoritmov ==
Riadok 7:
 
=== Vlastnosti podľa Donalda Knutha ===
Algoritmus je definovaný ako "konečná„konečná množina pravidiel, ktorá popisuje postupnosť operácií na riešenie určitého typu problému"problému“. Zároveň splňaspĺňa nasledovné vlastnosti:
 
; ''Konečnosť''
Riadok 24:
:Všeobecne požadujeme, aby algoritmus bol ''efektívny'', v tom zmysle, že požadujeme, aby každá operácia požadovaná algoritmom, bola dostatočne jednoduchá na to, aby mohla byť aspoň v princípe prevedená v konečnom čase iba s použitím ceruzky a papiera.
 
[[Donald Knuth|Knuth]] poznamenáva, že v praxi samotná podmienka konečnosti nestačí a algoritmus by mal skončiť po "veľmi„veľmi konečnom"konečnom“, teda rozumnom počte krokov. Uvádza ako príklad algoritmus, ktorý zistí, či biely vždy môže vyhrať šachovú partiu, pokiaľ neurobí chybu. Tento algoritmus je síce konečný, ale jeho vykonanie presahuje dĺžku ľudského života. V praxi nás preto zaujímajú len ''dobré'' algoritmy, ktoré spĺňajú rôzne kritéria. Jedným z nich je počet krokov potrebných na vykonanie algoritmu, ďalšie napr. jednoduchosť, či elegancia.
<ref>{{Citácia knihy
| priezvisko = Knuth
Riadok 36:
| isbn = 978-80-251-2025-5
| kapitola = 1.1 Algoritmy
| strany = 4- – 6
| jazyk = po česky
}}</ref>
 
=== Vlastnosti podľa "Algoritmizácia a úvod do programovania"===
Algoritmus je definovaný ako "návod na vykonanie činnosti, ktorý nás od (meniteľných) vstupných údajov privedie v konečnom čase k výsledku.". Zároveň splňa nasledovné vlastnosti: