Folyamatábra

Az algoritmusleíró eszközök használatának célja a feladatok megoldásának leírása programozási nyelvtől független nyelven. A programozási nyelvek ugyanis szigorú szintaxisúak, a tervezés szempontjából lényegtelen sallangokat tartalmaznak. A programozási nyelven történő tervezés esetén nehézzé válhat a program átírása más nyelvre, más gépre.

folyamatábra az egyik legkorábban kialakult algoritmusleíró eszköz a programot gráfként írja le. A programgráf egy irányított gráf, amely csomópontokból és az azokat összekötő élekből áll, egyetlen induló és befejező éle van, az induló élből bármely csomópont elérhető, s bármely csomópontból el lehet jutni a befejező élre.

A folyamatábra alapesetben háromféle csomópontot tartalmaz.

A három alapvető folyamatábra-szimbólum képe: az utasítás csomópont, a döntéscsomópont és a gyűjtőcsomópont.

Az utasítás-csomóponton áthaladva végre kell hajtani a beleírt utasítást. A döntéscsomópontban levő feltétel igaz értéke esetén az i betűvel jelölt élen, hamis értéke esetén pedig az betűvel jelölt élen kell továbbhaladni. A gyűjtőcsomóponton való áthaladás nem változtatja meg a program állapotát.

program e háromfajta csomópontból felépített gráf, bemenő éle a „semmiből” jön, kimenő éle a „semmibe” megy. A szokásos algoritmikus struktúrák ezekből a közvetkezőképpen építhetők fel (csak a struktúrát jelöljük, a tartalmat nem).

Az ilyen algoritmusleíró eszköz jól használható az algoritmusok végrehajtásának követésére, hiszen a végrehajtás a programgráf csomópontjainak bejárása az élek mentén.

Előnye mellett azonban több nagyon hátrányos jellemzője van. Terjedelmes, szövegszerkesztővel nehezen készíthető, javítása rendkívül nehézkes. Nagy programok leírása könnyen áttekinthetetlen ábrákhoz vezethet (nem fér ki egy lapra, a gráf élei többszörösen keresztezik egymást stb.). Alapproblémája, hogy strukturális alapelemei nem azonosak a szokásos algoritmikus szerkezetekkel, sőt segítségükkel más struktúrák is létrehozhatók.

A három elemi strukturált program folyamatábra-szimbólumokkal: a szekvencia, az elágazás és a ciklus.

Definíció: Strukturált programnak nevezzük azt a programot, amely csak a fenti három algoritmikus szerkezetet (szekvencia, elágazás, ciklus) tartalmazza.

Vannak olyan programok, amelyek nemcsak ezeket az ún. strukturált alapszerkezeteket tartalmazzák, hanem másokat. E mások a következőfélék lehetnek:

Két legalapvetőbb nem strukturált alapszerkezet, amely elágazást tartalmaz.

Két legalapvetőbb nem strukturált alapszerkezet, amely ciklust tartalmaz.

Mind a négy nem strukturált alapszerkezetről látható, hogy bonyolultabbak a strukturált alapszerkezeteknél, alkalmazásuk nehezebb, bonyolultabb programot eredményez.

Szigorú szabályok önkéntes betartásával persze ezt az eszközt is lehet használni strukturált programok írására, de a sok más lehetőség túlságosan csábító lehet, s az ettől való eltérésért sokszor nagyon nagy árat kell fizetni.

E minimális csomópontkészletet a folyamatábráknál néhány újabb elemmel szokás bővíteni a leírást nem teszik lényegileg bővebbé, csupán kényelmességi, olvashatósági szempontok miatt definiálták ezeket. Közülük néhány, a korábban elkezdett betűjelölést folytatva az alábbi ábrán látható.

További folyamatábra-szimbólumok: start-, input/output-, ciklus- és stopcsomópont.

Start és Stop csomópont a programban egyetlen lehet, az eddigi „semmiből” jövő, illetve „semmibe” menő élhez helyezzük el őket. Az input-output csomópontba beolvasást, illetve kiírást tehetünk, jelölve, hogy éppen melyikről van is szó. A cikluscsomópontot számlálós ciklusoknál alkalmazzuk, a csomópontban szerepelnie kell a ciklusváltozónak, a ciklusváltozó kezdeti és végértékének.

Feladat: N tanuló év végi átlagának ismeretében adjuk meg a jeles átlagú tanulók számát! A megoldását láthatjuk a következő ábrán.

Egy példaprogram folyamatábrával, amely megszámolja, hogy hány jeles rendű tanuló van egy N létszámú osztályban.

MINDEN VÉLEMÉNY SZÁMÍT!

Email cím (nem tesszük közzé) A kötelezően kitöltendő mezőket * karakterrel jelöljük

A következő HTML tag-ek és tulajdonságok használata engedélyezett: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>