Somme suite de caractere avec leur code ascii

Signaler
Messages postés
8
Date d'inscription
lundi 11 mai 2009
Statut
Membre
Dernière intervention
12 septembre 2011
-
Messages postés
8
Date d'inscription
lundi 11 mai 2009
Statut
Membre
Dernière intervention
12 septembre 2011
-
Bonsoir,

Je souhaiterai calculer une suite de caractère avec leur code ascii par exemple:

aa donnera a+a => 97+97=194
ou encore plus loin
algo donnera => 97+108+103+111=419

J'ai essayer de faire un petit bout de code en javascript mais c'est très long c'est pourquoi je voulais savoir si il n'y avait pas plus cours.


Voici mon code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Calcul Ascii</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<script language="JavaScript" type="text/javascript">
question=prompt("Calcul de la chaine: ")
rst=0;
var a="a";
var b="b";
var c="c";
var d="d";
var sommeaa=a+a;
var sommeab=a+b;
if(question == a)
{
rst=97;
alert("Resultat: " + rst);
}
else if(question == b)
{
rst=98;
alert("Resultat: " + rst);
}
else if(question == c)
{
rst=99;
alert("Resultat: " + rst);
}
else if(question == d)
{
rst=100;
alert("Resultat: " + rst);
}
else if(question == sommeaa)
{
rst=194;
alert("Resultat: " + rst);
}
else if(question == sommeab)
{
rst=195;
alert("Resultat: " + rst);
}
else
alert("Try again !!!!")
</script>


si quelqu'un peu m'aider svp.

5 réponses

Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
12
Bonjour,

    <script type='text/javascript'>
      var question = prompt("Calcul de la chaine: ")
      var nbCar = question.length;
      var total = 0;
      for(var i = 0; i < nbCar; i ++)
      {
        total += question.charCodeAt(i)
      }
      alert(total)
    </script>


Cordialement.

JC
Messages postés
28
Date d'inscription
dimanche 3 avril 2011
Statut
Membre
Dernière intervention
8 août 2011

Voilà pour faire plus simple:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Calcul Ascii</title>
</head>


<script language="JavaScript" type="text/javascript"> 
var question = prompt("Calcul de la chaine: ");
var rst = 0;
for (i=0; i<question.length; i++) {
rst+=question.charCodeAt(i);
}
alert("Resultat: "+rst);
</script> 

</html>



Bien à toi...
Messages postés
8
Date d'inscription
lundi 11 mai 2009
Statut
Membre
Dernière intervention
12 septembre 2011

Merci pour vos réponse =)..

Je souhaiterai juste savoir comment cela fonctionne exactement..

Car le ce que je comprend c'est que on affiche une popup:
var question = prompt("Calcul de la chaine: ");

On met a zero rst:
var rst = 0;

Et dans la boucle i=0, i doit etre inferieur a la taille de la chaine question et i++
for (i=0; i<question.length; i++)

Et pour finir rst vaut... la j'ai pas compris

Et est ce qu' on aurait pu faire une boucle avec j=0 etc ou ce n'est pas la peine?

Desole pour toute ces questions mais je prefere comprendre le code pour l'executer =)
Messages postés
28
Date d'inscription
dimanche 3 avril 2011
Statut
Membre
Dernière intervention
8 août 2011

rst+=question.charCodeAt(i) équivaut à:
rst = rst + question.charCodeAt(i)

string.charCodeAt(index) est une méthode qui retourne le code ASCII du caractère de la chaine string situé en position index.
L'index du premier caractère est 0.

i est juste une variable temporaire utilisée communément dans les boucles for. Tu peux la remplacer par j, bien sur.
Messages postés
8
Date d'inscription
lundi 11 mai 2009
Statut
Membre
Dernière intervention
12 septembre 2011

Merci pour ces explications et pour le code ..

C'est beaucoup plus clair maintenant.