Échange de données 1

Échange de données 1


1.4- Exercices

Laboratoire 1

2.1- Service web

Réaliser une application console Ruby permettant d'encoder et décoder un message via un algorithme fournit.

Algorithme

L'algorithme utilise la clé fournie pour produire un charactère encodé correspondant à la valeur reçue, via le code ASCII.

Fonctionnement

Un nombre est associé à chaque caractère, la table ASCII

abcdefghijklmnopqrstuvwxyz
0123456789...

Pour encoder, on calcule la nouvelle valeur de chaque caractère: position + clé

allo

encodé avec la clé 2 devient

cnnq

car l'alphabet original est décallé de 2 lettres

abcdefghijklmnopqrstuvwxyz

cdefghijklmnopqrstuvwxyzab

Pour décoder, on effectue le calcul inverse position - clé via l'alphabet de référence

abcdefghijklmnopqrstuvwxyz

donc c - 2 positions devient a, et ainsi de suite.

Le code fournit s'assure de retourner une valeur dans l'interval de caractères affichables

Fonctionnalités attendues

Permets de choisir entre 3 options: e pour encoder, d pour décoder ou q pour quitter le programme

Encoder/Décoder

Le programme demande à l'utilisateur de saisir un message ET une clé

Exemple d'exécution

Appuyer sur 'd' pour décoder, 'e' pour encoder ou 'q' pour quitter: e
Contenu a traiter: Allo le monde!
Clé: 42
Secret = dFFimFtmWisptv

Appuyer sur 'd' pour décoder, 'e' pour encoder ou 'q' pour quitter: d
Contenu a traiter: dFFimFtmWisptv
Clé: 42
Message = Allo le monde!

Appuyer sur 'd' pour décoder, 'e' pour encoder ou 'q' pour quitter: d
Contenu a traiter: allo
Clé:
Message = allo

Appuyer sur 'd' pour décoder, 'e' pour encoder ou 'q' pour quitter: d
Contenu a traiter: allo
Clé: 56
Message = e77m

Appuyer sur 'd' pour décoder, 'e' pour encoder ou 'q' pour quitter: q

Remise

Énoncé de travail sur LÉA

Échange de données 1

Nom:

Qualité de rédaction, Nomenclature, Formatage, Syntaxe 2     1.5     1     0
Respect du format d'affichage 2     1.5     1     0
Validations saisie 2     1.5     1     0
Compréhension 0     -0.5     -1     -2     -3
Menu
Affichage des 3 options 1     0.5     0
Accepte minuscule OU majuscule 1     0.5     0
Redemande si invalide, Répète tant que ne quitte pas 1     0.5     0
Option 'q' quitte le programme 1     0.5     0
Encoder
Option 'e' 1     0.5     0
Saisie du message 1     0.5     0
Saisie de la clé 1     0.5     0
Encodage, affichage du résultat 2     1.5     1     0
Décoder
Option 'd' 1     0.5     0
Saisie du message 1     0.5     0
Saisie de la clé 1     0.5     0
Décodage, affichage du résultat 2     1.5     1     0