Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Introdução
 
 
Acadêmico(a): Glauco Knihs
Título: Linguagem de programação visual baseada em tipos de dados abstratos
 
Introdução:
A utilização da informática como instrumento de aprendizagem vem aumentando rapidamente de tal forma que a educação vem passando por mudanças estruturais e funcionais (ROSEMEIRE, 1998 apud SILVA; MARTINS; ALCÂNTARA JR, 2004, p. 1176). Vários softwares1 surgiram nesses últimos anos para auxiliar o ensino, para várias faixas etárias, em diversas áreas, como por exemplo o ensino de programação de computadores a crianças.
Para programar um computador precisa-se de uma linguagem de programação. Existem vários tipos de linguagens. Por sua vez, uma linguagem segue um determinado paradigma. Entre os paradigmas cita-se o imperativo, o funcional, o lógico, o Orientado a Objetos (OO) e o visual.
Segundo Gerber (2000 apud ALCÂNTARA JR, 2003, p. 17), as linguagens imperativas e seqüenciais são orientadas a ações, onde a computação é vista como uma seqüência de instruções que manipulam valores de variáveis (leitura e atribuição). Pode-se citar a linguagem C como uma linguagem imperativa.
Sebesta (2000, p. 541) explica que uma linguagem funcional tem o propósito de imitar as funções matemáticas em seu maior grau possível. Como exemplo, cita-se a linguagem LISt Processor (Lisp).
Para Sebesta (2000, p. 38), as linguagens de programação lógicas baseiam-se em regras e não possuem uma ordem de execução dos comandos ou instruções. Segundo Baranauskas (1993, p. 2-3), PROgramming in LOGic (Prolog) é uma linguagem de programação desenvolvida em máquina seqüencial, que mais se aproxima do modelo de computação de programação em lógica.
Uma linguagem OO, para Sebesta (2000, p. 418), dispõe de três recursos: tipos de dados abstratos, herança e um tipo particular de vinculação dinâmica, como a troca de mensagens entre objetos. Java pode ser citada como uma linguagem OO.
As linguagens de programação visuais partem do princípio de que gráficos são mais fáceis de serem entendidos do que textos. Quando se especifica um programa por meio de diagramas e outros recursos gráficos, mesmo os usuários sem muita habilidade em programação podem gerar programas pelas facilidades que os recursos gráficos oferecem (GUDWIN, 1997, p. 13).
Software, programa, ambiente e ferramenta serão utilizados como sinônimos neste documento.
O LTD, implementado inicialmente por Alcântara Jr. (2003), é uma ferramenta que possui um ambiente de programação visual, usando os sete tipos de figuras geométricas que compõem o jogo matemático Tangram e tendo como objetivo o ensino de programação de computadores a crianças. Este ambiente foi continuado e reimplementado por Theiss (2006), acrescentando novas características.
A linguagem do LTD pode ser classificada como seqüencial. No entanto, hoje a tendência é o uso de linguagens OO, como por exemplo Java. Verifica-se que linguagens OO são uma evolução de TAD. Segundo Guezzi e Jarayeri (1982, p. 36), “[...] tipos abstratos de dados escondem detalhes de representações e direcionam o acesso aos objetos por meio de procedimentos [...]”.
No intuito de ampliar e melhorar o LTD, este trabalho mostra a criação de uma linguagem baseada em TAD. O objetivo dessa nova linguagem é facilitar a construção de mundos por crianças, utilizando o Tangram para representar os objetos. Com esta linguagem será possível construir um modelo, sendo que a partir desse várias instâncias poderão ser criadas. Salienta-se ainda que cada uma das instâncias será um objeto que poderá agir de forma independente. Para modelar esta independência, unidades do tipo thread são usadas.
O software ainda conta com um editor gráfico (interface visual) e um editor textual. Através do editor gráfico o usuário da ferramenta pode criar figuras (usando peças do Tangram) e animações das mesmas. No editor textual, comandos poderão ser gerados automaticamente a partir do editor gráfico ou podem ser diretamente criados ou modificados (digitados).
O ambiente foi implementado na linguagem Java e para os recursos gráficos utiliza-se a Application Programming Interface (API) JOGL.