Algoritmus

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Zápis algoritmu: Oprava formátování)
(Zápis algoritmu: Ukázka zápisu pseudokódem.)
Řádka 63: Řádka 63:
 
* Viz série článků [http://programujte.com/clanek/2005080105-vyvojove-diagramy-1-dil/ Vývojové diagramy na Programujte.com].
 
* Viz série článků [http://programujte.com/clanek/2005080105-vyvojove-diagramy-1-dil/ Vývojové diagramy na Programujte.com].
 
* Viz stránka [[Vývojové diagramy]].
 
* Viz stránka [[Vývojové diagramy]].
 +
 +
 +
=== Příklad zápisu algoritmu pseudokódem ===
 +
<div class="Priklad">
 +
Jako ukázku uvedeme algoritmus pro výběr nejmenšího prvku ze seznamu čísel.
 +
 +
Zápis pseudokódem by mohl vypadat třeba takto:
 +
 +
<pre>
 +
if seznam.isEmpty():
 +
print "Error"
 +
 +
vysledek := seznam[1]
 +
 +
for i := 2 to seznam.size():
 +
if vysledek > seznam[i]:
 +
vysledek := seznam[i]
 +
 +
return vysledek
 +
</pre>
 +
</div>
  
 
== Algoritmizace × programování ==
 
== Algoritmizace × programování ==

Verze z 15. 10. 2024, 09:38


Obsah

Úloha

Problém

Popis problému zahrnuje

Algoritmus

Schematický postup řešení určitého problému, který je konečný, určitý, korektní a obecný.

Vlastnosti algoritmu
  1. Konečnost
    • algoritmus skončí pro libovolná (korektní) data v konečném množství kroků.
  2. Určitost (determinovanost)
    • všechny kroky algoritmu jsou přesně definovány.
  3. Korektnost
    • algoritmus skončí pro libovolná (korektní) data správným výsledkem.
  4. Obecnost
    • algoritmus řeší všechny úlohy daného typu.
Někdy se jako vlastnosti uvádí také

Stav algoritmu

  • Nechť:
    • X={x1, x2, ...,xn} je množina konfiguračních proměnných
    • Z={z1, z2, ...,zn} je množina vnitřních proměnných algoritmu A řešícího problém I.
  • Pak každé ohodnocení s proměnných X a Z je stav algoritmu.

Zápis algoritmu

Algoritmus můžeme zapsat následujícími způsoby:

V přirozeném jazyce
Pseudokódem
V některém programovacím jazyce
Pomocí vývojových diagramů


Příklad zápisu algoritmu pseudokódem

Jako ukázku uvedeme algoritmus pro výběr nejmenšího prvku ze seznamu čísel.

Zápis pseudokódem by mohl vypadat třeba takto:

if seznam.isEmpty():
	print "Error"

vysledek := seznam[1]

for i := 2 to seznam.size():
	if vysledek > seznam[i]:
		vysledek := seznam[i]
		
return vysledek

Algoritmizace × programování

Pojem programování v užším smyslu je synonymem kódování, tedy přepisu algoritmu do zdrojového kódu.

Pojem programování v širším slova smyslu je synonymem pro tvorbu software a zahrnuje: analýzu zadání, algoritmizaci a kódování.

Viz Tvorba software.

Viz také

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje