ZPŮSOBY ZÁPISU ALGORITMŮ 4. října 2012 VY_32_INOVACE_160303_Zpusoby_zapisu_algoritmu_DUM ZPŮSOBY ZÁPISU ALGORITMŮ Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Mgr. Pavlína Mihačová. Obchodní akademie a Střední odborná škola logistická, Opava, příspěvková organizace. Vzdělávací materiál byl vytvořen v rámci OP VK 1.5 – EU peníze středním školám, registrační číslo CZ.1.07/1.5.00/34.0809.
MOŽNOSTI ZÁPISU ALGORITMŮ Pro zápis algoritmů nejčastěji volíme některý z těchto zápisů: slovní vyjádření matematický zápis rozhodovací tabulky strukturogramy vývojové diagramy program v programovacím jazyce
SLOVNÍ VYJÁDŘENÍ Slovní popis algoritmu je znám z běžného života – jsou to všemožné návody na použití různých výrobků (návod na použití DVD přehrávače, domácího kina, mikrovlnné trouby,…), různé technologické postupy (recept v kuchařské knize,…).
SLOVNÍ VYJÁDŘENÍ Slovní vyjádření se používá v těchto případech: Skupina lidí, kterým je algoritmus určen, nemá programátorské vzdělání a nepředpokládáme, že by akceptovala jiné než slovní vyjádření Pro komunikaci analytika (programátora) s uživatelem. Člověk, který je v softwarové firmě odpovědný za algoritmizaci nemusí být odborníkem na zadanou problematiku, kterou má zpracovávat. Musí však umět zjistit od uživatele potřebné informace, aby uživatel dostal od programu všechno, co očekává.
SLOVNÍ VYJÁDŘENÍ Výhody: je to způsob vyjádření algoritmu, pomocí kterého se domluvíte i s laikem je to jediná možnost, když už nic jiného nezbývá Nevýhody: ze všech možností zápisu algoritmů je nejméně přehledný nemá nástroje jak „uhlídat“, zda algoritmus vede vždy k cíli, zda je opravdu jednoznačný, přesný a srozumitelný
MATEMATICKÝ ZÁPIS
MATEMATICKÝ ZÁPIS Výhody: Je jednoznačný a člověk znalý úprav matematických výrazů jednoznačně určí, za jakých podmínek je možno úlohu řešit. Často slouží v případech, kdy odborník – technik, výzkumník si předává podklady s analytikem (programátorem). Nevýhody: Ve většině případů bývá příliš stručný a nelze jej přímo zadat počítači.
ROZHODOVACÍ TABULKA Používá se v případech, kdy se v úloze vyskytuje několik možností a vlastní řešení je pro každou možnost jednoduše popsatelné. Příklady: rozvrh hodin pro určitou konkrétní třídu tabulky pro určení logického součinu (konjunkce) a součtu (disjunkce) dvou logických hodnot tabulky pro výpočet odpisů hmotného majetku v účetnictví a daňové evidenci
ROZHODOVACÍ TABULKA Výhody: zápis je jednoznačný, přehledný a srozumitelný Nevýhody: nehodí se pro každý typ úlohy pokud by u některé možnosti algoritmus vyžadoval delší vysvětlování, pak by tabulka ztratila přehlednost a převzala všechny nevýhody slovního vyjádření
STRUKTUROGRAMY Jsou úspornějším znázorněním algoritmu, jsou kombinací grafického a textového popisu. Strukturogram je tvořen obdélníkovou tabulkou, kde do řádků zapisujeme postup kroků symbolickou či slovní formou v pořadí, v jakém budou prováděny. Záhlaví tabulky obsahuje název algoritmu nebo dílčího kroku.
STRUKTUROGRAMY
STRUKTUROGRAMY Výhody: přehlednější způsob znázornění lze ho aplikovat i na složitější problémy jednoznačný a snadný přepis do formálního jazyka Nevýhody: pracnost konstrukce, složité strukturogramy se nevejdou na jednu stránku malé možnosti pozdějších úprav
VÝVOJOVÉ DIAGRAMY Vývojové diagramy slouží ke grafickému popisu algoritmů a jsou popsány v ČSN ISO 5807. Jsou jednou z nejdokonalejších forem zápisu algoritmů. Používají se zejména při vývoji softwaru: jako komunikační prostředek při týmové spolupráci analytiků s programátory k dokumentačním účelům – vývojový diagram je přehlednější než výpis programu.
VÝVOJOVÉ DIAGRAMY K zachycení řešení se používají některé specifické grafické symboly, do kterých je zapsán slovní text (způsob zápisu textu není normou určen, ale doporučuje se využít matematické zápisy a krátký, výstižný popis).
ZNAČKY VÝVOJOVÝCH DIAGRAMŮ Značka Popis Mezní značka Mezní značka představuje vstup z vnějšího prostředí do programu nebo výstup do vnějšího prostředí, např. začátek nebo konec programu (popř. podprogramu). Vstup nebo výstup Vstup – znázorňuje načtení dat potřebných pro činnost programu. Výstup – znázorňuje zobrazení výstupů na zobrazovacím zařízení. Zpracování Zpracování znázorňuje činnost programu, během níž dochází k přeměně dat (např.: matematickým či logickým operacím, k přirazení hodnoty).
ZNAČKY VÝVOJOVÝCH DIAGRAMŮ Značka Popis Rozhodování Rozhodovací blok slouží k rozvětvení programu na základě podmínky uvedené uvnitř. Příprava Příprava označuje přípravnou fázi programu, nejčastěji se používá pro zahájení cyklu s pevným počtem opakování. Podprogram Podprogram nebo předem definovaná činnost znázorňuje samostatnou část algoritmu, která je zpracována (popsána) v jiné části programu.
ZNAČKY VÝVOJOVÝCH DIAGRAMŮ Značka Popis Spojka Spojka umožňuje spojit dvě části vývojového diagramu, které nebylo možné nakreslit souvisle. Spojky na konci přerušení a na začátku pokračování musí být označeny stejným číslem. Poznámka Poznámka nebo komentář slouží ke zkrácenému slovnímu popisu jednotlivých úkonů ve vývojovém diagramu. Symboly spojíte čárami. Šipky u svislých čar nemusíte používat, protože vývojovým diagramem postupujete shora dolů. Pro zdůraznění přehlednosti nakreslete šipku, pokud čára mění směr např. při použití cyklu.
PROGRAMOVACÍ JAZYK Algoritmus je zapsaný v jazyce, kterému počítač rozumí a umí z něho vytvořit strojový kód. Program je napsán v programovacím jazyce, který je pomocí překladače převeden do strojového kódu. Překladač je program, který umí přeložit program napsaný v programovacím jazyce do strojového kódu. V současnosti je překladač součástí integrovaného vývojového prostředí.
PROGRAMOVACÍ JAZYK Výhody: je to jediná forma, které rozumí člověk (programátor) i počítač (pokud je vybaven překladačem) tato forma se nedá ničím nahradit ani obejít Nevýhody: srozumitelné pouze programátorovi, který ovládá konkrétní programovací jazyk je málo názorná a přehledná, pro dokumentační činnost se kombinuje s vývojovými diagramy
Něco málo k zopakování. Vyplňte křížovku. Křížovka Něco málo k zopakování. Vyplňte křížovku.
CITACE ZDROJŮ ZDROJE OBRÁZKŮ: Obrázek 1 Arrows & Pointers - arrow bold right - Public Domain Clip Art. PDClipart.org - Public Domain Clip Art [online]. [cit. 2012-10-04]. Dostupné z: http://www.pdclipart.org/displayimage.php?album=27&pos=117 SOFTWARE: Křížovka vytvořena ve freewarovém programu HOT POTATOES. Dostupné z: http://hotpot.uvic.ca/ Pro vytvoření vývojových diagramů byl použit Microsoft PowerPoint 2010