Aquest és un problema del jutge per fer lliuraments de l’examen de la pràctica
Aquest examen dura una hora i quaranta-cinc minuts
No es corregirà cap lliurament que no compili
L’examen es fa sense apunts
El 50% de la nota és de l’execució, l’altre 50% de la correcció manual
Es corregirà el darrer enviament amb més jocs de proves correctes
En cas de no passar cap joc de proves es farà la correcció manual del darrer enviament que compili
El nombre d’enviaments no fa baixar la nota
Descarregueu els fitxers públics per obtenir el material:
enunciat detallat d’aquest examen
enunciat de la pràctica
especificació de BinTree
especificació de list
fitxer llegeixme.txt
codi ja implementat
fitxer Makefile
joc de proves públic
Després de llegir l’enunciat de l’examen
atentament, així com el fitxer
llegeixme.txt, apliqueu la instrucció
make plantillas. Us apareixeran els fitxers
priv_Cluster.hh i
solution.cc que haureu fer servir de
plantilla. A més, solution.cc conté
l’especificació de les operacions públiques que heu d’implementar. Les
operacions privades que necessiteu, que només podran ser de la classe
Cluster les decidiu vosaltres: heu d’escriure
la capçalera a priv_Cluster.hh i la
implementació a solution.cc.
Les operacions que heu d’implementar, pertanyen a les classes
Cluster i
Pendientes. Ara us resumim les novetats més
importants de la implementació que us donem d’aquestes classes.
Els atributs d’un objecte Cluster són:
BinTree<int> arq;
vector<Procesador> chips;
int n_procesador;
i el seu invariant de representació és:
chips.size() = n_procesador
arq té n_procesador elements, que són una permutació de [1..n_procesador]
Els atributs d’un objecte Pendientes
són:
list <Proceso> pro_pen;
i el seu invariant de representació és:
els processos de pro_pen estan ordenats decreixentment per temps
i, en cas d'empat, creixentment per id
Haureu de fer servir una operació ja implementada de
Cluster
void poner_proceso_en_procesador(int id_procesador, const Proceso & p, bool & puesto);
/* PRE : 1 <= id_procesador <= numero de elementos del p.i.; no hay ningún
proceso en el procesador id_procesador del p.i. con el mismo id que p */
/* POST : si p cabe en el procesador id_procesador del p.i., pasa a
ejecutarse en el dicho procesador y "puesto" es cierto, en caso
contrario el proceso no se ejecuta en el procesador y "puesto" es
falso */
així com diverses operacions de Procesador
i Proceso que trobareu especificades als
corresponents fitxers .hh.
Una seqüència d’instruccions seguint el format de l’enunciat de l’examen i del joc de proves públic.
El seu resultat seguint el format de l’enunciat de l’examen i del joc de proves públic.
El Jutge prova el vostre lliurament mitjançant 4 jocs de proves:
sample: el joc de proves públic.
privat1: joc de proves similar al públic.
privat2: joc de proves privat que fa èmfasi en afegir processos pendents.
privat3: joc de proves privat que fa èmfasi en afegir un procés al cluster.
Heu de lliurar un fitxer solution.tar creat
amb la instrucció make tar definida al
Makefile amb una implementació eficient de les
operacions que es demanen.
Autoria: PR02
Generació: 2026-01-25T21:04:33.914Z
© Jutge.org, 2006–2026.
https://jutge.org