Programare modulară

Previzualizare curs:

Extras din curs:

Paradigme de programare:

- programarea structurată – bazată pe Teorema de structură

- programarea procedurală – bazată pe proiectarea de funcţii separate

- programarea modulară – bazată pe alcătuirea de proiecte din mai multe fişiere

- programarea orientată obiect – bazată pe moştenire şi polimorfism

Un modul este constituit dintr-un set de funcţii înrudite împreună cu datele pe care

acestea le prelucrează, stocate într-un fişier care se compilează separat. Aplicaţia se

dezvoltă sub forma unui proiect prin intermediul căruia se ”leagă” (link-editează)

împreună diversele module componente, creându-se un executabil unic.

Programarea modulară ridică o serie de probleme legate de relaţia de interdependenţă

dintre modulele unui proiect precum şi de modul de comunicare dintre acestea.

Fiecare modul trebuie să aibă o interfaţă care să furnizeze compilatorului informaţii

necesare despre funcţiile pe care le conţine.

În limbajul C un identificator (nume) desemnează o funcţie, un tip de date, o variablă

sau o etichetă. În general un identificator este introdus printr-o declaraţie (excepţie fac

în C etichetele) care precizează implicit semnificaţia/modul de utilizare al acestuia .

În privinţa locurilor în care poate fi folosit identificatorul respectiv, trebuie lămurite

câteva aspecte :

- un identificator poate fi folosit numai într-o anumită zonă a textului sursă al

programului, numită domeniul de valabilitate al numelui.

- semnificaţia unui identificator depinde de locul în care se foloseşte numele

respectiv, semnificaţie precizată de aşa numitul domeniu de vizibilitate.

- un nume folosit în mai multe module ale aceluiaşi program poate sau nu să

refere acelaşi obiect, în funcţie de tipul de legătură (linkage) specificat în modulul

care îl utilizează.

- în ceea ce priveşte numele ce desemnează variabile, acestora li se asociază

implicit o zonă de memorie. Zona de memorie în care se face alocarea este definită de

clasa de alocare (memorie).

#include “f1.h”

#include “f2.h”

int i;

double x;

int main(void)

{

f1();

f2();

return 0;

}

#include “f1.h”

extern int i;

void f1(void)

{

….

….

}

void f1(void);

Diagrama ilustrează didactic o posibilă organizare a unui proiect

main.cpp

f1.h f2.h

f1.cpp f2.cpp

Obs. Evident, fişierele componente pot conţine mai multe funcţii !

#include “f2.h”

extern double x;

void f2(void)

{

….

….

}

void f2(void);

Domeniul de valabilitate al unui identificator

Domeniul de valabilitate al unui identificator reprezintă acea zonă de program

în care este cunoscută (valabilă) declaraţia sau definiţia unui nume şi în care, în cazul

variabilelor, există o zonă de memorie alocată acestuia .

În C există trei tipuri de domenii de valabilitate :

- local;

- funcţie;

- global (fişier).

În C se numeşte bloc o zonă de program ce conţine instrucţiunile cuprinse în

interiorul unei perechi de paranteze acolade.

Domeniul local

Un identificator definit în interiorul unui bloc se spune că are domeniul de

valabilitate local (acelui bloc). El este cunoscut şi se poate folosi doar în interiorul

blocului în cauză, mai precis, din punctul imediat ulterior declaraţiei sau definiţiei sale

şi până la paranteza } care se împerechează cu cea mai apropiată (textual) paranteză {

ce precede textul declaraţiei în cauză .

Observații:

Facultatea de electronica, telecomunicatii si tehnologia informatiei

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Programare Modulara.pdf
Alte informații:
Tipuri fișiere:
pdf
Nota:
7/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
9 pagini
Imagini extrase:
9 imagini
Nr cuvinte:
1 922 cuvinte
Nr caractere:
10 049 caractere
Marime:
125.99KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Limbaje de Programare
Predat:
la facultate
Materie:
Limbaje de Programare
Profesorului:
Adriana Sarbu
Sus!