Somme suite de caractere avec leur code ascii

greycats Messages postés 8 Date d'inscription lundi 11 mai 2009 Statut Membre Dernière intervention 12 septembre 2011 - 13 juil. 2011 à 23:31
greycats Messages postés 8 Date d'inscription lundi 11 mai 2009 Statut Membre Dernière intervention 12 septembre 2011 - 15 juil. 2011 à 21:41
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

cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 14
14 juil. 2011 à 11:15
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
0
mikeyjoy Messages postés 28 Date d'inscription dimanche 3 avril 2011 Statut Membre Dernière intervention 8 août 2011
14 juil. 2011 à 11:26
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...
0
greycats Messages postés 8 Date d'inscription lundi 11 mai 2009 Statut Membre Dernière intervention 12 septembre 2011
14 juil. 2011 à 18:27
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 =)
0
mikeyjoy Messages postés 28 Date d'inscription dimanche 3 avril 2011 Statut Membre Dernière intervention 8 août 2011
15 juil. 2011 à 10:44
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
greycats Messages postés 8 Date d'inscription lundi 11 mai 2009 Statut Membre Dernière intervention 12 septembre 2011
15 juil. 2011 à 21:41
Merci pour ces explications et pour le code ..

C'est beaucoup plus clair maintenant.
0
Rejoignez-nous