Práctica de PRO2 - Primavera 2024 - Entrega definitiva X20610


Statement
 

pdf   zip   tar

thehtml

Este problema es el único canal disponible para realizar la entrega definitiva de la práctica. Tened en cuenta que

  • El plazo de entrega definitiva acaba el martes 28 de mayo, a las 22h.
  • Esta es la entrega que dará lugar al total de la nota de la práctica; la nota de la entrega tendrá una parte procedente de corrección automática, otra procedente de corrección manual y otra procedente de las justificaciones de operaciones seleccionadas (consultad los detalles en el pdf sobre evaluación en el apartado “Pràctica” de la web de PRO2)
  • No superar ningún juego de pruebas conllevará un cero en la nota de la práctica
  • En esta entrega pedimos más cosas, que detallamos a continuación en negrita, además del código de la práctica y el Makefile, de las que se pedían en la entrega provisional
  • Pueden realizarse tantas entregas como se quiera, pero solo se tendrá en cuenta la más reciente que no sea SE ("Setter Error”).
  • El problema de la entrega final provisional seguirá disponible hasta horas antes del fin del plazo de entrega. De hecho, recomendamos usarlo para probar el código mientras no tengáis preparado el material adicional que pedimos

Observación

El Jutge prueba vuestras entregas mediante 4 juegos de pruebas:

  • sample: el juego de pruebas público
  • privat1: un poco de todo, especialmente hacer viaje, salvo eficiencia
  • privat2: un poco de todo, especialmente comerciar y reorganizar, salvo eficiencia
  • privat3: eficiencia

En un fichero llamado practica.tar tenéis que entregar

  • Los ficheros .hh y .cc de las clases y el programa principal. con los comentarios Doxygen correspondientes. No incluyáis ficheros .o, .exe y similares
  • El fichero Makefile, que usaremos para generar y probar el ejecutable; un Makefile incorrecto puede dar lugar a malos resultados en el Jutge o a penalización en la nota manual
  • Un fichero html.zip, obtenido comprimiendo la carpeta html del Doxygen generado a partir de los .hh y .cc anteriores. Dicha documentación no solo ha de incluir la parte pública de las clases sino también la parte privada (atributos y métodos privados) y la implementación de todas las operaciones
  • El documento pdf con las justificaciones solicitadas en la web de la práctica

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
  • No usar la opción -fno-extended-identifiers comporta un 0 en la práctica.

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

    7
    12 5
    6 13
    4 1
    43 14
    21 3
    17 2
    8 25
    barna
    berna
    birna
    #
    #
    borna
    #
    #
    burna
    #
    #
    2 50
    7 23
    // bucle
    escribir_barco
    ls
    burna
    3
    6 3 7
    4 7 3
    5 1 1
    barna
    2
    1 3 5
    3 3 2
    #
    leer_inventarios
    berna
    0
    birna
    1
    7 1 1
    #
    li bruna
    2
    2 4 5
    4 2 2
    leer_inventario borna
    2
    2 4 5
    4 2 2
    eb
    modificar_barco
    20 10
    3 5
    modificar_barco
    3 5
    12 3
    modificar_barco 
    15 10
    20 5
    modificar_barco
    3 10
    3 4
    eb
    mb
    6 10
    2 12
    eb
    consultar_num
    agregar_productos
    2
    1 2
    3 4
    ap
    1
    5 6
    cn
    escribir_producto 11
    ep 10
    escribir_ciudad bruna
    escribir_ciudad barna
    escribir_ciudad burna
    ec borna
    poner_prod bruna 11 3 3
    poner_prod borna 11 3 3
    poner_prod bruna 10 3 3
    poner_prod borna 2 10 10
    pp borna 7 200 200
    ec borna
    modificar_prod bruna 11 3 3
    modificar_prod borna 11 3 3
    modificar_prod borna 3 4 5
    mp borna 4 1 9
    ec borna
    quitar_prod bruna 11
    quitar_prod borna 11
    quitar_prod bruna 3
    quitar_prod borna 6
    qp borna 7
    ec borna
    consultar_prod bruna 11
    consultar_prod borna 11
    consultar_prod bruna 3
    consultar_prod borna 6
    cp borna 2
    ec borna
    comerciar z1 z2
    comerciar barna z1
    co z1 barna
    escribir_ciudad barna
    escribir_ciudad borna
    co barna barna
    escribir_ciudad barna
    co barna borna
    escribir_ciudad barna
    escribir_ciudad borna
    escribir_ciudad burna
    comerciar burna borna
    escribir_ciudad borna
    escribir_ciudad burna
    escribir_ciudad barna
    escribir_ciudad berna
    escribir_ciudad birna
    redistribuir
    escribir_ciudad borna
    escribir_ciudad burna
    escribir_ciudad barna
    escribir_ciudad berna
    escribir_ciudad birna
    hv
    eb
    leer_rio
    barna
    birna
    #
    #
    cerna
    #
    #
    escribir_ciudad barna
    escribir_ciudad cerna
    escribir_ciudad birna
    escribir_barco
    lr
    darna
    derna
    dirna
    #
    #
    dorna
    #
    #
    durna
    #
    #
    ec darna
    ls
    darna
    2
    1 15 8
    2 3 10
    derna
    2
    2 20 3
    3 4 20
    dirna
    2 
    3 14 5
    4 2 10
    dorna
    2
    4 10 10
    5 20 20
    durna
    2
    6 8 9
    7 19 3
    #
    re
    escribir_ciudad darna
    escribir_ciudad derna
    escribir_ciudad dirna
    escribir_ciudad dorna
    escribir_ciudad durna
    mb 3 10 4 10
    // primer viaje
    hacer_viaje
    eb
    escribir_ciudad darna
    escribir_ciudad derna
    escribir_ciudad dirna
    escribir_ciudad dorna
    escribir_ciudad durna
    escribir_barco
    mb 8 10 9 10
    eb
    // segundo viaje
    hv
    eb
    escribir_ciudad darna
    escribir_ciudad derna
    escribir_ciudad dirna
    escribir_ciudad dorna
    escribir_ciudad durna
    // tercer viaje
    mb 2 10 6 10
    hacer_viaje
    escribir_barco
    escribir_ciudad darna
    escribir_ciudad derna
    escribir_ciudad dirna
    escribir_ciudad dorna
    escribir_ciudad durna
    pp durna 2 4 7
    pp durna 1 7 4
    escribir_ciudad durna
    // quinto mb
    mb 1 10 2 10
    hv
    escribir_ciudad darna
    escribir_ciudad derna
    escribir_ciudad dirna
    escribir_ciudad dorna
    escribir_ciudad durna
    fin
    
    

    Output

    #escribir_barco
    2 50 7 23
    #ls
    #leer_inventarios
    #li bruna
    error: no existe la ciudad
    #leer_inventario borna
    #eb
    2 50 7 23
    #modificar_barco
    error: no existe el producto
    #modificar_barco
    error: no existe el producto
    #modificar_barco
    error: no existe el producto
    #modificar_barco
    error: no se puede comprar y vender el mismo producto
    #eb
    2 50 7 23
    #mb
    #eb
    6 10 2 12
    #consultar_num
    7
    #agregar_productos 2
    #ap 1
    #cn
    10
    #escribir_producto 11
    error: no existe el producto
    #ep 10
    10 5 6
    #escribir_ciudad bruna
    error: no existe la ciudad
    #escribir_ciudad barna
    1 3 5
    3 3 2
    48 18
    #escribir_ciudad burna
    4 7 3
    5 1 1
    6 3 7
    373 107
    #ec borna
    2 4 5
    4 2 2
    110 80
    #poner_prod bruna 11
    error: no existe el producto
    #poner_prod borna 11
    error: no existe el producto
    #poner_prod bruna 10
    error: no existe la ciudad
    #poner_prod borna 2
    error: la ciudad ya tiene el producto
    #pp borna 7
    1710 5080
    #ec borna
    2 4 5
    4 2 2
    7 200 200
    1710 5080
    #modificar_prod bruna 11
    error: no existe el producto
    #modificar_prod borna 11
    error: no existe el producto
    #modificar_prod borna 3
    error: la ciudad no tiene el producto
    #mp borna 4
    1667 5066
    #ec borna
    2 4 5
    4 1 9
    7 200 200
    1667 5066
    #quitar_prod bruna 11
    error: no existe el producto
    #quitar_prod borna 11
    error: no existe el producto
    #quitar_prod bruna 3
    error: no existe la ciudad
    #quitar_prod borna 6
    error: la ciudad no tiene el producto
    #qp borna 7
    67 66
    #ec borna
    2 4 5
    4 1 9
    67 66
    #consultar_prod bruna 11
    error: no existe el producto
    #consultar_prod borna 11
    error: no existe el producto
    #consultar_prod bruna 3
    error: no existe la ciudad
    #consultar_prod borna 6
    error: la ciudad no tiene el producto
    #cp borna 2
    4 5
    #ec borna
    2 4 5
    4 1 9
    67 66
    #comerciar z1 z2
    error: no existe la ciudad
    #comerciar barna z1
    error: no existe la ciudad
    #co z1 barna
    error: no existe la ciudad
    #escribir_ciudad barna
    1 3 5
    3 3 2
    48 18
    #escribir_ciudad borna
    2 4 5
    4 1 9
    67 66
    #co barna barna
    error: ciudad repetida
    #escribir_ciudad barna
    1 3 5
    3 3 2
    48 18
    #co barna borna
    #escribir_ciudad barna
    1 3 5
    3 3 2
    48 18
    #escribir_ciudad borna
    2 4 5
    4 1 9
    67 66
    #escribir_ciudad burna
    4 7 3
    5 1 1
    6 3 7
    373 107
    #comerciar burna borna
    #escribir_ciudad borna
    2 4 5
    4 5 9
    239 122
    #escribir_ciudad burna
    4 3 3
    5 1 1
    6 3 7
    201 51
    #escribir_ciudad barna
    1 3 5
    3 3 2
    48 18
    #escribir_ciudad berna
    0 0
    #escribir_ciudad birna
    7 1 1
    8 25
    #redistribuir
    #escribir_ciudad borna
    2 4 5
    4 5 9
    239 122
    #escribir_ciudad burna
    4 3 3
    5 1 1
    6 3 7
    201 51
    #escribir_ciudad barna
    1 3 5
    3 3 2
    48 18
    #escribir_ciudad berna
    0 0
    #escribir_ciudad birna
    7 1 1
    8 25
    #hv
    1
    #eb
    6 10 2 12
    borna
    #leer_rio
    #escribir_ciudad barna
    0 0
    #escribir_ciudad cerna
    0 0
    #escribir_ciudad birna
    0 0
    #escribir_barco
    6 10 2 12
    #lr
    #ec darna
    0 0
    #ls
    #re
    #escribir_ciudad darna
    1 15 8
    2 10 10
    240 205
    #escribir_ciudad derna
    2 13 3
    3 13 20
    130 182
    #escribir_ciudad dirna
    3 5 5
    4 2 10
    106 33
    #escribir_ciudad dorna
    4 10 10
    5 20 20
    850 200
    #escribir_ciudad durna
    6 8 9
    7 19 3
    288 491
    #mb
    #hacer_viaje
    8
    #eb
    3 10 4 10
    dirna
    #escribir_ciudad darna
    1 15 8
    2 10 10
    240 205
    #escribir_ciudad derna
    2 13 3
    3 13 20
    130 182
    #escribir_ciudad dirna
    3 5 5
    4 10 10
    450 145
    #escribir_ciudad dorna
    4 10 10
    5 20 20
    850 200
    #escribir_ciudad durna
    6 8 9
    7 19 3
    288 491
    #escribir_barco
    3 10 4 10
    dirna
    #mb
    #eb
    8 10 9 10
    dirna
    #hv
    0
    #eb
    8 10 9 10
    dirna
    #escribir_ciudad darna
    1 15 8
    2 10 10
    240 205
    #escribir_ciudad derna
    2 13 3
    3 13 20
    130 182
    #escribir_ciudad dirna
    3 5 5
    4 10 10
    450 145
    #escribir_ciudad dorna
    4 10 10
    5 20 20
    850 200
    #escribir_ciudad durna
    6 8 9
    7 19 3
    288 491
    #mb
    #hacer_viaje
    10
    #escribir_barco
    2 10 6 10
    dirna
    derna
    #escribir_ciudad darna
    1 15 8
    2 10 10
    240 205
    #escribir_ciudad derna
    2 3 3
    3 13 20
    70 52
    #escribir_ciudad dirna
    3 5 5
    4 10 10
    450 145
    #escribir_ciudad dorna
    4 10 10
    5 20 20
    850 200
    #escribir_ciudad durna
    6 8 9
    7 19 3
    288 491
    #pp durna 2
    312 543
    #pp durna 1
    396 578
    #escribir_ciudad durna
    1 7 4
    2 4 7
    6 8 9
    7 19 3
    396 578
    #mb
    #hv
    13
    #escribir_ciudad darna
    1 8 8
    2 10 10
    156 170
    #escribir_ciudad derna
    2 3 3
    3 13 20
    70 52
    #escribir_ciudad dirna
    3 5 5
    4 10 10
    450 145
    #escribir_ciudad dorna
    4 10 10
    5 20 20
    850 200
    #escribir_ciudad durna
    1 4 4
    2 7 7
    6 8 9
    7 19 3
    378 602
    
  • Information
    Author
    Language
    Spanish
    Official solutions
    Make
    User solutions
    Make