Algoritmus: Rozdiel medzi revíziami

Smazaný obsah Přidaný obsah
Bubamara (diskusia | príspevky)
d Verzia používateľa 213.81.148.130 (diskusia) bola vrátená, bola obnovená verzia od HRoestBot
Bez shrnutí editace
Riadok 1:
 
[[Súbor:Moj algoritmus.JPG|thumb|200px|príklad algoritmu - vývojový diagram]]
 
'''Algoritmus''' je konečná postupnosť dobre definovaných inštrukcií na splnenie určitej úlohy.
Riadok 14:
; ''Konečnosť (Rezultatívnosť)''
Každý algoritmus musí skončiť po vykonaní ''konečného'' počtu krokov. Tento počet krokov môže byť ľubovoľne veľký (podľa rozsahu a hodnôt vstupných údajov), ale pre každý jednotlivý vstup musí byť konečný. Postupy, ktoré túto podmienku nespĺňajú, sa môžu nazývať ''výpočtové metódy''. Špeciálnym príkladom nekonečnej výpočtovej metódy je ''reaktívny proces'', ktorý priebežne reaguje s okolitým prostredím.
 
; ''Determinizmus''
Každý krok algoritmu musí byť ''jednoznačne'' a ''presne'' definovaný; v každej situácii musí byť úplne zrejmé, čo a ako sa má vykonať, ako má vykonávanie algoritmu pokračovať. Pretože bežný jazyk zvyčajne neposkytuje úplnú presnosť a jednoznačnosť vyjadrovania, boli pre zápis algoritmov navrhnuté [[programovací jazyk|programovacie jazyky]], v ktorých má každý príkaz jasne definovaný význam. Vyjadrenie algoritmu v programovacom jazyku sa nazýva [[program]].
 
; ''Vstup''
Algoritmus zvyčajne pracuje s nejakými ''vstupmi'', veličinami, ktoré sú mu odovzdané pred začatím jeho vykonávania, alebo v priebehu jeho činnosti. Vstupy majú definované [[množina|množiny]] hodnôt, ktoré môžu nadobúdať.
 
; ''Výstup''
Algoritmus má aspoň jeden ''výstup'', veličinu, ktorá je v požadovanom vzťahu k zadaným vstupom, a tým tvorí odpoveď na problém, ktorý algoritmus rieši.
 
; ''Efektivita''
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.
 
; ''Všeobecnosť (hromadnosť)''
Algoritmus nerieši jeden konkrétny problém (napr. „ako vypočítať 3×7“), ale rieši všeobecnú triedu obdobných problémov (napr. „ako vypočítať súčin dvoch celých čísel“).
 
== Etapy algoritmizácie úloh ==
 
Spracovanie informácií predstavuje proces, v ktorom sú konkrétne vstupné údaje pretvárané do výsledkov, ktoré možno použiť na riadenie a rozhodovanie. Ak chceme riešiť akúkoľvek úlohu na počítači, treba ju rozdeliť na celý rad prípravných prác – etáp.
Algoritmizácia úloh má tri základné etapy:
a) '''formulácia úlohy'''
b) '''analýza úlohy'''
c) '''zostavenie riešiaceho algoritmu'''
 
'''Formulácia úlohy'''
Prvým predpokladom, aby sme danú úlohu mohli riešiť na počítači, je jej jasná a jednoznačná formulácia a identifikácia, ako aj ujasnenie cieľa, ktorý sledujeme riešením príslušnej úlohy. Za tým nasleduje tzv. formulácia problému, napr. matematickými prostriedkami (modelom), čiže problém musíme formalizovať pomocou nejakej sústavy vzťahov medzi premennými a konštantami. Formalizovanie konkrétnej úlohy si spravidla vyžaduje individuálny prístup, adaptáciu štandardných postupov, príp. nový typ modelu. Na formalizáciu možno použiť aj iný spôsob ako matematický, môže to byť napr. grafický model. Pre riešenie úloh na počítači je však matematická formulácia najvhodnejšia.
 
'''Analýza úlohy'''
V tejto etape je potrebné nájsť algoritmus riešenia úlohy. Zisťuje sa, či úloha je riešiteľná, či má jedno alebo viac riešení, načrtávajú sa možnosti riešenia a rozhoduje sa o druhu metód. Vytypovaná metóda riešenia musí zabezpečovať dosiahnutie požadovaných výsledkov (výstupné informácie), ale zároveň musí presne určiť, ktoré vstupné údaje budú potrebné. Úloha sa zovšeobecňuje a uskutočňuje sa prvá predstava o algoritmickej riešiteľnosti.
 
'''Zostavenie riešiaceho algoritmu'''
Po správnej formulácii a analýze úlohy nasleduje etapa syntetickej činnosti, v ktorej sa popíše logika a postup riešenia úlohy. Výsledkom tejto etapy je riešiaci algoritmus.
Do tejto etapy môžeme zahrnúť aj programovanie úlohy. Pod pojmom programovanie rozumieme činnosť, pomocou ktorej sa uskutočňuje prevod úlohy z ľudského vedomia do formy vhodnej pre spracovanie na počítači. Výsledkom tejto činnosti je program. Program je algoritmus v takej forme, ktorej rozumie počítač, t. j. program je zápis algoritmu v niektorom programovacom jazyku.
 
[[Kategória:Algoritmy]]
 
{{Link FA|en}}
{{Link FA|sr}}
{{Link GA|uk}}
 
[[rue:Алґорітм]]
 
[[af:Algoritme]]
[[an:Algorismo]]
[[ar:خوارزمية]]
[[arz:الجوريتم]]
[[ast:Algoritmu]]
[[az:Alqoritm]]
[[be:Алгарытм]]
[[be-x-old:Альгарытм]]
[[bg:Алгоритъм]]
[[bn:অ্যালগরিদম]]
[[bs:Algoritam]]
[[ca:Algorisme]]
[[cs:Algoritmus]]
[[da:Algoritme]]
[[de:Algorithmus]]
[[el:Αλγόριθμος]]
[[en:Algorithm]]
[[eo:Algoritmo]]
[[es:Algoritmo]]
[[et:Algoritm]]
[[eu:Algoritmo]]
[[fa:الگوریتم]]
[[fi:Algoritmi]]
[[fr:Algorithmique]]
[[gl:Algoritmo]]
[[he:אלגוריתם]]
[[hi:अल्गोरिद्म]]
[[hr:Algoritam]]
[[hu:Algoritmus]]
[[ia:Algorithmo]]
[[id:Algoritma]]
[[io:Algoritmo]]
[[is:Reiknirit]]
[[it:Algoritmo]]
[[ja:アルゴリズム]]
[[ka:ალგორითმი]]
[[kaa:Algoritm]]
[[ko:알고리즘]]
[[ku:Algorîtma]]
[[la:Algorithmus]]
[[lb:Algorithmus]]
[[lt:Algoritmas]]
[[lv:Algoritms]]
[[mhr:Алгоритм]]
[[mk:Алгоритам]]
[[ml:അൽഗൊരിതം]]
[[mn:Алгоритм]]
[[mr:अल्गोरिदम]]
[[ms:Algoritma]]
[[nl:Algoritme]]
[[nn:Algoritme]]
[[no:Algoritme]]
[[pl:Algorytm]]
[[pnb:الگورتھم]]
[[pt:Algoritmo]]
[[ro:Algoritm]]
[[ru:Алгоритм]]
[[sah:Алгоритм]]
[[scn:Alguritmu]]
[[sd:الخوارزمي]]
[[sh:Algoritam]]
[[si:ඇල්ගොරිතම]]
[[simple:Algorithm]]
[[sl:Algoritem]]
[[sq:Algoritmi]]
[[sr:Алгоритам]]
[[su:Algoritma]]
[[sv:Algoritm]]
[[ta:படிமுறைத் தீர்வு]]
[[te:అల్గారిథం]]
[[tg:Алгоритм]]
[[th:ขั้นตอนวิธี]]
[[tl:Algoritmo]]
[[tr:Algoritma]]
[[tt:Алгоритм]]
[[uk:Алгоритм]]
[[ur:الخوارزم]]
[[uz:Algoritm]]
[[vi:Thuật toán]]
[[wa:Algorisse]]
[[war:Algoritmo]]
[[yi:אלגאריטם]]
[[zh:算法]]
[[zh-min-nan:Ián-sǹg-hoat]]
[[zh-yue:演算法]]