Différences entre versions de « Js algo td1 »
Ligne 25 : | Ligne 25 : | ||
Exemple : mot <math>AMI</math> → <math>code\_mot\_chiffre(mot) = [0, 12, 8]</math> | Exemple : mot <math>AMI</math> → <math>code\_mot\_chiffre(mot) = [0, 12, 8]</math> | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:700px"> | ||
+ | <big>Solution</big> | ||
+ | <source lang="javascript" style="border:1px solid black;font-size:130%" class="mw-collapsible-content"> | ||
+ | function code_mot_chiffre(mot){ | ||
+ | var resultat = new Array(); | ||
+ | for ( var index in mot) { | ||
+ | var i = 0; | ||
+ | var found = false; | ||
+ | while(!found && i < alphabet.length){ | ||
+ | if(mot[index] == alphabet[i]){ | ||
+ | resultat[index] = i; | ||
+ | found = true; | ||
+ | } | ||
+ | i++; | ||
+ | } | ||
+ | } | ||
+ | return resultat; | ||
+ | } | ||
+ | </source> | ||
+ | </div> | ||
= Exercice 2 = | = Exercice 2 = |
Version du 12 mars 2014 à 20:05
Introduction
Pour coder un message, on procède de la manière suivante : à chacune des 26 lettres de l’alphabet, on commence par associer un entier n de l’ensemble selon le tableau ci-dessous :
A | B | C | D | ... | V | W | X | Y | Z |
0 | 1 | 2 | 3 | ... | 21 | 22 | 23 | 24 | 25 |
Puis on associe à tout entier n de le reste de la division euclidienne de par 26 ; ce reste est alors associé à la lettre correspondante.
Exemple
Pour coder la lettre P on procède de la manière suivante :
- on lui associe l’entier
- on calcule l'image soit .
- le reste de la division de 33 par 26 est 7.
- on associe 7 à H. Donc P est codé par la lettre H.
Les étapes 2 et 3 sont appelées codage affine.
Exercice 1
Ecrire une fonction code_mot_chiffre(mot) dont le paramètre est la chaîne de caractères mot. Cette fonction renvoie le code chiffre.
Exemple : mot →
Solution
function code_mot_chiffre(mot){
var resultat = new Array();
for ( var index in mot) {
var i = 0;
var found = false;
while(!found && i < alphabet.length){
if(mot[index] == alphabet[i]){
resultat[index] = i;
found = true;
}
i++;
}
}
return resultat;
}
Exercice 2
Écrire une fonction code_chiffre_mot(code_chiffre) dont le paramètre est la liste de chiffres code_chiffre. Cette fonction renvoie la chaîne de caractères correspondante.
Exemple : →
Exercice 3
Écrire une fonction code_chiffre_chiffre(code_chiffre) dont le paramètre est la liste de chiffres code_chiffre qui renvoie le code_chiffre en utilisant la formule : Reste de la division par 26 de , où n est le numéro de la lettre à coder.
Exemple : →
Exercice 4
Faire une interface graphique qui permette de saisir le mot à coder et qui affiche le mot codé.
Cette interface comprendra:
- un champ input de type text pour la saisie du mot à coder
- un bouton qui permettra de déclencher l'opération de codage
- une div qui affichera le résultat
Exercice 5
Améliorer l'interface graphique en proposant deux champs qui permettent de modifier les paramètres a et b de la fonction affine.
Exercice 6
Afficher un tableau qui indique pour chacune des lettres de l'alphabet son code.