Přeskočit navigaci | Přeskočit na novinky

Jste zde: Úvodní stránka » excel » vba » vyvojovy-diagram-algoritmus
Microsoft Excel logo

Vývojový diagram - algoritmus

Videokurzy Excel

Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:

Pokud dokážete převést úkol na algoritmus, naprogramování je již hračka., aneb proč a jak využít vývojové diagramy pro algoritmizaci.

Úvodem

Než se pustíme do programování je potřeba si daný úkol rozmyslet, jak ho budu řešit. Neboli úkol algoritmizovat. Vím, že přirozenou snahou člověka je sednout k počítači a začít programovat (ale pokud se předem připravíte, ušetříte si spoustu práce a hledání chyb).

V tomto článku je popsáno jak na algoritmus a tvorbu vývojových diagramů. Nejprve se podívejme na jednotlivé pojmy:

Algoritmus

Algoritmus přesný postup, kterým je možno vyřešit daný problém, úlohu. S pojmem algoritmu se setkáte nejčastěji při programování, kdy než se úloha naprogramuje je potřeba ji rozdělit na jednotlivé kroky. Prostě jakým postupem dojdeme k řešení daného problému.

Pak již není problém tento postup přepsat pomocí daného programovacího jazyka, například VBA v Excel.

Ono recept je zle také považovat za algoritmus, vezmi tři vejce, přidej 0,5 kg mouky, ...

Vývojový diagram

Vývojový diagram je grafické znázornění jednotlivých kroků onoho algoritmu. Ve vývojovém diagramu se pro znázornění jednotlivých kroků používá grafických symbolů, které jsou navzájem propojeny pomocí orientovaných šipek.

I ten recept by šel přepsat do vývojového diagramu, ale pro recepty textová podoba plně postačuje ;)

Proč algoritmus - vývojový diagram?

Výhody:

  • názornost pro rychlé zorientování a pochopení daného úkolu
  • přehlednost oproti psanému textu
  • možný rozpad na podalgoritmy (může se programovat odděleně)

Jak má vypadat správně navržený algoritmus

Správný algoritmus (vývojový diagram) musí být:

  • Konečný - algoritmus se nesmí zacyklit, musí být jednoznačně jasné jak se dostane na konec (nebo ohlásit chybu). Nekonečný je jen vesmír, lidská blbost, a měsíční zkušební verze TotalCommanderu ;)
  • Jednoznačný (determinovaný) - v každém kroku je jasný způsob pokračovaní, jaký bude následující krok, co bude provedeno (třeba označení chyby a konec)
  • Opakovatelný - po dalším zopakování algoritmus skončí se stejným výsledkem (náhodné číslo - vypíše náhodné číslo což je stejný výsledek i když zobrazené číslo není pokaždé stejné ;) ), předpokládám, že se zadávají stejná data
  • Správný (korektní) - zpracovaný výsledek musí být správný (mnohdy za nesprávný výsledek nemůže algoritmus, ale metoda (nulou dělit nelze).
  • Hromadný - doporučuji tvořit algoritmus (vývojový diagram) pro obecné úkoly. Budeme-li počítat obsah kruhu tak ne jen pro průměr 12,51 mm, ale i pro ostatní zadání, co když budu mít průměr 12,51 cm

Co použít k zápisu algoritmu

Nejlépe se algoritmus vyjadřuje pomocí vývojového diagramu. Lze využít předdefinovaných grafických prvků. Dle mého názoru je zápis přehledný a jasný.

Pokud tvoříte vývojové diagramy v týmu, je vhodné držet se zavedené konvence. Ať kolegové nemusí dlouze přemýšlet, co jste daným obrazcem měli na mysli.

Grafické prvky

Pro znázornění algoritmů se používají grafické značky spojené orientovanými spojnicemi. Tvary a významy značek, které budeme při tvorbě vývojových diagramů využívat jsou v následující tabulce.

Grafický prvek Popis
Začátek a konec algoritmu Začátek a konec algoritmu
Sipka - prvek algoritmu Spojovací čára. (aby se vědělo odkud kam...)
Spojovací bod - prvek algoritmu Spojovací bod. (když potřebujeme spojit více šipek)
Příkaz - prvek algoritmu Příkaz (načti soubor, ulož soubor, přečti hodnotu)
Podmínka - prvek algoritmu Podmínka. (pokud ano jdi na .... pokud ne, jdi na...)
prvek algoritmu Cyklus s určeným počtem opakování. (přečti 3 x za sebou)
prvek algoritmu Cyklus s určeným začátkem. (Pokud je hodnota rovna požadavku 3 x zopakuj)
prvek algoritmu Cyklus s určeným koncem. (opakuj dokud nedosáhneš požadované hodnoty)
Vstup - prvek algoritmu Vstup zadávaný uživatelem, nebo nám přijde s čidla. (pokud uživatel zadává rodné číslo :)
... atd.

Další značky

  • Zpracování souboru. (překódování, úpráva rozměru u fotky...)
  • Uložení souboru. (V případě že například návštěvník vloží vzkaz do návštěvní knihy, musíme jeho data uložit)
  • Zobrazení souboru. (Když už vložil data tak je můžeme zobrazit pro kontrolu...)
  • Podprogram - pro složitější algoritmy. (vytvoří se samostatný podprogram, ulehčí a zpřehlední programování...)
  • Porovnávaní, filtrace - (data v databázi)
  • Řazení. (opět vhodné pro práci s databází)
  • Vyjmout sloučit.
  • Přechod na další stránku. (pro rozsáhlejší vývojové diagramy)
  • Ruční operace.
  • Nebo

Ukázkový vývojový diagram, algoritmus

MS Excel 2010 - vylepšený algoritmus

Potřebujeme program pro výpočet plochy kruhu. Můžeme vytvořit vývojový diagram. Uživatel zadá poloměr, provede se výpočet a výsledek se zobrazí.

Záměrně je uveden jednoduchý vývojový diagram, aby se dal dále vylepšovat.


Vylepšený algoritmus

MS Excel 2010 - vylepšený algoritmus

Bude fungovat, pokud člověk zadá číslo větší než nula. Co se stane, když zadá písmeno? Proto je potřeba doplnit o kontrolu zadávaných dat.

Už se vám zdá dokonalý? Ještě se dá doplnit o možnost program ukončit, aniž uživatel zadá poloměr. Například po 5-ti pokusech se program zeptá, zda nechce raději program pro výpočet plochy kruhu opustit. Najednou z celku jednoduchého požadavku na výpočet plochy kruhu ze zadaného poloměru se stává o něco komplikovanější algoritmus než na úplném začátku.


Závěrem

Tvoříte vývojové diagramy, nebo využíváte jiné postupy před tvorbou vlastních programů? Své zkušenosti můžete zmínit v komentářích.

Článek byl aktualizován: 19.09.2020 11:06

Podpora - oceňte web a pozvěte mě na čokoládu

Pomohl vám článek? Vyřešili jste problém? Můžete mě podpořit zakoupení tabulky (samozdřejmě čokoládové), když kafe nepiji ;) Odkaz na zakoupení čokolády. Za veškerou podporu vám děkuji a samozdřejmě jí využiji do zdokonalování a rozšířování webu.

Případně přidejte odkaz na vaši oblíbenou sociální síť, případně využijste hashtag #JakNaExcel .

Poděkování

Děkuji za váš čas a doufám, že jste nalezli odpověď na svůj problém.

Vylepšení

Narazili jste v článku na nejasnost, chybu? Máte tip na vylepšení nebo doplnění článku? Budu rád pokud se zmínite v komentářích.


Pavel Lasák - autor webu

Pavel Lasák

Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od dubna roku 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím 8x za sebou). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 20 let (o Excel píší přes 25). Zdarma je zde přes 1.500 návodu, tipů a triků, včetně přes 350 různých šablon, sešitů a přes 70 taháků v pdf.

   Pavel Lasák LinkedIn Profil    Pavel Lasák twitter Profil




Excel


Sdílejte

Pomohl Vám návod?
Sdílejte na Facebooku, G+
LinkedIn...

Nové články


Reklama


TOPlist Licence Creative Commons webarchiv rss XML

Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2025 |