Pràctica de PRO2 - Tardor 2018 (Lliurament definitiu - FORA DE TERMINI) X56106


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.
  • Només avaluarem el darrer enviament realitzat dins el termini establert, és a dir, ABANS de les 20h del 12/12/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.
  • Aquest quadrimestre el treball en equip no es lliura al jutge.

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 molt similar al públic.
  • privat2: joc de proves privat que fa èmfasi en la gestió de la memòria dels processsadors.
  • privat3: joc de proves privat que fa èmfasi en la distribució de processos al cluster.

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 només 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).

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

    configurar_cluster 10
    5 3 2 0 8 0 0 0 1 9 0 0 7 4 6 0 0 0 10 0 0
    10
    20
    30
    40
    50
    10
    20
    30
    40
    50
    consultar_usuario patata
    enviar_proceso_a_usuario patata 100 10 10
    consultar_usuario patata
    poner_usuario patata
    consultar_usuario patata
    enviar_proceso_a_usuario patata 100 10 10
    consultar_usuario patata
    consultar_procesador 5
    enviar_procesos_a_cluster 10
    consultar_procesador 1
    consultar_procesador 2
    consultar_procesador 3
    consultar_procesador 4
    consultar_procesador 5
    consultar_procesador 6
    consultar_procesador 7
    consultar_procesador 8
    consultar_procesador 9
    consultar_procesador 10
    consultar_usuario patata
    poner_usuario boniato
    enviar_proceso_a_usuario boniato 101 41 20
    poner_usuario lechuga
    enviar_proceso_a_usuario lechuga 102 1 1
    consultar_usuario boniato
    consultar_usuario lechuga
    enviar_procesos_a_cluster 1
    consultar_usuario boniato
    consultar_usuario lechuga
    consultar_procesador 5
    consultar_procesador 10
    enviar_proceso_a_usuario boniato 103 60 8
    enviar_proceso_a_usuario boniato 104 12 100
    enviar_proceso_a_usuario boniato 105 20 80
    enviar_proceso_a_usuario boniato 106 7 10
    enviar_proceso_a_usuario boniato 107 30 20
    enviar_proceso_a_usuario boniato 108 15 40
    enviar_proceso_a_usuario lechuga 109 30 20
    enviar_proceso_a_usuario lechuga 110 15 40
    consultar_usuario patata
    consultar_usuario boniato
    consultar_usuario lechuga
    enviar_procesos_a_cluster 6
    consultar_usuario patata
    consultar_usuario boniato
    consultar_usuario lechuga
    consultar_procesador 1
    consultar_procesador 2
    consultar_procesador 3
    consultar_procesador 4
    consultar_procesador 5
    consultar_procesador 6
    consultar_procesador 7
    consultar_procesador 8
    consultar_procesador 9
    consultar_procesador 10
    avanzar_tiempo 11
    consultar_procesador 1
    consultar_procesador 2
    consultar_procesador 3
    consultar_procesador 4
    consultar_procesador 5
    consultar_procesador 6
    consultar_procesador 7
    consultar_procesador 8
    consultar_procesador 9
    consultar_procesador 10
    quitar_usuario patata
    quitar_usuario boniato
    consultar_usuario patata
    consultar_usuario boniato
    consultar_usuario lechuga
    poner_proceso_en_procesador 6 boniato 111 1000 10
    consultar_procesador 6
    consultar_usuario boniato
    poner_proceso_en_procesador 6 boniato 112 10 10
    consultar_procesador 6
    consultar_usuario boniato
    quitar_proceso_de_procesador 4 200
    consultar_procesador 4
    quitar_proceso_de_procesador 4 107
    consultar_procesador 4
    configurar_cluster 2
    1 2 0 0 0
    100
    200
    enviar_procesos_a_cluster 100
    consultar_procesador 1
    consultar_procesador 2
    consultar_usuario boniato
    consultar_usuario lechuga
    acabar
    
    

    Output

    Usuario patata
    Usuario patata
    Usuario patata
      0
    Usuario patata
      1 100
    Procesador 5
    Procesador 1
    Procesador 2
    Procesador 3
    Procesador 4
    Procesador 5
      0 patata 100 10 10
    Procesador 6
    Procesador 7
    Procesador 8
    Procesador 9
    Procesador 10
    Usuario patata
      0
    Usuario boniato
      1 101
    Usuario lechuga
      1 102
    Usuario boniato
      0
    Usuario lechuga
      1 102
    Procesador 5
      0 patata 100 10 10
    Procesador 10
      0 boniato 101 41 20
    Usuario patata
      0
    Usuario boniato
      6 103
    Usuario lechuga
      3 102
    Usuario patata
      0
    Usuario boniato
      2 108
    Usuario lechuga
      1 110
    Procesador 1
    Procesador 2
    Procesador 3
      0 lechuga 109 30 20
    Procesador 4
      0 boniato 106 7 10
      7 lechuga 102 1 1
      8 boniato 107 30 20
    Procesador 5
      0 patata 100 10 10
      10 boniato 104 12 100
    Procesador 6
    Procesador 7
    Procesador 8
    Procesador 9
      0 boniato 105 20 80
    Procesador 10
      0 boniato 101 41 20
    Procesador 1
    Procesador 2
    Procesador 3
      0 lechuga 109 30 9
    Procesador 4
      8 boniato 107 30 9
    Procesador 5
      10 boniato 104 12 89
    Procesador 6
    Procesador 7
    Procesador 8
    Procesador 9
      0 boniato 105 20 69
    Procesador 10
      0 boniato 101 41 9
    Usuario patata
    Usuario boniato
      2 108
    Usuario lechuga
      1 110
    Procesador 6
    Usuario boniato
      3 108
    Procesador 6
      0 boniato 112 10 10
    Usuario boniato
      3 108
    Procesador 4
      8 boniato 107 30 9
    Procesador 4
    Procesador 1
    Procesador 2
      0 boniato 108 15 40
      15 boniato 103 60 8
      75 lechuga 110 15 40
    Usuario boniato
      1 111
    Usuario lechuga
      0
    
  • Information
    Author
    PR02
    Language
    Catalan
    Official solutions
    Make
    User solutions
    Make