Algoritmus

10
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)

description

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í “. - PowerPoint PPT Presentation

Transcript of Algoritmus

Page 1: 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)

Page 2: Algoritmus

Algoritmus

MNOŽINAVSTUPNÍCH

DAT

MNOŽINAVÝSTUPNÍCH

DAT

ALGORITMUS

transformace množiny

vstupníchdat na

množinu výstupních dat

Page 3: Algoritmus

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í.

Page 4: Algoritmus

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

Page 5: Algoritmus

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

Page 6: Algoritmus

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

Page 7: Algoritmus

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.

Page 8: Algoritmus

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.

Page 9: Algoritmus

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

Page 10: Algoritmus

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í)