Čo je to algoritmus ?

Download Report

Transcript Čo je to algoritmus ?

Základy algoritmizácie
Pojem algoritmus
Vlastnosti algoritmov
Čo je to algoritmus ?
• Algoritmus je elementárnym pojmom
informatiky – nie je ho možné popísať
pomocou ešte elementárnejších pojmov
– tak ako napr. pojmy bod a číslo v matematike.
• Algoritmus preto definujeme iba popisne,
napr. postupu určenému pre nemysliace
zariadenie ( stroj, procesor ) hovoríme
algoritmus.
• Algoritmus je postup, ktorého
realizáciou získame zo zadaných
vstupných údajov po konečnom počte
činností v konečnom čase správne
výsledky.
Každý postup však nie je algoritmom. Aby sme postup mohli
považovať za algoritmus, musí mať nasledujúce vlastnosti :
•
•
•
•
•
•
1. elementárnosť
2. determinovanosť
3. rezultatívnosť
4. konečnosť
5. hromadnosť
6. efektívnosť
• Tieto vlastnosti sú dôležité preto, aby
postup mohlo realizovať nemysliace
zariadenie, ktoré si nevie uvedomiť, že
napr. činnosť vykonáva podozrivo dlho,
ani sa nevie poučiť z chýb.
1. Elementárnosť
• Algoritmus je zložený z činnosti –
krokov – ktoré sú pre realizátora
elementárne – základné, jednoduché,
ľahko realizovateľné.
• Človek sa dokáže učiť a vytvárať stále
zložitejšie elementárne činnosti, ktoré
kombinuje do ešte zložitejších
postupov.
• Počítače používajú iba veľmi
obmedzenú množinu elementárnych
činností.
Úloha : Ktoré činnosti boli pre vás
elementárne na matematike v druhom
ročníku ZŠ ? Sú to tie isté činnosti ako
teraz ?
2. Determinovanosť
• Algoritmus musí byť zostavený tak, že po každom
kroku je jasné, ktorá činnosť nasleduje, alebo či sa
postup skončil.
• Ľudia dokážu chápať postupy, v ktorých nie je
zvýraznené poradie činností alebo presne určené ako
dlho treba činnosť opakovať. Človek môže správne
pochopiť postup, v ktorom je poradie krokov chybne
zapísané alebo sú niektoré kroky vynechané.
• Do postupu pre nemysliace zariadenie je nevyhnutné
uviesť poradie činností !
Úloha : Povedzte postup, ako bezpečne
prejsť cez ulicu.
3. Rezultatívnosť
• Algoritmus dáva pre rovnaké vstupné
údaje vždy rovnaké výsledky.
Príklad : Na matematike sa všetci učíte tie
isté algoritmy – postupy rôznych výpočtov.
Napriek tomu nemajú v písomke všetci
žiaci rovnaké výsledky. Prečo ?
• Chyba nie je v algoritmoch, ale v ľuďoch.
Buď sa algoritmy nenaučili správne, alebo
použili nesprávne algoritmy – určené na
riešenie iného typu úloh.
4. Konečnosť
• Algoritmus skončí vždy po vykonaní konečného počtu krokov
a v konečnom ( reálnom ) čase.
Príklad : Počítajte podľa nasledovného postupu :
• pomyslite si nejaké číslo
• k tomu číslu opakovane pripočítajte jednotku ...
• ... počítajte ...
• ... až kým váš výsledok nebude rovný -10,3
• Žiaci, ktorí skončili, môžu odísť z učebne.
• Skúsenosti nám umožňujú prerušiť činnosť, keď vidíme, že
nevedie k požadovanému výsledku. Stroj v rovnakej situácii
pracuje ďalej – pokiaľ má zdroj energie.
• Ak potrebujeme výsledok v priebehu niekoľkých sekúnd, tak
postup, pomocou ktorého sa dopracujeme k riešeniu za hodinu,
nie je vhodným algoritmom.
5. Hromadnosť
• Algoritmus je určený na riešenie veľkého
počtu úloh rovnakého ( podobného ) typu.
• Dobrý algoritmus pripúšťa premenlivé vstupné
údaje.
• Táto vlastnosť je skôr užitočná ako nevyhnutná.
• Existujú algoritmy na riešenie jedinej úlohy.
Úloha : Napíšte algoritmus na riešenie rovnice
a.x+b=0, kde x je neznáma a a,b sú ľubovoľné
reálne čísla.
6. Efektívnosť
• Táto vlastnosť sa často považuje za doplnkovú.
• Algoritmus umožňuje získať výsledok v čo
najkratšom čase a s využitím čo najmenšieho
počtu prostriedkov – finančných, technických,
ľudských.
• Často sa najskôr vytvorí akýkoľvek funkčný
algoritmus, ktorý sa v prípade potreby vylepšuje
– ak máme na to dostatok prostriedkov.
• Požiadavka získať výsledok čo najrýchlejšie je
často v rozpore s požiadavkou minimalizovať
použité prostriedky..
• Algoritmizácia je schopnosť aktívne vytvárať algoritmy určené
pre nemysliace zariadenie. Je nevyhnutná pri vytváraní
počítačových programov.
• Algoritmus nazývame čiastočne správny, ak v prípade že
skončí, dáva vždy správne výsledky.
• Algoritmus nazývame konečný, ak
pre ľubovoľné vstupné údaje skončí
v konečnom čase.
• Algoritmus, ktorý je čiastočne správny
a konečný, sa nazýva správny.
• Program je algoritmus napísaný
v programovacom jazyku.
Programovanie
• je konštruktívna myšlienková ale aj praktická
činnosť, ktorou vytvárame nové programové
produkty realizovateľné na počítači.
• Vytvorenie programu pozostáva z týchto
činností :
• algoritmizácia problému – určenie
vstupných a výstupných podmienok
• vytvorenie programu a programovej
dokumentácie
• zapísanie a odladenie programu
priamo na počítači.
Dobrá rada : Nepíšte program hneď
do počítača ! Vyhnete sa tak
opakovanému prepisovaniu zdanlivo
hotového programu.
Test : Pred koľkými rokmi vznikol pojem
algoritmus ?
• a) asi pred 20 rokmi
• b) asi pred 80 rokmi
• c) asi pred 800 rokmi
• Slovo algoritmus vzniklo skomoleným
latinským prepisom mena Abú Jáfar
Mohamed Ibn Músa al-Chworezmí. Bol to
arabský matematik, ktorý okolo roku 825
napísal knihu o riešení rovníc v desiatkovej
číselnej sústave nazvanú Kittab al-jabr
w‘al-mugabala. Jej latinský preklad začína
podľa vtedajšieho zvyku slovami „ Algoritmi
dici...“ t.j. „ Al-Chworezmí hovorí ... “.
Úloha : Čo znamená a ako vzniklo slovo
algebra ?
Prezentácia je určená žiakom 1. ročníka gymnázia
Použitá a odporúčaná literatúra :
Peter Drlík : Turbo Pascal 1
Turbo Pascal 2