Nassi-Schneiderman diagram

A Nassi- Shneiderman diagram a  Ben Schneiderman és Isaac Nassi amerikai végzős hallgatók által 1972 -ben kifejlesztett strukturált algoritmusok és programok grafikus ábrázolása .

Történelem

Mivel a strukturált programozás nem használ feltétel nélküli ugrásokat , Ben Schneiderman úgy döntött, hogy a folyamatábrákban használt nyilak nem szükségesek strukturált algoritmusok írásához. Miután a főbb irányítási struktúrák (szekvenciák, ágak és ciklusok ) különböző ábrázolási módokat talált ki, Isaac Nussey-vel együtt részletesen kidolgozta az ötletét. Együtt írták meg a "Flowchart Technique for Structured Programming" című cikket, amely a SIGPLAN Notices tudományos folyóiratban jelent meg 1973 augusztusában.

A Nassi-Schneiderman diagramok széles körben elterjedtek néhány országban, különösen Németországban , ahol a Német Szabványügyi Intézet hivatalos szabványt is kidolgozott számukra : DIN 66261.

A Nassi-Schneiderman diagramok számos előnnyel rendelkeznek a folyamatábrákhoz képest a strukturált algoritmusok és programok fejlesztésében:

A diagramok elemeinek szimbólumai

A Nassi-Schneiderman diagram minden eleme téglalap alakú, és csak belső tartalmukban különbözik egymástól.

Egyszerű művelet

A végrehajtandó műveletet (beleértve a nyelvi parancsot egy programban vagy egy részfeladatot egy algoritmusban) a Nassi-Schneiderman diagramok téglalapként ábrázolják, amelybe a művelet (parancs) jelölése vagy a részfeladat megfogalmazása van írva.

Példa egy részfeladat bejegyzésre:

Keresse meg a legkisebb elemet a tömbben

Példa egy végrehajtható parancs rögzítésére (a program Pascal nyelven írásakor ):

writeln('Szia világ!')

Sorozat

Egy szekvenciális végrehajtási struktúra írásakor az elemek egymás után függőlegesen rajzolódnak ki. Ebben az esetben a sorozat minden elemének azonos szélességűnek kell lennie - ennek köszönhetően a teljes sorozat téglalap alakú is. Például:

Nyissa meg a fájlt olvasásra
Olvassa el a fájl első sorát
Nyomtassa ki a kiolvasott értéket a képernyőre
fájl bezárása

Ugyanennek az algoritmusnak a felírása Nassi-Schneiderman diagram formájában a Pascal nyelv használatával :

reset(f)
readln(f, str)
writeln(str)
bezár (f)

Egyszerű elágazás

Egy egyszerű ág szerkezete egy vízszintes vonallal két részre osztott téglalapként látható. Felül az ág fejléce, alul pedig két elágazás található, amelyeket függőleges sáv választ el egymástól. A fejléc két vonalat rajzol a felső sarkoktól az ágakat elválasztó vonal elejéig. A felül kapott háromszögbe az elágazási feltételt írjuk, az ágak feletti két alsó háromszögbe pedig az ezeknek az ágaknak megfelelő feltételértékeket írjuk alá, például „igaz” és „hamis”, ill. "igen és nem".

Feleletválasztós

A feleletválasztós struktúra felépítése az egyszerű ág szerkezetéhez hasonlóan van ábrázolva, csak a főágat és a felette lévő háromszöget függőleges vonalak osztják sok részre. A kapcsoló kifejezés a felső háromszögbe, a megfelelő kapcsolóértékek az ágak fölé vannak írva.

Ismételje meg a következő előfeltétellel

Az elején feltétellel ismétlődő szerkezetet téglalapként rajzolunk meg, amelyen belül a jobb alsó részbe egy másik téglalapot rajzolunk. A belső téglalap fölé a ciklus címe, belül pedig a ciklus törzse van írva.

Példa egy ciklus írására előfeltétellel (ebben a példában a ciklus törzse két művelet sorozata):

Ismételje meg utófeltétellel

Az előfeltételes huroktól csak annyiban tér el, hogy a belső téglalap a külső jobb felső részébe van berajzolva, alá pedig a címet írjuk.

Példa ciklus írására utófeltétellel (ebben a példában a ciklus törzse két művelet sorozata):

Ismételje meg a számlálóval

A belső téglalap a jobb oldalon van megrajzolva, és nem érinti a külső téglalap tetejét és alját. A hurokfeltétel felül van írva.

Lásd még

Linkek

Szoftver