20 elemente de compilare }i dezvoltarea programelor mari
20 elemente de compilare }i dezvoltarea programelor mari
20 elemente de compilare }i dezvoltarea programelor mari
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
194 Practica program[rii logice<br />
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />
⎯<br />
F. Programarea modular[<br />
Atunci c`nd programul este foarte mare sau c`nd este necesar ca<br />
unele predicate s[ fie scrise @n alte limbaje <strong>de</strong> programare este util[ chiar<br />
necesar[ structurarea sa @n mai multe module care vor fi compilate separat<br />
cu urm[toarele avantaje:<br />
- mai mul\i programatori pot lucra simultan la mai multe module;<br />
- se pot realiza noi programe folosind module <strong>de</strong>ja create ]i testate;<br />
- se simplific[ <strong>de</strong>panarea; modulele pot fi testate in<strong>de</strong>pen<strong>de</strong>nt;<br />
- @n cazul modific[rii programului se modific[ doar modulele relevante;<br />
- modulele pot fi scrise ]i @n alte limbaje <strong>de</strong> programare;<br />
- modulele pot avea at`t predicate locale c`t ]i globale;<br />
Pentru a realiza modularea unui program se parcurg urm[toarele<br />
etape:<br />
- se <strong>de</strong>fine]te un fi]ier proiect (.PRJ) cu ajutorul meniului<br />
0ptions/Edit PRJ files; acest fi]ier va con\ine numele modulelor<br />
programului ca @n exemplul <strong>de</strong> mai jos:<br />
prog1+<br />
prog2+<br />
prog3+<br />
prog4+<br />
Exemplul <strong>20</strong>.9. Con\inutul unui fi]ier proiect.<br />
Aceste module sunt fie fi]iere scrise @n Turbo Prolog fie fi]iere<br />
obiect scrise @n alte limbaje.<br />
- unul din module va fi <strong>de</strong>semnat ca modul principal ]i este<br />
singurul care va con\ine un scop (evi<strong>de</strong>nt, numai intern);<br />
Pentru <strong>compilare</strong>a tuturor modulelor folosim<br />
Compile/Project (all files)<br />
care solicit[ numele proiectului ]i compileaz[ toate modulele.<br />
Un modul poate fi compilat separat @n format obiect cu op\iunea<br />
din meniul Compile/OBJ file. #n cazul @n care un domeniu sau un<br />
predicat se dore]te s[ fie vizibil @n mai multe module trebuie s[ fie<br />
<strong>de</strong>clarat @n sec\iunea global domains respectiv global predicates, care<br />
se plaseaz[ la @nceputul modulului @nainte <strong>de</strong> sec\iunea domains respectiv<br />
predicates. Pentru <strong>de</strong>talii [1].