Algoritmus: Rozdiel medzi revíziami

z Wikipédie, slobodnej encyklopédie
Smazaný obsah Přidaný obsah
PalicaBOT (diskusia | príspevky)
d Featured article link for en:Algorithm
Mirec (diskusia | príspevky)
+ vlastnosti ( z cs )
Riadok 10: Riadok 10:


Slovo algoritmus je odvodené od mena starovekého matematika [[Muhammad al-Chorezmí|Muhammada al-Chorezmí]]ho.
Slovo algoritmus je odvodené od mena starovekého matematika [[Muhammad al-Chorezmí|Muhammada al-Chorezmí]]ho.

== Vlastnosti algoritmov ==
; ''Konečnosť'' : 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ť'' : 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“).




[[Kategória:Algoritmy]]
[[Kategória:Algoritmy]]

Verzia z 21:34, 21. november 2005

Algoritmus je konečná postupnosť dobre definovaných inštrukcií na splnenie určitej úlohy.


Algoritmy môžu byť zapísané (implementované) vo forme počítačových programov. Logická chyba v algoritme môže viesť k zlyhaniu výsledného programu.

Pojem algoritmu sa často ilustruje na príklade receptu, hoci algoritmy sú často oveľa zložitejšie. V algoritmoch sa často niekoľko krokov viacnásobne opakuje (iterácia), alebo ďalší postup závisí od aktuálneho stavu (vetvenie).

Na riešenie tej istej úlohy môže existovať niekoľko rôznych algoritmov s rôznymi postupnosťami inštrukcií. Rôzne algoritmy sa tiež môžu líšiť v množstve času a pamäte potrebných na splnenie úlohy.


Slovo algoritmus je odvodené od mena starovekého matematika Muhammada al-Chorezmího.

Vlastnosti algoritmov

Konečnosť
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é 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ž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ť
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“). Šablóna:Link FA