Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Conclusão
 
 
Acadêmico(a): Rodrigo Hackbarth
Título: Ferramenta para Representação Gráfica do Funcionamento de Algoritmos Aplicados em Grafos
 
Conclusão:
Diferentes problemas encontrados no cotidiano podem ser modelados na forma de
grafo, a fim de providenciar uma melhor visualização do problema para então encontrar sua
solução. Alguns problemas podem ser resolvidos por algoritmos já conhecidos na teoria dos
grafos. Mesmo conhecendo a teoria, muitas vezes é difícil visualizar o grafo e a solução do
problema, às vezes pelo tamanho do grafo ser muito grande. Outro momento em que a
visualização do grafo pode ser difícil é no aprendizado de sua teoria. Por esse motivo,
mostrou-se interessante o desenvolvimento de uma ferramenta que permitisse ao usuário a
construção de um grafo e a aplicação de algoritmos sobre o mesmo.
Essa ferramenta permite ao usuário a criação de um grafo de forma interativa. Assim, o
usuário pode criá-lo da maneira que preferir visualizá-lo, e ainda verificar a execução de um
algoritmo sobre o mesmo. Seu desenvolvimento foi realizado utilizando o modelo MVC. A
utilização de padrões de projeto permite maior organização do código facilitando seu
entendimento e alterações que venham a ser realizadas. Normalmente se utiliza mais de um
padrão durante o desenvolvimento de um aplicativo, mesmo porque muitas vezes os padrões
complementam uns aos outros. No caso da ferramenta desenvolvida, além do padrão MVC,
foi utilizado o padrão Command, o qual permite que a comunicação entre as camadas de
visualização e lógica seja realizada sem prejudicar o conceito do modelo MVC.
Foi utilizada a linguagem C++ para o desenvolvimento da ferramenta, possibilitando o
uso da biblioteca GraphObj, a qual também foi desenvolvida em C++. Foram utilizados, para
o desenho dos vértices e arestas do grafo, alguns métodos disponibilizados pela OpenGL. Por
fim, foi utilizada a biblioteca IUP em conjunto com a linguagem LED, para a construção do
diálogo, com seus botões, e da área para desenho do grafo de maneira simples.