Pràctica de PRO2 - Primavera 2019 (provisional, USAD EL DEFINITIVO) X12409


Statement
 

pdf   zip   tar

html

Este problema permite hacer entregas de prueba de la práctica completa. Tened en cuenta que:

  • no es el canal para hacer la entrega definitiva de la práctica
  • el problema del Jutge de la entrega definitiva puede contener elementos o condiciones diferentes de los que aparecen en este problema
  • las entregas realizadas en este problema no serán tenidas en cuenta para la nota de la práctica
  • 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

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: combinación de los juegos de pruebas de la entrega intermedia
  • privat2: juego de pruebas que explora situaciones de las tres funcionalidades que no aparecen en la entrega intermedia (codificar, decodificar, añadir/actualizar idioma), sin controlar la eficiencia
  • privat3: juego de pruebas que hace énfasis en la eficiencia de las tres funcionalidades que no aparecen en la entrega intemedia

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

    2
    
    idioma_corto
    3
    a 4
    b 7
    _ 5
    
    idioma_medio
    8
    Ç 2
    e 7
    f 3
    g 8
    _ 4
    a 4
    i 6
    À 2
    
    tabla_frec idioma_corto
    
    tabla_frec idioma_medio
    
    treecode idioma_corto
    
    treecode idioma_medio
    
    codigos idioma_corto todos
    
    codigos idioma_medio todos
    
    codigos idioma_corto a
    
    codigos idioma_corto k
    
    codigos idioma_medio À
    
    codifica idioma_medio
    efghifhgg_xxx_bbb_c
    
    codifica idioma_medio
    gafa_gafe_figa_Àfegia
    
    decodifica idioma_medio
    0110011101001001011111
    
    decodifica idioma_medio
    11101101111111011011110110110111111100100111
    
    decodifica idioma_corto
    1
    
    anadir/modificar idioma_corto
    3
    a 4
    b 3
    d 5
    
    tabla_frec idioma_corto
    
    treecode idioma_corto
    
    codigos idioma_corto todos
    
    
    tabla_frec basic2-1
    
    treecode  basic2-1
    
    codigos  basic2-1 todos
    
    codigos  basic2-1 5
    
    codifica basic2-1
    abddba
    
    decodifica basic2-1
    1101010011
    
    anadir/modificar idioma_cortisimo
    3
    ç 2
    _ 10
    à 5
    
    tabla_frec idioma_cortisimo
    
    treecode idioma_cortisimo
    
    codigos idioma_cortisimo todos
    
    codifica idioma_cortisimo
    ççç_ççà_ç
    
    codifica idioma_cortisimo
    x
    
    decodifica idioma_cortisimo
    101010
    
    decodifica idioma_cortisimo
    1001
    fin
    

    Output

    Tabla de frecuencias de idioma_corto:
    _ 5
    a 4
    b 7
    
    Tabla de frecuencias de idioma_medio:
    _ 4
    a 4
    e 7
    f 3
    g 8
    i 6
    À 2
    Ç 2
    
    Treecode de idioma_corto:
    recorrido en preorden:
    _ab 16
    b 7
    _a 9
    a 4
    _ 5
    recorrido en inorden:
    b 7
    _ab 16
    a 4
    _a 9
    _ 5
    
    Treecode de idioma_medio:
    recorrido en preorden:
    _figaÀÇe 36
    aÀÇe 15
    e 7
    aÀÇ 8
    a 4
    ÀÇ 4
    À 2
    Ç 2
    _fig 21
    g 8
    _fi 13
    i 6
    _f 7
    f 3
    _ 4
    recorrido en inorden:
    e 7
    aÀÇe 15
    a 4
    aÀÇ 8
    À 2
    ÀÇ 4
    Ç 2
    _figaÀÇe 36
    g 8
    _fig 21
    i 6
    _fi 13
    f 3
    _f 7
    _ 4
    
    Codigos de idioma_corto:
    _ 11
    a 10
    b 0
    
    Codigos de idioma_medio:
    _ 1111
    a 010
    e 00
    f 1110
    g 10
    i 110
    À 0110
    Ç 0111
    
    Codigo de a en idioma_corto:
    a 10
    
    Codigo de k en idioma_corto:
    El idioma no existe o el caracter no esta en el idioma
    
    Codigo de À en idioma_medio:
    À 0110
    
    Codifica en idioma_medio el texto:
    efghifhgg_xxx_bbb_c
    El texto no pertenece al idioma; primer caracter que falla: h
    
    Codifica en idioma_medio el texto:
    gafa_gafe_figa_Àfegia
    10010111001011111001011100011111110110100101111011011100010110010
    
    Decodifica en idioma_medio el texto:
    0110011101001001011111
    El texto no procede de una codificacion del idioma; ultima posicion del codigo correspondiente al ultimo caracter que se podria decodificar: 21
    
    Decodifica en idioma_medio el texto:
    11101101111111011011110110110111111100100111
    fi_fi_Ài_faÇ
    
    Decodifica en idioma_corto el texto:
    1
    El texto no procede de una codificacion del idioma; ultima posicion del codigo correspondiente al ultimo caracter que se podria decodificar: 0
    
    Modificado idioma_corto
    
    Tabla de frecuencias de idioma_corto:
    _ 5
    a 8
    b 10
    d 5
    
    Treecode de idioma_corto:
    recorrido en preorden:
    _dab 28
    b 10
    _da 18
    a 8
    _d 10
    _ 5
    d 5
    recorrido en inorden:
    b 10
    _dab 28
    a 8
    _da 18
    _ 5
    _d 10
    d 5
    
    Codigos de idioma_corto:
    _ 110
    a 10
    b 0
    d 111
    
    Tabla de frecuencias de basic2-1:
    El idioma no existe
    
    Treecode de basic2-1:
    El idioma no existe
    
    Codigos de basic2-1:
    El idioma no existe
    
    Codigo de 5 en basic2-1:
    El idioma no existe o el caracter no esta en el idioma
    
    Codifica en basic2-1 el texto:
    abddba
    El idioma no existe
    
    Decodifica en basic2-1 el texto:
    1101010011
    El idioma no existe
    
    Anadido idioma_cortisimo
    
    Tabla de frecuencias de idioma_cortisimo:
    _ 10
    à 5
    ç 2
    
    Treecode de idioma_cortisimo:
    recorrido en preorden:
    _àç 17
    àç 7
    ç 2
    à 5
    _ 10
    recorrido en inorden:
    ç 2
    àç 7
    à 5
    _àç 17
    _ 10
    
    Codigos de idioma_cortisimo:
    _ 1
    à 01
    ç 00
    
    Codifica en idioma_cortisimo el texto:
    ççç_ççà_ç
    0000001000001100
    
    Codifica en idioma_cortisimo el texto:
    x
    El texto no pertenece al idioma; primer caracter que falla: x
    
    Decodifica en idioma_cortisimo el texto:
    101010
    El texto no procede de una codificacion del idioma; ultima posicion del codigo correspondiente al ultimo caracter que se podria decodificar: 5
    
    Decodifica en idioma_cortisimo el texto:
    1001
    _ç_
    
    
  • Information
    Author
    PR02
    Language
    Spanish
    Official solutions
    Make
    User solutions
    Make