|
 Posté le 23/09/2020 @ 14:10 |
Petit astucien
| Bonjour à tous,
j'aimerais avoir un code JavaScript, qui me réalisera le calcul suivant :
par exemple :
nous avons la série des chiffres suivante : 1783254.
Cette série 1783254, devra être additionnée au code 13 12 11 10 9 8 7 6 5 4.
Chaque chiffre correspond à un chiffre de code.
le 4 correspond à 4.
5 --> 5, 2 --> 6, 3 --> 7, 8 --> 8, 7 --> 9, 1 --> 10
sommes = 4 + 4 + 5 + 5 + 2 + 6 + 3 + 7 + 8 + 8 + 7 + 9 + 1 + 10
somme est divisée par 100, pour récupérer le reste de la division (modulo/100) :
somme mod 100 = 79
Le résultat est = 79.
Merci.
|
|
|
|
|
|
Posté le 23/09/2020 à 14:45 |
Maître astucien | 
Houllààààààà !!!
Pas très clair tout ça malgré tes efforts de présentation.
Faudrait nous établir un algo béton afin de s'appuyer dessus.
Autre chose : possèdes-tu un site ?
Si oui = ce serait mieux de passer ça en PHP.
Licette et JP
|
|
Posté le 23/09/2020 à 15:27 |
Petit astucien
| Bonjour Jean-Pierre 
Faudrait nous établir un algo béton afin de s'appuyer dessus.
Voila
Entrer votre numéro :
Je saisi : 1783254
Serie = Input(1783254)
Ls = len(Serie)
Code = 13121110987654
Lc = len(Code)
Somme = 0
Pour i=0 à Ls-1 faire
posSerie = Mid(Serie,ls-i,1)
posCode = Mid(Code,lc-i,1)
Somme = Somme + posSerie + posCode
Fin
Résultat = Somme MOD 100
Autre chose : possèdes-tu un site ?
J’aimerais faire cela sur une page blogger (Donc pas de PHP!)
|
|
Posté le 24/09/2020 à 11:32 |
Petit astucien
| Bonjour,
J'ai réussi à concocter ce bout de code, qui fonctionne bien, mais je suis sûr qu'il a besoin d'un nettoyage et corriger l'erreur suivante :
document.write can be a form of eval.
Pour cette ligne de code, par exemple :
document.write("Somme = " + somme+"<br>");
et pour toutes les lignes document.write.
Le code :
<script language="JavaScript">
<!--
var s = "1783254";
var c = "13121110987654";
var somme = 0;
let j = 6;
let x = 0;
let z = 0;
let z1=0;
let y=c.length;
let y1=s.length;
while (j > 0)
{
z = y-1;
z1 = y1-1;
document.write(c+".substring("+z+","+y+") : "+Number(c.substring(z,y))+"<br>");
document.write(s+".substring("+z1+","+y1+") : "+Number(s.substring(z1,y1))+"<br>");
somme = somme + Number(c.substring(z,y))+Number(s.substring(z1,y1));
j-=1;
y-=1; y1-=1;
}
document.write("Somme = " + somme+"<br>");
j = c.length;
j1 = s.length;
z = z - 2;
z1 = z1-2;
//---
while (j > 10 && j1 > 6) {
document.write("j = "+j+"<br>");
document.write("j1 = "+j1+"<br>");
document.write(c+".substring("+z+","+y+") : "+Number(c.substring(z,y))+"<br>");
document.write(s+".substring("+z1+","+y1+") : "+Number(s.substring(z1,y1))+"<br>");
somme = somme + Number(c.substring(z,y))+Number(s.substring(z1,y1));
j-=1;
j1-=1;
z-=2;
z1-=1;
y-=2;
y1-=1;
}
document.write("Somme* = " + somme+"<br>");
document.write("Résulat = " + somme % 100 +"<br>");
// -->
</script>

|
|
Posté le 24/09/2020 à 12:15 |
Maître astucien | 
Hé bien tu vois que tu navet (ou pommes de terres) pas besoin d'aide, et que tu te débrouilles très bien 
Licette et JP |
|
Posté le 24/09/2020 à 13:02 |
Petit astucien
| Malgré tout, je ne connais pas bien le JavaScript. 
Et pour l'erreur signalée :
document.write can be a form of eval
comment la corriger ?
Comment différencie entre les déclarations des variables par let ou var ? |
|
Posté le 24/09/2020 à 14:19 |
| 
Ne t'inquiète pas, ce n'est pas une erreur mais un avertissement. document.write est une très mauvaise pratique qu'il faut éviter. Un document.write doit être réservé pour faire des essais, des scripts à la maison, mais à éviter sur un site web. A la place, tu peux utiliser un document.createElement par exemple.
Pour les déclarations de variables, il faut utiliser var. let est un ancêtre des début des langages de programmation (tous langages confondus).
Plus d'infos avec des exemples sur document.createElement : https://www.w3schools.com/JSREF/met_document_createelement.asp
Et vu que tu ne connais pas JS, voici une mine d'information : https://www.w3schools.com/JSREF/default.asp
Exemple de remplacement :
var x = 10;
var result = document.createElement("span");
result.innerHTML = "Le résultat est : " + x;
document.body.appendChild(result);
La phase Le résultat est : 10 sera insérée dans un <span></span>, ce qui est quand même plus propre.
EDIT
Correction d'une boulette... Modifié par zoulouman le 24/09/2020 14:32 |
|
Posté le 24/09/2020 à 14:44 |
Maître astucien | Bravo tonton Zouzou 
En effet, à la lecture de son code, devant les "let" : je me demandais... 
var. let est un ancêtre des début des langages de programmation
|
|
Posté le 26/09/2020 à 11:44 |
Petit astucien
| Bonjour zoulouman, JP,
Je vais suivre les liens, et essayer par la suite de modifier le code.
On verra ce que ça donne  |
|
Posté le 26/09/2020 à 18:05 |
| Tu peux aussi faire plus simple en préparant une DIV qui recevra ton résultat :
<div id="resultat1"></div>
<script>
var x = 10;
document.getElementById("resultat1").innerHTML = "<p>Le resultat 1 est : " + x + "</p>";
</script>
Ou avec une fonction pour plusieurs résultats :
<script>
function affiche(div, result) {
document.getElementById(div).innerHTML = "<p>Le resultat " + number + " est : " + result + "</p>";
number++;
}
</script>
<div id="resultat1"></div>
<div id="resultat2"></div>
<div id="resultat3"></div>
<script>
var number = 1;
var x = 10;
var y = 25;
var z = 50;
affiche("resultat1", x);
affiche("resultat2", y);
affiche("resultat3", z);
</script>
Modifié par zoulouman le 26/09/2020 18:05 |
|
Posté le 26/09/2020 à 21:48 |
Petit astucien
| Merci zoulouman,
C'est un bon exemple, j'essayerai de l'adapter  |
|
Posté le 01/10/2020 à 18:38 |
| J'imagine que par ici le sujet est clos.  De rien !
C'est moi qui rêve ou je suis seul dans la rubrique Webmasters ?
|
|
Posté le 01/10/2020 à 21:06 |
Maître astucien | zoulouman a écrit :
J'imagine que par ici le sujet est clos.  De rien !
C'est moi qui rêve ou je suis seul dans la rubrique Webmasters ?
Bonzour tonton Zouzou,
Bin nom moi ze suis là aux scies hein.
Papounet est sé la voizine alors ze m'amuze avec son ordi.
Licette  |
|
Posté le 01/10/2020 à 22:40 |
| Ah ! Voilà la seconde personnalité de JP. 
Comment vas-tu ma limacette ? 
|
|
Posté le 01/10/2020 à 23:52 |
Petit astucien
| Bonjour,
Je mettrai mon codage ici, pour correction, quand j'aurai fini  |
|
Posté le 02/10/2020 à 19:39 |
| Ok. 
|
|
Posté le 02/11/2020 à 22:26 |
Petit astucien
| Bonsoir 
Nouvel essai :
<div id="Calcul"></div>
<script language="JavaScript">
<!--
var Compte = "1783254";
var Key = "13121110987654";
var somme = 0;
var j = 6;
var x = 0;
var z = 0;
var z1 = 0;
var y = Key.length;
var y1 = Compte.length;
while (j > 0) {
z = y - 1;
z1 = y1 - 1;
document.getElementById("Calcul").innerHTML = "<span>" + Key + ".substring(" + z + "," + y + ") : " + Number(Key.substring(z, y)) + "</span>";
document.getElementById("Calcul").innerHTML = "<span>" + Compte + ".substring(" + z1 + "," + y1 + ") : " + Number(Compte.substring(z1, y1)) + "</span>";
somme = somme + Number(Key.substring(z, y)) + Number(Compte.substring(z1, y1));
j -= 1;
y -= 1;
y1 -= 1;
}
document.getElementById("Calcul").innerHTML = "<span>Somme = " + somme + "</span></br>";
j = Key.length;
j1 = Compte.length;
z = z - 2;
z1 = z1 - 2;
//---
while (j > 10 && j1 > 6) {
document.getElementById("Calcul").innerHTML = "<span>" + "j = " + j + "</span></br>";
document.getElementById("Calcul").innerHTML = "<span>" + "j1 = " + j1 + "</span></br>";
document.getElementById("Calcul").innerHTML = "<span>" + Key + ".substring(" + z + "," + y + ") : " + Number(Key.substring(z, y)) + "</span></br>";
document.getElementById("Calcul").innerHTML = "<span>" + Compte + ".substring(" + z1 + "," + y1 + ") : " + Number(Compte.substring(z1, y1)) + "</span></br>";
somme = somme + Number(Key.substring(z, y)) + Number(Compte.substring(z1, y1));
j -= 1;
j1 -= 1;
z -= 2;
z1 -= 1;
y -= 2;
y1 -= 1;
}
document.getElementById("Calcul").innerHTML = "<span>Somme* = " + somme + "</span></br>";
document.getElementById("Calcul").innerHTML = "<span>Résulat = " + somme % 100 + "</span></br>";
// -->
</script>
|
|
Posté le 02/11/2020 à 22:59 |
| 
Tu as du bol, j'allais au lit.
J'ai vite regardé et je vais pas plus loin. C'est nul ton truc. Tu n'auras jamais le temps de tout lire !
Tu fais je ne sais combien de calculs et tu affiches tout dans la même DIV en remplacement de ce qu'il y avait avant. Tu comptes faire comment pour lire les résultats autres que le final ? Avec une caméra haute vitesse pour filmer l'écran et après tu fais du image/image ?
A demain !
P'tain ! Y a dès fois j'ai l'impression de parler au vent... 
Modifié par zoulouman le 02/11/2020 22:59 |
|
Posté le 02/11/2020 à 23:17 |
Petit astucien
| 
Il y a bien une âme qui t'écoute, ne t'inquiète pas !
Je vais essayer une autre fois  |
|
Posté le 02/11/2020 à 23:29 |
| Tu peux très bien préparer tes div et résultats avec une boucle JS.
Au lieu d'écrire directement le résultat, tu commences par créer un tableau qui ensuite deviendra tes div.
Et ensuite, tu balances tes résultats, un seul par div bien identifiée.
Enfin bref. 
|
|
Posté le 04/11/2020 à 19:02 |
Petit astucien
| Bonsoir,
Je suis en train de développer un code (un peu long )
|
|
|
|
|
|