Write a command line app that encodes some strings.
You don't have to work in order, you can choose to start with the second problem if you want.
-
Write your code in
script.js
, specifically in the 2 given functions.morseDecode
should take a single parameter, the morse code as a string, and return the decoded message as a stringcaesarEncode
should take two parameters, a message as a string and the number of places to shift by (positive values shift to the right, negative values shift to the left), and return the encoded message as a string
-
Run
node script.js YOUR_ARGUMENTS_HERE
to test your functions
Given the following alphabet:
{
a: '.-',
b: '-...',
c: '-.-.',
d: '-..',
e: '.',
f: '..-.',
g: '--.',
h: '....',
i: '..',
j: '.---',
k: '-.-',
l: '.-..',
m: '--',
n: '-.',
o: '---',
p: '.--.',
q: '--.-',
r: '.-.',
s: '...',
t: '-',
u: '..-',
v: '...-',
w: '.--',
v: '...-',
x: '-..-',
y: '-.--',
z: '--..'
}
Build a command line morse-code encoder.
Decode the following messages: (hint: command line arguments can take strings with quotes)
... .- -- ..- . .-.. -- --- .-. ... . .. -. ...- . -. - . -.. -- --- .-. ... . -.-. --- -.. .
-.-- --- ..- .-. .. -. ... - .-. ..- -.-. - --- .-. ... .-.. --- ...- . -.-- --- ..-
- .... .. ... .. ... - .... . .- -. ... .-- . .-. - --- - .... . ..- .-.. - .. -- .- - . --.- ..- . ... - .. --- -. --- ..-. .-.. .. ..-. . - .... . ..- -. .. ...- . .-. ... . .- -. -.. . ...- . .-. -.-- - .... .. -. --.
....
From wikipedia: Caesar cipher is a type of substitution cipher in which each letter in the plaintext is replaced by a letter some fixed number of positions down the alphabet. For example, with a left shift of 3, D would be replaced by A, E would become B, and so on.
The transformation can be represented by aligning two alphabets; the cipher alphabet is the plain alphabet rotated left or right by some number of positions. For instance, here is a Caesar cipher using a left rotation of three places, equivalent to a right shift of 23 (the shift parameter is used as the key):
Example:
Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: XYZABCDEFGHIJKLMNOPQRSTUVW
When encrypting, a person looks up each letter of the message in the "plain" line and writes down the corresponding letter in the "cipher" line.
Plaintext: THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
Ciphertext: QEB NRFZH YOLTK CLU GRJMP LSBO QEB IXWV ALD
Write your function such that it can decode a message given to it as well.