Základy algoritmizace
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu DOCX.
b) Vstupní podmínky
Vstupní data nemůžou nabývat libovolných hodnot, ale musí splňovat určitou podmínku. Např. strany obdélníka musí být kladná čísla, úhly v trojúhelníku musí ∈ <0;180> stupňů a jejich součet musí být roven 180°. Těmto podmínkám, které musí vstupní data splňovat a pomocí kterých správnost vstupních dat kontrolujeme, říkáme vstupní podmínky.
c) Zpracování
Zpracování představuje vlastní jádro algoritmu, vlastní logiku (myšlenku) řešení úlohy. V průběhu zpracování může algoritmus produkovat různé přechodné mezivýsledky, nutné pro dospění ke konečnému řešení.
d) Výstup
Algoritmus vždy musí dospět k požadovaným výsledkům, k řešení úlohy (viz vlastnost rezultativnost). Konkrétním hodnotám, které nám algoritmus poskytne jako výsledky, říkáme výstupní data.
e) Výstupní podmínky
Výstupní data taky nemůžou nabývat libovolných hodnot, musí být správná, musí odpovídat reálnému správnému řešení. Např. na 1. místě musí být závodník s nejlepším (nejmenším) časem, obsah obdélníka vznikne vynásobením kladných délek jeho stran, zaokrouhlení výsledků apod. Správnost a reálnost výstupních dat právě zajišťují výstupní podmínky.
f) Simulace – testovací data
Každý navržený algoritmus je třeba prakticky ověřit, zda je skutečně funkční a správný, zda nám skutečně poskytuje správné výsledky. Tomuto ověřování správnosti algoritmu se říká simulace a provádí se pomocí zkušebních testovacích vstupních dat, které volíme tak, aby prověřily všechny větve (varianty, možnosti) algoritmu.
Konkrétní vstupní data, mezivýsledky i výstupní data jsou uložena v proměnných a mohou se při realizaci algoritmu měnit. Pro označování proměnných používáme jména, která jsou vždy složená z písmen a číslic a začínají vždy písmenem.
Proměnná je tedy objekt, který má pevně stanovené označení (jméno) a má určitou hodnotu, která se může v průběhu algoritmu měnit.
Proměnná v programování se liší od svého tradičního pojetí známého z matematiky.
Představuje totiž místo v počítači, které má svoje pevně přiřazené jméno a v němž je uložena hodnota, která se může v průběhu algoritmu měnit.
Představa proměnných v programování jako míst:
Jména: A B D5 Jmeno Datum Platba1 Soucet Prumer2
Hodnoty:
Příklad na analýzu problému:
Proveď analýzu jednoduché matematické úlohy na výpočet obsahu kruhu zaokrouhleného na dva desetinná místa.
Vstupní data : Hodnota proměnné R – poloměr kruhu
Vstupní podmínka : R > 0 tzn. poloměr musí být kladný
Je-li R <= 0 pak zadej novou vstupní hodnotu poloměru R
Zpracování : S := π* R2 ;
Provede se výpočet a vypočtená hodnota se uloží do proměnné S
Výstupní data : Hodnota proměnné S – obsah kruhu
Výstupní podmínka : Zaokrouhlení hodnoty proměnné S na 2 desetinná místa
Testovací data : Pro R = 1 je S = 3,14
Pro R = 2 je S = 12,57
Pro R = 0 se vyžaduje nové zadání poloměru (nová vstupní hodnota)
Pro R = -1 se vyžaduje nové zadání poloměru (nová vstupní hodnota)
Tento příklad demonstruje algoritmus zapsaný slovním popisem.
Zápis algoritmů pomocí vývojových diagramů.
Vývojový diagram – grafické znázornění algoritmu pomocí normalizovaných značek
– do značek se vpisují akce nebo operace, které se mají provádět
– jednotlivé značky jsou propojeny spojnicemi, které vyjadřují logické vztahy mezi jednotlivými kroky algoritmu
Značky používané ve vývojových diagramech:
mezní značka, která označuje začátek nebo konec algoritmu
značka pro vstup dat (obvykle z klávesnice) nebo
výstup dat (obvykle na monitoru)
značka pro zpracování tj. provedení nějaké operace
(výpočtu), která(ý) se zapisuje dovnitř značky
značka spojka s nějakým číslem uvnitř, která umožňuje
přerušení a následné pokračování algoritmu např.
na dalším listě v sešitě
značka rozhodovací blok, dovnitř kterého se píší
podmínky, jež umožňují větvení algoritmu
tj. rozdělení algoritmu na varianty (alternativy) řešení
ANO < >
1
NE =
2
3
4
Značka přípravy (modifikace) operací, které se mají provést
opakovaně – značka cyklu pro konečný počet opakování
– dovnitř zapisujeme proměnnou, které se říká
řídící proměnná cyklu a hodnoty, pro které se má opakování provádět