Calcolare la percentuale espressa da una frazione... in politica
Un caso reale
Ma vediamo ora cosa è successo in una situazione reale verificatasi poco tempo fa per il primo turno delle elezioni comunali nel comune di Roma che ha visto contrapporsi Ignazio Marino e Giovanni Alemanno per la poltrona di sindaco.
Quello che ci è arrivato dagli organi di stampa, sono le percentuali che le varie liste si sono aggiudicate, riferite ai voti validi di chi si è recato alla votazione, che, in questa occasione non ha avuto un grande seguito.
Ma cosa ci capiterebbe di vedere, se provassimo a calcolare le percentuali dei voti, riferendoci alla popolazione totale degli aventi diritto al voto? Si lo so, solo chi si reca a votare può decidere le sorti delle votazioni, il resto della popolazione, diciamo, se ne lava le mani. Ma che effettivo seguito hanno i vari partiti nella realtà? Voto o non voto, astensione di protesta o altro?
I dati che ho usato sono pubblici, basta andare a visitare il sito del Ministero degli Interni, per reperirli. Vediamo ora cosa viene fuori da questi paragoni.
In questo caso, con il voto disgiunto ci sono delle differenze tra i votanti che hanno dato il proprio voto al candidato sindaco rispetto a quelli che lo hanno dato anche o solo alle liste, per cui, proprio per non appesantire calcoli e spiegazioni, il primo caso, il voto al candidato, lo tratteremo in maniera separata.
|
Voti |
Aventi Diritto |
Votanti |
Voti validi |
100 / |
|
2.359.119 |
1.018.911 |
976.319 |
Coefficienti |
|
0,000042389 |
0,000098144 |
0,000102426 |
Percentuale voto |
|
|
43,19 % |
41,38 % |
liste |
|
Partito democratico |
267.605 |
11,34 % |
26,26 % |
27,41 % |
Popolo della libertà (di fare come gli pare) |
195.749 |
8,30 % |
19,21 % |
20,05 % |
Movimento 5 stelle |
130.635 |
5,54 % |
12,82 % |
13,38 % |
Sinistra ecologia libertà |
63.728 |
2,70 % |
6,25 % |
6,53 % |
Lc-Alfonso Marchioni sindaco |
76.203 |
3,23 % |
7,49 % |
7,80 % |
Lc-Marino sindaco |
75.494 |
3,20 % |
7,41 % |
7,73 % |
Sinistra ecologia libertà |
63.728 |
2,70 % |
6,25 % |
6,53 % |
Fratelli d'italia |
60.375 |
2,56 % |
5,92 % |
6,18 % |
Lc-cittadini x roma |
50.239 |
2,13 % |
4,93 % |
5,14 % |
Centro Democratico |
14.735 |
0,62 % |
1,45 % |
1,51 % |
La destra |
13.256 |
0,56 % |
1,30 % |
1,36 % |
Rifondazione comunista |
11.629 |
0,49 % |
1,14 % |
1,19 % |
Lc-repubblica romana |
7.940 |
0,34 % |
0,78 % |
0,81 % |
Lista dei grillini parlanti |
6.552 |
0,28 % |
0,64 % |
0,67 % |
Verdi ecologisti |
6.299 |
0,27 % |
0,62 % |
0,64 % |
Casapound italia |
6.295 |
0,27 % |
0,62 % |
0,64 % |
Partito socialista italiano |
5.853 |
0,25 % |
0,57 % |
0,60 % |
Altri |
26.324 |
1,11 % |
2,58 % |
2,70 % |
|
Voti |
Aventi Diritto |
Votanti |
Voti validi |
100 / |
|
2.359.119 |
1.203.335 |
1.160.743 |
Coefficienti |
|
0,000042389 |
0,000083102 |
0,000086152 |
Percentuale voto |
|
|
51,01 % |
49,20 % |
candidato |
|
Ignazio Marino |
512.720 |
21,73 % |
42,61 % |
44,17 % |
Giovanni Alemanno |
364.337 |
15,44 % |
30,28 % |
31,39 % |
Marcello De Vito |
149.665 |
6,34 % |
12,43 % |
12,89 % |
Alfio Marchini |
114.169 |
4,84 % |
9,48 % |
9,83 % |
Sandro Medici |
26.825 |
1,14 % |
2,23 % |
2,31 % |
Luiggi Marra |
14.307 |
0,60 % |
1,19 % |
1,23 % |
Simone Di Stefano |
7.166 |
0,30 % |
1,17 % |
1,22 % |
Altri |
14.146 |
0,60 % |
0,59 % |
0,62 % |
|
bianche nulle e non assegnate |
42.592 |
1,80 % |
3,53 % |
|
Come si vede dalle tabelle chi ha vinto a secondo del dato di paragone preso, riesce a passare da un modesto 21,73 % sul totale degli aventi diritto ad un più rispettabile 42,61 % dei votanti, sino ad arrivare al 44,17 % delle schede valide.
Dal conoscere e capire queste discrepanze si potrà arrivare anche a poter sorridere se non sbellicarsi dalle risate, quando ci si troverà davanti a personaggi dai toni trionfalistici che pretendono di aver ottenuto consensi plebiscitari. dopo elezioni da considerarsi catastrofiche per la rappresentanza espressa.
Come affermava un antico saggio, la verità ci renderà liberi (In questo caso forse di farci qualche buona risata! Se si riesce a superare lo sconforto per il tutto.)
Chiaramente chi ha preso più voti ha comunque vinto, ma forse ci si dovrebbe interrogare di più sul perchè si è vinto con così pochi voti, in valore assoluto.
Ora vediamo come implementare il tutto in un piccolo programma Perl. Il programma è molto grezzo, da lanciare in un terminale. Non esegue controlli sui dati immessi e la formattazione lascia alquanto a desiderare. Per queste ed altre cose, rimando a chi volesse cimentarsi in una programmazioni più sofisticata.
#!/usr/bin/perl
#
# programma sviluppato in perl, verificare di avere perl e dove sul proprio sistema
#
# variabili
# $aventi_diritto = totale elettori aventi diritto al voto
# $votanti = elettori che hanno partecipato alle votazioni
# $voti_validi = voti validi assegnati alle varie liste
# $n_politici = numero candidati partecipanti (liste)
# @nomi_politici = array nomi politici (liste)
# @voti_politici = array dei voti assegnati a ciascun politico (lista)
# $per_aventi_diritto = percentuali rapportate ad aventi diritto al voto
# $per_votanti = percentuali rapportate a votanti
# $per_voti_validi = percentuali rapportate a voti validi
# $co_aventi_diritto = coefficiente aventi diritto al voto
# $co_votanti = coefficiente votanti
# $co_voti_validi = coefficiente voti validi
# $fine_liste = fine inserimento dati
$fine_liste = "fine";
# Inserimento dati
print "Numero aventi diritto ";
$aventi_diritto = <STDIN>;
print "Votanti ";
$votanti = <STDIN>;
print "Voti validi ";
$voti_validi = <STDIN>;
print "scrivere \" fine \" come nome di lista e voti per terminare l'inserimento" . "\n";
while ($fine_liste ne $nomi){
print "Nome lista successiva ";
$nomi = <STDIN>;
chop($nomi);
push(@nomi_politici, $nomi);
print "Inserire voti lista successiva ";
$voti = <STDIN>;
chop($voti);
push(@voti_politici, $voti);
}
# Elimina l'ultimo ingresso (fine) dall'array
pop(@nomi_politici);
pop(@voti_politici);
$n_politici = push(@voti_politici);
# Elaborazione e stampa dati
chop($aventi_diritto);
chop($votanti);
chop($voti_validi);
$co_aventi_diritto = 100 / $aventi_diritto;
$co_votanti = 100 / $votanti;
$co_voti_validi = 100 / $voti_validi;
print "aventi_diritto / ";
print "votanti / ";
print "voti validi\n";
print $aventi_diritto . " / ";
print $votanti . " / ";
print $voti_validi ."\n";
print "coefficienti ";
print "aventi_diritto / ";
print "votanti / ";
print "voti validi\n";
# stampa i coefficienti arrotondando alla nona cifra decimale
print sprintf("%.9f",$co_aventi_diritto) . " / ";
print sprintf("%.9f",$co_votanti) . " / ";
print sprintf("%.9f",$co_voti_validi) ."\n";
for ($x = 0; $x < $n_politici; $x++) {
$per_aventi_diritto = $voti_politici[$x] * $co_aventi_diritto;
$per_votanti = $voti_politici[$x] * $co_votanti;
$per_voti_validi = $voti_politici[$x] * $co_voti_validi;
# stampa le percentuali arrotondando alla seconda cifra decimale
print $nomi_politici[$x] . " ";
print sprintf("%.2f",$per_aventi_diritto) . " / ";
print sprintf("%.2f",$per_votanti) . " / ";
print sprintf("%.2f",$per_voti_validi) . "\n";
}
print $fine_liste . "\n";
palfen 05/07/2013
0
|