Logiciel de Scrutin remplaçant la machine à voter

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
mardi 7 mai 2019 - 2 / 11 - 5:31:00
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;
J.D.B. DIASOLUKA Nz. Luyalu
Calcul des RDVs, version 3
mardi 7 mai 2019 - 3 / 11 - 5:31:00
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;
J.D.B. DIASOLUKA Nz. Luyalu
Calcul des RDVs, version 3
mardi 7 mai 2019 - 4 / 11 - 5:31:00
}
</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>&nbsp;
<button onclick="scruter(this)">CANDIDAT_2</button>&nbsp;
<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).
J.D.B. DIASOLUKA Nz. Luyalu
Calcul des RDVs, version 3
mardi 7 mai 2019 - 5 / 11 - 5:31:00
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 :
1 / 11 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !