Práctica de PRO2 - Primavera 2024 - Entrega provisional ESTE PROBLEMA SE BORRARÁ A LAS 21:30, USAD LA ENTREGA DEFINITIVA X46794


Statement
 

pdf   zip   tar

thehtml

Este problema es el único canal disponible para realizar entregas provisionales de la práctica, es decir, las entregas realizadas en este problema no afectarán la nota de la práctica. Tened en cuenta que

  • Más adelante habrá otro problema del jutge para hacer la entrega definitiva, que requerirá incluir documentación extra.

  • El plazo para la entrega definitiva acaba el martes 28 de mayo, a las 22h.

  • No superar ningún juego de pruebas en la entrega definitiva conllevará un cero en la nota de la práctica
  • El problema del Jutge de la entrega definitiva puede contener juegos de prueba o condiciones diferentes de los que aparecen en este problema
  • En esta entrega no pedimos carpetas generadas mediante doxygen, pero los ficheros de las 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
  • Este problema de la entrega 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 y esté disponible la entrega final definitiva.

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. 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

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