18.04.2013 Views

Tehnici de implementare a concurentei în analiza si proiectarea ...

Tehnici de implementare a concurentei în analiza si proiectarea ...

Tehnici de implementare a concurentei în analiza si proiectarea ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

}<br />

Coada_Plina(int mE, int eIn, Element* lista){. . .};<br />

~Coada_Plina(){ . . .};<br />

Element Extrage();<br />

Element Coada_Plina::Extrage()<br />

{<br />

. . .<br />

become Coada_Partiala(maxElem, elemIntroduse,<br />

(elemIntroduse-maxElem+1), listaElemente);<br />

. . . //returnarea unei valori<br />

}<br />

//clasa actor Coada_Partiala<br />

actor Coada_Partiala{<br />

protected:<br />

//acelea<strong>si</strong> proprietati ca in cazul cozii pline +<br />

int elemExtrase; //nr. elementelor extrase din coada<br />

public:<br />

Coada_Partiala(int mE,int eIn,int eEx,Element* lista);<br />

~Coada_Partiala(){ . . .};<br />

void Adauga(Element elem);<br />

Element Extrage();<br />

}<br />

Coada_Partiala::Coada_Partiala(int mE,int eIn,int eEx,Element* lista)<br />

{<br />

if(eIn-eEx==mE)<br />

become Coada_Plina(mE,mIn,lista);<br />

if(eIn-eEx==0)<br />

become Coada_Goala(mE,mIn,lista);<br />

//initializarea proprietatilor<br />

. . .<br />

}<br />

Element Coada_Partiala::Extrage()<br />

{<br />

. . .<br />

if(elemIntroduse-elemExtrase==0)<br />

become Coada_Goala(maxElem,elemIntroduse,listaElemente);<br />

. . . //returnarea unei valori<br />

}<br />

void Coada_Partiala::Adauga(Element elem)<br />

{<br />

. . .<br />

if(elemIntroduse-elemExtrase==maxElem)<br />

become Coada_Plina(maxElem,elemIntroduse,listaElemente);<br />

}<br />

//clasa actor Coada_Goala<br />

actor Coada_Goala{<br />

protected:<br />

//acelea<strong>si</strong> proprietati ca in cazul cozilor anterioare<br />

. . .<br />

public:<br />

Coada_Goala(int mE,int eIn, Element* lista){. . .};<br />

~Coada_Goala(){ . . .};<br />

void Adauga(Element elem);<br />

}<br />

void Adauga(Element elem)<br />

{<br />

become Coada_Partiala(maxElem, elemIntroduse,<br />

(elemIntroduse+1), listaElemente);<br />

}<br />

Pentru ca <strong>implementare</strong>a bazata pe mo<strong>de</strong>lul Actor sa fie functionala am<br />

adaugat fiecareia dintre cele trei clase câte un constructor explicit care este necesar <strong>în</strong><br />

43

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!