Calcul dans JavaScript

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

2 réponses

  1. Modérateur
    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.

    1. 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>
      1. Modérateur
        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