100 likes | 316 Views
Algoritmus. po krocích rozepsaný návod k nějaké činnosti 8 00-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í “.
E N D
Algoritmus • po krocích rozepsaný návod k nějaké činnosti • 800-825 arabský matematik MuhamadibnMusáalChwárizmí, lat. překlad jeho knihy o početních postupech „Agoritmidicit“ – “Takpraví AlChwá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 ALGORITMUS MNOŽINA VÝSTUPNÍCH DAT MNOŽINA VSTUPNÍCH DAT transformace množiny vstupních dat 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
Člověk s nevyčištěnými zuby Algoritmus - příklad ALGORITMUS ČIŠTĚNÍ ZUBŮ Příprava kelímku a čisticího kartáčku Vlastní čištění zubů Uklizení kelímku a kartáčku Člověk s vyčištěnými zuby
Člověk s nevyčištěnými zuby Algoritmus - příklad ALGORITMUS ČIŠTĚNÍ ZUBŮ Příprava kelímku a čisticího kartáčku 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. Vlastní čištění zubů 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. Uklizení kelímku a kartáčku Člověk s vyčištěnými zuby
Člověk s nevyčištěnými zuby Algoritmus - příklad ALGORITMUS ČIŠTĚNÍ ZUBŮ 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. Příprava kelímku a čisticího kartáčku 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. Vlastní čištění zubů 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. Uklizení kelímku a kartáčku Člověk s vyčištěnými zuby
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.
Algoritmizace úlohy 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 Etapy řešení problému • Specifikace (vymezení) problému • Analýza problému • Sestavení algoritmu • Kódování (zápis) algoritmu • Testování algoritmu (u programů ladění)