Problém, algoritmus, program

Z FAV wiki
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
Řádka 1: Řádka 1:
 +
== Problém ==
 +
 
'''Problém:''' Otázka či stav, pro jejíž zodpovězení hledáme řešení, případně existenci řešení. Takovýto stav je nežádoucí a je tedy na nás jej změnit (problém vyřešit)
 
'''Problém:''' Otázka či stav, pro jejíž zodpovězení hledáme řešení, případně existenci řešení. Takovýto stav je nežádoucí a je tedy na nás jej změnit (problém vyřešit)
  
Řádka 13: Řádka 15:
  
 
   
 
   
 +
Pro zasmání: http://www.abclinuxu.cz/clanky/komiks-xkcd-287-np-uplnost
  
  
−
// <http://www.abclinuxu.cz/clanky/komiks-xkcd-287-np-uplnost> :D
+
== Algoritmus ==
  
−
Algoritmus: Obecný postup pro nalezení řešení, ověřený že funguje. Jde o konečnou sekvenci známých operací (některé definice říkají, že tyto operace musí být elementýrní) které vedou k vyřešení problému.
+
'''Algoritmus:''' Obecný postup pro nalezení řešení, ověřený že funguje. Jde o konečnou sekvenci známých operací (některé definice říkají, že tyto operace musí být elementýrní) které vedou k vyřešení problému.
  
 
Každý bod algoritmu musí být jednoznačně určen a musí být proveditelný (pochopitelný strojem)
 
Každý bod algoritmu musí být jednoznačně určen a musí být proveditelný (pochopitelný strojem)
Řádka 24: Řádka 27:
 
Algoritmus má 1 - N výstupů
 
Algoritmus má 1 - N výstupů
  
−
Výpočetní metoda: "Algoritmus", který není konečný (event-driven systémy jako třeba automat na kávu, snímače JIS karet, digitální hodinky...)
 
  
−
Program: Výpočetní metoda (interaktivní aplikace) či algoritmus (dávkové aplikace) zapsaný v souladu s pravidly programovacího jazyka tak, aby bylo možné algoritmus přenést a použít na počítači či jiném stroji. Programovací jazyk je nástroj programátora pro snazší programování, převede se na strojový jazyk, kterému počítač rozumí. Součástí programu může být i popis použitých datových struktur, se kterými algoritmus či výpočetní metoda pracuje.
+
== Výpočetní metoda ==
 +
 
 +
'''Výpočetní metoda:''' "Algoritmus", který není konečný (event-driven systémy jako třeba automat na kávu, snímače JIS karet, digitální hodinky...)
 +
 
 +
'''Program:''' Výpočetní metoda (interaktivní aplikace) či algoritmus (dávkové aplikace) zapsaný v souladu s pravidly programovacího jazyka tak, aby bylo možné algoritmus přenést a použít na počítači či jiném stroji. Programovací jazyk je nástroj programátora pro snazší programování, převede se na strojový jazyk, kterému počítač rozumí. Součástí programu může být i popis použitých datových struktur, se kterými algoritmus či výpočetní metoda pracuje.

Verze z 3. 8. 2011, 19:31

Obsah

Problém

Problém: Otázka či stav, pro jejíž zodpovězení hledáme řešení, případně existenci řešení. Takovýto stav je nežádoucí a je tedy na nás jej změnit (problém vyřešit)

Postup: Zjistíme, že problém nastal (nelze situaci zvládnout známými postupy), zadefinujeme problém (vstupy a výstupy), nalezneme způsob žešení, zjistíme, zda je způsob řešení efektivní a případně optimalizujeme způsob žešení.


Dělění problémů

Rozhodovací problémy lze dělit do tříd složitosti


Pro zasmání: http://www.abclinuxu.cz/clanky/komiks-xkcd-287-np-uplnost


Algoritmus

Algoritmus: Obecný postup pro nalezení řešení, ověřený že funguje. Jde o konečnou sekvenci známých operací (některé definice říkají, že tyto operace musí být elementýrní) které vedou k vyřešení problému.

Každý bod algoritmu musí být jednoznačně určen a musí být proveditelný (pochopitelný strojem) Algoritmus musí mít konečný počet kroků, tedy musí skončit po konečném počtu operací (x Výpočetní metoda) Algoritmus má 0 - N vstupů Algoritmus má 1 - N výstupů


Výpočetní metoda

Výpočetní metoda: "Algoritmus", který není konečný (event-driven systémy jako třeba automat na kávu, snímače JIS karet, digitální hodinky...)

Program: Výpočetní metoda (interaktivní aplikace) či algoritmus (dávkové aplikace) zapsaný v souladu s pravidly programovacího jazyka tak, aby bylo možné algoritmus přenést a použít na počítači či jiném stroji. Programovací jazyk je nástroj programátora pro snazší programování, převede se na strojový jazyk, kterému počítač rozumí. Součástí programu může být i popis použitých datových struktur, se kterými algoritmus či výpočetní metoda pracuje.

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