|
|
@@ -22,20 +22,12 @@ aux nacionalidadPrimerosTres(c:Competencia):[Pais] =
|
|
|
[ifthenelse(i<=|ranking (c)|-1, nacionalidad(ranking(c)[i]), "Narnia")| i <- [0..2]];
|
|
|
//Dada una competencia finalizada, describe una lista con los primeros tres países del ranking. Si el ranking tiene menos de tres elementos, rellena los otros con Narnia.
|
|
|
|
|
|
-aux ganadoresOroTotales (j: JJOO) : [Pais] =
|
|
|
-[nacionalidadPrimerosTres(c)[0] | dia <-- [1.. jornadaActual(j)], c <-- cronograma(j, dia), finalizada(c)];
|
|
|
-//Describe una lista de todos los países que ganaron oro hasta ahora. Si ganó varias veces, aparece varias veces en la lista.
|
|
|
-
|
|
|
-aux ganadoresPlataTotales (j: JJOO) : [Pais] =
|
|
|
-[nacionalidadPrimerosTres(c)[1] | dia <-- [1.. jornadaActual(j)], c <-- cronograma(j, dia), finalizada(c)];
|
|
|
-//Describe una lista de todos los países que ganaron plata hasta ahora. Si ganó varias veces, aparece varias veces en la lista.
|
|
|
-
|
|
|
-aux ganadoresBronceTotales (j: JJOO) : [Pais] =
|
|
|
-[nacionalidadPrimerosTres(c)[2] | dia <-- [1.. jornadaActual(j)], c <-- cronograma(j, dia), finalizada(c)];
|
|
|
+aux ganadoresMTotales (M: int, j: JJOO) : [Pais] =
|
|
|
+[nacionalidadPrimerosTres(c)[M] | dia <-- [1.. jornadaActual(j)], c <-- cronograma(j, dia), finalizada(c)];
|
|
|
//Describe una lista de todos los países que ganaron bronce hasta ahora. Si ganó varias veces, aparece varias veces en la lista.
|
|
|
|
|
|
aux crearMedallero (j: JJOO) : [(Pais, [Z])] =
|
|
|
-[(p, [cuenta(p, ganadoresOroTotales(j)), cuenta(p, ganadoresPlataTotales(j)), cuenta(p, ganadoresBronceTotales(j))]) | p <-- listaPaises(j)];
|
|
|
+[(p, [cuenta(p, ganadoresMTotales(0,j)), cuenta(p, ganadoresMTotales(1,j)), cuenta(p, ganadoresMTotales(2,j))]) | p <-- listaPaises(j)];
|
|
|
//Para cada país participante en los juegos, describe una tupla con el nombre del país y una lista que consiste en tres ints, que son la cantidad de veces que el país aparece en la lista de ganadores de medallas de oro, de plata y de bronce respectivamente. Como Narnia no participa en los juegos, no aparece en la lista resultante.
|
|
|
|
|
|
aux sacarSinMedallas(lista : [(Pais, [Z])]) : [(Pais, [Z])] = [x | x <-- lista, sgn(x)!=[0,0,0]];
|