Algoritmus

Post on 30-Dec-2015

33 views 3 download

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

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