Logiciel de Scrutin remplaçant la machine à voter

publicité
Logiciel de Scrutin
remplaçant la
machine à voter
J.B. Dadet DIASOLUKA Luyalu Nzoyifuanga
+243 - 851278216 - 899508675 - 995624714 - 902263541 813572818
La dernière révision de ce texte est disponible sur CD.
Code source de la version 1.0 d’un petit utilitaire JavaScript
(EcmaScript) pour le dépouillement automatique en temps réel d’un
scrutin.
Avant toute chose, signalons que le panneau de la console doit être
actif (ouvert) pendant l’exécution de ce programme, car c’est là que
s’affichent les résultats partiels au fur et mesure de l’avancement du
scrutin.
1. Le ou les utilisateur(s) doivent seulement chacun chiquer sur
l’icône ou l’identité du candidat, et la machine recalcule
automatiquement tout le scrutin,
2. Quand tout le monde a choisi son candidat, on clique sur le
bouton FIN, et la machine donne, sur le champ (donc juste à la
fin du processus électoral) le verdict final incontestable.
3. Pour augmenter le nombre de candidats, il suffit d’ajouter
d’autres boutons dans le code source.
4. Il n’est pas recommandé d’ajouter des voix après le calcul des
résultats finaux (après avoir cliqué sur le bouton FIN).
J.D.B. DIASOLUKA Nz. Luyalu
Calcul des RDVs, version 3
Le code source du programme :
<html><head><meta http-equiv="Content-Type" content="text/html;
charset=windows-1252" />
<base target="_top">
<title>Utilitaire de Machine à scrutin 1.0</title>
<meta content="30 days" name=Revisit-after>
<meta name=ROBOTS content="INDEX,FOLLOW">
<meta http-equiv=Page-Enter
content="RevealTrans(Duration=3,Transition=23)">
<meta http-equiv=Page-Exit
content="RevealTrans(Duration=3,Transition=23)">
<meta http-equiv=Content-Language content=fr-be>
<meta name=Title content="Logiciel de Machine à voter|Societe">
<meta name=Created content="Lundi 06 mai 2019 - 09:08:28 (AM)">
<meta name=Modified content="Lundi 06 mai 2019 - 18:10:22 (PM)">
<meta name=description content="Logiciel de Machine à voter">
<meta name=keywords content="machine à
voter,vote,élections,scrutin,urnes,candidat,postulant,prétendant,candidats,po
stulants,prétendants,scruter">
<meta name="author" content="Dr. Jean-Baptiste Dadet DIASOLUKA
Nzoyifuanga Luyalu (CNOM : 0866) - Ophtalmologiste">
<meta name="license" content="gratuit">
<meta name="author-address" content="[email protected]">
<meta name="author-site" content="http://diasmath.blogg.org">
<meta name="author-site2" content="http://www.amessi.org/diasoluka">
<meta name="author-site3" content="https://www.vk.com/diasoluyalu">
<script type = "text/javascript"> "use strict";
const Elus = [];
let voix = [], cand, encore="",totvoix=0,
cumulcand,tcumulcand,prevcandidat;
function scruter(p){
const voted=(p.innerHTML);
totvoix++;
if(!Elus.includes(voted)){
Elus.push(voted);
voix.push(1);
cand=Elus.indexOf(voted);
console.log(`\n# ${encore} LISTE DES ÉLUS = `);
console.log(Elus);
console.log("Leurs Voix =",voix);
console.log("Donc Nb des candidats déjà élus = ",cand+1);
encore="ENCORE UN NOUVEL ÉLU :";
prevcandidat=voted, cumulcand=1;
}
else {
cand=Elus.indexOf(voted);
voix[cand]++;
if(voted==prevcandidat) ++cumulcand;
else cumulcand=1;
mardi 7 mai 2019
- 2 / 11 -
5:31:00
J.D.B. DIASOLUKA Nz. Luyalu
Calcul des RDVs, version 3
tcumulcand=cumulcand>1
?" ("+cumulcand+" fois de suite) "
:"";
let tcumul=voted+tcumulcand.padEnd(25,".");
console.log(`\n${tcumul} =====> TOUTES LES VOIX = `);
for(let k=0;k<voix.length;k++){
console.log("==> ",Elus[k],":",voix[k],"voix");
}
prevcandidat=voted;
}
}
function fexit(){
let rep=confirm("Attention, Il ne faudra plus ajouter de données.
Finir ?");
if(!rep) return;
const dres=document.getElementById("dres"),
l=voix.length,
ct=' CLASSEMENT ',
ls=30,
sep=`${ct.padStart(ls,"=").padEnd(ls+ct.length,"=")}`;
let narr=Array.from(voix);
for(let k=0;k<l;k++) voix[k]=String(voix[k]).padStart(5,"0");
voix.sort().reverse();
console.log(`\n< ${sep} >`);
dres.innerHTML+=`<br>< ${sep} >`;
let c=0, prev;
for(let k=0;k<l;k++){
let vx=voix[k]/1,
nivdx=narr.indexOf(vx),
sfx="",prefx="",dsfx="",dprefx="";
if(prev!=vx) {
sfx=" **\n";
prefx="\n";
dsfx=" **";
dprefx="<br>";
}
prev=vx;
narr[nivdx]="x";
let res=`${++c}. ${Elus[nivdx]} : ${vx} voix
(${(vx/totvoix*100).toFixed(2)}%)`;
console.log(prefx,res,sfx);
dres.innerHTML+=dprefx+res+dsfx+"<br>";
}
console.log(`< ${sep} >`);
dres.innerHTML+=`<br>< ${sep} ><br>`;
console.log(`TOTAL = ${totvoix} VOIX.`);
dres.innerHTML+=`TOTAL = ${totvoix} VOIX.`;
console.log(`#`.repeat(47));
dres.innerHTML+=`<br>${"#".repeat(47)}`;
for(let k=0;k<l;k++) voix[k]=voix[k]/1;
mardi 7 mai 2019
- 3 / 11 -
5:31:00
J.D.B. DIASOLUKA Nz. Luyalu
Calcul des RDVs, version 3
}
</script>
<body style="padding:5;background:#EB1255;color:yellow">
CANDIDATS :
<br>(Cette liste, imuable pendant le vote)<br><br>
<button onclick="scruter(this)">CANDIDAT_1</button> 
<button onclick="scruter(this)">CANDIDAT_2</button> 
<button onclick="scruter(this)">ABSTENTION</button><br>
<!--button onclick="scruter(this)">D'AUTRES CANDIDATS</button><br-->
<div style="" id="dres"> </div><br>
<button onclick="fexit()" style="margin-top:150pt">FIN</button>
</body>
Exécution (étape de la saisie) :
Ici, nous avons deux candidats en lisse, on prévoit donc deux boutons
(un pour chaque candidat), et un troisième bouton pour les
abstentions (ceux qui n’ont voté pour aucun candidat, non pas ceux
qui sont restés à la maison). Rappelons que pour ajouter d’autres
candidats, il faut le faire dans le code source (donc avant le début du
scrutin).
mardi 7 mai 2019
- 4 / 11 -
5:31:00
J.D.B. DIASOLUKA Nz. Luyalu
Calcul des RDVs, version 3
Exécution (étape du scrutin) :
Le premier électeur a choisi CANDIDAT_2:
Le système affiche
1. la liste des déjà élus et qui ne comporte jusque là que le nom du seul
élu jusqu’ici.
2. Les voix de chacun des élus, dans le même ordre.
3. Le nombre total des voix (élus) jusque là, ici 1.
Le deuxième électeur élit aussi CANDIDAT_2, et le système affiche
les résultats contextuels :
Il affiche donc CANDIDAT_2, élu deux fois de suite, et totalise 2 voix
(CANDIDAT_2 (2 fois de suite)).
Le troisième votant élit CANDIDAT_1, et le système affiche :
mardi 7 mai 2019
- 5 / 11 -
5:31:00
J.D.B. DIASOLUKA Nz. Luyalu
Calcul des RDVs, version 3
Il signale qu’un candidat vient de recevoir sa première voix.
Deux candidats au total ont déjà reçu de voix, et leurs noms sont
affichés dans leur ordre d’apparition ((2) ["CANDIDAT_2",
"CANDIDAT_1"] ).
Les voix de chacun jusque là sont affichés dans l’ordre d’affichage de
leurs nom (Leurs Voix = (2) [2, 1]).
Le nombre des différents élus jusque là est aussi affiché :
Donc Nb des candidats déjà élus = 2.
La 4è personne choisit de nouveau CANDIDAT_2 :
CANDIDAT_2 est de nouveau élu, mais cette dois-ci pas deux fois de
suite:
CANDIDAT_2......... ===> TOUTES LES VOIX =.
Le détail du scrutin à ce point est affiché (CANDIDAT_2 a déjà 3
voix, CANDIDAT_1 une seule voix) :
==> CANDIDAT_2 : 3 voix
==> CANDIDAT_1 : 1 voix
La 5è personne choisit l’abstention :
Le système signale qu’un autre candidat a été lu pour la première fois,
bien que ça ne soit qu’une abstention.
# ENCORE UN NOUVEL ÉLU : LISTE DES ÉLUS =
Il signale aussi que trois candidats ont déjà reçu au moins une voix :
(3) ["CANDIDAT_2", "CANDIDAT_1", "ABSTENTION"]
mardi 7 mai 2019
- 6 / 11 -
5:31:00
J.D.B. DIASOLUKA Nz. Luyalu
Calcul des RDVs, version 3
Il donne ensuite les voix de chacun dans l’ordre respectif de leur
affichage :
Leurs Voix = (3) [3, 1, 1]
Ensuite il donne le nombre total des candidats ayant jusqu’à présent
reçu des voix :
Donc Nb des candidats déjà élus = 3
La 6è personne personne elle aussi choisit l’abstention :
ABSTENTION vien donc d’être choisi deux fois de suite :
ABSTENTION (2 fois de suite) ... ==> TOUTES LES VOIX =
Ensuite vient la liste en temps réel des candidats ayant déjà reçu de
voix, avec leurs voix :
==> CANDIDAT_2 : 3 voix
==> CANDIDAT_1 : 1 voix
==> ABSTENTION : 2 voix
Les 7è, 8è et 9è personnes votent successivement pour
CANDIDAT_1 :
mardi 7 mai 2019
- 7 / 11 -
5:31:00
J.D.B. DIASOLUKA Nz. Luyalu
Calcul des RDVs, version 3
Well, arrêtons notre scrutin ici, en cliquant sur le bouton FIN.
Ce bouton est placé un peu plus bas pour minimiser les risques d’être
coché par accident :
Quelqu’en soit, le système demande la confirmation si le scrutin est
vraiment terminé :
Si on veut continuer, on clique sur CANCEL, et on peut alors
continuer avec le scrutin.
Si on a vraiment fini, on clique alors sur OK, et le système donne
instantanément le verdit final :
mardi 7 mai 2019
- 8 / 11 -
5:31:00
J.D.B. DIASOLUKA Nz. Luyalu
Calcul des RDVs, version 3
Nous avons donc (affiché dans la console et le navigateur) un total de
9 VOIX, dont :
4 voix (44.44%) pour CANDIDAT_1,
3 voix (33.33%) pour CANDIDAT_2, et
2 voix (22.22%) ABSTENTIONs.
Kinshasa, le 7 mai 2019 (5:31:00 ).
mardi 7 mai 2019
- 9 / 11 -
5:31:00
J.D.B. DIASOLUKA Nz. Luyalu
Calcul des RDVs, version 3
Mots-clés :
machine à voter, processus électoral, vote, scrutin, élections,
électeur, élus, verdict, voix, candidats, confirmation,
minimiser,
risques,
abstention,
éligible,
javascript,
ecmascript
DIASOLUKA Nz. Luyalu
Docteur en Médecine, Chirurgie & Accouchements (1977),
CNOM : 0866 - Spécialiste en ophtalmologie (1980)
Études humanités : Scientifique - Mathématiques & Physique.
Informaticien-amateur, Programmeur et WebMaster.
Chercheur indépendant, autonome et autofinancé,
bénévole, sans aucun conflit d’intérêt ou liens
d'intérêts ou contrainte promotionnelle avec qui
qu’il soit ou quelqu’organisme ou institution /
organisation que ce soit, étatique, paraétatique ou
privé, industriel ou commercial en relation avec le
sujet présenté.
+243 - 851278216 - 899508675 - 991239212 - 902263541 - 813572818
[email protected]
Autre Lecture :
https://www.scribd.com/document/374738470/Le-Plus-Grand-Secret-de-La-Creation
D’autres publications pouvant aussi intéresser :
• https://www.scribd.com/document/377036251/Le-Dosage-Des-Medicaments-enCac-Cas
• https://www.scribd.com/document/377035454/Le-Hasard-Des-ThermometresNon-contact-a-Infrarouge
• https://www.scribd.com/document/376222482/Petite-Introduction-Aux-FonctionsJavaScript
• https://www.scribd.com/document/376221919/La-Foi-en-Jesus-Christ-Pour-Quoi-
mardi 7 mai 2019
- 10 / 11 -
5:31:00
J.D.B. DIASOLUKA Nz. Luyalu
Calcul des RDVs, version 3
Faire
• https://www.scribd.com/document/375689778/Lacuite-visuelle-angulaire
• https://www.scribd.com/document/375349851/La-variable-This
• https://www.scribd.com/document/375024162/Fonctions-Imbriquees-en-JS
• https://www.scribd.com/document/374789297/Format-Interne-Des-ObjetsJavaScript
• https://www.scribd.com/document/374788758/Iterations-en-JavaScript
• https://www.scribd.com/document/374738470/Le-Plus-Grand-Secret-de-LaCreation
• https://www.scribd.com/document/374597969/Nouvelle-Formule-d-IMC-indicede-doduite-Selon-Dr-Diasoluka
• https://www.scribd.com/document/373847209/Property-Descriptors
• https://www.scribd.com/document/373833282/l-Objet-Global-Window
• https://www.scribd.com/document/372665249/Javascript-Tome-II
• https://www.scribd.com/document/355291488/motilite-oculaire-2
• https://www.scribd.com/document/355291239/motilite-oculaire-I
• https://www.scribd.com/document/355290248/Script-d-Analyses-Des-ReflexesPupillomoteurs
• https://www.scribd.com/document/321168468/Renseignements-Id-etAnthropometriques
• https://www.scribd.com/document/320856721/Emission-31-Jul-2016
• https://www.scribd.com/document/318182982/Complication-Visuelle-duTraitement-de-La-Malaria
• https://www.scribd.com/document/318180637/Rapport-Entre-Oxymetrie-Et-TypeRespiration
• https://www.scribd.com/document/315746265/Classification-Des-Medicaments
• https://www.scribd.com/document/315745909/Incongruences-Heresies-etHeterodoxies-de-la-Notion-de-Laboratoire
• https://www.scribd.com/document/315745725/Rapport-Entre-Oxymetrie-Et-TypeRespiration
mardi 7 mai 2019
- 11 / 11 -
5:31:00
Téléchargement