Skip to content

Commit 31cbc04

Browse files
committed
feat(moyen): ajoute l'exercice 7
1 parent 6f4bea8 commit 31cbc04

File tree

3 files changed

+55
-0
lines changed

3 files changed

+55
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Exercice 7
2+
3+
En cryptographie, le **chiffrement par décalage**, également connu sous le nom de **chiffre de César** est l'une des techniques de cryptage les plus simples et les plus connues. C'est un type de chiffrement de substitution dans lequel chaque lettre du texte brut est remplacée par une lettre à un nombre fixe de positions dans l'alphabet. Par exemple, avec un décalage à gauche de 3, D serait remplacé par A, E deviendrait B, et ainsi de suite. La méthode porte le nom de Jules César, qui l'a utilisée dans sa correspondance privée.
4+
5+
## Exemple de l'alphabet avec une rotation par 3
6+
7+
```text
8+
Alphabet original : ABCDEFGHIJKLMNOPQRSTUVWXYZ
9+
Alphabet décalé +3 : DEFGHIJKLMNOPQRSTUVWXYZABC
10+
```
11+
12+
Créez une fonction qui renverra la phrase après avoir décalé l'alphabet.
13+
14+
La fonction prendra les paramètres suivants :
15+
16+
- `phrase`: une chaîne de caractère (tout en majuscule) sans espaces
17+
- `decalage`: un entier, le décalage dans l'alphabet
18+
19+
## Exemples
20+
21+
- `exercice7('JAVASCRIPT', 15)`, la fonction retournera `'ULGLDNCTAE'`
22+
23+
Vous pouvez voir d'autres exemples dans le fichier des tests : `exercice-7.test.js`.

01-moyen/exercice-7/exercice-7.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/**
2+
* @param {string} phrase
3+
* @param {string} decalage
4+
* @returns {string}
5+
*/
6+
function exercice7(phrase, decalage) {
7+
8+
}
9+
10+
// Ne touchez pas à la ligne suivante
11+
module.exports = exercice7;
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
const exercice7 = require('./exercice-7');
2+
3+
test("exercice7('ANTHONY', 2) devrait retourner 'YLRFMLW'", () => {
4+
expect(exercice7('ANTHONY', 2)).toBe('YLRFMLW');
5+
});
6+
7+
test("exercice7('THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG', 3) devrait retourner 'QEB NRFZH YOLTK CLU GRJMP LSBO QEB IXWV ALD'", () => {
8+
expect(exercice7('THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG', 3)).toBe('QEB NRFZH YOLTK CLU GRJMP LSBO QEB IXWV ALD');
9+
});
10+
11+
test("exercice7('PROGRAMMING CHALLENGES IS AWESOME', 14) devrait retourner 'BDASDMYYUZS OTMXXQZSQE UE MIQEAYQ'", () => {
12+
expect(exercice7('PROGRAMMING CHALLENGES IS AWESOME', 14)).toBe('BDASDMYYUZS OTMXXQZSQE UE MIQEAYQ');
13+
});
14+
15+
test("exercice7('JVUNYHABSHAPVUZ', 7) devrait retourner 'QEB NRFZH YOLTK CLU GRJMP LSBO QEB IXWV ALD'", () => {
16+
expect(exercice7('JVUNYHABSHAPVUZ', 7)).toBe('CONGRATULATIONS');
17+
});
18+
19+
test("exercice7('JAVASCRIPT', 15) devrait retourner 'ULGLDNCTAE'", () => {
20+
expect(exercice7('JAVASCRIPT', 15)).toBe('ULGLDNCTAE');
21+
});

0 commit comments

Comments
 (0)