Description commentaires .js
Résolu
Dimgtdb
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
Marco la baraque Messages postés 996 Date d'inscription Statut Contributeur Dernière intervention -
Marco la baraque Messages postés 996 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis actuellement entrain d'essayer de déchiffrer un petit programme.
Cependant, un problème persiste sur cette partie ... je ne comprends vraiment pas ce qui se passe.
Quelqu'un pourrait il m'aider à comprendre ce qui se passe sur chaque ligne de ce programme s'il vous plaît quitte à ce que je le paye, c'est vraiment important.
Merci d'avance,
Nicolas.
[function C*(msginitial,decalage,chiffre) {
Alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ';
msginitial.value = msginitial.value.toUpperCase();
k=parseInt(decalage);
while(k<0) {k+=26};
while(k>25) {k-=26};
n=0;
chiffre.value = "";
for(var count = 0; count < msginitial.value.length; count++) {
alpha = msginitial.value.charAt(count);
idx = Alphabet.indexOf(alpha);
if (idx > -1)
{
if ((n%5==0) && (n>0))
{chiffre.value+=" "};
n++;
chiffre.value += Alphabet.charAt(idx+k);
}
}]
Je suis actuellement entrain d'essayer de déchiffrer un petit programme.
Cependant, un problème persiste sur cette partie ... je ne comprends vraiment pas ce qui se passe.
Quelqu'un pourrait il m'aider à comprendre ce qui se passe sur chaque ligne de ce programme s'il vous plaît quitte à ce que je le paye, c'est vraiment important.
Merci d'avance,
Nicolas.
[function C*(msginitial,decalage,chiffre) {
Alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ';
msginitial.value = msginitial.value.toUpperCase();
k=parseInt(decalage);
while(k<0) {k+=26};
while(k>25) {k-=26};
n=0;
chiffre.value = "";
for(var count = 0; count < msginitial.value.length; count++) {
alpha = msginitial.value.charAt(count);
idx = Alphabet.indexOf(alpha);
if (idx > -1)
{
if ((n%5==0) && (n>0))
{chiffre.value+=" "};
n++;
chiffre.value += Alphabet.charAt(idx+k);
}
}]
A voir également:
- Description commentaires .js
- Clément a partagé le fichier mme bovary. il a écrit des commentaires dans le document. quel est le 2e commentaire ? - Guide
- Mes commentaires tiktok n'apparaissent pas - Forum Mail
- Pourquoi ne peut on pas voir tous les commentaires sur facebook ✓ - Forum Facebook
- Enlever audio description lg - Forum Téléviseurs
- Problème affichage commentaires Facebook. ✓ - Forum Facebook
8 réponses
Salut Dimgtdb,
Ta fonction est une fonction de cryptage de message.
while(k<0) {k+=26};
while(k>25) {k-=26};
Ici on va utiliser le nombre entré comme décalage et on va lui ajouter ou retrancher 26 tant qu'on n'est pas dans le bon intervalle pour se trouver dans l'alphabet.
for(var count = 0; count < msginitial.value.length; count++) {
alpha = msginitial.value.charAt(count);
idx = Alphabet.indexOf(alpha);
Ici on va parcourir la chaîne à crypter :
pour chaque caractère, on regarde à quel position de l'alphabet il se trouve (A = 0, B = 1...).
if (idx > -1)
{
...
chiffre.value += Alphabet.charAt(idx+k);
}
Si le caractère est effectivement dans l'alphabet, alors on va crypter en utilisant le cryptage de César :
on récupère le caractère que se trouve k positions plus loin dans l'alphabet (où k est le décallage).
Enfin
if ((n%5==0) && (n>0))
{chiffre.value+=" "};
n++;
Bah ici, tous les 5 caractères, on va insérer un espace pour que la chaîne soit plus lisible sans doute.
Cordialement,
PS : par contre le chiffre.value += Alphabet.charAt(idx+k); me chiffonne un peu, je pense qu'il y a un bug ici. En effet, si idx+k >= 26, alors Alphabet.charAt(idx+k) va retourner -1 et je ne suis pas sûr que ce soit le comportement souhaité (ton message est indescriptible).
Ta fonction est une fonction de cryptage de message.
while(k<0) {k+=26};
while(k>25) {k-=26};
Ici on va utiliser le nombre entré comme décalage et on va lui ajouter ou retrancher 26 tant qu'on n'est pas dans le bon intervalle pour se trouver dans l'alphabet.
for(var count = 0; count < msginitial.value.length; count++) {
alpha = msginitial.value.charAt(count);
idx = Alphabet.indexOf(alpha);
Ici on va parcourir la chaîne à crypter :
pour chaque caractère, on regarde à quel position de l'alphabet il se trouve (A = 0, B = 1...).
if (idx > -1)
{
...
chiffre.value += Alphabet.charAt(idx+k);
}
Si le caractère est effectivement dans l'alphabet, alors on va crypter en utilisant le cryptage de César :
on récupère le caractère que se trouve k positions plus loin dans l'alphabet (où k est le décallage).
Enfin
if ((n%5==0) && (n>0))
{chiffre.value+=" "};
n++;
Bah ici, tous les 5 caractères, on va insérer un espace pour que la chaîne soit plus lisible sans doute.
Cordialement,
PS : par contre le chiffre.value += Alphabet.charAt(idx+k); me chiffonne un peu, je pense qu'il y a un bug ici. En effet, si idx+k >= 26, alors Alphabet.charAt(idx+k) va retourner -1 et je ne suis pas sûr que ce soit le comportement souhaité (ton message est indescriptible).
Bonjour Marco et merci beaucoup pour ta réponse qui m'a beaucoup aidé ...
Cependant, J'aimerai que aiguiller un problème.
"Enfin
if ((n%5==0) && (n>0))
{chiffre.value+=" "};
n++;
Bah ici, tous les 5 caractères, on va insérer un espace pour que la chaîne soit plus lisible sans doute."
En effet, je souhaiterai conserver la même syntaxe de phrase à savoir ne pas effectuer d'espace entre des mots du message crypté et non crypté de manière à, même si le message est crypté, pouvoir retrouver les espaces aux mêmes endroits.
Comment faire s'il te plaît?
Merci beaucoup..
Cependant, J'aimerai que aiguiller un problème.
"Enfin
if ((n%5==0) && (n>0))
{chiffre.value+=" "};
n++;
Bah ici, tous les 5 caractères, on va insérer un espace pour que la chaîne soit plus lisible sans doute."
En effet, je souhaiterai conserver la même syntaxe de phrase à savoir ne pas effectuer d'espace entre des mots du message crypté et non crypté de manière à, même si le message est crypté, pouvoir retrouver les espaces aux mêmes endroits.
Comment faire s'il te plaît?
Merci beaucoup..
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je suppose qu'au lieu de la valeur '5' dans :
if ((n%5==0) && (n>0))
{chiffre.value+=" "};
n++;
chiffre.value += Alphabet.charAt(idx+k);
il faudrait que ce soit UN mot mais comment faire ?
if ((n%5==0) && (n>0))
{chiffre.value+=" "};
n++;
chiffre.value += Alphabet.charAt(idx+k);
il faudrait que ce soit UN mot mais comment faire ?
Bonjour,
Il suffit de tester quand tu as un espace, et d'ajouter un espace à la chaîne de sortie :
Ainsi tu vas conserver les mêmes "mots", et tu n'auras plus d'espace tous les 5 caractères.
Cordialement,
PS : calme toi un peu avec les up stp, tout le monde n'est pas forcément très disponible dans la journée pour répondre aux problèmes sur ce genre de forum Faut prendre son mal en patience ;)
Il suffit de tester quand tu as un espace, et d'ajouter un espace à la chaîne de sortie :
... for(var count = 0; count < msginitial.value.length; count++) { alpha = msginitial.value.charAt(count); if (alpha == ' ') { chiffre.value += alpha; } idx = Alphabet.indexOf(alpha); if (idx > -1) { n++; chiffre.value += Alphabet.charAt(idx+k); } ...
Ainsi tu vas conserver les mêmes "mots", et tu n'auras plus d'espace tous les 5 caractères.
Cordialement,
PS : calme toi un peu avec les up stp, tout le monde n'est pas forcément très disponible dans la journée pour répondre aux problèmes sur ce genre de forum Faut prendre son mal en patience ;)
Voici le corps de ma fonction :
function C*(msginitial,decalage,chiffre) {
Alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ';
msginitial.value = msginitial.value.toUpperCase();
k=parseInt(decalage);
while(k<0) {k+=26};
while(k>25) {k-=26};
n=0;
chiffre.value = "";
for(var count = 0; count < msginitial.value.length; count++) {
alpha = msginitial.value.charAt(count);
if (alpha == ' ') {
chiffre.value += alpha;
}
idx = Alphabet.indexOf(alpha);
if (idx > -1) {
n++;
chiffre.value += Alphabet.charAt(idx+k);
}
}
}
}
function C*(msginitial,decalage,chiffre) {
Alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ';
msginitial.value = msginitial.value.toUpperCase();
k=parseInt(decalage);
while(k<0) {k+=26};
while(k>25) {k-=26};
n=0;
chiffre.value = "";
for(var count = 0; count < msginitial.value.length; count++) {
alpha = msginitial.value.charAt(count);
if (alpha == ' ') {
chiffre.value += alpha;
}
idx = Alphabet.indexOf(alpha);
if (idx > -1) {
n++;
chiffre.value += Alphabet.charAt(idx+k);
}
}
}
}