Moduláris programozás - stadopedia
A modul a logikailag kapcsolódó töredékek sorozata, amelyet a program külön részeként terveztek.
A modulra a következő követelmények érvényesülnek:
1) a modulnak egyetlen funkciót kell végrehajtania, azaz A modul megépítésekor a koncepciót használják: "egy modul egy függvény". Így a modul egy olyan program eleme, amely független feladatot végez. A bemeneténél a bemeneti adatok egy bizonyos csoportját fogadhatja, feldolgozhatja a megadott algoritmusnak megfelelően és visszaadja a feldolgozás eredményét, azaz a feldolgozás eredményét. Az IPO (Input-Process-Output) szabvány elve megvalósul - input-process-output;
2) a modult nevére kell hivatkozni. Egy bemenetre és egy kimenetre van szükség, amely biztosítja a modul lezárását és egyszerűsíti a programok karbantartását;
3) a modulnak funkcionális teljességgel kell rendelkeznie, azaz A szabályozott műveletek listájának végrehajtása minden különálló funkció teljes megvalósításában, amely elegendő a megkezdett feldolgozás befejezéséhez;
4) a modulnak vissza kell állítania a vezérlést a hívás pontjára, viszont képesnek kell lennie más modulok hívására;
5) a modul nem mentheti meg hívásainak történetét, és nem használja fel annak működéséhez;
6) a modulnak logikus függetlenséggel kell rendelkeznie; a szoftver modul kimenete csak a forrásadatoktól függ, de nem függ a többi modul működésétől;
7) a modulnak gyenge információs kapcsolatokkal kell rendelkeznie a többi szoftvermodulhoz - a modulok közötti információcserét a lehető legnagyobb mértékben minimalizálni kell;
8) a modulnak viszonylag kicsinek kell lennie, azaz méretük és összetettségük előre látható. A tapasztalt programozók nem javasolják legfeljebb két oldal nyomtatását a nyomtatón.
A modulok függetlenségének elérése érdekében gyakran használják az információ lokalizációjának elvét. amely abból áll, hogy minden információ az adatszerkezetről, a funkciók prototípusairól, a konstansokról stb. koncentrátumok ("rejtek") egy külön modulban. Az információhoz való hozzáférés csak ezen a modulon keresztül lehetséges (algoritmikus C / C ++ nyelven az ilyen modulok kiterjesztése * .h).
A modulok programozását moduláris programozásnak nevezik. A XX. Század elején jelent meg. A moduláris programozás az absztrakciós szintek használatának ötletén alapul, amikor az egész feladatot vagy feladatokat összetett feladatokra, subtaszkokra osztják fel, elvonják, és az egymással összekapcsolt modulok hierarchikus fáiként mutatják be, amelyek együtt alkotják a létrehozandó szoftvert.
A moduláris programozás előnyei a következők:
· Számos programozó egyidejűleg egy nagy programot írhat, amely lehetővé teszi a feladat befejezését;
· A leggyakoribb modulok könyvtárait hozhatja létre;
· Egy nagy program betöltésére szolgáló eljárás, amely megkívánja a szegmentálást a fő memóriába, egyszerűbb;
· Számos természetes ellenőrzési pont van a projekt hibakeresésére;
· Könnyebb a programok tervezése és későbbi módosítása.
A moduláris programozás hátrányai a következők:
· A szükséges RAM méret megnő;
Növeli a fordítást és a betöltési időt
· A program végrehajtási ideje megnövekedett;
· Az intermodul interfészek meglehetősen bonyolultak.
A moduláris programozás modul funkciók segítségével valósul meg. A függvény egy olyan memóriaterület, amelyet egy adott feladat végrehajtására tervezett programkód tárolására rendeltek el. Más szóval, ez a függvény a C / C ++ program minimális végrehajtható modulja. Alapértelmezés szerint a függvény külsõ típusú, és minden programfájlból hozzáférhetõ. De a statikus memóriaosztály-specifikátor korlátozhatja.
A függvényt a függvény függvényének típusával, hatókörével, a funkció nevének láthatóságával és a kötés típusával jellemezhetjük.
Írja be a function_name (parameter_parameter) body_function parancsot
A típus a függvény által visszaadott érték típusa, beleértve a voidet (kivéve a tömböt vagy a függvénytípusokat). Az alapértelmezett érték az int. Ha a funkció visszatérési típusa nem érvénytelen, akkor a függvénytestnek legalább egy visszatérési utasítást kell tartalmaznia.
FunctionName az az azonosító, amellyel elérheti a függvényt. A programozó önkényesen választja, és nem esik egybe a szolgáltatásszavakkal és más programobjektumok nevével. Mindazonáltal minden C / C ++ programnak legalább egy főfunkciónak kell lennie - a fő bejegyzést tartalmazó fő funkciónak.
Paraméter_paraméterek a formális paraméterek listája, pl. olyan változók, amelyek elfogadják a funkciónak átadott értékeket, amikor hívják. A formális paraméterek listája vesszővel van felsorolva. Minden formális paraméternek a következő formátumúnak kell lennie:
Egy típus beépíthető (int, hosszú, float, double, stb.), Struct, union, enum, mutatók, függvények vagy osztályok. A formal_parameter neve a szervezetben használt változó neve. A formális paraméterek azonosítása nem egyezik a függvényben belül deklarált helyi változók nevével.
C / C ++ esetén a függvények engedélyezettek, a paraméterek száma, amelyekre a függvény nincs rögzítve, amikor a függvény össze van állítva, ezért típusuk ismeretlen marad. Az ilyen funkciók számát és típusát csak akkor hívják meg, amikor hívják, amikor a tényleges paraméterek listája kifejezetten meg van adva. Amikor az ilyen funkciókat határozatlan hosszúságú paraméterek listájával határozza meg és írja le, a formális paraméterek specifikációját vesszővel és ellipszisszel kell befejezni.
Minden egyes változó paramétert tartalmazó funkciónak legalább egy kötelező paraméternek kell lennie. A szükséges paraméterek listája után egy vesszőt helyezett el, majd egy ellipszis jelzi a fordítót, hogy a függvényhívás feldolgozásakor nem szükséges a szám és a paraméterek közötti megfelelés további ellenőrzése.
A parameter_parameter hiányozhat, azaz a zárójelek lehetnek üresek, de ebben az esetben ajánlott megadni az üres típust.
A body_function része a funkciódefiníciónak, amelyet korongos fogsorok határolnak, és közvetlenül a funkció fejléc után helyezik el. A body_function lehet egy összetett operátor vagy blokk. Például: