Este problema corresponde a la entrega intermedia de la práctica. Tened en cuenta que:
Esta no es la entrega definitiva de la práctica completa, ni siquiera es una entrega provisional de la práctica completa
En esta entrega se ha de proporcionar todo el código necesario (clases, programa principal y Makefile) para poder usar las 8 primeras funcionalidades de la práctica, es decir, las que tratan solo con especies, no con clusters.
En esta entrega no pedimos carpetas generadas mediante
doxygen, pero los ficheros de la clases pueden
llevar todos los comentarios doxygen que
queráis; de hecho recomendamos que incluyáis las especificaciones de
todas las operaciones y que sean lo más definitivas posible
Esta entrega no tendrá nota manual
Una secuencia de instrucciones y datos que siguen el formato del enunciado de la práctica y del juego de pruebas público.
Una secuencia de resultados que siguen el formato del enunciado de la práctica y del juego de pruebas público.
El Jutge prueba vuestras entregas mediante 4 juegos de pruebas:
sample: el juego de pruebas público
privat1: juego de pruebas con un poco de todo
privat2: juego de pruebas similar al anterior pero con un k mas pequeño
privat3: juego de pruebas que hace énfasis en la eficiencia
En un fichero llamado practica.tar tenéis
que entregar
Los ficheros .hh y .cc de las clases y el programa principal
El fichero Makefile, que usaremos para generar y probar el ejecutable
Tened en cuenta las siguientes restricciones:
El fichero que contiene el programa principal se ha de llamar
program.cc
El Makefile ha de generar un ejecutable llamado
program.exe
Es importante que uséis las opciones de compilación del Jutge de PRO2 (ved Documentation Compilers PRO2 a www.jutge.org)
No usar la opción -D_GLIBCXX_DEBUG o
usarla de forma incorrecta podrá ser penalizado
Producid el fichero practica.tar con la
instrucción Linux
tar -cvf practica.tar fitxer1 fitxer2 fitxer3 ...
desde el directorio/carpeta donde tengáis los ficheros que vais a
entregar. Incluid esta instrucción en vuestro Makefile, de forma que el
.tar se pueda generar ejecutando
make practica.tar. Con eso reduciréis el
riesgo de error en sucesivas entregas. El Jutge no acepta
.tar donde los ficheros estén dentro de
carpetas. Recomendamos usar GNU tar para
reducir el riesgo de que el fichero
practica.tar sea incompatible con el Jutge. No
es necesario incluir BinTree.hh en
practica.tar.
Input
3 lee_cjt_especies 5 d GCTCCTGTCCGTTTCAGCCG e TACACCATTAACCGGTGGGG a AAAAGATGACCAGCGTAATG b GCAACCTTTGTGGGCGCAGT c ACGATTTGCGTAAGCTATGT imprime_cjt_especies distancia a c distancia x c distancia a x distancia x y distancia c a obtener_gen c obtener_gen x tabla_distancias crea_especie f GAAAAAAAAAAAAAAAAAAAAA crea_especie f TCGATACCAGAGAAACTGTT crea_especie g AAAAAAAAAAAAAAAAAAAAAA crea_especie h AAAAAAAAAAAAAAAAAAAAAG imprime_cjt_especies tabla_distancias elimina_especie h elimina_especie h existe_especie f existe_especie h imprime_cjt_especies tabla_distancias lee_cjt_especies 0 imprime_cjt_especies tabla_distancias crea_especie pangolin AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA imprime_cjt_especies tabla_distancias obtener_gen pangolin fin
Output
# lee_cjt_especies # imprime_cjt_especies a AAAAGATGACCAGCGTAATG b GCAACCTTTGTGGGCGCAGT c ACGATTTGCGTAAGCTATGT d GCTCCTGTCCGTTTCAGCCG e TACACCATTAACCGGTGGGG # distancia a c 71.4286 # distancia x c ERROR: La especie x no existe. # distancia a x ERROR: La especie x no existe. # distancia x y ERROR: La especie x y la especie y no existen. # distancia c a 71.4286 # obtener_gen c ACGATTTGCGTAAGCTATGT # obtener_gen x ERROR: La especie x no existe. # tabla_distancias a: b (90.9091) c (71.4286) d (90.9091) e (90.9091) b: c (87.5) d (87.5) e (83.871) c: d (83.871) e (94.1176) d: e (97.1429) e: # crea_especie f GAAAAAAAAAAAAAAAAAAAAA # crea_especie f TCGATACCAGAGAAACTGTT ERROR: La especie f ya existe. # crea_especie g AAAAAAAAAAAAAAAAAAAAAA # crea_especie h AAAAAAAAAAAAAAAAAAAAAG # imprime_cjt_especies a AAAAGATGACCAGCGTAATG b GCAACCTTTGTGGGCGCAGT c ACGATTTGCGTAAGCTATGT d GCTCCTGTCCGTTTCAGCCG e TACACCATTAACCGGTGGGG f GAAAAAAAAAAAAAAAAAAAAA g AAAAAAAAAAAAAAAAAAAAAA h AAAAAAAAAAAAAAAAAAAAAG # tabla_distancias a: b (90.9091) c (71.4286) d (90.9091) e (90.9091) f (94.4444) g (94.4444) h (91.4286) b: c (87.5) d (87.5) e (83.871) f (100) g (100) h (100) c: d (83.871) e (94.1176) f (100) g (100) h (97.2973) d: e (97.1429) f (100) g (100) h (100) e: f (100) g (100) h (100) f: g (9.52381) h (9.52381) g: h (9.52381) h: # elimina_especie h # elimina_especie h ERROR: La especie h no existe. # existe_especie f SI # existe_especie h NO # imprime_cjt_especies a AAAAGATGACCAGCGTAATG b GCAACCTTTGTGGGCGCAGT c ACGATTTGCGTAAGCTATGT d GCTCCTGTCCGTTTCAGCCG e TACACCATTAACCGGTGGGG f GAAAAAAAAAAAAAAAAAAAAA g AAAAAAAAAAAAAAAAAAAAAA # tabla_distancias a: b (90.9091) c (71.4286) d (90.9091) e (90.9091) f (94.4444) g (94.4444) b: c (87.5) d (87.5) e (83.871) f (100) g (100) c: d (83.871) e (94.1176) f (100) g (100) d: e (97.1429) f (100) g (100) e: f (100) g (100) f: g (9.52381) g: # lee_cjt_especies # imprime_cjt_especies # tabla_distancias # crea_especie pangolin AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA # imprime_cjt_especies pangolin AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA # tabla_distancias pangolin: # obtener_gen pangolin AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA