¿Ha perdido las elecciones? ¡Cambie de método de reparto!

Adoradores de Jiménez Losantos, seguidores de los estudios del C.I.S., Gafa-Pastas afiliados a Haro-Tecglen, histéricos carlistas...
Prez
Tiene un viejo en la barriga
Mensajes: 1892
Registrado: 03 Sep 2003 21:24

¿Ha perdido las elecciones? ¡Cambie de método de reparto!

Mensaje por Prez »

Buenas.

Como ando ocioso, voy a dedicar unos minutillos a jugar con los resultados de las últimas elecciones generales españolas, aplicándole distintos métodos de reparto, a ver cuántos escaños se llevaría cada uno. Seguramente ya lo hayan hecho por ahí muchos, pero bueno, así me distraigo.

Los datos los tomo de la página que ha dedicado el Ministerio del Interior a estas elecciones centrándome en el Congreso, que el Senado pinta menos que Gallardón en Génova.

Así han quedado con la ley actual, esto es, con D'Hondt, circunscripciones provinciales y un mínimo de un 3% de los votos válidos por circunscripción.

Código: Seleccionar todo

P.S.O.E. 169 
P.P.     154
CiU       10
EAJ-PNV    6
ESQUERRA   3
I.U.       2
B.N.G.     2
CC-PNC     2
UPyD       1
NA-BAI     1


Así quedarían con D'Hondt, circunscripción única y una cota inferior del 3%.

Código: Seleccionar todo

P.S.O.E. 170 
P.P.     155
I.U.      14
CiU       11


Con D'Hondt, circunscripción única y sin cota inferior.

Código: Seleccionar todo

P.S.O.E. 162 
P.P.     147
I.U.      13
CiU       11
EAJ-PNV    4
UPyD       4
ESQUERRA   4
B.N.G.     3
CC-PNC     2


Con reparto proporcional puro, circunscripción única y una cota inferior del 3%.

Código: Seleccionar todo

P.S.O.E. 169 
P.P.     154
I.U.      15
CiU       12


Con reparto proporcional puro, circunscripción única y sin cota inferior.

Código: Seleccionar todo

P.S.O.E.      154 
P.P.          140
I.U.           13
CiU            11
EAJ-PNV         4
UPyD            4
ESQUERRA        4
B.N.G.          3
CC-PNC          3
CA              1
NA-BAI          1
EA              1
C's             1
PACMA           1
VERDES          1
PAR             1
CHA             1
NC-CCN          1
LV-GV           1
ARALAR          1
BLOC-IC-EV-EE   1
UPLI            1
PUM+J           1


Mayoritario, circunscripción provincial.

Código: Seleccionar todo

P.S.O.E. 175 
P.P.     175


Para los cálculos mediante el método D'Hondt, me he ayudado de un cutrescript en _perl_ que me hecho. Por si alguien lo quiere para hacer el indio un rato, aquí lo dejo.

Código: Seleccionar todo

#!/usr/local/bin/perl

# Propósito: pide al usuario una relación de partidos políticos juno con sus respectivos votos conseguidos y devuelve los escaños que se les asignaría según el método D'Hondt, suponiendo una circunscripción única y un limite inferior en % sobre el total de votos válidos.

use strict;

my $num_partidos = 0;  # Número de partidos políticos
my $total_votos_validos = 0;  # Número total de votos válidos. Incluye los votos en blanco, pero no los nulos.
my $total_escanios = 350;  # Número total de escaños (por ejemplo, hay 350 en el Congreso de los diputados y 111 en la Asamblea de Madrid)
my $limite_inferior = 0.03; # Límite inferior (por ejemplo, para el congreso es del 3% y para la Comunidad de Madrid del 5%)

# Pide el número de escaños
print "Número total de escaños: ";
chop( $total_escanios = <STDIN> );

# Pide el límite mínimo
print "Límite mínimo de votos (en %): ";
chop( $limite_inferior = <STDIN> );
$limite_inferior /= 100; # Se pasa al tanto por uno

# Pide el número de partidos
print "Número de partidos políticos: ";
chop( $num_partidos = <STDIN> );

# Lista de partidos: se inicializa con los votos en blanco, que siempre serán considerados.
my %lista_votos = ( "Blanco" => 0 );

# Va preguntando los nombres y los votos de los partidos.
my $nombre_partido;
my $numero_votos;
for ( my $i = 1; $i <= $num_partidos; $i++ )
{
   print "Nombre del partido número $i: ";
   chop( $nombre_partido = <STDIN> );
   print "Número de votos conseguidos por el partido número $i: ";
   chop( $numero_votos = <STDIN> );
   $lista_votos{ $nombre_partido } = $numero_votos;

   # Acumula el número de votos
   $total_votos_validos += $numero_votos;
}

# Pide votos en blanco
print "Número de votos en blanco: ";
chop( $lista_votos{ "Blanco" } = <STDIN> );
$total_votos_validos += $lista_votos{ "Blanco" };  # Acumula número de votos válidos

# Lista de restos: sólo se incluirán los partidos cuyos votos superen el 3%.
my %lista_restos;
my $partido;
foreach $partido ( keys %lista_votos )
{
   if ( $lista_votos{ $partido } >= $total_votos_validos * $limite_inferior and $partido ne "Blanco" )
   {
      # Si el partido supera el 3%, se construye un array de longitud 350 con su lista de restos
      for ( my $i = 1; $i <= $total_escanios; $i++ )
      {
         push( @{ $lista_restos{ $partido } }, $lista_votos{ $partido } / $i );
      }
   }
}

# Se construye la lista de escaños
my %lista_escanios;
foreach $partido ( keys %lista_restos )
{
   $lista_escanios{ $partido } = 0;   
}
for ( my $i = 1; $i <= $total_escanios; $i++ )
{
   my $mayor_resto = 0;
   my $partido_con_mayor_resto;
   foreach $partido ( keys %lista_restos )
   {
      if ( ${@{ $lista_restos{ $partido } } }[0] > $mayor_resto )
      {
         $mayor_resto = ${@{ $lista_restos{ $partido } } }[0];
         $partido_con_mayor_resto = $partido;
      }
   }
   $lista_escanios{ $partido_con_mayor_resto } += 1;  # Se le asigna el escaño al partido con mayor resto
   shift( @{ $lista_restos{ $partido_con_mayor_resto } });  # Se elimina el resto utilizado
}

# Por último, muestra los escaños por partidos.
foreach $partido ( keys %lista_escanios )
{
   print $partido . ": " . $lista_escanios{ $partido }  . " escaños\n";
}
Última edición por Prez el 27 Abr 2008 20:03, editado 1 vez en total.

Avatar de Usuario
Xavi Fernandez
Ulema
Mensajes: 3197
Registrado: 22 Sep 2003 01:43
Ubicación: A 6.25 m. del aro.

Re: ¿Ha perdido las elecciones? ¡Cambie de método de reparto!

Mensaje por Xavi Fernandez »

¿Y contando los votos en blanco?

Para cuando te aburras otro rato, digo.

Je.

Prez
Tiene un viejo en la barriga
Mensajes: 1892
Registrado: 03 Sep 2003 21:24

Re: ¿Ha perdido las elecciones? ¡Cambie de método de reparto!

Mensaje por Prez »

Contados están.

Edito: Ah, ¿te refieres dejando escaños vacío en función de los votos en blanco? Es fácil, ahora lo hago.

Prez
Tiene un viejo en la barriga
Mensajes: 1892
Registrado: 03 Sep 2003 21:24

Re: ¿Ha perdido las elecciones? ¡Cambie de método de reparto!

Mensaje por Prez »

Con D'Hondt, circunscripción única, sin cota inferior y asignando escaños vacíos a los votos en blanco.

Código: Seleccionar todo

P.S.O.E. 160 
P.P.     145
I.U.      13
CiU       11
EAJ-PNV    4
UPyD       4
ESQUERRA   4
En blanco  4
B.N.G.     3
CC-PNC     2


Proporcional puro, circunscripción única, sin cota inferior y asignando escaños vacíos a los votos en blanco.

Código: Seleccionar todo

P.S.O.E.      154 
P.P.          140
I.U.           13
CiU            11
EAJ-PNV         4
UPyD            4
ESQUERRA        4
En blanco       4
B.N.G.          3
CC-PNC          3
CA              1
NA-BAI          1
EA              1
C's             1
PACMA           1
VERDES          1
PAR             1
CHA             1
NC-CCN          1
LV-GV           1


El resto no variaría, al representar el voto en blanco menos de un 3% de los votos válidos.
Última edición por Prez el 27 Abr 2008 20:05, editado 1 vez en total.

Avatar de Usuario
Mclaud
Ulema
Mensajes: 8570
Registrado: 24 Dic 2003 23:51
Ubicación: Con C de cretino

Re: ¿Ha perdido las elecciones? ¡Cambie de método de reparto!

Mensaje por Mclaud »

Eh!.

Prez!.

Has probado a hacerlo con circunscripciones autonomicas, a ver que ocurre?.
tonetti escribió:¿Estás intentando razonar con Maclukis? (...) BAstante dacuerdo con macklukis (...) Muy de acuerdo con lo que dice maclakis

Álvaro
El forero antes conocido como alvarito
Mensajes: 441
Registrado: 15 Nov 2006 02:44

Re: ¿Ha perdido las elecciones? ¡Cambie de método de reparto!

Mensaje por Álvaro »

(Vía Daphne@PI)
´-

Avatar de Usuario
curreta
Ulema
Mensajes: 5584
Registrado: 26 Abr 2003 10:27
Ubicación: Razón Aqui.

Re: ¿Ha perdido las elecciones? ¡Cambie de método de reparto!

Mensaje por curreta »

¿Y para cuando un recuento que haga ganar al PP?
A la vuelta pasé por al lado de la tuya casa, saqué la cabesa desde mi hauto y grité: CHURETICAS!

una bandada de gabiotar alzó el vuelo, el sol iba sumerjiendose entre las montañias y solo me contestó el eco de mi propia vos...

Avatar de Usuario
NORNA
ayatolesah
Mensajes: 2333
Registrado: 16 Abr 2003 23:22

Re: ¿Ha perdido las elecciones? ¡Cambie de método de reparto!

Mensaje por NORNA »

curreta escribió:¿Y para cuando un recuento que haga ganar al PP?

Los reyes son los padres.

Avatar de Usuario
Stewie
Ulema
Mensajes: 4271
Registrado: 30 Jul 2004 15:51
Ubicación: Arrabales de la intelectualidad

Re: ¿Ha perdido las elecciones? ¡Cambie de método de reparto!

Mensaje por Stewie »

curreta escribió:¿Y para cuando un recuento que haga ganar al PP?


Dichosos lo ohos!

En cuántico apruebe ZP la reforma electoral que introduzca el reparto animádocratico. Por cada 100km de distancia a la puerta del Sol, el voto vale la mitad. Asín, un terralliurano de Girona, que queda a unos 700km del cartelico del Tio Pepe, decidirá con su voto 1/128 de lo que decide un buen padre de phamilia del barrio Salamanca.
Pepe escribió: A mi todo esto (la extinción del lince) me parece una mierda. El lince mola, es bonito como gato y elegante como abrigo, que se vaya a la mierda no mola, que hagan corridas de linces.

Prez
Tiene un viejo en la barriga
Mensajes: 1892
Registrado: 03 Sep 2003 21:24

Re: ¿Ha perdido las elecciones? ¡Cambie de método de reparto!

Mensaje por Prez »

Buenas de nuevo.

He modificado los datos que aparecen en el mensaje que abre este hilo, ya que, tras el recuento de los votos de los emigrantes, han variado algunas cosas ─de hecho, hasta ha habido un cambio de escaño en Barcelona─.

Los datos definitivos los he tomado de los publicados en el BOE por la Junta Electoral Central, que resumidos son, en número total de votos, los siguientes:

Código: Seleccionar todo

P.S.O.E. (+ P.S.C.)    9598787 + 1689911 = 11288698
P.P. (+ U.P.N.)        10144750 + 133059 = 10277809
I.U.                   969871
CiU                    779425
EAJ-PNV                306128
UPyD                   306078
ESQUERRA               291532
B.N.G.                 212543
CC-PNC                 174629
CA                     68679
NA-BAI                 62398
EA                     50371
C's                    46313
PACMA                  44795
VERDES                 41523
PAR                    40054
CHA                    38202
NC-CCN                 38024
LV-GV                  30840
ARALAR                 29989
BLOC-IC-EV-EE          29760
UPLI                   25454
PUM+J                  23324
LVE                    20419
PSD                    20126
PCPE                   20030
CENB                   14193
FE de las JONS         14023

Blanco                 286182

Total válidos          25734863

Nulos                  165576

Responder