Blokk diagramm

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. október 1-jén felülvizsgált verziótól ; az ellenőrzések 4 szerkesztést igényelnek .

A folyamatábra a diagramok (grafikus modellek )  elterjedt típusa, amely olyan algoritmusokat vagy folyamatokat ír le, amelyekben az egyes lépéseket különböző formájú blokkokként ábrázolják, amelyeket a sorozat irányát jelző vonalak kötnek össze.

Algoritmussémák alapelemei

Az elemek rajzolásakor ajánlatos betartani a szigorú méreteket, amelyeket két a és b érték határoz meg . Az a értéket a 15, 20, 25.. mm tartományból választjuk ki, a b értéket a 2⋅ a = 3⋅ b arányból számítjuk ki . A méretezés tanácsos, azonban a méretek betartása esetén a blokkdiagramok pontosabb megjelenésűek.

Akció

A szimbólum bármilyen típusú adatfeldolgozási funkciót jelez (egy bizonyos művelet vagy műveletcsoport végrehajtása, amely az információ jelentésének, formájának vagy elhelyezésének megváltozásához vezet, vagy annak meghatározásához, hogy a több áramlási irány közül melyiket kell mozgatni).

Adatok (I/O)

A szimbólum adatokat jelöl, az adathordozó nincs meghatározva.

Adatok feldolgozásra (bevitelre) vagy a feldolgozás eredményének megjelenítésére (output) alkalmas formába konvertálása. Ez a szimbólum nem határozza meg az adathordozót (speciális szimbólumok az adathordozó típusának jelzésére szolgálnak).

Előre meghatározott folyamat (függvény)

A szimbólum egy előre definiált folyamatot jelenít meg, amely egy vagy több műveletből vagy programlépésből áll, amelyek máshol (szubrutinban, modulban) vannak definiálva. Például a programozásban egy eljárás vagy függvény hívása.

Kérdés (feltétel vagy megoldás)

A szimbólum egy döntési vagy kapcsoló típusú funkciót jelöl, amelynek egy bemenete és számos alternatív kimenete van, amelyek közül csak egy aktiválható a szimbólumon belül meghatározott feltételek kiértékelése után. A megfelelő számítási eredményeket az ezeket az útvonalakat reprezentáló vonalak szomszédságába írhatjuk.

Egy kapcsoló típusú döntést vagy funkciót jelenít meg egy bemenettel és két vagy több alternatív kimenettel, amelyek közül csak egy választható ki az ezen az elemen belül meghatározott feltételek kiértékelése után. Az elem bejáratát egy vonal jelzi, amely általában az elem felső csúcsába lép be. Ha két vagy három kijárat van, akkor általában minden kijáratot a fennmaradó csúcsokból (oldalsó és alul) kilépő vonal jelzi. Ha háromnál több kimenet van, akkor azokat egyetlen vonalként kell megjeleníteni, amely az elem tetejéről (gyakran alulról) jön ki, amely aztán elágazik. A megfelelő számítási eredményeket az ezen útvonalakat jelző sorok mellé írhatjuk. Megoldási példák: általános esetben - összehasonlítás (három kimenet: >, <, =); programozásban feltételes operátorok if(két kimenet: true, ) falseés case(több kimenet).

Limiter

A szimbólum a külső környezetből érkező bemenetet és a külső környezetbe történő kimenetet jelöli (a programséma kezdete vagy vége, külső felhasználás, valamint az adatok forrása vagy rendeltetése).

A gyakorlatban a limiterek alábbi leírásának van értelme: start/end, start/stop, restart (az adott folyamatábra újraindítását jelenti), hiba (az algoritmus hibával történő leállását jelenti), kivétel (az algoritmus végrehajtását jelenti). szoftveres kivétel)

Ciklus

A két részből álló szimbólum a ciklus kezdetét és végét jelenti. A szimbólum mindkét részének ugyanaz az azonosítója. Az inicializálás, növelés, befejezés stb. feltételei a feltételt tesztelő művelet helyétől függően egy szimbólumon belül helyezkednek el az elején vagy a végén.

Példa egy folyamatábrára a faktoriális kiszámításához hurok használatával Példa beágyazott hurokra

Csatlakozó

A szimbólum az áramkör egy részéhez vezető kijáratot és az áramkör másik részéből való bejáratot jelöli, és egy vonal megszakítására és máshol történő folytatására szolgál. A megfelelő csatlakozási karaktereknek ugyanazt az egyedi jelölést kell tartalmazniuk.

Az algoritmus két részre osztása csatlakozókkal

Kommentár

A szimbólumot leíró megjegyzések vagy magyarázó megjegyzések hozzáadására használják magyarázat vagy megjegyzés céljából. A megjegyzésszimbólumban lévő szaggatott vonalak a megfelelő szimbólumhoz kapcsolódnak, vagy szimbólumok csoportját is körülvehetik. A megjegyzések vagy megjegyzések szövegét a határoló alakzat közelében kell elhelyezni.

Megjegyzés szimbólumot kell használni olyan esetekben is, amikor egy bizonyos szimbólumon belüli szöveg mennyisége (például folyamatszimbólum, adatszimbólum stb.) meghaladja magának a szimbólumnak a méretét. A megjegyzéseket a terminátorokkal együtt használjuk az algoritmus bemeneti argumentumainak leírására a függvények leírásakor.

Párhuzamos műveletek

A szimbólumot két párhuzamos vonal jelöli, amelyek két vagy több párhuzamos művelet időzítését jelzik. Ha több művelet párhuzamos sorba lép, az algoritmus végrehajtása csak akkor folytatódik, ha minden bejövő folyamat véget ér.

A párhuzamos műveletek használhatók aszinkron folyamatokhoz vagy olyan folyamatokhoz, amelyek sorrendje nem fontos. A bemutatott példában érdemes megjegyezni, hogy az azonos párhuzamos vonalakban létrehozott folyamatoknak nem kell párhuzamosan végződniük.

Az egyéb áramköri elemek leírása a vonatkozó GOST-ban [1] található . Az elemek a következők:

  • Tárolt adatok
  • Dokumentum
  • Kézi bevitel
  • Térkép
  • Kijelző
  • Irányítás átadása
  • Alternatív kapcsolat két vagy több karakter között
  • satöbbi.

Algoritmusok ábrázolása gráfként

A műveletek sorrendjét a csúcsok ívekkel való összekapcsolásával állítjuk be, ami lehetővé teszi, hogy a folyamatábrákat ne csak az algoritmus vizuális értelmezéseként tekintsük, amely kényelmes az emberi észlelés számára, hanem irányított gráfnak is (az algoritmus ún. gráfdiagramja). , GSA). Az algoritmusok hasonló reprezentációját alkalmazzák adott vezérlőalgoritmusokat megvalósító logikai vezérlőrendszerek felépítésében, a számítások párhuzamosítási feladataiban stb.

Kritika

Elterjedt és hibás gyakorlat, hogy folyamatábrákkal próbálunk alacsony szinten (kódszinten) illusztrálni egy algoritmust – vagyis kísérletet teszünk arra, hogy valamilyen mesterséges nyelven kódrészleteket egy diagram blokkjaiba illesszünk. Ez a megközelítés csak a strukturális megközelítés szerint szervezett programokra alkalmazható, és nem tükrözhet például olyan algoritmust, amely objektum-orientált megközelítésben absztrakciók interakciójában valósul meg. Az algoritmusok leírására, a rendszerrészek kölcsönhatására és sok más kapcsolódó dolog bemutatására létezik UML jelölés. .

Jegyzetek

  1. GOST 19.701-90. Algoritmusok, programok, adatok és rendszerek sémái. Konvenciók és végrehajtási szabályok . Letöltve: 2007. május 23. Az eredetiből archiválva : 2007. június 1..