24
Caso de estudio: experimentos inmunologicos. Laboratorio de PRO2. v0.1 3-11-2010 Generado por Doxygen 1.5.6 Thu Nov 18 16:13:41 2010

Caso de estudio: experimentos inmunologicos. Laboratorio ... · Documentación de las clases 4.1. Referencia de la Clase Celula Representa el conjunto de características y operaciones

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Caso de estudio: experimentos inmunologicos. Laboratorio de PRO2.v0.1 3-11-2010

Generado por Doxygen 1.5.6

Thu Nov 18 16:13:41 2010

Índice general

1. Página principal 1

2. Índice de clases 3

2.1. Lista de clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3. Indice de archivos 5

3.1. Lista de archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4. Documentación de las clases 7

4.1. Referencia de la Clase Celula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4.1.1. Descripción detallada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4.1.2. Documentación del constructor y destructor . . . . . . . . . . . . . . . . . . . . . 8

4.1.2.1. Celula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4.1.2.2. ∼Celula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4.1.3. Documentación de las funciones miembro . . . . . . . . . . . . . . . . . . . . . . 8

4.1.3.1. lucha_celulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4.1.3.2. es_vacia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4.1.3.3. leer_celula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4.1.3.4. escribir_celula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4.2. Referencia de la Clase Organismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4.2.1. Descripción detallada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4.2.2. Documentación del constructor y destructor . . . . . . . . . . . . . . . . . . . . . 10

4.2.2.1. Organismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4.2.2.2. ∼Organismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.2.3. Documentación de las funciones miembro . . . . . . . . . . . . . . . . . . . . . . 11

4.2.3.1. anadir_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.2.3.2. incrementar_victimas . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.2.3.3. lucha_organismos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.2.3.4. es_maligno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

II ÍNDICE GENERAL

4.2.3.5. num_victimas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4.2.3.6. leer_organismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4.2.3.7. escribir_organismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4.3. Referencia de la Clase Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.3.1. Descripción detallada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.3.2. Documentación del constructor y destructor . . . . . . . . . . . . . . . . . . . . . 13

4.3.2.1. Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.3.2.2. ∼Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.3.3. Documentación de las funciones miembro . . . . . . . . . . . . . . . . . . . . . . 14

4.3.3.1. anadir_organismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.3.3.2. leer_sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.3.3.3. escribir_sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5. Documentación de archivos 15

5.1. Referencia del Archivo Celula.hpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

5.1.1. Descripción detallada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

5.2. Referencia del Archivo Organismo.hpp . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5.2.1. Descripción detallada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5.3. Referencia del Archivo pro2.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5.3.1. Descripción detallada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5.3.2. Documentación de las funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5.3.2.1. escribir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5.3.2.2. main . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5.4. Referencia del Archivo Sistema.hpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.4.1. Descripción detallada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Generado el Thu Nov 18 16:13:41 2010 para Caso de estudio: experimentos inmunologicos. Laboratorio de PRO2. por Doxygen

Capítulo 1

Página principal

El programa principal se encuentra en el módulo pro2.cpp. Atendiendo a los tipos de datos sugeridos en elenunciado, necesitaremos un módulo para representar el Sistema en el que se desarrollarán los experimen-tos, otro para el tipo Organismo y otro para el tipo Celula.

Comentarios:

En una resolución normal, comenzaríamos por considerar las operaciones necesarias para el progra-ma principal y las clasificaríamos en los diferentes módulos. Al pasar a su implementación, quizádescubriésemos que algún módulo necesita alguna operación adicional y la incorporaríamos en esemomento (sólo si es pública, es decir, si se usa en un módulo distinto al que pertenece). Sin embargo,en un documento de estas características, se presentan los módulos completamente acabados, sinnecesidad de reflejar el proceso que ha dado lugar a su especificación final.

En cuanto a los diagramas modulares que aparecen en este proyecto, notad que la relación de usoentre Organismo y Celula no se obtiene de forma explícita, ya que el segundo módulo no se usa enla especificación del primero. Sin embargo, podemos prever que nos la encontraremos en la secciónde implementación.

2 Página principal

Generado el Thu Nov 18 16:13:41 2010 para Caso de estudio: experimentos inmunologicos. Laboratorio de PRO2. por Doxygen

Capítulo 2

Índice de clases

2.1. Lista de clases

Lista de las clases, estructuras, uniones e interfaces con una breve descripción:

Celula (Representa el conjunto de características y operaciones de las células ) . . . . . . . . . . 7Organismo (Representa la información y las operaciones asociadas a un organismo ) . . . . . . 10Sistema (Representa el sistema donde se desarrollan los experimentos ) . . . . . . . . . . . . . 13

4 Índice de clases

Generado el Thu Nov 18 16:13:41 2010 para Caso de estudio: experimentos inmunologicos. Laboratorio de PRO2. por Doxygen

Capítulo 3

Indice de archivos

3.1. Lista de archivos

Lista de todos los archivos con descripciones breves:

Celula.hpp (Especificación de la clase Celula ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Organismo.hpp (Especificación de la clase Organismo ) . . . . . . . . . . . . . . . . . . . . . . 16pro2.cpp (Programa principal ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Sistema.hpp (Especificación de la clase Sistema ) . . . . . . . . . . . . . . . . . . . . . . . . . 19

6 Indice de archivos

Generado el Thu Nov 18 16:13:41 2010 para Caso de estudio: experimentos inmunologicos. Laboratorio de PRO2. por Doxygen

Capítulo 4

Documentación de las clases

4.1. Referencia de la Clase Celula

Representa el conjunto de características y operaciones de las células.

Métodos públicos

Celula (int N)Creadora por defecto.

∼Celula ()Destructora por defecto.

int lucha_celulas (const Celula &c2) constConsultora que determina el resultado de la lucha entre dos células.

bool es_vacia () constConsultora que indica si la célula es vacía.

void leer_celula ()Operación de lectura.

void escribir_celula () constOperación de escritura.

4.1.1. Descripción detallada

Representa el conjunto de características y operaciones de las células.

Ofrece la operación de lucha entre células y las operaciones de lectura y escritura.

El hecho de que las células se lean en el contexto de la léctura de árboles de células que componen orga-nismos nos induce a definir el concepto de celula vacía para poder leer árboles siguiendo un formato deentrada parecido al de la sesión 7 de laboratorio, "Uso de listas y árboles" (en la que se define una "marca"para indicar subárbol vacío).

8 Documentación de las clases

Definición en la línea 25 del archivo Celula.hpp.

4.1.2. Documentación del constructor y destructor

4.1.2.1. Celula::Celula (int N)

Creadora por defecto.

Precondición:

N>0

Postcondición:

El resultado es una célula de N parámetros con valores no determinados

4.1.2.2. Celula::∼Celula ()

Destructora por defecto.

4.1.3. Documentación de las funciones miembro

4.1.3.1. int Celula::lucha_celulas (const Celula & c2) const

Consultora que determina el resultado de la lucha entre dos células.

Precondición:

El parámetro implícito (c1) y c2 tienen el mismo número de parámetros

Postcondición:

Retorna el resultado de la lucha entre c1 y c2, que es: 1 <=> c1 vence a c2; 2 <=> c2 vence a c1; 3<=> no vence ninguna de las dos

4.1.3.2. bool Celula::es_vacia () const

Consultora que indica si la célula es vacía.

Precondición:

cierto

Postcondición:

El resultado indica si la célula es vacía o no

Generado el Thu Nov 18 16:13:41 2010 para Caso de estudio: experimentos inmunologicos. Laboratorio de PRO2. por Doxygen

4.1 Referencia de la Clase Celula 9

4.1.3.3. void Celula::leer_celula ()

Operación de lectura.

Precondición:

cierto

Postcondición:

Los parámetros del parámetro implícito pasan a ser los leídos del canal de entrada estándard

4.1.3.4. void Celula::escribir_celula () const

Operación de escritura.

Precondición:

cierto

Postcondición:

Se ha escrito el identificador del parámetro implícito por el canal de salida estándard

La documentación para esta clase fue generada a partir del siguiente fichero:

Celula.hpp

Generado el Thu Nov 18 16:13:41 2010 para Caso de estudio: experimentos inmunologicos. Laboratorio de PRO2. por Doxygen

10 Documentación de las clases

4.2. Referencia de la Clase Organismo

Representa la información y las operaciones asociadas a un organismo.

Métodos públicos

Organismo ()

Creadora por defecto.

∼Organismo ()

Destructora por defecto.

void anadir_id (int id)

Modificadora del identificador.

void incrementar_victimas ()

Modificadora del número de victimas.

int lucha_organismos (const Organismo &o2) const

Consultora del resultado de la lucha entre dos organismos.

bool es_maligno () const

Consultora de la malignidad del organismo.

int num_victimas () const

Consultora del número de victimas.

void leer_organismo (int N)

Operación de lectura.

void escribir_organismo (bool estr) const

Operación de escritura.

4.2.1. Descripción detallada

Representa la información y las operaciones asociadas a un organismo.

Sus operaciones son las modificadoras de identificador y de número de organismos destruídos, las consul-toras de si un organismo es maligno y la de su número de víctimas, la que devuelve el resultado de unalucha de dos organismos, la de lectura (única que produce un organismo nuevo) y la de escritura.

Definición en la línea 24 del archivo Organismo.hpp.

4.2.2. Documentación del constructor y destructor

4.2.2.1. Organismo::Organismo ()

Creadora por defecto.

Generado el Thu Nov 18 16:13:41 2010 para Caso de estudio: experimentos inmunologicos. Laboratorio de PRO2. por Doxygen

4.2 Referencia de la Clase Organismo 11

Precondición:

cierto

Postcondición:

El resultado es un organismo vacío

4.2.2.2. Organismo::∼Organismo ()

Destructora por defecto.

4.2.3. Documentación de las funciones miembro

4.2.3.1. void Organismo::anadir_id (int id)

Modificadora del identificador.

Precondición:

cierto

Postcondición:

El parámetro implícito pasa a tener a id como identificador

4.2.3.2. void Organismo::incrementar_victimas ()

Modificadora del número de victimas.

Precondición:

cierto

Postcondición:

El parámetro implícito pasa a tener una víctima más en su cuenta

4.2.3.3. int Organismo::lucha_organismos (const Organismo & o2) const

Consultora del resultado de la lucha entre dos organismos.

Precondición:

El parámetro implícito (o1) y o2 están compuestos por células con el mismo número de parámetros

Postcondición:

Retorna el resultado de la lucha entre o1 y o2, que es 0 <=> o1 y o2 resultan destruidos; 1 <=> o1resulta destruido y o2 no; 2 <=> o1 no resulta destruido y o2 sí; 3 <=> ni o1 ni o2 resultan destruidos

Generado el Thu Nov 18 16:13:41 2010 para Caso de estudio: experimentos inmunologicos. Laboratorio de PRO2. por Doxygen

12 Documentación de las clases

4.2.3.4. bool Organismo::es_maligno () const

Consultora de la malignidad del organismo.

Precondición:

cierto

Postcondición:

El resultado es cierto si el parametro implícito es un organismo maligno y falso en caso contrario

4.2.3.5. int Organismo::num_victimas () const

Consultora del número de victimas.

Precondición:

cierto

Postcondición:

El resultado es el número de organismos destruidos por el parámetro implícito

4.2.3.6. void Organismo::leer_organismo (int N)

Operación de lectura.

Precondición:

N>0

Postcondición:

El parámetro implícito es un organismo tomado del canal de entrada estándard formado por células deN parámetros

4.2.3.7. void Organismo::escribir_organismo (bool estr) const

Operación de escritura.

Precondición:

cierto

Postcondición:

Se ha escrito el identificador del parámetro implíctio y el número de rivales que ha destruido por elcanal de salida estándard; si estr es cierto también se ha escrito su estructura celular

La documentación para esta clase fue generada a partir del siguiente fichero:

Organismo.hpp

Generado el Thu Nov 18 16:13:41 2010 para Caso de estudio: experimentos inmunologicos. Laboratorio de PRO2. por Doxygen

4.3 Referencia de la Clase Sistema 13

4.3. Referencia de la Clase Sistema

Representa el sistema donde se desarrollan los experimentos.

Métodos públicos

Sistema ()

Creadora por defecto.

∼Sistema ()

Destructora por defecto.

void anadir_organismo (Organismo &o, bool &sobrevive)

Modificadora que gestiona el intento de entrada de un organismo en el sistema.

void leer_sistema (int N)

Operación de lectura.

void escribir_sistema (bool tipo, bool estr) const

Operación de escritura.

4.3.1. Descripción detallada

Representa el sistema donde se desarrollan los experimentos.

Ofrece operaciones para introducir un organismo en el sistema, de lectura y escritura del sistema.

Definición en la línea 20 del archivo Sistema.hpp.

4.3.2. Documentación del constructor y destructor

4.3.2.1. Sistema::Sistema ()

Creadora por defecto.

Precondición:

cierto

Postcondición:

El resultado es un sistema en que no ha entrado ningún organismo

4.3.2.2. Sistema::∼Sistema ()

Destructora por defecto.

Generado el Thu Nov 18 16:13:41 2010 para Caso de estudio: experimentos inmunologicos. Laboratorio de PRO2. por Doxygen

14 Documentación de las clases

4.3.3. Documentación de las funciones miembro

4.3.3.1. void Sistema::anadir_organismo (Organismo & o, bool & sobrevive)

Modificadora que gestiona el intento de entrada de un organismo en el sistema.

Precondición:

o es un organismo sin identificador

Postcondición:

El parámetro implícito contiene el estado del sistema después del intento de entrada del organismo o;o pasa a tener identificador y a contener el número de organismos que ha destruido; sobrevive indicasi o queda vivo en el parametro implícito o no

4.3.3.2. void Sistema::leer_sistema (int N)

Operación de lectura.

Precondición:

El parámetro implícito es un sistema en que no ha entrado ningún organismo; N>0

Postcondición:

El parámetro implícito está formado por un grupo de organismos leídos por el canal de entrada están-dard, formados por células de N parámetros

4.3.3.3. void Sistema::escribir_sistema (bool tipo, bool estr) const

Operación de escritura.

Precondición:

cierto

Postcondición:

Si tipo es cierto, se han escrito en el canal de salida estándard, por orden de identificador, los organis-mos defensivos del parámetro implícito, en caso contrario se han escrito los malignos; si estr es cierto,cada organismo se escribe con su estructura celular, en caso contrario sólo se escribe su identificador

La documentación para esta clase fue generada a partir del siguiente fichero:

Sistema.hpp

Generado el Thu Nov 18 16:13:41 2010 para Caso de estudio: experimentos inmunologicos. Laboratorio de PRO2. por Doxygen

Capítulo 5

Documentación de archivos

5.1. Referencia del Archivo Celula.hpp

Especificación de la clase Celula.

Clases

class CelulaRepresenta el conjunto de características y operaciones de las células.

5.1.1. Descripción detallada

Especificación de la clase Celula.

Definición en el archivo Celula.hpp.

16 Documentación de archivos

5.2. Referencia del Archivo Organismo.hpp

Especificación de la clase Organismo.

Dependencia gráfica adjunta para Organismo.hpp:

Organismo.hpp

Celula.hpp

Clases

class OrganismoRepresenta la información y las operaciones asociadas a un organismo.

5.2.1. Descripción detallada

Especificación de la clase Organismo.

Definición en el archivo Organismo.hpp.

Generado el Thu Nov 18 16:13:41 2010 para Caso de estudio: experimentos inmunologicos. Laboratorio de PRO2. por Doxygen

5.3 Referencia del Archivo pro2.cpp 17

5.3. Referencia del Archivo pro2.cpp

Programa principal.

Dependencia gráfica adjunta para pro2.cpp:

pro2.cpp

Sistema.hpp

Organismo.hpp

Celula.hpp

Funciones

void escribir (int muertos, bool sobrevive)

Escritura de los resultados de la opción -1.

int main ()

5.3.1. Descripción detallada

Programa principal.

Estamos suponiendo que los datos leídos siempre son correctos, ya que no incluímos comprobaciones alrespecto. Por último, puesto que los datos de los organismos y células son naturales (identificadores, ...)usaremos números negativos para las opciones.

Definición en el archivo pro2.cpp.

5.3.2. Documentación de las funciones

5.3.2.1. void escribir (int muertos, bool sobrevive)

Escritura de los resultados de la opción -1.

Definición en la línea 43 del archivo pro2.cpp.

44 {45 // Escribe el entero y el booleano con el formato de la salida46 // de la práctica. Se completará cuando se conozca dicho formato47 }

5.3.2.2. int main ()

Definición en la línea 49 del archivo pro2.cpp.

Generado el Thu Nov 18 16:13:41 2010 para Caso de estudio: experimentos inmunologicos. Laboratorio de PRO2. por Doxygen

18 Documentación de archivos

50 {51 int N; // Número de parámetros de las células52 N = readint();53 Sistema S;54 S.leer_sistema(N);55 int op; // Código de operación56 op = readint();57 while (op != -3) {58 if (op == -1 ) {59 Organismo O;60 O.leer_organismo(N);61 bool sobrevive;62 S.anadir_organismo(O, sobrevive);63 escribir(O.num_victimas(), sobrevive);64 }65 else if (op == -2) {66 bool tipo = readbool();67 bool estr = readbool();68 S.escribir_sistema(tipo, estr);69 }70 op = readint();71 }72 }

Generado el Thu Nov 18 16:13:41 2010 para Caso de estudio: experimentos inmunologicos. Laboratorio de PRO2. por Doxygen

5.4 Referencia del Archivo Sistema.hpp 19

5.4. Referencia del Archivo Sistema.hpp

Especificación de la clase Sistema.

Dependencia gráfica adjunta para Sistema.hpp:

Sistema.hpp

Organismo.hpp

Celula.hpp

Clases

class SistemaRepresenta el sistema donde se desarrollan los experimentos.

5.4.1. Descripción detallada

Especificación de la clase Sistema.

Definición en el archivo Sistema.hpp.

Generado el Thu Nov 18 16:13:41 2010 para Caso de estudio: experimentos inmunologicos. Laboratorio de PRO2. por Doxygen

Índice alfabético

∼CelulaCelula, 8

∼OrganismoOrganismo, 11

∼SistemaSistema, 13

anadir_idOrganismo, 11

anadir_organismoSistema, 14

Celula, 7∼Celula, 8Celula, 8es_vacia, 8escribir_celula, 9leer_celula, 8lucha_celulas, 8

Celula.hpp, 15

es_malignoOrganismo, 11

es_vaciaCelula, 8

escribirpro2.cpp, 17

escribir_celulaCelula, 9

escribir_organismoOrganismo, 12

escribir_sistemaSistema, 14

incrementar_victimasOrganismo, 11

leer_celulaCelula, 8

leer_organismoOrganismo, 12

leer_sistemaSistema, 14

lucha_celulasCelula, 8

lucha_organismosOrganismo, 11

mainpro2.cpp, 17

num_victimasOrganismo, 12

Organismo, 10∼Organismo, 11anadir_id, 11es_maligno, 11escribir_organismo, 12incrementar_victimas, 11leer_organismo, 12lucha_organismos, 11num_victimas, 12Organismo, 10

Organismo.hpp, 16

pro2.cpp, 17escribir, 17main, 17

Sistema, 13∼Sistema, 13anadir_organismo, 14escribir_sistema, 14leer_sistema, 14Sistema, 13

Sistema.hpp, 19