Algoritmus
Z MiS
				
				
				(Rozdíly mezi verzemi)
				
																
				
				
								
				|  (→Algoritmus:  Přidány způsoby zápisu algoritmu a alternativní vlastnosti) |  (→Algoritmizace × programování:  Přidána analýza zadání) | ||
| Řádka 51: | Řádka 51: | ||
| == Algoritmizace × programování == | == Algoritmizace × programování == | ||
| + | ; Analýza zadání | ||
| + | * Slovní popis zadání formalizujeme tak, abychom získali problém. | ||
| + | * Vstupem je slovní zadání, výstupem je matematicky přesný popis problému. | ||
| ; Algoritmizace | ; Algoritmizace | ||
| − | *  | + | * Tvorba algoritmu pro daný problém. | 
| − | *  | + | * Vstupem je problém, výsledkem je algoritmus. | 
| ; Programování | ; Programování | ||
| * Zápis algoritmu v konkrétním prog. jazyce | * Zápis algoritmu v konkrétním prog. jazyce | ||
| − | *  | + | * Vstupem je algoritmus, výsledkem je zdrojový kód. | 
Verze z 19. 9. 2013, 11:40
| Obsah | 
Úloha
- Zadání, které řešíme.
- Formálním popisem vznikne problém.
Problém
- Definice problému
- vstupní proměnné
- výstupní proměnné
- konfigurační proměnné
- omezení
- optimalizační kritérium
Algoritmus
Schematický postup řešení určitého problému, který je konečný, určitý, korektní a obecný.
- Vlastnosti algoritmu
- Konečnost
- algoritmus skončí pro libovolná (korektní) data v konečném množství kroků.
 
- Určitost (determinovanost)
- všechny kroky algoritmu jsou přesně definovány.
 
- Korektnost
- algoritmus skončí pro libovolná (korektní) data správným výsledkem.
 
- Obecnost
- algoritmus řeší všechny úlohy daného typu.
 
- Někdy se jako vlastnosti uvádí také
-  resultativnost — konečnost a korektnost dohromady
- Algoritmus skončí pro libovolná (korektní) data v konečném množství kroků správným výsledkem.
 
-  elementárnost
- Základní kroky algoritmu jsou dostatečně jednoduché, aby jim rozuměl vykonávající stroj.
- Chápeme to jako součást určitosti algoritmu.
 
Stav algoritmu
- Nechť: 
- X={x1, x2, ...,xn} je množnina konfiguračních proměnných
- Z={z1, z2, ...,zn} je množnia vnitřních proměnných algoritmu A řešícího I.
 
- Pak každé ohodnocení s proměnných X a Z je stav algoritmu.
Zápis algoritmu
Algoritmy zapisujeme:
- v přirozeném jazyce (slovně)
-  pseudokódem
- používáme jazyk podobný programovacím jazykům
- vynecháváme ale některé prvky, které člověk pro pochopení nepotřebuje (složené závorky tam, kde je dostačující odsazení apod.).
 
- v programovacím jazyce
-  pomocí vývojových diagramů 
- viz série článků Vývojové diagramy na Programujte.com.
 
Algoritmizace × programování
- Analýza zadání
- Slovní popis zadání formalizujeme tak, abychom získali problém.
- Vstupem je slovní zadání, výstupem je matematicky přesný popis problému.
- Algoritmizace
- Tvorba algoritmu pro daný problém.
- Vstupem je problém, výsledkem je algoritmus.
- Programování
- Zápis algoritmu v konkrétním prog. jazyce
- Vstupem je algoritmus, výsledkem je zdrojový kód.
