Pràctica de PRO2 - Primavera 2018 (Definitiva) X56281


Statement
 

pdf   zip   tar

html

En negreta s’indiquen les novetats respecte el problema del Jutge per fer el lliurament provisional de la pràctica.
 
Aquest és el problema de Jutge que permet fer el lliurament definitiu de la pràctica.

Avisos importants:

  • Tothom ha de lliurar la seva pròpia pràctica.
  • Un únic integrant designat de cada equip ha de lliurar el treball en equip.
  • Només avaluarem el darrer enviament realitzat dins el termini establert, és a dir, ABANS del 30/5/2018.
  • No superar cap joc de proves suposa una nota de zero de tota la pràctica.
  • Recomanem fer servir el lliurament per la pràctica provisional fins a tenir enllestida la pràctica definitiva.

Entrada

Una seqüència d’instruccions seguint el format de l’enunciat de la pràctica i del joc de proves public.

Sortida

El seu resultat seguint el format de l’enunciat de la pràctica i del joc de proves public.

Observació

El Jutge prova el vostre lliurament mitjançant 4 jocs de proves:

  • sample: el joc de proves públic.
  • privat1: joc de proves privat que fa èmfasi en les operacions poner_items, quitar_items i reorganizar.
  • privat2: joc de proves privat que fa èmfasi en les operacions distribuir, redimensionar i compactar.
  • privat3: joc de proves privat que fa una mica de tot

Són els mateixos jocs de proves que els de la pràctica provisional.

En un fitxer de nom practica.tar heu de lliurar

  • Els fitxers .hh i .cc de les classes que heu implementat (amb els comentaris de Doxygen escaients).
  • El fitxer Makefile (l’usarem per generar el fitxer executable i provar-lo).
  • Un fitxer html.zip, obtingut zipejant la carpeta html del doxygen generat a partir dels .cc i els .hh dels mòduls. La documentació en Doxygen no sols ha de cobrir la part pública de les classes (com al lliurament de l’especificació) sinó també la part privada (atributs i mètodes privats).
  • Un únic integrant designat de cada equip ha de lliurar un fitxer zip amb el treball en equip seguint les instruccions que trobareu al document sobre la competència de treball en equip a la pàgina web de l’assignatura.

Tingueu en compte les restriccions següents:

  • El mòdul que conté la funció main s’ha de dir program.cc.
  • El Makefile ha de generar un executable de nom program.exe.
  • Recomanem que useu les opcions de compilació del Jutge de PRO2 (vegeu Documentation → Compilers → PRO2 a www.jutge.org).
  • No usar l’opció -D_GLIBCXX_DEBUG o no usar-la correctament serà fortament penalitzat.
  • La documentació lliurada ha de permetre veure els atributs i el codi dels mètodes de les classes tant privats com públics. Si no és així, la nota de la correcció manual serà zero. Comproveu que la vostra documentació és correcta. Cal fer servir un fitxer Doxyfile per generar la documentació de la implementació.

Produïu el fitxer .tar amb la comanda

tar -cvf practica.tar fitxer1 fitxer2 fitxer3 ...

des del directori on es troben els fitxers que heu de lliurar. Poseu aquesta instrucció en el vostre Makefile de forma que es pugui generar el .tar executant make practica.tar. Amb això reduireu la possibilitat d’error en enviaments successius. El Jutge no accepta .tar on els fitxers a lliurar es troben dins de carpetes. Recomanem usar GNU tar per reduir el risc que el .tar singui incompatible amb el Jutge. No cal incloure BinTree.hh a practica.tar. Si es fa servir PRO2Excepcio.hh, que no es obligatori, si que cal incloure’l.

Public test cases
  • Input

    7
    1 2 4 0 0 5 0 0 3 6 0 0 7 0 0
    1 1
    2 2
    3 3
    3 2
    4 3
    1 2
    2 2
    escribir 1
    escribir 2
    escribir 3
    escribir 4
    escribir 5
    escribir 6
    escribir 7
    poner_items 5 XW23 100
    poner_prod XW23
    inventario
    poner_prod XW23
    inventario
    quitar_prod QC32
    quitar_prod XW23
    inventario
    poner_prod XW23
    consultar_prod ZMJ2
    poner_items 5 XW23 100
    consultar_pos 5 2 1
    escribir 5
    consultar_prod XW23
    distribuir AS34 40
    poner_prod AS34
    distribuir AS34 40
    escribir 1
    escribir 2
    escribir 3
    escribir 4
    escribir 5
    escribir 6
    escribir 7
    redimensionar 5 3 2
    escribir 5
    redimensionar 5 7 2
    escribir 5
    quitar_items 7 ASDF 10
    quitar_items 7 XW23 10
    escribir 7
    quitar_items 7 AS34 1
    escribir 7
    poner_prod ZZZZ
    poner_items 7 ZZZZ 5
    escribir 7
    reorganizar 7
    escribir 7
    quitar_items 5 XW23 4
    escribir 5
    compactar 5
    escribir 5
    consultar_pos 5 1 1
    consultar_pos 5 7 1
    inventario
    fin
    

    Output

    escribir 1
      NULL
      0
    escribir 2
      NULL NULL
      NULL NULL
      0
    escribir 3
      NULL NULL NULL
      NULL NULL NULL
      NULL NULL NULL
      0
    escribir 4
      NULL NULL
      NULL NULL
      NULL NULL
      0
    escribir 5
      NULL NULL NULL
      NULL NULL NULL
      NULL NULL NULL
      NULL NULL NULL
      0
    escribir 6
      NULL NULL
      0
    escribir 7
      NULL NULL
      NULL NULL
      0
    poner_items 5 XW23 100
      error
    poner_prod XW23
    inventario
      XW23 0
    poner_prod XW23
      error
    inventario
      XW23 0
    quitar_prod QC32
      error
    quitar_prod XW23
    inventario
    poner_prod XW23
    consultar_prod ZMJ2
      error
    poner_items 5 XW23 100
      88
    consultar_pos 5 2 1
      XW23
    escribir 5
      XW23 XW23 XW23
      XW23 XW23 XW23
      XW23 XW23 XW23
      XW23 XW23 XW23
      12
      XW23 12
    consultar_prod XW23
      12
    distribuir AS34 40
      error
    poner_prod AS34
    distribuir AS34 40
      14
    escribir 1
      AS34
      1
      AS34 1
    escribir 2
      AS34 AS34
      AS34 AS34
      4
      AS34 4
    escribir 3
      AS34 AS34 AS34
      AS34 AS34 AS34
      AS34 AS34 AS34
      9
      AS34 9
    escribir 4
      AS34 AS34
      AS34 AS34
      AS34 AS34
      6
      AS34 6
    escribir 5
      XW23 XW23 XW23
      XW23 XW23 XW23
      XW23 XW23 XW23
      XW23 XW23 XW23
      12
      XW23 12
    escribir 6
      AS34 AS34
      2
      AS34 2
    escribir 7
      AS34 AS34
      AS34 AS34
      4
      AS34 4
    redimensionar 5 3 2
      error
    escribir 5
      XW23 XW23 XW23
      XW23 XW23 XW23
      XW23 XW23 XW23
      XW23 XW23 XW23
      12
      XW23 12
    redimensionar 5 7 2
    escribir 5
      NULL NULL
      XW23 XW23
      XW23 XW23
      XW23 XW23
      XW23 XW23
      XW23 XW23
      XW23 XW23
      12
      XW23 12
    quitar_items 7 ASDF 10
      error
    quitar_items 7 XW23 10
      10
    escribir 7
      AS34 AS34
      AS34 AS34
      4
      AS34 4
    quitar_items 7 AS34 1
      0
    escribir 7
      AS34 AS34
      NULL AS34
      3
      AS34 3
    poner_prod ZZZZ
    poner_items 7 ZZZZ 5
      4
    escribir 7
      AS34 AS34
      ZZZZ AS34
      4
      AS34 3
      ZZZZ 1
    reorganizar 7
    escribir 7
      AS34 ZZZZ
      AS34 AS34
      4
      AS34 3
      ZZZZ 1
    quitar_items 5 XW23 4
      0
    escribir 5
      NULL NULL
      XW23 XW23
      XW23 XW23
      XW23 XW23
      XW23 XW23
      NULL NULL
      NULL NULL
      8
      XW23 8
    compactar 5
    escribir 5
      NULL NULL
      NULL NULL
      NULL NULL
      XW23 XW23
      XW23 XW23
      XW23 XW23
      XW23 XW23
      8
      XW23 8
    consultar_pos 5 1 1
      NULL
    consultar_pos 5 7 1
      XW23
    inventario
      AS34 25
      XW23 8
      ZZZZ 1
    fin
    
  • Information
    Author
    PR02
    Language
    Catalan
    Official solutions
    Make
    User solutions
    Make