Regla d Hontd

Asignación de elegidos, a partir del número de votos obtenido por cada uno de ellos.
Se debe introducir el número de votos obtenido por cada partido. A continuación se fija con el deslizador NÚMERO DE ELEGIDOS el número de eescaños o concejalías.
El deslizador ASIGNACIÓN permite ver el orden en el que se van otorgando los escaños o concejalías.

Minimo del 5%

Mínimo del 3%

P1-->

P2-->

P3-->

P4-->

P5-->

Nº DE VOTOS

  Asignación  

P6-->

P7-->

  Electos  

Total -->

-

+

-

+

P8-->

P9-->

p9 = 146
p8 = 413
p1 = 10901
p6 = 2215
p5 = 3147
p4 = 5383
p3 = 6835
totalvotos = 40839
p9p: p9 / totalvotos
p8p: p8 / totalvotos
p6p: p6 / totalvotos
p5p: p5 / totalvotos
p4p: p4 / totalvotos
p3p: p3 / totalvotos
p2 = 8931
p2p: p2 / totalvotos
n = 25 (slider from 1 to 45, step 1)
listap1 = Sequence(p1 / s, s, 1, n)
c5 = false
p7 = 1993
p7p: p7 / totalvotos
c3 = false
listap9 = If(c5 ≟ false ∧ c3 ≟ false, Sequence[p9 / s, s, 1, n], If[c3 ≟ true ∧ p9p > 0.03, Sequence[p9 / k, k, 1, n], If[c5 ≟ true ∧ p9p > 0.05, Sequence[p9 / k, k, 1, n], {0}]])
listap8 = If(c5 ≟ false ∧ c3 ≟ false, Sequence[p8 / s, s, 1, n], If[c3 ≟ true ∧ p8p > 0.03, Sequence[p8 / k, k, 1, n], If[c5 ≟ true ∧ p8p > 0.05, Sequence[p8 / k, k, 1, n], {0}]])
listap5 = If(c5 ≟ false ∧ c3 ≟ false, Sequence[p5 / s, s, 1, n], If[c3 ≟ true ∧ p5p > 0.03, Sequence[p5 / k, k, 1, n], If[c5 ≟ true ∧ p5p > 0.05, Sequence[p5 / k, k, 1, n], {0}]])
listap4 = If(c5 ≟ false ∧ c3 ≟ false, Sequence[p4 / s, s, 1, n], If[c3 ≟ true ∧ p4p > 0.03, Sequence[p4 / k, k, 1, n], If[c5 ≟ true ∧ p4p > 0.05, Sequence[p4 / k, k, 1, n], {0}]])
listap3 = If(c5 ≟ false ∧ c3 ≟ false, Sequence[p3 / s, s, 1, n], If[c3 ≟ true ∧ p3p > 0.03, Sequence[p3 / k, k, 1, n], If[c5 ≟ true ∧ p3p > 0.05, Sequence[p3 / k, k, 1, n], {0}]])
listap2 = If(c5 ≟ false ∧ c3 ≟ false, Sequence[p2 / s, s, 1, n], If[c3 ≟ true ∧ p2p > 0.03, Sequence[p2 / k, k, 1, n], If[c5 ≟ true ∧ p2p > 0.05, Sequence[p2 / k, k, 1, n], {0}]])
listap6 = If(c5 ≟ false ∧ c3 ≟ false, Sequence[p6 / s, s, 1, n], If[c3 ≟ true ∧ p6p > 0.03, Sequence[p6 / k, k, 1, n], If[c5 ≟ true ∧ p6p > 0.05, Sequence[p6 / k, k, 1, n], {0}]])
listap7 = If(c5 ≟ false ∧ c3 ≟ false, Sequence[p7 / s, s, 1, n], If[c3 ≟ true ∧ p7p > 0.03, Sequence[p7 / k, k, 1, n], If[c5 ≟ true ∧ p7p > 0.05, Sequence[p7 / k, k, 1, n], {0}]])
campoDeTexto1 = Textfield(p1)
campoDeTexto2 = Textfield(p2)
campoDeTexto3 = Textfield(p3)
campoDeTexto4 = Textfield(p4)
campoDeTexto5 = Textfield(p5)
listaordenada = Reverse(Sort[Join[{listap1, listap2, listap3, listap4, listap5, listap6, listap7, listap8, listap9}]])
listafinal = Take(listaordenada, 1, n)
n2 = Length(Intersection[listap2, listafinal])
n3 = Length(Intersection[listap3, listafinal])
n4 = Length(Intersection[listap4, listafinal])
n5 = Length(Intersection[listap5, listafinal])
n1 = Length(Intersection[listap1, listafinal])
tablap10 = TableText({listap1})
tablap20 = TableText({listap2})
tablap30 = TableText({listap3})
A = (-1, 5)
B = (-1, 4)
C = (-1, 3)
D = (-1, 2)
E = (-1, 1)
tablap40 = TableText({listap4})
tablap50 = TableText({listap5})
texto1: "" + n1 + " a P1:"
texto2: "" + n2 + " a P2:"
texto3: "" + n3 + " a P3:"
texto4: "" + n4 + " a P4:"
texto5: "" + n5 + " a P5:"
a = 1 (slider from 1 to n, step 1)
listafinal2 = Take(listaordenada, 1, a)
tablap1 = TableText({Intersection[listafinal2, listap1]})
tablap2 = TableText({Intersection[listafinal2, listap2]})
tablap3 = TableText({Intersection[listafinal2, listap3]})
tablap4 = TableText({Intersection[listafinal2, listap4]})
tablap5 = TableText({Intersection[listafinal2, listap5]})
campoDeTexto6 = Textfield(p6)
campoDeTexto7 = Textfield(p7)
tablap60 = TableText({listap6})
tablap70 = TableText({listap7})
n6 = Length(Intersection[listap6, listafinal])
n7 = Length(Intersection[listap7, listafinal])
tablap6 = TableText({Intersection[listafinal2, listap6]})
tablap7 = TableText({Intersection[listafinal2, listap7]})
texto6: "" + n6 + " a P6:"
texto7: "" + n7 + " a P7:"
p1p: p1 / totalvotos
CasillaDeEntrada1 = Textfield(totalvotos)
F = (-3, 5)
G = (-3, 4)
H = (-3, 3)
I = (-3, 2)
J = (-3, 1)
K = (-3, 0)
L = (-3, -1)
M = (-3, -2)
N = (-3, -3)
CasillaDeEntrada2 = Textfield(p8)
CasillaDeEntrada3 = Textfield(p9)
n8 = Length(Intersection[listap8, listafinal])
n9 = Length(Intersection[listap9, listafinal])
texto8: "" + n8 + " a P8:"
texto9: "" + n9 + " a P9:"
tablap80 = TableText({listap8})
tablap90 = TableText({listap9})
tablap8 = TableText({Intersection[listafinal2, listap8]})
tablap9 = TableText({Intersection[listafinal2, listap9]})