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.
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 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 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 ;)
Výhody:
Správný algoritmus (vývojový diagram) musí být:
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.
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 |
![]() |
Spojovací čára. (aby se vědělo odkud kam...) |
![]() |
Spojovací bod. (když potřebujeme spojit více šipek) |
![]() |
Příkaz (načti soubor, ulož soubor, přečti hodnotu) |
![]() |
Podmínka. (pokud ano jdi na .... pokud ne, jdi na...) |
![]() |
Cyklus s určeným počtem opakování. (přečti 3 x za sebou) |
![]() |
Cyklus s určeným začátkem. (Pokud je hodnota rovna požadavku 3 x zopakuj) |
![]() |
Cyklus s určeným koncem. (opakuj dokud nedosáhneš požadované hodnoty) |
![]() |
Vstup zadávaný uživatelem, nebo nám přijde s čidla. (pokud uživatel zadává rodné číslo :) |
... | atd. |
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.
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.
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
Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). 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 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.
Přidáno: 28.05.15 13:59
Já prostě nemám slov :) konečně :) díky za to že tu neopisujete nudné příručky, ale vysvětlujete jako člověk. Já se snad nikdy u čtení o excelu tolik nenasmála jako za poslední hodinu co si tento váš web tak pročítám :) ještě jednou moooc díky :) Míša
Přidáno: 15.12.15 15:07
Zdravím, mám na Listu 1 pár údajů jako číslo zakázky, výrobek číslo atp. ve sloupci J mám seznam 5 textových hodnot přičemž jedna je Vyřešeno-Oprávněná Reklamace, pokud člověk zatrhne tuto hodnotu chtěl bych aby se celý řádek (číslo zakázky, výrobek číslo...atp) zapsal na další list věděl někdo jak na to ? (v konečné fázi úplně nejlepší by bylo aby se řádek po zvolení v seznamu hodnoty vyřešeno propsal na další list a nešel upravovat, až třeba po zvolení jiné hodnoty ze seznamu by zase šel upravit (aby např když člověk zapomene nějákou hodnotu z listu zapsat třeba číslo výrobku, tak aby musel pro opravu odkliknout jinný stav než vyřešeno kvůli integritě a kompletu dat. můj mail: Depo8@seznam.cz
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
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 - 2024 |