- Eredet
- jellemzők
- Strukturált programozási elmélet
- Vezérlő struktúrák
- Szekvencia vagy lineáris szerkezet
- Döntési struktúra vagy alternatívák
- Hurok vagy ismétlődő struktúra egy kezdeti kérdéssel
- A programozási nyelvtől független
- Strukturált programozási példák
- Sorrend
- Ismétlés
- Kiválasztás
- Strukturált programozás a Visual Basicben
- Sorrend
- Ismétlés
- Kiválasztás
- Előny
- Tiszta programok
- Könnyű megértés
- hátrányok
- Ugyanazt a kódot megismételjük
- Az adattípusok megváltoztatása nehézkes
- Alkalmazások
- Tárgy kezelése
- Irodalom
A strukturált programozás a szoftver tervezésében és felépítésében rejlik, a komplexitás jobb kezelése érdekében, figyelembe véve az emberi gondolkodás sajátosságait. Minden program algoritmuson alapul, és logikai sémával ábrázolható.
A számítógépes programok fokozódó összetettségéből adódott. Új programozási sémává vált, amely új technikákat teremtett annak érdekében, hogy a hosszabb ideig biztonságosan működő programokat lehessen készíteni.

Döntési struktúra és sorrendszer felépítése a strukturált programozás során. Forrás: I.hidekazu CC BY-SA (httpscreativecommons.orglicensesby-sa4.0)
A számítógépes adatfeldolgozás gyors fejlődésének köszönhetően az 1960-as évek végén volt lehetőség egyre összetettebb problémák megoldására. A programok megértése, hibakeresése és módosítása azonban nehézségeket okozott, amelyek megbízhatatlanná tették őket.
Az ezekre a problémákra készített nagyméretű számítógépes programok forráskódjai annyira hosszúak és felépítettek voltak, hogy meglehetősen bonyolultá váltak bizonyos logikával való elérés és navigálás, még a saját szerzőik számára is.
Eredet
A programozók a „goto” parancsot használták a programozási nyelveken egy feltételes elágazás végrehajtásához, ami gyakran az olvashatósághoz vezetett, és a logikai kontextus nem maradt meg.
Ebben a szoftverválságban elkezdték mérlegelni, hogy lehet-e szisztematikusan kidolgozni egy általános és fegyelmezett módszertant, amely lehetővé tenné a kifinomultabb programokat. Erre a megközelítésre adott válaszként megjelent a strukturált programozási módszer.
1968-ban Dijkstra közzétette a "Goto, a parancs károsnak tekinthető" cikket, ahol rámutatott, hogy ennek a parancsnak a válogatás nélküli használata negatívan befolyásolja a számítógépes programok olvashatóságát és megértését.
Niklaus Wirth egy 1970-ben kiadott Pascal nevű új programozási nyelvet tervezett. Azóta széles körben használják a strukturált programozás tervezésének megtanítására.
jellemzők
Ezt a programozási módot az jellemzi, hogy a programozók a program forráskódját logikailag strukturált blokkokba oszthatják, hurkokból, logikai blokkokból és feltételes parancsokból álló részekbe.
A strukturált programozás célja, hogy könnyen írható, hibakeresési és módosítási programokat készítsen. A kapott programok világosak, rendezettek, érthetőek, ugrások nélkül.
Strukturált programozási elmélet
Dijkstra egy strukturált programozáshoz kapcsolódó elméletet dolgozott ki, amely jelezte, hogy bármilyen program megtervezésekor célszerű figyelembe venni a következő alapelveket:
- A szerkezeti tétel, amely azt állítja, hogy bármilyen program csak három alapvető vezérlőszerkezettel állítható össze: szekvenciális szerkezet, alternatív struktúra és ismétlődő struktúra.
- A programok felvázolásakor arra buzdítják, hogy alkalmazza a csökkenő technikát, amelyet felülről lefelé is hívnak.
- A változók érvényességi és láthatósági tartományát, valamint az adatszerkezeteket korlátozni kell.
Vezérlő struktúrák
A szerkezeti tétel azt jelzi, hogy bármely algoritmus, amelynek egyetlen kezdő- és végpontja van, három vezérlőszerkezetből állhat.
E támogatott vezérlő struktúrák logikus és egyértelmű programozásával a strukturált programozás lehetővé teszi a funkciók hatékony megközelítését bármilyen nehézségi fokon.
Szekvencia vagy lineáris szerkezet
Ez a szerkezet egyszerűen két vagy több művelet vagy parancs sorrendje vagy egymást követő sorrendje.
Döntési struktúra vagy alternatívák
Ez egy parancs kiválasztása két lehetséges alternatíva között. Ezenkívül két alternatíva közül is választhat.
Hurok vagy ismétlődő struktúra egy kezdeti kérdéssel
Bizonyos parancsokat meg kell ismételni, amíg egy bizonyos feltétel teljesül. A ciklus számlálóval is végrehajtható.
A programozási nyelvtől független
A strukturált programozás jól meghatározott funkcionális modulokon alapszik, amelyeket a probléma sajátos jellege alapján rangsorolnak. Ez a programozás a programozási nyelv független módszere, jobban hasonlít a programozási stílushoz.
Ez egy olyan módszer, amellyel a programokat jól megalapozott szabályok szerint állítják elő, és ehhez egy bizonyos ellenőrzési struktúrát használnak.
A strukturált programozás lehetővé teszi a programok álnévben történő írását, függetlenül a gépi nyelvtől, a természeteshez közeli, bármilyen programozási nyelvre konvertálhatóvá.
Strukturált programozási példák
Szinte minden példakódrészlet bármely modern programozási nyelven példa a strukturált programozásra.
Ez a programozás hurkokat, feltételes feltételeket és alprogramokat használ az áramlás és a modularitás vezérlésére, hogy a kód könnyebben olvasható és újra felhasználható legyen.
Sorrend
Az utasítások listája fentről lefelé sorrendben futtatható. Ebben az esetben példaként szolgál a kenyérsütés természetes nyelvű programja:
- Adj hozzá lisztet.
- Adj hozzá élesztőt.
- Adj hozzá sót.
- Keverd össze.
- Adj hozzá vizet.
- Gyúrjuk.
- Hagyja, hogy a tészta megemelkedjen.
- Sütni.
Ismétlés
Az állítások blokkját megismételjük mindaddig, amíg a feltétel igaz. Például: mosogatás.

Kiválasztás
Legfeljebb egy akció választható több alternatív feltétel közül. Például: rendelje meg a levelet.

Strukturált programozás a Visual Basicben
Sorrend
A kódvonalak vagy blokkok sorrendben vannak megírva és végrehajtva. Például:
x = 6
y = 12
z = x + y
WriteLine (z)
Ismétlés
A kódblokk megismétlődik, amíg egy feltétel teljesül. A blokk végrehajtásának hányszor nincs korlátozása. Példa:
x = 2
Mindaddig, amíg x <100
WriteLine (x)
x = x * x
vég
Kiválasztás
A kódblokk végrehajtásra kerül, ha egy feltétel igaz. A kódblokk legfeljebb egyszer fut. Példa:
x = ReadLine ()
Ha x Mod 2 = 0
WriteLine ("A szám páros")
Igen
Előny
- Olyan programok, amelyek megfelelnek az ügyfelek igényeinek.
- Noha a kód előállítása hosszabb ideig tart, gyakran olyan kódot eredményez, amely az első futtatáskor hibátlanul fut.
- Hasonló az angol szavak és szimbólumok szókincséhez.
- A jövőben könnyű kezelni a program változásait új specifikációkkal.
- Könnyebben karbantarthatók.
- Könnyen kezelhető és megérthető. Végül kevesebb idő szükséges a kód írásához. Könnyebb megtanulni.
- A magas szintű nyelven írt program lefordítható sok gépi nyelvre. Ezért bármilyen számítógépen futtatható, amelyhez megfelelő fordító vagy fordító van.
- Elsősorban probléma-orientált, nem gépi-orientált.
- Függetlenül attól a számítógéptől, amelyen használják. Más szavakkal, a magas szintű nyelveken kifejlesztett programok bármilyen számítógépen futtathatók.
Tiszta programok
A strukturált programozás csökkenti annak esélyét, hogy az egyik funkció befolyásolja a másikot. Ez egyértelműbbé teszi a programokat, mivel a globális változókat eltávolítják, és helyükbe helyettesítik a helyi változókat.
E változás miatt a globális változó által elfoglalt memóriaelosztási terület menthető.
Könnyű megértés
A szervezet segít megérteni a programozási logikát, hogy megértse a programok mögött rejlő logikát.
Ezenkívül elősegíti a technológiai vállalkozások új belépőinek a megértését a többi iparági dolgozó által létrehozott programokban, megkönnyítve ezáltal a lehetséges hibakeresést.
hátrányok
- A fordítónak vagy fordítónak le kell fordítania a magas szintű nyelvet gépi nyelvre. Ezért a számítógépes idő felhasználásakor árat kell fizetni.
- A fordító által generált objektumkód hatástalan lehet egy egyenértékű összeszerelési nyelv programhoz képest.
Ugyanazt a kódot megismételjük
Az írt kód a program különféle részein jelenhet meg. Elhelyezkedése miatt érzékeny lehet a különféle problémákra. A programok változókkal rendelkeznek, ami azt jelenti, hogy különböző értékeket vehetnek fel a program különböző részein.
Az adattípusok megváltoztatása nehézkes
Az adatok típusa sok funkcióból származik. Ezért, amikor az ilyen típusú adatokban változások történnek, a megfelelő változtatást minden olyan helyen meg kell hajtani, amely a programon belül az ilyen típusú adatokra hat. Ez nagyon időigényes feladat, ha a program nagyon nagy.
Fontos lehet egy szoftverfejlesztés esete, ahol több programozó dolgozik csapatként egy alkalmazásban. Strukturált programban minden programozót hozzárendelnek egy adott funkció- és adattípus készítéséhez.
Ezért a különféle programozók külön kezelik a különféle funkciókat, amelyek adattípusai megosztottak egymással.
A csapat többi programozójának tükröznie kell a programozó által az adattípusokban bekövetkezett változásokat, az általuk kezelt adattípusokban. Ellenkező esetben több funkciót át kell írni.
Alkalmazások
A strukturált programozás több millió program és több milliárd sornyi kód esetén sikeresen működött. Nincs ok annak elvetésére.
Különösen rendkívül jól működik az adatokat feldolgozó programoknál és a számfeldolgozásnál, amelyek mindkettőt egyszer futtatják, hogy választ kapjanak.
Két tulajdonság jellemzi jól a tisztán strukturált módon megközelíthető problémákat:
- A kezelendő adatok szorosan megegyeznek a nyelvbe integrált adattípusokkal, általában számok és karakterláncok.
- A program egy jól definiált ellenőrzési folyamatot követ, hogy egyetlen eredményt érjen el valamilyen bemenet alapján.
Az ilyen jellemzőkkel rendelkező számítógépes programok számos tudományos, mérnöki és szövegszerkesztő alkalmazást tartalmaznak, a hagyományos számítógépes ismeretek tanfolyamán szereplő számos tankönyv mellett.
Nem meglepő, hogy pontosan ezek azok a programok, amelyeket a programozási nyelveket feltaláló emberek meg akarták oldani.
Tárgy kezelése
A legtöbb modern programozási nyelv így van felépítve: amit a programjában objektumok vannak, a legtöbb kód az objektumokban tárolt adatok felhasználásának különböző módszereiből áll.
A strukturált program általában vezérelheti, hogy mi történjen és mikor, miközben egy eseményalapú programnak képesnek kell lennie arra, hogy előre nem látható időben reagáljon az eseményekre.
Irodalom
- MVPS (2020). Strukturált programozás. Forrás: mvps.net.
- Alexey (2019). Strukturált programozási paradigma. Közepes. Forrás: medium.com.
- Tartalmazza a Súgót (2020). Strukturált programozás, előnyei és hátrányai. Feltöltve: includehelp.com.
- Tim Trott (2019). Strukturált programozási nyelvek. Lonewolf Online. Forrás: lonewolfonline.net.
- OO portál (2020). A hagyományos, strukturált programozás felhasználásai és előnyei. Forrás: ooportal.com.
- Studeer Snel (2020). Záró áttekintés - Összefoglaló strukturált programozási alkalmazások. Forrás: studeersnel.nl.
