Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 18-03-2012 22:07:28
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 989
[AlgoBox] Codage d'une phrase via un carré de Polybe virtuel
Bonsoir,
J'ai donc réussi à coder plus court avec un carré de Polybe virtuel et sans lettres :
Lettres Codes ASCII Codes ASCII - 65
A B C D E 65 66 67 68 69 0 1 2 3 4
F G H I J 70 71 72 73 74 5 6 7 8 9
K L M N O 75 76 77 78 79 10 11 12 13 14
P Q R S T 80 81 82 83 84 15 16 17 18 19
U V X Y Z 85 86 88 89 90 20 21 23 24 25
N-B : Si la position est supérieure à 22, c'est qu'on a dépassé le W, il faut donc enlever 1 à la position obtenue.
Je prends donc la phrase "JESUISFOUDUCHOCOLATLANVINDISAITDALI" que je parcours dans son intégralité, lettre après lettre de la position 0 à la position 34 (longueur de la phrase-1).
On commence par le J de "JESUIS...", son code ASCII est 74, moins 65 (le code A) --> 9
Où est-il dans le tableau ?
Par lignes de 5, il est à ligne 1+partie_entiere(9/5) soit 1+ 1=2 --> donc le J est sur la 2e ligne.
Où sur la 2e ligne ?
Par colonnes de 5, il est à 1+ reste_de_la_division_euclidienne de 9 par 5 (= 9%5) soit 1+4 =5 --> le J est donc sur la 5e colonne.
On juxtapose alors 2 et 5, par le calcul 10*2+5 -->25
Et ainsi de suite...
D'où :
1 VARIABLES
2 longueur EST_DU_TYPE NOMBRE
3 ligne EST_DU_TYPE NOMBRE
4 col EST_DU_TYPE NOMBRE
5 pos EST_DU_TYPE NOMBRE
6 i EST_DU_TYPE NOMBRE
7 j EST_DU_TYPE NOMBRE
8 Texte_Clair EST_DU_TYPE CHAINE
9 DEBUT_ALGORITHME
10 Texte_Clair PREND_LA_VALEUR "JESUISFOUDUCHOCOLATLANVINDISAITDALI"
11 longueur PREND_LA_VALEUR Texte_Clair.length-1
12 AFFICHER "La phrase :"
13 AFFICHER Texte_Clair
14 AFFICHER "est codée "
15 POUR i ALLANT_DE 0 A longueur
16 DEBUT_POUR
17 pos PREND_LA_VALEUR Texte_Clair.charCodeAt(i)-65
18 SI (pos>22) ALORS
19 DEBUT_SI
20 pos PREND_LA_VALEUR pos-1
21 FIN_SI
22 ligne PREND_LA_VALEUR 1+FLOOR(pos/5)
23 col PREND_LA_VALEUR 1+pos%5
24 j PREND_LA_VALEUR 10*ligne+col
25 AFFICHER j
26 AFFICHER " "
27 FIN_POUR
28 FIN_ALGORITHME
Résultats :
***Algorithme lancé***
La phrase :
JESUISFOUDUCHOCOLATLANVINDISAITDALI
est codée
25 15 44 51 24 44 21 35 51 14 51 13 23 35 13 35 32 11 45 32 11 34 52 24 34 14 24 44 11 24 45 14 11 32 24
***Algorithme terminé***
J'espère avoir été clair.
@+
Arx Tarpeia Capitoli proxima...
Hors ligne