Realizado

Codigo Morse Java

Publicado em 03 de Dezembro de 2018 dias na TI e Programação

Sobre este projeto

Aberto

O Código Morse é um sistema de transmissão de informação baseada em séries intermitentes de sons, luzes,
traços ou cliques representando letras, números e sinais de pontuação1. Desenvolvido por Samuel Morse em
1835 para ser aplicado no telegrafo, é utilizado ainda nos dias de hoje tanto em radioamadorismo como em
sistemas de rádio orientação para navios e aeronaves. Um exemplo é o sistema de radiofarol não direcional
(em inglês Non-Directional Beacon).
Em comparação com outros sistemas de comunicação modernos, o
código morse mantém a vantagem da facilidade de descodificação e codificação por humanos, exemplo disso
é a popular sequência SOS:
...___...
Neste trabalho, considera-se uma sequência de Código Morse como uma combinação de pontos, traços,
espaços e barras codificadas da seguinte forma:
1. Marca curta, “ponto” ou “dit”, representada por ponto “.” (Código ascii decimal 46)
2. Marca longa, “traço” ou “dah”, representada por linha baixa “_” (código ascii decimal 95)
3. Não há separador entre símbolos “ponto” e “traço” na codificação de um símbolo
4.
Espaço entre símbolos representado por espaço “ ” (código ascii decimal 32)
5. Espaço entre palavras representado por barra “/” (código ascii decimal 47)
Exemplo de frase em Código Morse:
_._. ___ _..
.. __. ___ / __ ___ ._. ... .
C O D I G O (espaço) M O R S E
O presente projeto envolve a criação de uma biblioteca de classes, respetivos métodos e testes que permitam
codificar e descodificar mensagens em código morse. Na implementação, deverá ser utilizada a seguinte
árvore binária que associa as sequências Código Morse e a respetiva representação em símbolos:
1 https://en.wikipedia.org/wiki/Morse_code
First Semester 2018/2019
Código Morse
Estruturas de Informação
2
Para tal dispõe-se da seguinte informação:
morse.csv – ficheiro texto UTF-8 para descodificação de sequências código morse em letras, números ou
símbolos:
<RepresentaçãoMorse> <RepresentaçãoAlfanumérica> <ClasseDeSímbolo>
Usando a estrutura BST (Binary Search Tree) pretende-se que desenvolvam da forma mais eficiente possível
as seguintes funcionalidades:
1. Criar a árvore BST de descodificação código morse partindo do ficheiro fornecido.

2. Descodificar uma sequência de um código morse para a correspondente representação alfanumérica (ex.:
“_..” Para “D”). Descodificar palavras completas representadas em código morse (ex.: “. ... ..
_. .._.” Para “ESINF”).
3. Utilizando a bst da alínea 1) construir uma nova bst para codificação morse apenas das letras “a” a “z”
(isto é, arvore de classe de símbolo “letter”).
4. Utilizando a BST da alínea 3) Efetuar a codificação morse de palavras completas só com letras (ex.:
“ESINF” para “. ... .. _. .._.”).
5. Com recurso à BST criada na alínea 1), encontrar a sequência inicial de “pontos” e “traços” comum a dois
símbolos (ex.: Entre 5 “.....” E 4 “...._” a sequência “....” é Comum)
6. Usando estruturas BST, filtrar e ordenar uma lista de palavras em código morse por total de ocorrências de
tipo de classe de símbolos que a compõem (de maior número de ocorrências para o menor, palavras sem
ocorrências do tipo de símbolo não devem aparecer na lista ordenada).
Exemplo de lista de palavras:
Morse Palavra Número total de ocorrências de
Letter Non-English Number Punctuation
.____ ..___ ...__ 123 0 0 3 0
._ ..___ ...__ A23 1 0 2 0
._ _... ...__ AB3 2 0 1 0
._ _... _._. ABC 3 0 0 0
_._.__ ..___ _._. !2C 1 0 1 1
_._.__ ..._.._ _._. !$C 1 0 0 2
_._.__ ..._.._ _..._ !$= 0 0 0 3

Categoria TI e Programação
Subcategoria Programação

Prazo de Entrega: Não estabelecido

Habilidades necessárias

Outro projetos publicados por T. R.