Práctica de PRO2 - Primavera 2020 - Entrega intermedia X37506


Statement
 

pdf   zip   tar

html

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

Entrada

Una secuencia de instrucciones y datos que siguen el formato del enunciado de la práctica y del juego de pruebas público.

Salida

Una secuencia de resultados que siguen el formato del enunciado de la práctica y del juego de pruebas público.

Observación

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.

Public test cases
  • 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
    
    
  • Information
    Author
    PRO2
    Language
    Spanish
    Official solutions
    Make
    User solutions
    Make