Veronika Bartoňková
v.bartonkova@gyvolgova.cz
Pojem algoritmu
Algoritmus je postup řešení dané úlohy. Je to jednoznačně stanovená posloupnost operací, které řeší daný problém.
Specifikace algoritmické úlohy
Vstupní údaje - informace, ze kterých při řešení úlohy vycházíme, musí splňovat vstupní podmínkuVýstupní údaje - nově získané informace, které jsou výsledkem realizace algoritmu, musí splňovat výstupní podmínku
Vlastnosti algoritmu
- Determinovanost (určenost) znamená, že v každém kroku musí být jednoznačně určena činnost, která se právě provádí i činnost, která má následovat. Přitom realizace algoritmu nesmí být podmíněna žádnými dalšími podmínkami, než těmi, které jsou v něm uvedeny.
- Hromadnost znamená, že algoritmus řeší skupinu úloh pro různé vstupní údaje Množina přípustných ůdajů tvoří definiční obor algoritmu,
- Rezultativnost znamená, že pro vstupní údaje, které vyhovují vstupním podmínkám, musí dát algoritmus správný výsledek po konečném počtu kroků.
Algoritmus má začátek a konec, je věcně správný, jednoznačný (tj. v každém kroku je jasné, co má následovat), obecný, opakovatelný, srozumitelný.
Ověření správnosti
- důkazové metody
- testování - testovací tabulky - ručně, trasování na počítači
- praxe u komerčních programů - souběžný ruční a strojový provoz po určitou dobu, beta verze programů
Ekvivalentní algoritmy řeší tutéž úlohu, vybíráme efektivnější, nelze stanovit jednoznačně jeden nejlepší
Efektivita
- časová - spotřeba času, důležitější
- paměťová - spotřeba paměti
- přehlednost a srozumitelnost
Etapy řešení algoritmické úlohy
odlišnost pro malé a velké programy, začátečníky a profesionály- Zadání
-
Rozbor, analýza
specifikace
vstupy - identifikátor, popis, typ proměnné, vstupní podmínky
výstupy - identifikátor, popis, typ proměnné
(další proměnné) -
Algoritmus
výv. diagram - Testování
- Přepis do progr. jazyka (kódování)
-
Ladění
chyby syntaktické a logické -
Optimalizace
efektivita - paměťová a časová, přehlednost
uživatelská úprava - testování vstupů, vzhled programu
-
Dokumentace
programátorská a uživatelská (manuály, ref. příručky, učebnice - tištěné a elektronické, helpy, ...)
Způsoby zápisu algoritmu
- slovní
- grafický (VD, struktogram, kopenogram, ...)
- program - algoritmus, který je vyjádřen programovacím jazykem pomocí přesně definovaných výrazových prostředků
Přehled základních značek
Vývojové diagramy základních příkazů
větvení
cyklus for
cykly while a repeat
Proměnná
je místo v paměti počítače uchovávající hodnotu, která se v čase může měnit.Deklarace proměnné – určení jeho datového typu (celé, číslo, reálné číslo, znak, text,…)