Résolu Aide Exercice ALgo

Solutions (1)
Tags :
  • Algorithme
|
Salut tout le monde! Je vous avoue que je suis nul en algorithme et j'ai une liste d'exercice , je n'y comprend rien pouvais vous m'aider ....


Le code de jules cesar

Exercice 1: Écrivez un algorithme qui parcourt une à une l’ensemble des lettres du message à chiffrer et qui les colle, une à une, dans une nouvelle chaine de caractère qui sera retournée à la fin (le message retourné est donc identique au message initial, mais reconstruit lettre après lettre).

Exercice 2: En vous basant sur le tableau 2 pour la correspondance et sur les fonctions position(X) et lettre(L), faites évoluer votre algorithme précédent pour que chaque lettre écrite dans la nouvelle chaine de caractère soit décalée de trois crans vers la droite. Vous pourrez utiliser la notion de modulo (pour traiter notamment les lettres X, Y et Z). Si vous n’avez pas réussi la question précédente, vous pouvez tout de même répondre à celle-ci.
Contenus similaires
Meilleure solution
partage
, Modérateur |
Salut,

Ce n'est pas très compliqué.
Je te conseille de rédiger ton algo étape par étape :

1/ Parcourir un texte lettres par lettres
Il te faut :
1 variable qui contient le texte de départ
1 variable qui va contenir le texte d'arrivée
1 structure pour faire plusieurs fois la même chose en avançant d'une lettre
1 façon de savoir où tu en es, et quand tu dois t'arrêter
1 façon de lire 1 lettre dans une chaine

Pour les trois derniers points :
• tu as le choix entre une boucle "pour i allant de 1 à n, faire... prochain i" ou une boucle "tant que". On va choisir un "pour i".
• pour le où tu en es, il y a le i de la boucle pour. Reste à récupérer la longueur de la chaine de départ. On suppose que $chaine.longueur() renvoie cette longueur sous forme d'entier.
- on suppose que $chaine.caractere(i) renvoit la lettre placée en ième positions dans $chaine. On suppose que la première lettre est $chaine(1)
(A noter que dans beaucoup de langages, la première position est la position 0, soit i-1)

2/ première version
variable $chaine_entree du type chaine
variable $chaine_sortie du type chaine = ""
variable longueur_chaine du type entier
$chaine_entree = le message (on suggère que l'accès au message est résolu, on ne gratte pas une saisie au clavier ou un accès disque)
longueur_chaine = $chaine_entree.longueur()
pour i allant de 1 à longueur_chaine faire
$chaine_sortie = $chaine_sortie + $chaine_entree.caractere(i)
prochain i
afficher $chaine_sortie
fin

Pour l'exercice 2, il faut accéder au tableau de transcodage, et coder le décalage des lettres.
Le principe : le modulo te sert à faire boucler le résultat.
tu cherches la lettre en position n+3 dans le tableau. Quand tu es vers la fin du tableau, tu en sors.
Le modulo te donne le reste de la division entière.
modulo(29;26) te donne 3 ==> tu cherches 3 positions plus loin que la limite 26, ça te renvoie 3

A toi de faire...
  • YumiYu a sélectionné cette solution comme la meilleure réponse
  • Dreamcaster a sélectionné cette solution comme la meilleure réponse
  • Commenter cette solution |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS