Você está na página 1de 3

Universidade Federal de Ouro Preto UFOP

Instituto de Cincias Exatas e Biolgicas ICEB


Departamento de Computao DECOM
Disciplina: Algoritmos e Estrutura de Dados I CIC102 / 20091
Professor: David Menotti (menottid@gmail.com)

Trabalho Prtico 6
rvores Digitais - Cdigo Morse
Valor: 0,5 pts (5% da nota total)
Documentao no-Latex: -0,1 pts
Impresso no Frente-Verso: -0,05 pts (no ecologicamente correto)
Interface grfica: +0,1 pts

Data de entrega:
30/06/2009

O objetivo deste trabalho utilizar rvores digitais para armazenar e pesquisar o cdigo morse,
conforme ser descrito abaixo. Observe que as rvores digitais vistas em sala de aula so estruturas
para armazenarmento e pesquisa de chaves com tamanho fixo. Neste trabalho prtico, sugiro que vocs
adaptem estas estruturas para armazenar e pesquisar o cdigo morse que tem tamanho de chave
varivel.
Suponha que no dia 10 de junho de 2010 (vspera do jogo de abertura da Copa do Mundo)... um avio
em que voc estaria viajando para a frica do Sul para assistir a copa do mundo caiu no meio do
Oceano Atlntico. Milagrosamente todos sobreveriam e conseguiriam nadar at a ilha deserta mais
prxima. A ilha no teria comida nem gua, mas o grande problema na verdade seria: Como assistir os
jogos da copa do mundo !?!?! Sem rdio e televiso, a nica opo seria fazer um gato no cabo de
telgrafo submarino e conseguir as informaes transmitidas em Cdigo Morse. Como nico estudante
de Cincia da Computao na ilha, voc estaria encarregado de fazer um programa em seu notebook
para converter as mensagens em cdigo Morse para texto, de forma que vocs poderiam ao menos
acompanhar as notcias da copa.
No Cdigo Morse, cada smbolo do alfabeto codificado atravs de pontos (.) e traos (-) conforme a
tabela abaixo. Espaos so utilizados como separadores de smbolos e a / usada como separador de
palavras. Por exemplo a mensagem ISSO EH UM EXEMPLO codificada:

.. ... ... --- / . .... / ..- -- / . -..- . -- .--. .-.. --0


1
2
3
4
5
6
7
8
9

----.---..--...-.........
-....
--...
---..
----.

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

......--..-.---..

Portanto esse trabalho consiste em fazer um programa que converta mensagens em Cdigo Morse para
mensagens texto. Para isso, voc dever utilizar uma rvore digital similar a que usada nos
algoritmos de pesquisa digital. A sua rvore deve ficar organizada de tal forma que, a medida que os
pontos e traos do cdigo Morse so lidos, voc desce na rvore at encontrar o smbolo do alfabeto

Universidade Federal de Ouro Preto UFOP


Instituto de Cincias Exatas e Biolgicas ICEB
Departamento de Computao DECOM
Disciplina: Algoritmos e Estrutura de Dados I CIC102 / 20091
Professor: David Menotti (menottid@gmail.com)
correspondente.
O trabalho consiste em duas partes bsicas:
1. Construir a rvore: Primeiramente voc dever fazer um procedimento para ler um arquivo
contendo a definio do Cdigo Morse (morse.txt) e montar a rvore que ser utilizada na
pesquisa (converso). Declare e implemente o seu tipo abstrato de dados adequadamente,
fazendo funes para inicializar a rvore, inserir nodos, etc. Faa tambm um procedimento
que imprima a rvore (o cdigo e o smbolo correspondente) usando o caminhamento prordem. Por exemplo:
.
..
...

E
I
S

2. Converso das Mensagens: Depois de construda a rvore, seu programa dever ser capaz de
converter mensagens de Cdigo Morse para texto, e vice-versa. Faa dois procedimento: 1)
que leia uma mensagem (alfanumrica) de um arquivo texto e imprima na tela a mensagem
original e sua converso 2) que leia uma mensagem em cdigo morse e imprima na tela a
mensagem em cdigo morse lida e a sua transcrio. Teste o segundo procedimento do
programa com as mensagens que esto codificadas no arquivo msg.txt. O arquivo contm 5
mensagens em cdigo morse, que esto separadas por linhas em branco.
Os arquivos morse.txt e msg.txt esto nos respectivos endereos:

www.decom.ufop.br/prof/menotti/aedI091/tps/tp6-morse.txt
www.decom.ufop.br/prof/menotti/aedI091/tps/tp6-msg.txt

O que deve ser entregue

Cdigo fonte do programa em C ou C++ (bem identada e comentada).


Documentao do trabalho. Entre outras coisas, a documentao deve conter:
1. Introduo: descrio do problema a ser resolvido e viso geral sobre o
funcionamento do programa.
2. Implementao: descrio sobre a implementao do programa. Deve ser detalhada
a estrutura de dados utilizada (de preferncia com diagramas ilustrativos), o
funcionamento das principais funes e procedimentos utilizados, o formato de
entrada e sada de dados, bem como decises tomadas relativas aos casos e detalhes
de especificao que porventura estejam omissos no enunciado.
3. Estudo de Complexidade: estudo da complexidade do tempo de execuo dos
procedimentos implementados e do programa como um todo (notao O).
4. Listagem de testes executados: os testes executados devem ser simplesmente
apresentados.
5. Concluso: comentrios gerais sobre o trabalho e as principais dificuldades
encontradas em sua implementao.

Universidade Federal de Ouro Preto UFOP


Instituto de Cincias Exatas e Biolgicas ICEB
Departamento de Computao DECOM
Disciplina: Algoritmos e Estrutura de Dados I CIC102 / 20091
Professor: David Menotti (menottid@gmail.com)
Bibliografia: bibliografia utilizada para o desenvolvimento do trabalho, incluindo
sites da Internet se for o caso
7. Em Latex: Caso o trabalho no seja elaborado/escrito em latex, perde-se 0,1
pontos.
8. Impresso: Caso o trabalho seja impresso usando os dois lados da folha (impresso
frente-verso), ganha-se 0,05 pontos extra um incentivo preservar o planeta.
9. Formato: mandatoriamente em PDF (http://www.pdf995.com/).

6.

Obs1: Consulte as dicas do Prof. Nvio Ziviani de como deve ser feita uma boa
implementao
e
documentao
de
um
trabalho
prtico:
http://www.dcc.ufmg.br/~nivio/cursos/aed2/roteiro/
Obs2: Veja modelo de como fazer o trabalho em latex:
http://www.decom.ufop.br/prof/menotti/aedI091/tps/modelo.zip
(caso algum desenvolva um modelo similar em word, favor me enviar)

Como deve ser feita a entrega:


A entrega DEVE ser feita pelo Moodle na forma de um nico arquivo zipado, contendo os
arquivos usados e a documentao. Tambm deve ser entregue a documentao impressa na
prxima aula (terica ou prtica) aps a data de entrega do trabalho.

Comentrios Gerais:

Comece a fazer este trabalho logo, enquanto o contedo est fresco na memria e o
prazo para termin-lo est to longe quanto jamais poder estar;
O trabalho individual (grupo de UM aluno);
Trabalhos copiados (e FONTE) tero nota zero;
Trabalhos entregue em atraso sero aceitos, todavia a nota atribuda ao trabalho ser
zero;
Evite discusses incuas com o professor em tentar postergar a data de entrega do
referido trabalho.