Criando Fluxogramas? Use o Dia!

Introdução

A lógica de programação é representada de inúmeras formas, os mais famosos tipos de representação são o Pseudocódigo, em que colocamos em ordem lógica de acontecimento as ações dos programas, o Diagrama de Chapin, método não muito usado para representar algoritmos e por fim temos o Fluxograma, que usa figuras geométricas para representar o fluxo de dados do algoritmo.

Mas infelizmente não dispomos de muitas ferramentas para o desenho dos fluxogramas no Linux, neste artigo relato o uso de uma interessante ferramenta Open Source para este tipo de tarefa, o Dia, que mais do que criar fluxogramas, cria inúmeros tipo de diagramas, que vão desde engenharia química ao desenvolvimento de UMLs.

Mas vamos, ao que interessa, vamos conhecer o Dia.


Instalação

Primeiro precisamos de instalar o software, para tanto acesse o site do projeto:
Para compilar o Dia 0.91+ você precisa de:
  • pkg-config versão 0.14.0 ou superior;
  • GTK versão 2.0.0+ e as respectivas bibliotecas relacionadas (glib, atk, pkg-config, pango). Pango versão 1.1.5 ou superior. Necessário estar compilado módulo PangoFT2. Pango 1.1.5 e versões acima dependem do GLib versão 2.1.3 ou superior;
  • libxml versão 2.3.9 ou superior;
  • intltool versão 0.21 ou superior;
  • freetype versão 2.0.9 ou superior do Unix.

Para adicionar bibliotecas e características (para 0.91+):
  • libpng (para exportar como png);
  • gnome-libs (para suporte ao Gnome);
  • libart versão 2.1.0 ou superior;
  • libxslt para o plugin XSLT;
  • Python e PyGtk2 para suporte a Python.

Bibliotecas necessárias para compilar o Dia versão 0.90:
  • Glib versão 1.2.0+ (necessário para o GTK);
  • GTK versão 1.2.0+;
  • Gdk-Pixbuf versão 0.7.0+;
  • libxml versão 1.8.5+;
  • intltool versão 0.12 ou superior;
  • libunicode versão 0.4 (não a versão 0.7 disponível na SourceForge).

OBS: Informações sobre bibliotecas necessárias retiradas do site do projeto.


Enfim, o Dia!

Para abrir o programa, abra um terminal e digite:

$ dia


Depois de carregar o programa, você poderá notar que visualmente ele é um programa bem simples, com apenas duas janelas, uma para o desenvolvimento do diagrama e outro para manipular os recursos do software.


Vamos selecionar agora a opção fluxograma:


Agora, enfim vamos por a mão na massa, para tanto vamos desenvolver um simples algoritmo que servirá de base para o desenho do fluxograma.

O exemplo que eu criei foi o seguinte:

Um sistema que lê o gabarito de uma prova contendo dez questões (Valendo um ponto cada uma). Lendo depois os códigos de matrícula e as respostas das provas das de 100 alunos; depois calcular a nota de cada aluno e imprimir o código de matricula, a nota e o resultado(a nota de aprovação deve ser igual ou maior que 7); em seguida imprimir a quantidade de alunos aprovados e a nota média da turma.

Dicionário de Dados


Dados        Identif:   Tipo 

Gabarito Prova GP Vetor:L
Contador Resp CR Numérica
Respostas Alunos RA Matriz:L
Contador Alunos CA Numérica
Índice Resp IR Numérica
Total de pontos TP Numérica
Total Alunos Ap. TAA Numérica
Total geral de pontos TGP Numérica
Média da turma MT Numérica
Algoritmo Correcao_de_Prova:

Início

   GP: vetor[1..10] Literal
   RA: matriz[1..100,1..11] Literal
   CR, CA,IR, TP, TAA, TGP, MT: Numérico

   Para CR de 1 até 10 faça:
      Leia CP[CR]
   Fim_para

   TAA <- 0
   TGP <- 0

   Para CA de 1 até 100
      Para IR de 1 até 11 faça
         Se IR=1
            Então escreva "Código da Matrícula"
            Senão escreva "Resposta:" IR - 1
         Fim_se

         Leia RA [CA,IR]
      Fim_para
   Fim_Para

   Para CA de 1 até 100 faça
      IP <- 0
      Para IR de 2 até 11 faça
         Se GP[IR] = RA [CA, IR]
            Então TP <- TP +1
         Fim_se
      Fim_para

      Escreva RA [CA,1], IP

      SE TP >= 7
         Então escreva "Aprovado"
         TAA <- TAA + 1

         Senão escreva "Reprovado"

      Fim_se

      TGP <- TGP + TP
   Fim_para

   Escreva TAA
   MT <- TGP / 100
   Escreva MT

Fim

O desenvolvimento do diagrama é muito fácil e de forma intuitiva, você escolhe a figura do processo desejado e desenha na área do programa, como se faz em editores de imagem como Photoshop e Gimp:


Depois de "desenhar" o fluxograma do algoritmo criado anteriormente, a imagem ficará assim:


Para salvar, clique na área de desenho com o botão direito, vá em 'Arquivo' e depois em 'Exportar...'; veja o grande número de opções de extensões que temos para salvarmos nosso projeto:


Neste breve artigo, mostrei a vocês essa poderosa ferramenta para o desenvolvimento de diagramas que é o Dia, muito útil para desenvolvedores com experiência e para aqueles que estão começando. Comentem sobre o que acharam para eu poder sempre estar melhorando!

Obrigado

Matheus Santana Lima

matheusslima@yahoo.com.br