Program pro vytváření blokových diagramů online. „Vývoj algoritmů VBA. Blokové schéma. Struktury algoritmů

Systémtoto je abstrakce procesu nebo systému, která jasně zobrazuje nejvýznamnější části. Schémata byla široce používána od starověku až po současnost - kresby starověkých pyramid, mapy zemí, schémata elektrických obvodů. Je zřejmé, že starověcí námořníci si chtěli vyměňovat mapy, a proto vyvinuli jednotný systém notací a pravidel pro jejich provádění. Podobné dohody byly vyvinuty pro zobrazování algoritmických diagramů a jsou zakotveny v GOST a mezinárodních normách.

Působí na území Ruské federace jednotný systém programové dokumentace (USPD), jehož součástí je Státní norma - GOST 19.701-90 „Algoritmické diagramy pro programy, data a systémy“. Navzdory skutečnosti, že zápisy popsané ve standardu lze použít k zobrazení diagramů systémových prostředků, diagramů interakce programů atd., tento článek popisuje pouze vývoj diagramů programových algoritmů.

Uvažovaná GOST téměř plně odpovídá mezinárodnímu standardu ISO 5807:1985.

Prvky vývojového diagramu algoritmu

Blokové schéma je sada symbolů odpovídajících fázím algoritmu a čarám, které je spojují. Tečkovaná čára používá se ke spojení symbolu s komentářem. Plná čára odráží ovládací závislosti mezi symboly a může být opatřen šipkou. Šipka nemusí být označena, když je oblouk nasměrován zleva doprava a shora dolů. Podle článku 4.2.4 by se čáry měly přibližovat k symbolu zleva nebo shora a přicházet zdola nebo zprava.

Existují i ​​jiné typy čar, které se používají například pro znázornění blokových diagramů paralelních algoritmů, ale ty, stejně jako řada specifických symbolů, nejsou v tomto článku brány v úvahu. Uvažují se pouze základní symboly, které žákům vždy postačí.

Terminátor pro začátek a konec funkce

Každá funkce začíná a končí terminátorem. Typ návratové hodnoty a argumentů funkce je obvykle specifikován v komentářích k bloku terminátoru.

Operace vstupu a výstupu dat

GOST definuje mnoho vstupních/výstupních symbolů, například výstup na magnetické pásky, displeje atd. Pokud není zdroj dat kritický, obvykle se používá symbol rovnoběžníku. Podrobnosti I/O lze specifikovat v komentářích.

Provádění operací s daty

Operační blok obvykle obsahuje jednu nebo více (GOST nezakazuje) operací přiřazení, které nevyžadují volání externích funkcí.

Blok ilustrující větvení algoritmu

Blok ve tvaru kosočtverce má jeden vstup a několik znaménkových výstupů. Pokud má blok 2 výstupy (odpovídá operátoru větvení), výsledek porovnání se jim podepíše – „ano/ne“. Pokud z bloku (operátor výběru) vychází více řádků, zapíše se do něj název proměnné a hodnoty této proměnné se zapíší na odchozí oblouky.

Volání externí procedury

Volání externích procedur a funkcí jsou umístěna v obdélníku s dalšími svislými čarami.

Začátek a konec cyklu

Symboly začátku a konce smyčky obsahují název a podmínku. Podmínka nemusí být přítomna v jednom ze symbolů páru. Umístění podmínky určuje typ operátoru odpovídající symbolům v jazyce vyšší úrovně - operátor s předběžnou podmínkou (zatímco) nebo následnou podmínkou (do ... while).

Příprava dat

Symbol „příprava dat“ v jakékoli formě (v GOST nejsou žádná vysvětlení ani příklady) specifikuje vstupní hodnoty. Obvykle se používá k definování cyklů čítače.

Konektor

Pokud se vývojový diagram nevejde na list, použije se symbol spojnice, který odráží přechod řídicího toku mezi listy. Symbol lze použít na jeden list, pokud z nějakého důvodu není vhodné kreslit čáru.

Komentář

Komentář lze připojit k jednomu bloku nebo skupině. Skupina bloků je na diagramu zvýrazněna tečkovanou čarou.

Příklady blokových diagramů

Jako příklady jsou konstruována bloková schémata velmi jednoduchých třídicích algoritmů s důrazem na různé implementace smyček, protože V této části se studenti dopouštějí největšího počtu chyb.

Řazení vložení

Pole v algoritmu řazení vložení rozdělené na vytříděné a dosud nezpracované části. Zpočátku se setříděná část skládá z jednoho prvku a postupně se zvyšuje.

V každém kroku algoritmu se vybere první prvek nezpracované části pole a vloží se do setříděné části tak, aby bylo zachováno požadované pořadí prvků. Vložení lze provést buď na konec pole, nebo doprostřed. Při vkládání doprostřed musíte všechny prvky umístěné „napravo“ od pozice vložení posunout o jeden prvek doprava. Algoritmus používá dvě smyčky - v první jsou vybrány prvky surové části a ve druhé se provádí vkládání.


Vývojový diagram algoritmu řazení vložení

Níže uvedený blokový diagram používá k organizaci smyčky symbol větve. V hlavní smyčce (i< n) Iteruje prvky nezpracované části pole. Pokud jsou zpracovány všechny prvky, algoritmus se ukončí, jinak se vyhledá pozice pro vložení já-toživel. Hledaná pozice bude uložena do proměnné j jako výsledek provedení vnitřní smyčky, která posouvá prvky, dokud není nalezen prvek, jehož hodnota je menší. já-to.

Na blokové schéma ukazuje, jak lze použít přechodový symbol - lze jej použít nejen ke spojení částí obvodů umístěných na různých listech, ale také ke snížení počtu řádků. V některých případech to umožňuje vyhnout se křížení čar a usnadňuje pochopení algoritmu.

Bublinové řazení

Bublinové řazení, stejně jako řazení vložení, používá dvě smyčky. Ve vnořené smyčce se provádí párové porovnání prvků a v případě porušení jejich pořadí se provede přeskupení. V důsledku provedení jedné iterace vnitřní smyčky je zaručeno posunutí maximálního prvku na konec pole. Vnější smyčka běží, dokud není setříděno celé pole.


Vývojový diagram algoritmu bublinového třídění

Blokové schéma ukazuje použití symbolů počáteční a koncové smyčky. Podmínka vnější smyčky (A) je zkontrolována na konci ( s postpodmínkou), funguje tak dlouho jako proměnná hasSwapped záležitosti věrný. Vnitřní smyčka využívá předpoklad iterovat přes dvojice porovnávaných prvků. Pokud jsou prvky ve špatném pořadí, jsou přeskupeny voláním vnější postup (vyměnit). Abychom pochopili účel vnějšího postupu a pořadí jeho argumentů, je nutné psát komentáře. Pokud funkce vrátí hodnotu, lze zapsat komentář na koncový znak.

Řazení podle výběru

V výběr řazení pole je rozděleno na tříděnou a nezpracovanou část. Zpočátku je vytříděná část prázdná, ale postupně přibývá. Algoritmus hledá minimální prvek nezpracované části a prohodí jej s prvním prvkem stejné části, načež se má za to, že první prvek byl zpracován (setříděná část se zvětší).


Vývojový diagram řazení výběru

Blokové schéma ukazuje příklad použití bloku „preparation“ a také ukazuje, že v některých případech je možné popsat algoritmus „zvětšeně“ (aniž bychom zacházeli do podrobností). Podrobnosti implementace jsou pro řazení výběru irelevantní. nalezení indexu minimálního prvku pole, takže je lze popsat symbolem volání externí procedury. Pokud neexistuje blokové schéma algoritmu externí procedury, neuškodilo by napsat komentář k symbolu volání, výjimkou mohou být funkce se smysluplnými názvy jako; vyměňovat, třídit, … .

2.1 Vývoj algoritmu.

Algoritmus- Tohle

A. popis sledu akcí k vyřešení problému nebo dosažení cíle;

b. pravidla pro provádění základních operací zpracování dat;

C. popis výpočtů pomocí matematických vzorců.

Před zahájením vývoje algoritmu je nutné jasně porozumět úkolu: co je třeba získat jako výsledek, jaká počáteční data jsou potřebná a co jsou k dispozici, jaká omezení pro tato data existují. Dále si musíte zapsat, jaké akce je třeba provést, abyste získali požadovaný výsledek z počátečních dat.

V praxi jsou nejběžnější formy prezentačních algoritmů:

Verbální (nahrávky v přirozeném jazyce);

Grafika (obrazy z grafických symbolů);

Pseudokódy (poloformalizované popisy algoritmů v podmíněném algoritmickém jazyce, zahrnující jak prvky programovacího jazyka, tak fráze přirozeného jazyka, obecně přijímané matematické zápisy atd.);

Programování (texty v programovacích jazycích).

Verbální způsob zápisu algoritmů je popisem po sobě jdoucích fází zpracování dat. Algoritmus je specifikován v jakékoli formě v přirozeném jazyce.

Příklad. Napište algoritmus pro nalezení největšího společného dělitele (GCD) dvou přirozených čísel.

Algoritmus by mohl být následující:

1. nastavit dvě čísla;

2. pokud jsou čísla stejná, vezměte kterékoli z nich jako odpověď a zastavte se, jinak pokračujte v provádění algoritmu;

3. určit největší z čísel;

4. nahraďte větší číslo rozdílem mezi větším a menším číslem;

5. opakujte algoritmus z kroku 2.

Popsaný algoritmus je použitelný pro jakákoli přirozená čísla a měl by vést k řešení problému. Přesvědčte se o tom sami pomocí tohoto algoritmu k určení největšího společného dělitele čísel 125 a 75.

Verbální metoda není rozšířená z následujících důvodů:

Takové popisy nejsou přísně formalizovatelné;

Trpět upovídaností poznámek;

Prostor pro nejednoznačnost výkladu jednotlivých předpisů.

Grafický způsob prezentace algoritmů je kompaktnější a vizuálnější než verbální.

Při grafickém znázornění je algoritmus znázorněn jako sekvence vzájemně propojených funkčních bloků, z nichž každý odpovídá provedení jedné nebo více akcí.

Toto grafické znázornění se nazývá vývojový diagram nebo vývojový diagram.

Pseudokód je systém zápisů a pravidel navržený k jednotnému zápisu algoritmů.

Zaujímá prostřední místo mezi přirozenými a formálními jazyky.

Na jednu stranu se blíží běžnému přirozenému jazyku, takže v něm lze psát a číst algoritmy jako běžný text. Na druhou stranu pseudokód používá některé formální konstrukce a matematickou symboliku, což přibližuje zápis algoritmu obecně přijímané matematické notaci.

V pseudokódu nejsou přijata přísná syntaktická pravidla pro psaní příkazů inherentních formálním jazykům, což usnadňuje psaní algoritmu ve fázi návrhu a umožňuje použití širší sady příkazů určených pro abstraktního vykonavatele. Pseudokód však obvykle obsahuje některé konstrukce, které jsou vlastní formálním jazykům, což usnadňuje přechod od psaní v pseudokódu k psaní algoritmu ve formálním jazyce. Zejména v pseudokódu, stejně jako ve formálních jazycích, existují funkční slova, jejichž význam je určen jednou provždy. Neexistuje jediná nebo formální definice pseudokódu, takže jsou možné různé pseudokódy, lišící se množinou funkčních slov a základních (základních) konstrukcí.

2.2 Blokové schéma.

Vývojový diagram je grafické znázornění algoritmu, ve kterém je znázorněn jako sekvence vzájemně propojených funkčních bloků, z nichž každý odpovídá provedení jedné nebo více akcí.

Ve vývojovém diagramu každý typ akce (zadání počátečních dat, výpočet hodnot výrazů, kontrola podmínek, řízení opakování akcí, dokončení zpracování atd.) odpovídá geometrickému obrazci reprezentovanému jako symbol bloku. Symboly bloků jsou propojeny přechodovými čarami, které určují pořadí, ve kterém se akce provádějí.

Zde jsou nejčastěji používané symboly.

Název symbolu Označení a příklad plnění Vysvětlení
Proces Výpočetní akce nebo sekvence akcí
Řešení Kontrola podmínek
Modifikace Začátek cyklu
Předdefinovaný proces Výpočty podle podprogramu, standardního podprogramu
I/O I/O obecně
Start-stop Začátek, konec algoritmu, vstup a výstup do podprogramu
Dokument Tisk výsledků

Blok "proces" se používá k označení akce nebo sekvence akcí, které mění hodnotu, formu prezentace nebo umístění dat. Pro zlepšení přehlednosti diagramu lze několik jednotlivých bloků zpracování spojit do jednoho bloku. Prezentace jednotlivých operací je vcelku volná.

Blok "rozhodnutí" se používá k označení přechodů podmíněného řízení. Každý blok „řešení“ musí identifikovat otázku, podmínku nebo srovnání, které definuje.

Blok "modifikace" se používá k uspořádání cyklických struktur. (Slovo modifikace znamená modifikace, přeměna). Uvnitř bloku je zapsán parametr cyklu, u kterého je při každém opakování uvedena jeho počáteční hodnota, okrajová podmínka a krok změny hodnoty parametru.

Blok "předdefinovaný proces" se používá k označení volání pomocných algoritmů, které existují autonomně ve formě některých nezávislých modulů, a volání rutin knihovny.

Příklad. Sestavte blokové schéma algoritmu pro určení výšek ha, hb, hc trojúhelníku o stranách a, b, c, pokud



Kde p = (a + b + c) / 2.
Řešení. Představme si notaci potom ha = t/a, hb = t/b, h c = t/c. Vývojový diagram musí obsahovat začátek, vstup a, b, c, výpočet p, t, h a, h b, h c , vytiskněte výsledky a zastavte.

2.3 Struktury algoritmů.

Algoritmy si lze představit jako určité struktury skládající se z jednotlivých základních (tj. základních) prvků. Přirozeně, s tímto přístupem k algoritmům by studium základních principů jejich návrhu mělo začít studiem těchto základních prvků.

Logická struktura libovolného algoritmu může být reprezentována kombinací tří základních struktur: sledování, větvení a smyčkování.

Charakteristickým znakem základních struktur je přítomnost jednoho vstupu a jednoho výstupu.

1. Následuje základní struktura. Tvoří se ze sledu akcí po sobě následujících:

2. Základní struktura větvení. Poskytuje v závislosti na výsledku kontroly stavu (ano nebo ne) volbu jednoho z alternativních způsobů ovládání algoritmu. Každá cesta vede ke společnému výstupu, takže algoritmus bude pokračovat v běhu bez ohledu na to, která cesta je zvolena.

Struktura větvení existuje ve čtyřech hlavních variantách:

Pokud-pak-jinak;

Výběr je jiný.

1) if-if podmínka then action end if 2) if-else if podmínka then akce 1 jinak akce 2 končí if 3) volba volby s podmínkou 1: akce 1 s podmínkou 2: akce 2. . . . . . . . . . . . za podmínky N: akce N konec volby

4) volba - jinak volba za podmínky 1: akce 1 za podmínky 2: akce 2. . . . . . . . . . . .

za podmínky N: akce N jinak akce N+1 konec volby

Příklad. Vytvořte blokové schéma algoritmu pro výpočet funkce

Základní strukturou je cyklus. Poskytuje opakované provádění určité sady akcí, která se nazývá tělo smyčky. Struktura cyklu existuje ve třech hlavních verzích:.

Typ smyčky

Základní strukturou je cyklus. Poskytuje opakované provádění určité sady akcí, která se nazývá tělo smyčky. Pro.

Dává pokyn ke spuštění těla smyčky pro všechny hodnoty určité proměnné (parametr smyčky) v daném rozsahu.

Základní strukturou je cyklus. Poskytuje opakované provádění určité sady akcí, která se nazývá tělo smyčky. Ahoj.

Nařídí provedení těla cyklu, pokud je splněna podmínka zapsaná za slovem while.

dělat - zatím

Nařídí provedení těla cyklu, pokud je splněna podmínka zapsaná za slovem while. Podmínka je zkontrolována po provedení těla smyčky. Všimněte si, že smyčky for a while se také nazývají smyčky s předběžnou kontrolou podmínky a smyčky pro provedení - while - smyčky s následnou kontrolou podmínky. Jinými slovy, těla cyklů for a while nemusí být provedena ani jednou, pokud podmínka ukončení smyčky není zpočátku pravdivá. Provádějte tělo cyklu, dokud není alespoň jednou vykonáno, i když podmínka pro ukončení cyklu není zpočátku pravdivá. Cyklus pro i od i1 do i2 krok i3 tělo cyklu (pořadí akcí) konec cyklu

smyčka zatímco podmínka tělo smyčky (posloupnost akcí) konec smyčky

cyklus do těla smyčky (pořadí akcí) až do konce smyčky

s danou přesností (pro danou střídavou výkonovou řadu bude požadované přesnosti dosaženo, když se další člen v absolutní hodnotě zmenší).

Počítání součtů je typický cyklický úkol. Zvláštností našeho specifického problému je, že počet členů (a následně i počet opakování těla smyčky) není předem znám. Proto musí smyčka skončit, když je dosaženo požadované přesnosti.

Při sestavování algoritmu je třeba vzít v úvahu, že znaménka členů se střídají a zvyšuje se mocnina čísla x v čitatelích členů.

skončíme s velmi neefektivním algoritmem, který vyžaduje velké množství operací. Mnohem lepší je uspořádat výpočty následovně: označíte-li čitatele libovolného členu písmenem p, pak se čitatel dalšího členu bude rovnat -р*х (znaménko mínus zajišťuje střídání znamének termíny) a samotný termín bude m

se bude rovnat p/i, kde i je číslo členu.

Algoritmus, který obsahuje iterační smyčku, se nazývá iterační algoritmus. Iterační algoritmy se používají při implementaci iterativních numerických metod. V iteračních algoritmech je nutné zajistit, aby byla splněna podmínka pro opuštění cyklu (konvergence iteračního procesu). Jinak se algoritmus zacyklí, tzn. nebude naplněna hlavní vlastnost algoritmu - účinnost.

Vnořené smyčky.

Mohou nastat případy, kdy je nutné zopakovat určitou sekvenci příkazů uvnitř těla smyčky, tedy zorganizovat vnitřní smyčku. Tato struktura se nazývá smyčka uvnitř smyčky nebo vnořené smyčky. Hloubka vnoření smyček (to znamená počet smyček vnořených do sebe) může být různá.

Při použití takovéto struktury je pro úsporu času počítače nutné přesunout všechny příkazy, které nejsou závislé na parametru vnitřní smyčky, z vnitřní smyčky do vnější.

Příklad vnořené smyčky pro. Vypočítejte součet prvků dané matice A(5,3).

Příklad zatím vnořené smyčky. Vypočítejte součin těch prvků dané matice A(10,10), které se nacházejí na průsečíku sudých řádků a sudých sloupců.

8.2. Vývojové diagramy algoritmů

Při popisu algoritmů se již dlouho úspěšně používají vývojové diagramy (Basic Flowchart). Konstrukce vývojových diagramů algoritmů se řídí GOST 19.701-90 (ISO 5807-85) "Jednotný systém programové dokumentace. Algoritmové diagramy programů, dat a systémů. Konvence a pravidla provádění." Tato státní norma vychází z mezinárodní normy "ISO 5807-85. Zpracování informací – Dokumentační symboly a konvence pro data, programové a systémové vývojové diagramy, programové síťové diagramy a diagramy systémových prostředků".

Podle GOST 19.701-90 pod systém odkazuje na grafické znázornění definice, analýzy nebo metody řešení problému. Diagramy lze použít k zobrazení statických i dynamických aspektů systému. V následujícím lze použít symboly uvedené ve státní normě typy obvodů :

Datová schémata – určují posloupnost zpracování dat a jejich média;

Programové diagramy - zobrazují posloupnost operací v programu (ve skutečnosti se jedná o vývojové diagramy algoritmů v tradičním slova smyslu);

Schémata provozu systému – zobrazují řízení provozu a datových toků v systému;

Diagramy interakce programů – zobrazují cestu aktivace programů (modulů) a jejich interakci s odpovídajícími daty;

Schémata systémových prostředků – zobrazuje konfiguraci datových bloků a bloků zpracování.

Jak je patrné z výše uvedených typů diagramů, lze je použít nejen pro modelování behaviorálního aspektu, ale také pro funkční, informační a konstrukční problémy.

Při konstrukci behaviorálního modelu systému jsou využívány základní principy strukturního přístupu - principy dekompozice a hierarchického uspořádání. Behaviorální model je soubor vzájemně propojených diagramů (diagramů) s různou úrovní podrobnosti a s každou novou úrovní detailu systém získává stále úplnější obrysy.

Diagramy mohou obsahovat následující: prvky grafického zápisu :

Datové symboly - označují přítomnost dat, typ média nebo způsob vstupu/výstupu dat;

Procesní symboly - označují operace, které by měly být s daty provedeny;

Symboly čar – označují datové toky mezi procesy a/nebo paměťovými médii, stejně jako řídicí toky mezi procesy;

Speciální znaky – slouží ke snadnějšímu psaní a čtení diagramů.

Kromě dělení podle sémantického obsahu se každá kategorie symbolů (kromě speciálních) dělí na základní a specifické symboly. Základní symbol používá se, když přesný typ procesu nebo paměťového média není znám nebo není potřeba popisovat skutečné paměťové médium (proces). Specifický symbol používá se, když je znám přesný typ procesu nebo paměťového média a je třeba to znázornit na diagramu. Následující tabulka ukazuje prvky zápisu grafického vývojového diagramu.

Tabulka 8.1. Symboly na blokových diagramech

Žádný. Symbol Jméno Poznámky
1. DATOVÉ SYMBOLY
Základní
1.1 Data Data, jejichž nosič není definován
1.2 Úložné zařízení (paměť) Data uložená ve formě vhodné pro automatické zpracování, médium není definováno
Konkrétní
1.3 BERAN Data uložená v RAM (paměť s náhodným přístupem)
1.4 Sériová paměť Data uložená na magnetické pásce (magnetická páska, pásková kazeta)
1.5 Paměť s přímým přístupem Data uložená na pevných discích nebo disketách, CD, DVD, ZIP atd.
1.6 Dokument Data, která nejsou prezentována v počítačové podobě (na papíře, na filmech atd.)
1.7 Ruční zadání Data zadávaná ručně pomocí klávesnice, myši, pera atd.
1.8 Mapa Údaje na děrných štítcích, magnetických kartách, kartách s čitelnými štítky atd.
1.9 Papírová páska Údaje na papírové pásce
1.10 Zobrazit Údaje zobrazené na displeji, indikátory signálu atd.
2. SYMBOLY ZPRACOVÁNÍ
Základní
2.1 Proces Operace zpracování elementárních (atomových) dat (například n:=n+1)
Konkrétní
2.2 Předdefinovaný proces (procedura) Proces sestávající z operací popsaných jinde (na jiném diagramu)
2.3 Ruční provoz Ruční provoz
2.4 Příprava Přípravné operace provedené pro úpravu následných operací (smyčka s parametrem)
2.5 Řešení Operace s jedním vstupem a několika alternativními výstupy, z nichž jeden se aktivuje po testování podmínky zapsané uvnitř symbolu (příkazy If-Then-Else nebo Case)
2.6 Paralelní aktivity Paralelní provádění dvou nebo více operací
2.7 Hranice cyklu Začátek a konec cyklu. Vlastnosti smyčky (inicializace, přírůstek, podmínka) jsou zaznamenány na začátku nebo na konci, v závislosti na tom, kde se kontroluje (cykly s před nebo po podmínce)
3. SYMBOLY ČÁRKY
Základní
3.1 Čára Datový nebo kontrolní tok
Konkrétní
3.2 Komunikační kanál Přenos dat komunikačním kanálem
3.3 Tečkovaná čára Alternativní spojení mezi dvěma nebo více symboly nebo pro nastínění komentované části diagramu
4. ZVLÁŠTNÍ POSTAVY
4.1 GOST Konektor Používá se k přerušení čar a jejich pokračování jinde.
Obvykle se používá k označení vzájemně propojených částí diagramu na různých listech. Číslo připojení je napsáno uvnitř konektoru
ISO
4.2 Terminátor Výstup do vnějšího prostředí nebo vstup z vnějšího prostředí (začátek a konec procesu zpracování dat [v tomto případě je uvnitř zapsáno „začátek“ nebo „konec“), zdroj nebo cíl dat, začátek a konec předem definovaný proces)
4.3 Příjemce – odesílatel Funkčně podobný symbolu "Terminátor".
4.4

STÁTNÍ STANDARD Svazu SSSR

JEDNOTNÝ SYSTÉM SOFTWAROVÉ DOKUMENTACE

DIAGRAMY ALGORITMŮ, PROGRAMŮ, DAT A SYSTÉMŮ

KONVENCE A PROVÁDĚCÍ PRAVIDLA

GOST 19.701-90
(ISO 5807-85)

STÁTNÍ VÝBOR SSSR PRO ŘÍZENÍ KVALITY VÝROBKŮ A STANDARDY

STÁTNÍ STANDARD Svazu SSSR

Datum zavedení 01.01.92

Tato norma se vztahuje na konvence (symboly) v diagramech algoritmů, programů, dat a systémů a stanoví pravidla pro provádění diagramů používaných k zobrazení různých typů problémů zpracování dat a prostředků pro jejich řešení.

Norma se nevztahuje na formu záznamů a symbolů umístěných uvnitř symbolů nebo vedle nich, které slouží k objasnění funkcí, které vykonávají.

Požadavky normy jsou závazné.

1. OBECNÁ USTANOVENÍ

1.1. Schémata algoritmů, programů, dat a systémů (dále jen schémata) se skládají ze symbolů s daným významem, krátkého vysvětlujícího textu a spojovacích čar.

1.2. Schémata lze použít na různých úrovních podrobnosti, přičemž počet úrovní závisí na velikosti a složitosti problému zpracování dat. Úroveň detailů by měla být taková, aby byly různé části a vztahy mezi nimi chápány jako celek.

1.3. Tato norma definuje symboly pro použití v dokumentaci zpracování dat a poskytuje návod na konvence pro použití v:

1) datová schémata;

2) schémata programů;

3) schémata fungování systému;

4) schémata interakce programu;

5) schémata systémových prostředků.

1.4. Norma používá následující pojmy:

1) základní symbol - symbol používaný v případech, kdy není znám přesný typ (typ) procesního nebo paměťového média nebo není potřeba popisovat skutečné paměťové médium;

2) specifický symbol - symbol používaný v případech, kdy je znám přesný typ (typ) procesu nebo paměťového média nebo kdy je nutné popsat skutečné paměťové médium;

3) diagram - grafické znázornění definice, analýzy nebo způsobu řešení problému, ve kterém se symboly používají k zobrazení operací, dat, toku, vybavení atd.

2. POPIS OBVODU

2.1. Datové schéma

2.1.1. Datová schémata představují cestu dat při řešení problémů a definují kroky zpracování i různá použitá paměťová média.

2.1.2. Datové schéma se skládá z:

1) datové symboly (datové symboly mohou také označovat typ paměťového média);

2) symboly procesu, který by měl být proveden na datech (symboly procesu mohou také označovat funkce prováděné počítačem);

3) řádkové symboly indikující datové toky mezi procesy a (nebo) paměťovými médii;

2.1.3. Datové symboly předcházejí a následují symboly procesu. Datové schéma začíná a končí datovými znaky (kromě speciálních znaků, ).

2.2. Přehled programu

2.2.1. Programová schémata zobrazují posloupnost operací v programu.

2.2.2. Programové schéma se skládá z:

1) procesní symboly označující skutečné operace zpracování dat (včetně symbolů definujících cestu, která by měla být následována, s přihlédnutím k logickým podmínkám);

2) lineární symboly indikující řídicí tok;

3) speciální symboly používané k usnadnění psaní a čtení diagramu.

2.3. Schéma provozu systému

2.3.1. Provozní diagramy systému zobrazují řízení operací a tok dat v systému.

2.3.2. Operační schéma systému se skládá z:

1) datové symboly indikující přítomnost dat (datové symboly mohou také označovat typ datového nosiče);

2) procesní symboly označující operace, které by měly být provedeny s daty, a také definující logickou cestu, která by měla být následována;

3) lineární symboly indikující datové toky mezi procesy a (nebo) paměťovými médii, stejně jako řídicí tok mezi procesy;

4) speciální symboly používané k usnadnění zápisu a čtení vývojového diagramu.

2.4. Schéma interakce programu

2.4.1. Diagramy interakce programu zobrazují cestu aktivace programu a interakce s odpovídajícími daty. Každý program v diagramu interakce programu je zobrazen pouze jednou (v diagramu provozu systému může být program zobrazen ve více než jednom řídicím toku).

2.4.2. Schéma interakce programu se skládá z:

1) datové symboly indikující přítomnost dat;

2) procesní symboly označující operace, které by měly být s daty provedeny;

3) lineární symboly zobrazující tok mezi procesy a daty, stejně jako zahájení procesů;

4) speciální symboly používané k usnadnění psaní a čtení diagramu.

2.5. Schéma systémových prostředků

2.5.1. Diagramy systémových prostředků zobrazují konfiguraci dat a procesních jednotek, která je nutná k vyřešení úlohy nebo sady úloh.

2.5.2. Schéma systémových prostředků se skládá z:

1) datové symboly zobrazující vstupní, výstupní a paměťová zařízení počítače;

2) procesní symboly představující procesory (centrální procesorové jednotky, kanály atd.);

3) lineární symboly zobrazující přenos dat mezi I/O zařízeními a procesory, stejně jako přenos řízení mezi procesory;

4) speciální symboly používané k usnadnění psaní a čtení diagramu.

Příklady implementace obvodu jsou uvedeny v.

3. POPIS SYMBOLŮ

3.1. Datové symboly

3.1.1. Základní datové symboly

3.1.1.1. Data

Symbol zobrazuje data, paměťové médium není definováno.

3.1.1.2. Zapamatovaná data

Symbol zobrazuje uložená data ve formě vhodné pro zpracování, paměťové médium není definováno.

3.1.2. Specifické datové znaky

3.1.2.1. Paměť s náhodným přístupem

Symbol zobrazuje data uložená v paměti s náhodným přístupem.

3.1.2.2. Paměť se sériovým přístupem

Symbol představuje data uložená v paměťovém zařízení se sériovým přístupem (magnetická páska, kazeta s magnetickou páskou, kazeta s páskou).

3.1.2.3. Úložné zařízení s přímým přístupem

Symbol představuje data uložená v paměťovém zařízení s přímým přístupem (magnetický disk, magnetický buben, disketa).

3.1.2.4. Dokument

Symbol zobrazuje data prezentovaná na médiu v čitelné podobě (schéma stroje, dokument pro optické nebo magnetické čtení, mikrofilm, role pásky se souhrnnými daty, formuláře pro zadávání dat).

3.1.2.5. Ruční zadání

Symbol zobrazuje data zadaná ručně při zpracování z libovolného typu zařízení (klávesnice, spínače, tlačítka, světelné pero, proužky čárového kódu).

3.1.2.6. Mapa

Symbol zobrazuje data prezentovaná na kartovém médiu (děrné štítky, magnetické karty, karty s čitelnými štítky, karty s odtrhávacím štítkem, karty se snímatelnými štítky).

3.1.2.7. Papírová páska

Symbol zobrazuje data prezentovaná na médiu ve formě papírové pásky.

3.1.2.8. Zobrazit

Symbol zobrazuje data prezentovaná v lidsky čitelné podobě na médiu ve formě zobrazovacího zařízení (obrazovka vizuálního pozorování, indikátory vstupu informací).

3.2. Procesní symboly

3.2.1.Základní procesní symboly

3.2.1.1. Proces

Symbol představuje funkci zpracování dat jakéhokoli druhu (provádění specifické operace nebo skupiny operací, které mají za následek změnu hodnoty, formy nebo uspořádání informací nebo určení, který z několika směrů toku by měl být sledován).

3.2.2. Zpracujte specifické symboly

3.2.2.1. Předdefinovaný proces

Symbol zobrazuje předdefinovaný proces sestávající z jedné nebo více operací nebo kroků programu, které jsou definovány jinde (v podprogramu, modulu).

3.2.2.2. Ruční provoz

Symbol představuje jakýkoli proces prováděný osobou.

3.2.2.3. Příprava

Symbol představuje úpravu instrukce nebo skupiny instrukcí za účelem ovlivnění některé následné funkce (nastavení přepínače, úprava indexového registru nebo inicializace programu).

3.2.2.4. Řešení

Symbol představuje rozhodnutí nebo funkci typu spínače, která má jeden vstup a několik alternativních výstupů, z nichž jeden a pouze jeden lze aktivovat po vyhodnocení podmínek definovaných v symbolu. Odpovídající výsledky výpočtu lze zapsat vedle čar představujících tyto cesty.

3.2.2.5. Paralelní aktivity

Symbol představuje synchronizaci dvou nebo více paralelních operací.

Příklad.

Poznámka. Procesy C, D a E nelze spustit, dokud proces A není dokončen; podobně proces F musí čekat na dokončení procesů B, C a D, ale proces C může začít a/nebo dokončit před zahájením a/nebo dokončením procesu D.

3.2.2.6. Hranice smyčky

Dvoudílný symbol představuje začátek a konec cyklu. Obě části symbolu mají stejný identifikátor. Podmínky pro inicializaci, inkrementaci, ukončení atd. jsou umístěny uvnitř symbolu na začátku nebo na konci, v závislosti na umístění operace, která testuje stav.

Příklad.

3.3. Symboly čar

3.3.1.Základní symbol čáry

3.3.1.1. Čára

Symbol představuje tok dat nebo řízení.

Podle potřeby nebo pro zlepšení čitelnosti lze přidat směrové šipky.

3.3.2.Specifické symboly linek

3.3.2.1. Předání kontroly

Symbol představuje přímý přenos řízení z jednoho procesu na druhý, někdy s možností přímého návratu do iniciačního procesu poté, co iniciovaný proces dokončí své funkce. Typ řídicího přenosu musí být pojmenován v rámci symbolu (např. požadavek, hovor, událost).

3.3.2.2. Komunikační kanál

Symbol zobrazuje přenos dat komunikačním kanálem.

3.3.2.3. Tečkovaná čára

Symbol představuje alternativní vztah mezi dvěma nebo více symboly. Kromě toho se symbol používá k ohraničení anotované oblasti.

Příklad 1.

Když je jeden z mnoha alternativních výstupů použit jako vstup do procesu nebo když je výstup použit jako vstup pro alternativní procesy, jsou tyto symboly spojeny tečkovanými čarami.

Příklad 2

Výstup použitý jako vstup pro další proces může být připojen k tomuto vstupu pomocí tečkované čáry.

3.4. Speciální znaky

3.4.1. Konektor

Symbol představuje výjezd do části okruhu a vjezd z jiné části tohoto okruhu a slouží k přerušení čáry a pokračování v ní na jiném místě. Odpovídající symboly konektorů musí obsahovat stejné jedinečné označení.

3.4.2. Terminátor

Symbol představuje výstup do vnějšího prostředí a vstup z vnějšího prostředí (začátek nebo konec programového diagramu, externí použití a zdroj nebo cíl dat).

3.4.3.Komentář

Symbol se používá k přidání popisných poznámek nebo vysvětlujících poznámek za účelem vysvětlení nebo poznámek. Tečkované čáry v symbolu komentáře jsou spojeny s odpovídajícím symbolem nebo mohou ohraničovat skupinu symbolů. Text komentářů nebo poznámek by měl být umístěn poblíž ohraničujícího tvaru.

Příklad.

3.4.4. Přihrávka

Symbol (tři tečky) se v diagramech používá k označení vynechání symbolu nebo skupiny symbolů, ve kterých není uveden typ ani počet symbolů. Symbol se používá pouze v rámci řádkových symbolů nebo mezi nimi. Používá se především ve schématech znázorňujících obecná řešení s neznámým počtem opakování.

Příklad.

4 PRAVIDLA APLIKACE SYMBOLŮ A PROVÁDĚNÍ DIAGRAMŮ

4.1. Pravidla pro používání symbolů

4.1.1. Symbol je určen ke grafické identifikaci funkce, kterou představuje, bez ohledu na text v tomto symbolu.

4.1.2. Symboly v diagramu by měly být rozmístěny rovnoměrně. Udržujte připojení na přiměřenou délku a omezte počet dlouhých linek na minimum.

4.1.3. Většina symbolů je navržena tak, aby umožňovala vložení textu do symbolu. Tvary symbolů specifikované v této normě mají sloužit jako vodítko pro skutečně používané symboly. Úhly a další parametry, které ovlivňují vhodný tvar symbolů, by se neměly měnit. Symboly by měly mít pokud možno stejnou velikost.

Znaky lze kreslit v libovolné orientaci, ale pokud je to možné, upřednostňuje se horizontální orientace. Zrcadlení tvaru znaku označuje stejnou funkci, ale není preferováno.

4.1.4. V rámci daného symbolu by mělo být umístěno minimální množství textu potřebné k pochopení funkce daného symbolu. Čtený text by měl být psán zleva doprava a shora dolů, bez ohledu na směr toku.

Příklad.

Pokud množství textu umístěného uvnitř symbolu přesahuje jeho rozměry, měl by být použit symbol komentáře.

Pokud by použití symbolů komentářů mohlo zmást nebo narušit tok diagramu, měl by být text umístěn na samostatném listu a měl by být uveden křížový odkaz na symbol.

4.1.5. Schémata mohou používat identifikátor symbolu. Toto je identifikátor spojený s daným symbolem, který identifikuje symbol pro referenční použití v jiných prvcích dokumentace (například výpis programu). ID symbolu by mělo být umístěno vlevo nad symbolem.

Příklad.

4.1.6. Diagramy mohou používat popisy symbolů – jakékoli další informace, například pro znázornění speciálního použití symbolu s křížovým odkazem nebo pro lepší pochopení funkce jako součásti diagramu. Popis symbolu by měl být umístěn vpravo nad symbolem.

Příklad.

4.1.7. V systémových diagramech symboly představující paměťová média často představují vstupní/výstupní metody. Aby bylo možné použít jako odkaz na dokumentaci, text na diagramu pro symboly reprezentující výstupní metody by měl být umístěn vpravo nad symbolem a text pro symboly reprezentující vstupní metody by měl být umístěn vpravo pod symbolem.

Příklad.

4.1.8. Diagramy mohou používat podrobné znázornění, které je označeno pruhovým symbolem pro proces nebo data. Symbol pruhu označuje, že podrobnější informace jsou k dispozici jinde ve stejné sadě dokumentace.

Symbol pruhu je jakýkoli symbol, který má v horní části nakreslenou vodorovnou čáru. Mezi tímto řádkem a horním řádkem symbolu je identifikátor označující podrobnou reprezentaci tohoto symbolu.

Znak zakončení musí být použit jako první a poslední znak verbální reprezentace. První znak zakončení musí obsahovat odkaz, který je také přítomen ve znaku pruhu.

Symbol s pruhem Detailní pohled

4.2. Pravidla pro vytváření spojení

4.2.1. Datové toky nebo řídicí toky v diagramech jsou zobrazeny jako čáry. Směr proudění zleva doprava a shora dolů je považován za standardní.

V případech, kdy je potřeba větší přehlednost ve schématu (například při vytváření spojů), jsou na čarách použity šipky. Pokud je tok v jiném než standardním směru, měly by šipky označovat tento směr.

4.2.2. V diagramech je třeba se vyvarovat protínajících se čar. Křižující se čáry nemají mezi sebou žádnou logickou souvislost, proto nejsou povoleny změny směru v křižovatkách.

Příklad.

4.2.3. Dvě nebo více příchozích linek lze spojit do jedné odchozí linky. Pokud se dva nebo více řádků spojí do jednoho řádku, musí se umístění sloučení posunout.

Příklad.

4.2.4.Čáry v diagramech by se měly přibližovat k symbolu buď zleva nebo shora a vycházet zprava nebo zespodu. Čáry by měly směřovat ke středu symbolu.

4.2.5. V případě potřeby by měly být čáry v diagramech přerušeny, aby se předešlo zbytečným průsečíkům nebo příliš dlouhým čarám, a také pokud se diagram skládá z několika stránek. Konektor na začátku přerušení se nazývá vnější konektor a konektor na konci přerušení se nazývá vnitřní konektor.

Příklad.

Externí konektor Vnitřní konektor

4.3. Zvláštní konvence

4.3.1. Několik východů

4.3.1.1. Mělo by být zobrazeno několik východů ze symbolu:

1) několik řádků od tohoto symbolu k jiným symbolům;

2) jeden řádek z daného symbolu, který se pak větví na odpovídající počet řádků.

Příklady.

4.3.1.2. Každý výstup symbolu musí být doprovázen odpovídajícími hodnotami podmínek, aby se zobrazila logická cesta, kterou představuje, aby byly tyto podmínky a odpovídající odkazy identifikovány.

Příklady.

4.3.2. Opakující se pohled

4.3.2.1. Namísto jediného symbolu s přidruženým textem lze použít více překrývajících se symbolů, z nichž každý obsahuje popisný text (pomocí nebo generováním více paměťových médií nebo souborů, vytvářením více kopií tištěných zpráv nebo formátů děrných štítků).

4.3.2.2. Pokud více znaků představuje uspořádanou sadu, řazení musí být zepředu (první) dozadu (poslední).

4.3.2.3. Čáry mohou vstupovat nebo vycházet z jakéhokoli bodu na překrývajících se symbolech, ale musí být splněny požadavky. Priorita nebo sekvenční pořadí více symbolů se nemění podle bodu, ve kterém řádek vstupuje nebo odchází.

Příklad.

5. POUŽITÍ SYMBOLŮ

Název symbolu

Datové schéma

Přehled programu

Schéma provozu systému

Diagram interakce programu

Schéma systémových prostředků

Datové symboly

Základní

Zapamatovaná data

Konkrétní

Paměť s náhodným přístupem

Sekvenční přístupová paměť

Úložné zařízení s přímým přístupem

Dokument

Ruční zadání

Papírová páska

budete potřebovat

  • - šablona pro kreslení blokových schémat;
  • - mechanická tužka;
  • - guma;
  • - papír;
  • - počítač s přístupem na internet.

Instrukce

Začátek a konec algoritmu jsou označeny ovály. Uvnitř jsou umístěna slova „Začátek“ a „Konec“. Jedna šipka dolů pochází z oválu, symbolizující začátek algoritmu, a šipka shora přichází k oválu, symbolizující konec algoritmu.

Kroky odpovídající jiným než I/O činnostem jsou označeny pomocí obdélníků. Příkladem takové akce je výpočet a přiřazení výsledku konkrétní proměnné. Šipka z předchozího kroku přichází k obdélníku shora a šipka k dalšímu kroku přichází zespodu.

Paralelogramy se používají k reprezentaci kroků odpovídajících I/O operacím. Existují dva typy takových operací: přiřazení dat přijatých odněkud do proměnné a výstup dat z proměnné do souboru, portu, tiskárny atd.

Větve jsou označeny kosočtverci. Šipka z předchozího kroku směřuje do horního rohu diamantu a šipky jako „Ne“ a „Ano“ vycházejí z jeho bočních rohů. Přicházejí ke krokům prováděným při nesplnění podmínky a při splnění podmínky. Spodní roh diamantu je ponechán volný. Sama o sobě (například rovnost, přísná nebo nepřísná) uvnitř diamantu.

Obdélník s dvojitými bočními stěnami představuje přechod do podprogramu. Poté, co je v podprogramu nalezen příkaz return, vykonávání hlavního programu pokračuje. Název podprogramu je uveden uvnitř. Bloková schémata všech podprogramů jsou umístěna pod blokovým schématem hlavního programu nebo na samostatných stránkách.

Pokud byste chtěli vytvářet vývojové diagramy elektronicky, použijte aplikaci s názvem Flowchart. Pokud si přejete, můžete také ovládat speciální programovací jazyky, ve kterých samotný proces programování spočívá v sestavení vývojového diagramu. Existují dva takové jazyky: Dragon a HiAsm.

Zdroje:

  • jak nakreslit blokové schéma

Vývojový diagram je forma formalizovaného záznamu algoritmu nebo procesu. Každý krok algoritmu v této reprezentaci je znázorněn ve formě bloků různých tvarů, které jsou spojeny čarami. Ve vývojovém diagramu můžete zobrazit všechny fáze řešení libovolného problému, počínaje zadáním počátečních dat, zpracováním operátory, prováděním cyklických a podmíněných funkcí a konče operacemi pro výstup výsledných hodnot.

Instrukce

Zpravidla se na začátku algoritmu zadávají počáteční data pro vyřešení problému. Nakreslete pod čáru rovnoběžník tak, aby byl souvislým prodloužením diagramu. Do paralelogramu zapište právě prováděnou akci, obvykle se jedná o datové operace z obrazovky (Read nInp) nebo jiných zařízení. Je důležité, aby proměnné, které jste zadali v tomto kroku, byly později použity v celém těle vývojového diagramu.

Provedení jedné nebo skupiny operací, jakékoli zpracování dat (změna hodnoty nebo formy prezentace) je označeno obdélníkem. Nakreslete tento obrázek na správné místo v algoritmu při sestavování vývojového diagramu. Uvnitř obdélníku zapište provedené akce, například operace přiřazení je zapsána takto: mOut = 10*nInp b + 5. Dále také pro pokračování ve vývojovém diagramu nakreslete čáru dolů.

Důležitou součástí každého algoritmu a tedy i vývojového diagramu jsou podmíněné a cyklické operátory. Tyto operátory mají jeden vstup a dva nebo více alternativních výstupů. Po výpočtu podmínky zadané operátorem se další přechod provádí pouze po jedné dráze. Nakreslete vstup do prvku jako čáru vstupující do horního vrcholu prvku.

Chcete-li zadat operátor podmínky, nakreslete z této čáry kosočtverec. Uvnitř obrázku označte samotnou podmínku a nakreslete čáry označující další přechod v závislosti na jejím splnění. Podmínka se v obecném případě nastavuje operacemi porovnání (>,<, =). Переход по линии вниз осуществляется при истинном условии, назад – при ложном. Укажите около выходных линий фигуры результаты условия (true, false). Невыполнение условия (false) возвращает к определенному шагу выше по телу алгоритма. Проведите линии под прямым углом от выхода с условия и до нужного оператора.

Cyklický operátor je označen obdélníky se zkosenými rohy. Kromě toho se pro kreslení tohoto operátoru používají dva hraniční obrazce. Začátek cyklu je specifikován obrazcem se zkosenými horními rohy, konec cyklu - obrazcem se zkosenými dolními rohy. Ve tvaru začátku smyčky označte stav smyčky a mezi hraničními tvary nakreslete operátory smyčky.

Na konci vývojového diagramu by měl být uveden výstup výsledných dat na médium nebo na obrazovku. Výstupní příkaz se kreslí podobně jako vstupní příkaz. Nakreslete rovnoběžník a inferenční operace v něm pomocí výstupních proměnných.

Vývojový diagram je univerzální forma vyjádření algoritmu, který lze následně přeložit do libovolného programovacího jazyka. Je vytvořena formou vhodnou pro lidské čtení. To vám umožní ručně zkontrolovat správnost algoritmu.

Instrukce

Na konci každého z řádků spojujících prvky blokového diagramu k sobě použijte. To vám umožní přesněji určit pořadí akcí, zejména pokud je algoritmus rozvětvený.




Nahoru