Algoritmus
• po krocích rozepsaný návod k nějaké činnosti
• 800-825 arabský matematik Muhamad ibn Musá al Chwárizmí, lat. překlad jeho knihy o početních postupech „Agoritmi dicit“ – “Tak praví Al Chwárizmí“.
• 30. léta 20. století znovuzavedl Alan Turing + navrhnul formální popis algoritmu (tkzv. Turingův stroj)
• algoritmus = matematický pojem, definice pouze opisem (podobně jako bod, množina)
Algoritmus
MNOŽINAVSTUPNÍCH
DAT
MNOŽINAVÝSTUPNÍCH
DAT
ALGORITMUS
transformace množiny
vstupníchdat na
množinu výstupních dat
Vlastnosti algoritmu• Elementárnost. Skládá se z konečného počtu
jednoduchých (elementárních) činností (kroků).
• Determinovanost. V každém kroku lze rozhodnout, jak se má pokračovat (a jestli nenastal konec).
• Konečnost. Algoritmus vždy skončí po konečném počtu kroků.
• Rezultativnost. Vede ke správnému výsledku (k nějakému…).
• Hromadnost. Použitelný pro celou třídu podobných problémů.
• Opakovatelnost. Pro stejné vstupy vždy stejný výstup. Souvisí s determinovaností a rezultativností.
Algoritmus - příklad
Úloha:Sestavit návod na čištění zubů ve formě algoritmu
Cíl:
Vyčištění zubů daného člověka
Prostředky:
zdravá osoba (ústa, zuby, pohyblivá ruka, …)
zubní kartáček, zubní pasta, sklenička na vodu, umyvadlo
ALGORITMUSČIŠTĚNÍ
ZUBŮ
Člověks nevyčištěnýmizuby
Člověks vyčištěnýmizuby
Příprava kelímku a čisticího kartáčku
Vlastní čištění zubů
Uklizení kelímku a kartáčku
Algoritmus - příklad
Algoritmus - příkladALGORITMUS
ČIŠTĚNÍZUBŮ
Člověks nevyčištěnýmizuby
Člověks vyčištěnýmizuby
Vytáhni kartáček a kelímek ze skříňky.
Do kelímku nalej pitnou vodu.
Na kartáček nanes pastu.
Krouži kartáčkem postupně po všech zubech, asi 2 minuty.
Vypláchni si ústa. Smyj zbytky pasty z kartáčku.
Opět krouži 2 min. čistým kartáčkem po zubech.
Vypláchni si ústa.
Umyj kartáček proudem vody.
Vylij vodu z kelímku a vypláchni ho čistou vodou.
Ukliď kelímek i kartáček do skříňky.
Příprava kelímku a čisticího kartáčku
Vlastní čištění zubů
Uklizení kelímku a kartáčku
Algoritmus - příkladALGORITMUS
ČIŠTĚNÍZUBŮ
Člověks nevyčištěnýmizuby
Člověks vyčištěnýmizuby
Vytáhni kartáček a kelímek ze skříňky.
Do kelímku nalej pitnou vodu.
Na kartáček nanes pastu.
Krouži kartáčkem postupně po všech zubech, asi 2 minuty.
Vypláchni si ústa. Smyj zbytky pasty z kartáčku.
Opět krouži 2 min. čistým kartáčkem po zubech.
Vypláchni si ústa.
Umyj kartáček proudem vody.
Vylij vodu z kelímku a vypláchni ho čistou vodou.
Ukliď kelímek i kartáček do skříňky.
Příprava kelímku a čisticího kartáčku
Vlastní čištění zubů
Uklizení kelímku a kartáčku
Otevři skříňku.
Je tam kelímek ?
Ne – konec
Ano – pokračuj
Pusť kohoutkem vodu.
Teče ?
Ne – konec
Ano – pokračuj
Natoč do ¾ kelímku vodu.
Zavři kohoutkem vodu.
……
Zavři skříňku.
Algoritmizace úlohy
Způsoby zápisu algoritmů
• Slovní popis (přirozeným jazykem).• Grafické znázornění (např. vývojový
diagram).• Programovací jazyk (např. C). Obsahuje
klíčová slova, operátory, speciální znaky a identifikátory.
Procesor: objekt (člověk či stroj), který vykonává algoritmem popisovanou
činnost.
Druh procesoru různé formulace kroků algoritmu
Program: algoritmus zapsaný v nějakém programovacím jazyce.
Algoritmizace úlohy
Algoritmizace úlohy
Etapy řešení problému
1. Specifikace (vymezení) problému
2. Analýza problému
3. Sestavení algoritmu
4. Kódování (zápis) algoritmu
5. Testování algoritmu (u programů ladění)
Top Related