Algoritmus
-
Upload
audra-hoffman -
Category
Documents
-
view
33 -
download
3
description
Transcript of Algoritmus
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í)