Rešitev: program Morsejeva abeceda (Mathematica)

Iz MaFiRaWiki

Naloga: program Morsejeva abeceda

Znaki:

abeceda={
{"A", " .- "},
{"B", " -... "},
{"C", " -.-. "},
{"D", " -.. "},
{"E", " . "},
{"F", " ..-. "},
{"G", " --. "},
{"H", " .... "},
{"I", " .. "},
{"J", " .--- "},
{"K", " -.- "},
{"L", " .-.. "},
{"M", " -- "},
{"N", " -. "},
{"O", " --- "},
{"P", " .--. "},
{"Q", " --.- "},
{"R", " .-. "},
{"S", " ... "},
{"T", " - "},
{"U", " ..- "},
{"V", " ...- "},
{"W", " .-- "},
{"X", " -..- "},
{"Y", " -.-- "},
{"Z", " --.. "},
{" ", "    "}
}

Funkcija:

Morsejeva[s_String, l_List] :=
Apply[StringJoin, ReplaceAll[Characters[ToUpperCase[s]], Map[(#[[1]] -> #[[2]] &), l]]]

Primer uporabe:

In[1]:= Morsejeva["Janez Novak", abeceda]

Out[1]= " .---  .-  -.  .  --..      -.  ---  ...-  .-  -.- "

Glej tudi

Osebna orodja