Calcul dans JavaScript

Fermé
apz Messages postés 10 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 24 septembre 2020 - 23 sept. 2020 à 18:20
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 24 sept. 2020 à 14:10
Bonjour,

J'aimerais avoir un code qui facilitera le calcul de l'algorithme suivant :

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


Merci.

Configuration: Windows / Chrome 84.0.4300.0
A voir également:

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
23 sept. 2020 à 21:11
Bonjour,

Tu veux un code ? et bien... écris le !
Ici on ne fourni pas de code à la demande ...... par contre, si tu as essayé d'en faire un et que tu bloques dessus, montres nous ce que tu as fais en expliquant ce qui te bloque... et là on pourra éventuellement te venir en aide.


0
apz Messages postés 10 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 24 septembre 2020 2
24 sept. 2020 à 11:32
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>
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
24 sept. 2020 à 14:10
Si on reprend l'algo de départ :

Entrer votre numéro
https://developer.mozilla.org/fr/docs/Web/API/Window/prompt

Ls = len(Serie)
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/String/length

Code = 13121110987654

Lc = len(Code)
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/String/length

Pour i=0 à Ls-1 faire
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Instructions/for
for(let i=0; i<LS; i++) {
  //..faire...
  
}


posSerie = Mid(Serie,ls-i,1)
posCode = Mid(Code,lc-i,1)
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/String/substring


Pour finir, pour afficher....
Soit tu veux juste afficher dans la console js, et dans ce cas tu peux utiliser des consoles.log

Soit tu veux afficher dans une page html, et à la place de faire du document.writte, tu peux utiliser du append avec un élément createTextNode par exemple
https://developer.mozilla.org/fr/docs/Web/API/Document/createTextNode
0