Partea de interfață

Tema 9. Module. Structura modulelor. Antetul modulului și modul de comunicare între ele. Partea de interfață. Partea executabilă. Partea inițiatoare. Compilarea modulelor. Accesul la obiectele declarate în modul. Exemple de utilizare a modulelor.

Module - Programul compilable este o unitate de sine stătătoare, care include diverse componente descrieri secțiuni (tipuri, constante, variabile, proceduri și funcții) și, eventual, unele dintre inițiatoare declarații executabile.

Modulul are următoarea structură:

Aici UNIT este un cuvânt rezervat (unitate); pornește antetul modulului; <имя> - numele modulului;

INTERFATA - cuvânt rezervat (interfață); pornește partea de interfață a modulului;

IMPLEMENTARE - cuvânt rezervat (execuție); pornește partea executabilă;

BEGIN este un cuvânt rezervat; pornește partea de inițiere a modulului; Construcția BEGIN <инициирующая часть> opțională;

END - Cuvântul rezervat este un semn al sfârșitului modulului.

Astfel, modulul constă dintr-un antet și trei componente, fiecare dintre acestea putând fi gol;

Partea de interfață conține descrieri ale tipurilor globale, constante și variabile, precum și titluri ale procedurilor și funcțiilor globale. Apariția obiectelor din interfață le face disponibile altor module și programului principal. Organele de proceduri și funcții sunt localizate în partea executabilă a modulului, care poate fi ascunsă de utilizator.

Modulele sunt un instrument excelent pentru dezvoltarea bibliotecilor de aplicații și un instrument puternic pentru programarea modulară. O caracteristică importantă a modulelor este aceea că compilatorul Turbo Pascal își plasează codul de program într-un segment de memorie separat. Lungimea maximă a segmentului este limitată la 64 de biți, dar numărul de module utilizate simultan este limitat doar de memoria disponibilă, ceea ce face posibilă crearea unor programe foarte mari.

Antetul modulului și comunicarea modulului între ele

Antetul modulului constă din cuvântul rezervat UNIT și din următorul nume de modul:

UNITATE <имя модуля>;

Numele modulului trebuie să se potrivească cu numele fișierului în care se află textul sursă al modulului. De exemplu:

UNIT METOD; Textul sursă al modulului corespunzător trebuie plasat în fișierul disc METOD.PAS. Numele modulului servește pentru a comunica cu alte module și cu programul principal. Această relație este stabilită printr-o ofertă specială:

UTILIZĂRI <сп. модулей>

Aici, USES este un cuvânt rezervat (folosit);

<сп. модулей> - lista modulelor care se conectează; elementele din listă sunt numele modulelor, separate prin virgule, de exemplu:

Utilizează CRT, GRAPH, METOD;

Procedură AddC (complex x, complex VAR Z.);

Procedură MulC (complex x, complex y, complex VAR Z.);

Dacă acum în programul principal scrie o propoziție

apoi programul complex și două proceduri AddC și MulC din modulul Cmplx devin disponibile în program.

Trebuie remarcat faptul că toate constantele și variabilele declarate în interfața modulului, precum și constante și variabile ale programului principal, compilatorul plasat în segmentul de date partajate la nivel mondial.

Partea executabilă

Partea executabil începe cuvântul de implementare și oferă descrieri ale rutine declarate în partea de interfață. Acesta poate fi declarată local, la facilitățile modulului - tipurile helper, constante, variabile și blocuri, precum și eticheta în cazul în care acestea sunt utilizate în partea de deschidere.

Tip complex = înregistrare, im. sfârșitul real;

Procedură AddC (complex x, complex VAR Z.);

z. re: = x. re + y. re;

z. im: = x. im + y. im

variabile și constante locale precum și toate codurile software generate la compilarea modulului, sunt plasate într-un segment de memorie comună.

Partea de inițiere

În partea de inițiere sunt plasate instrucțiuni executabile care conțin un anumit fragment al programului. Aceste declarații sunt executate înainte de transferul controlului către programul principal și sunt de obicei folosite pentru pregătirea funcționării acestuia. De exemplu, pot iniția variabile, pot deschide fișierele necesare, pot stabili conexiuni cu alte PC-uri prin intermediul canalelor de comunicare etc.

PROCEDUR PRINT (s. String);

name = 'output. txt ';