Pràctica PRO2. Aplicació per a un laboratori de biologia.  16-12-2017
Mètodes públics | Mètodes Privats | Atributs Privats | Llista de tots els membres
Referència de la Classe Tret

Representa l'informació i les operacions associades a un tret. Més...

Mètodes públics

 Tret ()
 Creador per defecte. Més...
 
void afegir_individu (int id, const Cjt_individus &x)
 Modificadora dels individus que presenten el tret i la combinació Més...
 
void treure_individu (int id, const Cjt_individus &x)
 Modificadora dels individus que presenten el tret i la combinació Més...
 
bool buit () const
 Consulta el tret. Més...
 
void escriure () const
 Operació de escriptura. Més...
 

Mètodes Privats

void calcular_combinacio (const Cjt_individus &x)
 Calcula la combinacio de tots els individus que presenten el tret. Més...
 

Atributs Privats

set< int > ids
 Conjunt dels identificadores dels individus que presenten el tret. Més...
 
Cromosomes combinacio
 Combinacio dels cromosomes dels individus que manifestin el tret. Més...
 

Descripció Detallada

Representa l'informació i les operacions associades a un tret.

Conté els individus que presenten el tret i la combinació de gens que el produeix.

Definició a la línia 25 del fitxer Tret.hh.

Documentació del Constructor i el Destructor

Tret::Tret ( )

Creador per defecte.

Precondició
cert
Postcondició
El resultat es un tret buit

Definició a la línia 7 del fitxer Tret.cc.

7 {}

Documentació de les Funcions Membre

void Tret::afegir_individu ( int  id,
const Cjt_individus x 
)

Modificadora dels individus que presenten el tret i la combinació

Precondició
L'individu no presenta el tret
Postcondició
S'afegeix l'individu al tret i calcula nova combinació

Definició a la línia 22 del fitxer Tret.cc.

23 {
24 // Al afegir nou individu no es necesari recalcular tota la combinacio,
25 // només afegir les noves restriccions a les ja presents.
26  ids.insert(id);
27  Cromosomes comb;
28  comb = x.consultar_crom_individu(id);
29  if(ids.size() == 1) combinacio = comb;// En cas de que només hi hagi un individu que el presenti
30  else {
31  Cromosomes comb;
32  comb = x.consultar_crom_individu(id);
34  }
35 }
void combinacio_crom(const Cromosomes &x)
Modificadora els cromosomes.
Definition: Cromosomes.cc:9
Cromosomes combinacio
Combinacio dels cromosomes dels individus que manifestin el tret.
Definition: Tret.hh:33
set< int > ids
Conjunt dels identificadores dels individus que presenten el tret.
Definition: Tret.hh:30
Cromosomes consultar_crom_individu(int id) const
Consulta els cromosomes d&#39;un individu.
Definition: Cjt_individus.cc:9
Representa el parell de cromosomes.
Definition: Cromosomes.hh:25
void Tret::treure_individu ( int  id,
const Cjt_individus x 
)

Modificadora dels individus que presenten el tret i la combinació

Precondició
L'individu presenta el tret
Postcondició
Es treu l'individu del tret i calcula nova combinació

Definició a la línia 37 del fitxer Tret.cc.

38 {
39  ids.erase(id);
40  if(!ids.empty()) calcular_combinacio(x);// Si no es queda buit es calcula nova combinació
41 }
void calcular_combinacio(const Cjt_individus &x)
Calcula la combinacio de tots els individus que presenten el tret.
Definition: Tret.cc:9
set< int > ids
Conjunt dels identificadores dels individus que presenten el tret.
Definition: Tret.hh:30
bool Tret::buit ( ) const

Consulta el tret.

Precondició
cert
Postcondició
Consulta si el tret no té cap individu

Definició a la línia 43 del fitxer Tret.cc.

44 {
45  return ids.empty();
46 }
set< int > ids
Conjunt dels identificadores dels individus que presenten el tret.
Definition: Tret.hh:30
void Tret::escriure ( ) const

Operació de escriptura.

Precondició
cert
Postcondició
S'escriu pel el canal de sortida estàndard la combinació i els individus que la presenten

Definició a la línia 48 del fitxer Tret.cc.

49 {
51  set<int>::const_iterator it = ids.begin();
52  while (it != ids.end()) {
53  cout << " " << *it << endl;
54  ++it;
55  }
56 }
void escriure_cromosomes() const
Operació de escriptura.
Definition: Cromosomes.cc:33
Cromosomes combinacio
Combinacio dels cromosomes dels individus que manifestin el tret.
Definition: Tret.hh:33
set< int > ids
Conjunt dels identificadores dels individus que presenten el tret.
Definition: Tret.hh:30
void Tret::calcular_combinacio ( const Cjt_individus x)
private

Calcula la combinacio de tots els individus que presenten el tret.

Precondició
cert
Postcondició
La combinació pasa a ser la intersecció del individus presents

Definició a la línia 9 del fitxer Tret.cc.

10 {
11  set<int>::const_iterator it = ids.begin();
12  combinacio = x.consultar_crom_individu(*it);// Cobinacio es igual a cromosomes del primer individu
13  ++it;
14  while (it != ids.end()) {
15  Cromosomes crom;
16  crom = x.consultar_crom_individu(*it);
18  ++it;
19  }
20 }
void combinacio_crom(const Cromosomes &x)
Modificadora els cromosomes.
Definition: Cromosomes.cc:9
Cromosomes combinacio
Combinacio dels cromosomes dels individus que manifestin el tret.
Definition: Tret.hh:33
set< int > ids
Conjunt dels identificadores dels individus que presenten el tret.
Definition: Tret.hh:30
Cromosomes consultar_crom_individu(int id) const
Consulta els cromosomes d&#39;un individu.
Definition: Cjt_individus.cc:9
Representa el parell de cromosomes.
Definition: Cromosomes.hh:25

Documentació de les Dades Membre

set<int> Tret::ids
private

Conjunt dels identificadores dels individus que presenten el tret.

Definició a la línia 30 del fitxer Tret.hh.

Cromosomes Tret::combinacio
private

Combinacio dels cromosomes dels individus que manifestin el tret.

Definició a la línia 33 del fitxer Tret.hh.


La documentació d'aquesta classe es va generar a partir dels següents fitxers: