Medzinárodná Morseova abeceda

**Medzinárodná Morseova abeceda** [vyslov: morzeova] (iné názvy: **Morseova abeceda, Morsova abeceda**, **Morseova telegrafická abeceda, Morseho abeceda** [vyslov: morzeho], hovorovo **morzeovka**) je sústava telegrafných signálov zodpovedajúcich písmenám, čísliciam a iným znakom, ktoré sa používajú pri písaní. V grafickom vyjadrení je to sústava bodiek a čiarok, časovo bodka predstavuje krátky signál a čiarka dlhý signál. Autorom abecedy je Samuel Finley Breese Morse.

## Program v C#


```csharp
using System;

namespace x30x12x2021
{
    internal class Program
    {
        static void Main()
        {
            while (true)
            {
                Console.WriteLine("Zadejte text určený pre prevod:");
                string line = Console.ReadLine();
                if (string.IsNullOrEmpty(line)) break;
                else
                {
                    Console.WriteLine();

                    if (line[0] == '.' || line[0] == '-') //bola zadána Morseova ábeceda?
                    {
                        string[] vs = line.Split(' ', StringSplitOptions.RemoveEmptyEntries); //medzery v Morseovke

                        for (int i = 0; i < vs.Length; i++)
                        {
                            Console.Write(Morse.DecodeMorseCode(vs[i]));
                        }
                    }
                    else //nebola zadána Morseovka, pracujem s textom
                    {
                        for (int i = 0; i < line.Length; i++)
                        {
                            Console.Write(Morse.EncodeToMorseCode(line[i]));
                            Console.Write(" "); //oddelovač
                        }
                    }

                    Console.WriteLine();
                }
            }
        }
    }

    static class Morse
    {
        #region ONLY READ
        private static readonly string[,] MorseCodes = new string[,]
            {
                {"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" , "--.."},
                {"0" , "-----"},
                {"1" , ".----"},
                {"2" , "..---"},
                {"3" , "...--"},
                {"4" , "....-"},
                {"5" , "....."},
                {"6" , "-...."},
                {"7" , "--..."},
                {"8" , "---.."},
                {"9" , "----."}
            };
        #endregion
        public static string EncodeToMorseCode(char c)
        {
            var uc = char.ToUpper(c);
            int len = MorseCodes.GetLength(0);
            for (int i = 0; i < len; i++)
            {
                if (uc == MorseCodes[i, 0][0]) return MorseCodes[i, 1];
            }
            return uc.ToString();
        }

        public static string DecodeMorseCode(string m)
        {
            int len = MorseCodes.GetLength(0);
            for (int i = 0; i < len; i++)
            {
                if (m == MorseCodes[i, 1]) return MorseCodes[i, 0];
            }
            return "?";
        }
    }
}
```


## Pozri aj
* telegraf

## Poznámka

Kategória:Telegrafia
Kategória:Abecedy

Morseova abeceda