Algoritmusok szerkezete
Az algoritmussal szemben támasztott követelmények Teljesség: minden információt tartalmaznia kell, ami a feladat megoldásához szükséges. Egyértelműség: az algoritmus leírása legyen egyértelmű, minden lépés csak egyféleképpen legyen értelmezhető. Befejeződés: az algoritmusnak véges számú lépésben be kell fejeződni.
Szekvencia A probléma megoldása a részfeladatok egymás utáni megoldása. A probléma megoldásának hierarchikus ábrája: p P1 P2 P3 P4
Iteráció (ciklus) Gyakran előfordul, hogy bizonyos cselekménysorozatot többször kell végrehajtanunk. Ezt a végrehajtási módot iterációnak nevezzük. Az iteráció magját az ismétlődő műveletek adják. p Mag *
Szelekció (feltétel) A mindennapi életben a döntés az egyik legfontosabb tevékenység. A döntés nem más mint a dolgok közötti választás. p Tevékenyéség 1 Tevékenység 2
A bemutatott ábrákat program-szerkezeti vagy hierarchia-ábráknak nevezzük, mivel a program hierarchikus szerkezetét tükrözi. Feladat: Készítsen hierarchia ábrát a következő tevékenységekhez: Gyalogos átkelése a kijelölt gyalogátkelőhelyen Gépjárművel gyalogátkelőhely megközelítése Gépjárművel közlekedési lámpán áthaladás Tészta főzése
Az algoritmus minden egyes lépése egy műveletet valósít meg Az algoritmus minden egyes lépése egy műveletet valósít meg. Az emberi olvasásra szánt algoritmusok tartalmazhatnak meglehetősen összetett lépéseket is (pl. telefonálok), de a számítógépes algoritmusnak mindenképpen rendkívül részletesnek kell lennie.
Folyamatábrák A hierarchia-ábra a probléma, illetve a megoldás szerkezetének ábrázolására alkalmas. Célszerű olyan ábrákat alkalmazni amely a folyamatot helyezi előtérbe és közérthető formájú, mégis féleérthetetlenül leírhatjuk vele az algoritmust. 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.
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 n betűvel jelölt élen kell továbbhaladni. A gyűjtőcsomóponton való áthaladás nem változtatja meg a program állapotát. 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.).
Strukturált programnak nevezzük azt a programot, amely csak a fenti három algoritmikus szerkezetet (szekvencia, elágazás, ciklus) tartalmazza.
További folyamatábra szimbólumok
Folyamatábra példa