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 ...
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