Sunteți pe pagina 1din 36

0

UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITRIO DO VALE DO TELES PIRES DEPARTAMENTO DE COMPUTAO

DANILO RODRIGO POSSATI

IMPLEMENTAO DO SOFTWARE SEM PARA A PLATAFORMA WEB UTILIZANDO A TECNOLOGIA JAVA

COLIDER 2012

Aprendizado sem pensamento trabalho perdido; o pensamento sem aprendizado perigoso. Confcio

Quando estou trabalhando em algum problema, nunca penso em beleza. Penso somente em como resolver o problema. Mas quando termino, se a soluo no for bonita, eu sei que ela est errada. Buckminster Fuller

RESUMO

A utilizao de ferramentas interativas em ambientes escolares tm se tornado comum nos dias atuais, com a ajuda da tecnologia o aprendizado pode deixar de ser, por vezes, algo esttico, cansativo e improdutivo. Sendo assim uma destas ferramentas tecnolgicas, para auxiliar no aprendizado o programa SEM, desenvolvido no ano de 2009, com o intuito de auxiliar alunos e professores no processo de ensino-aprendizado de clculos envolvendo matrizes Matemticas, porm, de uso limitado a uma plataforma de execuo proprietria. Sendo assim, o objetivo do presente trabalho demonstrar as vantagens do SEM em se tornar um software livre de um sistema subjacente como tambm os passos para a sua construo em uma verso applet, implementado para a plataforma web, permitindo que o programa possa ser executado diretamente no browser de qualquer computador conectado a um servidor, remoto ou no, em que o software esteja disponibilizado. Para o desenvolvimento do trabalho em questo foi realizada uma pesquisa de cunho bibliogrfico para levantar o conhecimento necessrio sobre as ferramentas utilizadas no desenvolvimento da nova verso do SEM. Utilizou se ainda, a linguagem de programao Java para desenvolver o atual aplicativo educacional applet SEM. O applet SEM possui a vantagem de estar disponvel para ser utilizado em sala de aula, dentro dos laboratrios educacionais ou em qualquer outro ambiente, como tambm em qualquer dispositivo que atenda a seus requisitos mnimos, como, conexo com o servidor do programa, navegador de internet e a mquina virtual Java instalada no dispositivo do usurio. Palavras chaves: SEM, applet, web, Java, matrizes.

ABSTRACT

The use of interactive tools in school settings have become common these days, with the help of technology learning can be expected, sometimes static, boring and unproductive. So one of these technological tools to assist in learning the program is SEM, developed in 2009 with the aim of helping students and teachers in the teaching-learning of mathematics calculations involving arrays, however, of limited use to a platform implementing proprietary. Therefore, the objective of this paper is to demonstrate the advantages of SEM to become a free software for an underlying system as well as steps towards its construction in an applet version, implemented for the web platform, allowing the program can be executed directly in the browser from any computer connected to a server, remote or otherwise, that the software is available. To develop the work in question was made a bibliographical research to raise the necessary knowledge about the tools used in developing the new version of the SEM. It is also used, the Java programming language to develop the current application educational applet SEM. The applet SEM has the advantage of being available for use in the classroom, in laboratories or in any other educational environment, as well as any device that meets your minimum requirements, such as connection to the server program, browser internet and Java virtual machine installed on the user's device. Keywords: SEM, applet, web, Java, arrays.

LISTA DE ILUSTRAES

Figura 1: Organizao da interface grfica do SEM..................................................20 Figura 2: Interface grfica do Applet SEM.................................................................27 Figura 3: Interface grfica do Applet SEM com as Tabelas. .....................................29 Figura 4: Trecho do cdigo que trata as matrizes de ordem um e ordem dois. ........32 Figura 5: Trecho do cdigo que trata as matrizes de ordem trs e superior. ............32 Figura 6: Verificao das propriedades da matriz na classe inversa.........................33 Figura 7: Mtodo de calculo da inversa.....................................................................34 Figura 8: Mtodos auxiliares .....................................................................................34

SUMRIO

INTRODUO ..........................................................................................................10 1 ASPECTOS COMPUTACIONAIS..........................................................................12 1.1 JAVA ...................................................................................................................12 1.1.1 Jre e Jdk..........................................................................................................13 1.1.2 Ambientes de Desenvolvimento Java ..........................................................14 1.1.2.1 JavaFX ..........................................................................................................15 1.1.3 Applets Java ...................................................................................................15 1.2 ECLIPSE .............................................................................................................18 2 ASPECTOS METODOLGICOS ..........................................................................19 2.1 SEM ....................................................................................................................19 2.2 APPLET SEM ......................................................................................................22 2.2.1 Componentes Grficos ..................................................................................22 2.2.2 Restruturao da Interface ............................................................................26 2.3 OPERAES MATEMTICAS ...........................................................................30 2.3.1 Determinante ..................................................................................................31 2.3.2 Inversa.............................................................................................................33 2.4 DISCUSSO DOS RESULTADOS......................................................................35 CONSIDERAES FINAIS E TRABALHOS FUTUROS .........................................37 REFERNCIAS.........................................................................................................39

10

INTRODUO

O uso de softwares computacionais que facilitam a resoluo de problemas cotidianos j se tornou comum na sociedade moderna, existem os mais diversificados modelos de programas com as mais variadas funes, inclusive os denominados softwares educacionais, utilizados por professores e alunos para se obter uma melhor assimilao dos contedos estudados. Um software educacional todo programa que pode ser utilizado para fins educacionais e pedagogicamente defensvel independente das finalidades para o qual foi criado (CHAVES apud CABRAL FILHO, 2009). Com o propsito de auxiliar alunos e professores na contextualizao e execuo de clculos envolvendo Matrizes Matemticas foi desenvolvido por Cabral Filho (2009) durante a concluso do curso de Licenciatura em Computao o Software Educacional Matemtico, chamado comumente de SEM.
O SEM um software educacional de cunho matemtico que auxilia o aluno, como tambm o professor, na realizao de operaes com matrizes, tais como: Soma, Subtrao, clculo de matriz Transposta, Multiplicao entre matrizes, clculo de matriz Inversa e Determinante (CABRAL FILHO, 2009).

De acordo com seu idealizador o SEM foi aplicado em ambiente escolar e alcanou os objetivos para o qual foi desenvolvido, sendo bem aceito como auxiliador em operaes com matrizes e sua interface considerada, por professores e alunos da disciplina de Matemtica, amigvel e de fcil utilizao. Mas em contra partida as tendncias tecnolgicas atuais, este aplicativo matemtico se encontra limitado aos computadores pessoais, desktops, e ao sistema operacional proprietrio Windows da Microsoft. O fato do SEM ser programado para uma plataforma proprietria era um obstculo para ampliar seu alcance a todos os usurios possveis nos mais

11

diversificados ambientes de aprendizado, indo contra toda a onda de liberdade e facilidade na busca ao conhecimento proporcionado nos dias atuais por plataformas como a web. Esse problema de portabilidade foi resolvido com a implementao do SEM como um applet, utilizando a linguagem de programao Java, permitindo assim que o mesmo possa ser executado diretamente no navegador de internet. Os applets Java, assim como qualquer outro aplicativo desenvolvido nessa linguagem so independentes do sistema operacional, sendo a nica exigncia ao sistema que vai executa-los, possuir a Mquina Virtual Java instalada. A Mquina Virtual Java, um software responsvel por executar os cdigos Java compilados e prover a comunicao entre o sistema subjacente e a aplicao, ela fundamental para manter a portabilidade Java, sendo implementada para as diferentes plataformas de hardwares e de sistemas operacionais (FURGERI, 2010). Para desenvolver a verso applet do SEM foram feitas pesquisas bibliogrficas sobre os conceitos, tcnicas de programao e estruturao da linguagem Java em autores como Paul e Hervey Deitel, James Weaver e Sergio Furgeri. O applet SEM foi desenvolvido utilizando ambiente de desenvolvimento Java na verso sete (7), portanto, para executar o applet necessrio que o computador possua a mquina virtual Java de mesma verso ou superior a utilizada na implementao. Sendo assim, este trabalho ficou dividido em dois captulos. O primeiro captulo abordando os aspectos computacionais, ou seja, os conceitos tcnicos utilizados e pesquisados para desenvolver a segunda verso do SEM e o segundo captulo contm os aspectos metodolgicos, neste capitulo so descritas as ferramentas para a criao da segunda verso do software na linguagem Java.

12

ASPECTOS COMPUTACIONAIS Este capitulo apresenta um pouco sobre linguagem de programao

utilizada na implementao do programa SEM para a plataforma web, juntamente com o histrico de desenvolvimento da primeira verso do software. Em sua verso inicial o SEM foi desenvolvido na linguagem de programao C++, utilizando o compilador C++ Builder, um poderoso e completo ambiente de desenvolvimento pertencente Borland utilizado na implementao de softwares para a plataforma Windows (SCHILDT apud CABRAL FILHO, 2010). O C++ uma linguagem de programao desenvolvida por Bjarme Stroustrup, nos laboratrios da AT&T Bell Laboratories na dcada de 80, ela vista como um C aperfeioado trazendo novos recursos e a capacidade de programao orientada a objeto (SAVITCH, 2004). Apesar de ser uma linguagem orientada a objetos, essa capacidade no foi utilizada na primeira verso do SEM, sendo o programa desenvolvido de forma estruturada se beneficiando de funes pr-definidas. 1.1 JAVA O Java uma linguagem de programao baseada no C++ desenvolvida pela empresa Sun Microsystems em 1991, como um projeto de pesquisa interno visando o mercado de dispositivos eletrnicos inteligentes (SIERRA E BATES, 2005). Mas o mercado de dispositivos inteligentes no se desenvolveu como o esperado pela Sun na poca, levando o projeto do Java a obscuridade, felizmente a popularizao da internet em 1993 trouxe uma nova vida ao projeto, visto pela Sun como uma potencial ferramenta para adicionar contedo dinmico e interatividade s pginas da web (JANDL JUNIOR, 2007). James Gosling, idealizador do Java, o chamou inicialmente de Oak, homenageando uma rvore de carvalho que ele via da janela de seu escritrio na Sun, porm, mais tarde foi descoberto que j existia outra linguagem com esse nome, ento a linguagem foi chamada de Java (JANDL JUNIOR, 2007). No existe muito consenso entre os escritores americanos sobre a origem do nome Java, alguns dizem que o nome Java foi sugerido em uma visita da equipe

13

da Sun a uma cafeteria, onde Java seria o nome da cidade de origem de um caf importado, outros afirmam que o nome Java se deve a um passeio que a equipe da Sun fez na ilha de Java na Indonsia (FURGERI, 2010). A Sun anunciou o Java formalmente em uma conferncia do setor em maio de 1995, e no apenas como mais uma linguagem de programao e sim como uma plataforma de desenvolvimento e execuo completa. Uma plataforma definida como um ambiente formado por softwares e/ou hardwares que serve como base para a execuo de outros programas (FURGERI, 2010). Desde seu lanamento at hoje o Java no parou de crescer, sendo atualmente a principal e mais robusta plataforma de servidores web, e com os avanos tecnolgicos dos dispositivos mveis e a programao de eletrnicos de alto consumo, como a TV digital, o Java reencontra no mercado seu campo de atuao inicial. 1.1.1 Jre e Jdk O ambiente de execuo Java formado pela Java Runtime Environment (JRE) que se trata de um conjunto de bibliotecas, tambm chamadas de API, somadas a Maquina Virtual, Java Virtual Machine (JVM), necessrio para executar as aplicaes desenvolvidas na linguagem. J os programadores Java utilizam um ambiente de desenvolvimento prprio para construir as aplicaes, chamado, Java Develpoment Kit (JDK) que inclui APIs e ferramentas especificas para codificao, mais a JRE, completando assim a plataforma (FURGERI, 2010). Um Application Programming Interface (API) um conjunto de classes e mtodos pr-definidos que auxiliam o programador eliminando a necessidade de programar as funes padres e corriqueiras de um software (SIERRA E BATES, 2005). Um programa escrito em Java multiplataforma, o que significa que esse programa pode ser executado em qualquer ambiente computacional que possua um JRE, independente da plataforma subjacente, isso possvel, pois um programa Java quando compilado gera um cdigo intermedirio chamado bytecodes que interpretado pela JVM e no cdigo nativo de mquina como as linguagens convencionais.

14

Ao contrrio da linguagem de mquina, que dependente do hardware especfico do computador, os bytecodes so independentes de plataforma eles no dependem de um hardware particular. Portanto, os bytecodes Java so portteis sem recompilar o cdigo-fonte, os mesmos bytecodes podem executar em qualquer plataforma contendo uma JVM que entenda a verso do Java em que os bytecodes foram compilados (DEITEL e DEITEL, 2010).

Os aspectos de multiplataforma do Java um dos motivos da grande aceitao da linguagem por parte dos programadores, pois com o Java no existe mais a necessidade de saber em qual plataforma o programa ser executado, assim como tambm no precisa reescrever o mesmo cdigo para cada plataforma disponvel no mercado. Essa liberdade proporcionada pelo Java o tonar uma das linguagens de programao mais populares da atualidade, sendo possvel desenvolver programas em Java para as mais variadas definies de hardware, desde um supercomputador a um celular ou controle remoto. 1.1.2 Ambientes de Desenvolvimento Java O Java formado por um conjunto de tecnologias, com ambientes de desenvolvimentos especficos para cada rea de atuao da linguagem, como podese ver a seguir. Java Standard Edition (JSE): a core (a base principal) da linguagem, destinada ao desenvolvimento de aplicaes desktops em geral, conta com a JVM e todas as API de base para as demais (FURGERI, 2010). Java Enterprise Edition (JEE): Plataforma destina ao desenvolvimento de aplicativos web e de rede em larga escala centrados em servidor, tais como pginas JSP (JavaServer Pages), Servlets e XML (Extensible Markup language) (FURGERI, 2010). Java Micro Edition (JME): Plataforma projetada para o desenvolvimento de aplicaes destinada a dispositivos com limitadas capacidade de processamento, como os dispositivos mobiles, conta com uma JVM mais otimizada e API compacta (FURGERI, 2010).

15

1.1.2.1 JavaFX O JavaFx a quarta plataforma de desenvolvimento Java, anunciado pela Sun em 2007 na Conferncia anual para discurso e apresentao das tecnologias Java (JavaOne), como projeto de um novo ambiente Rich Internet Applications (RIA) para mltiplos dispositivos. As aplicaes ricas de internet, ou RIA, o conceito que se refere juno da funcionalidade, usabilidade, dinamismo e interatividade com o usurio de um software de desktop com o amplo alcance, baixo custo de manuteno e portabilidade de um aplicativo web (WEAVER et. al., 2010). Diferentemente das outras plataformas Java, o JavaFx, inicialmente se chamava F3 (Form Follows Function) e foi adquirido pela Sun na compra de uma empresa chamada SeeBeyond. A SeeBeyond trabalhava nessa nova linguagem de programao com o propsito de acelerar o processo de criao de interfaces e que elas fossem mais elaboradas e interativas com o usurio (WEAVER et. al., 2010). O JavaFx foi lanado como uma linguagem de script, declarativa e com a sintaxe e conceitos semelhantes aos do Java, podendo ser utilizada para desenvolver interfaces mais dinmicas e interativas em diversas plataformas, como, computadores, browser, telefones celulares, TVs, e qualquer outro dispositivo inteligente (WEAVER et. al., 2010). Em 2009 a Sun Microsystems foi adquirida pela Oracle, e o JavaFx script foi descontinuado em sua verso 1.3.1, sendo que hoje mantida pela comunidade Java uma outra linguagem extremamente semelhante chamada Visage. A Oracle lana em meados de 2011 o JavaFx 2.0, totalmente incompatvel com a verso descontinuada, a nova plataforma RIA utiliza a estrutura de linguagem padro do Java, deixando de lado a sintaxe declarativa em script. 1.1.3 Applets Java Applets so aplicaes Java, tipicamente incorporadas em pginas web para serem executadas via plug-in diretamente no navegador de internet, e, assim como quaisquer outras aplicaes da plataforma necessrio que o computador que vai executar applets possua uma JRE instalada, pois essas aplicaes so compiladas da mesma forma que um programa Java comum (FURGERI, 2010).

16

Alm dos navegadores, os applets podem ser executados em aplicativos conhecidos como continer de applets, o JDK do Java incluir um chamado Appletviewer utilizado para testar os applets medida que so desenvolvidos e antes de serem includos na pgina web (DEITEL E DEITEL, 2010). Diferentemente das aplicaes convencionais um applet possui um modo particular de funcionamento, definido em ciclos de vida, esses ciclos de vida, so constitudos por mtodos invocados de acordo com aes que ocorrem durante a sua execuo (FURGERI, 2010). responsabilidade do continer de applets, carregar a (s) classe (s) do applet, criar uma instncia do applet e gerenciar o seu ciclo de vida. (DEITEL E DEITEL, 2010). Segundo Furgeri (2010) e Deitel e Deitel, (2010), os ciclos de vida de um applet formado por seis estgios distintos: 1. Instanciao: ocorre no momento que o applet criado, diferentemente dos programas Java que estende a classe Frame ou JFrame um applet estende a classe Applet ou JApplet em sua implementao. 2. Inicializao: contm o mtodo init(), inicializado logo aps o processo de criao do applet, utilizado pelo browser para iniciar a sua execuo, geralmente esse mtodo que inicializa os campos e carrega os componentes de interface do applet. 3. Incio: possui o mtodo start(), executado depois do mtodo init(), realiza todas as tarefas que precisar ser completadas quando o applet executado pela primeira vez, como por exemplo iniciar uma animao ou uma nova thread (linha de execuo), este mtodo executado todas a vezes que a pgina do applet revisitada. 4. Parada: utiliza o mtodo stop() , chamado sempre que o applet se torna invisvel, caso o usurio sai da pgina do applet para outra pgina web este mtodo suspende a execuo do applet sem finaliza-lo para que a aplicao no consuma recursos computacionais enquanto no exibido na tela . 5. Atualizao: contm o mtodo paint() invocado depois dos mtodos init() e start(), chamado sempre que o applet precisa atualizar a sua exibio para o usurio, caso, o navegador do applet seja colocado em segundo plano e depois restaurando ou a janela redimensionada o mtodo paint() chamado.

17

6. Finalizao: possui o mtodo destroy() chamado quando o applet removido da memria, ocorre quando o usurio encerra todas as sees de navegao fechando o browser, esse mtodo libera todos os recursos utilizados pela aplicao. Ao elaborar um applet no preciso reescrever todos os mtodos citados acima, isso opcional variando de acordo com as necessidades de cada aplicao. Os applets so carregados de um servidor remoto e executados na mquina cliente, e para evitar que eles possam ser utilizados como softwares maliciosos danificando o sistema cliente, acessando informaes sigilosas ou apagando dados armazenados no computador, os applets possuem algumas restries de acessos ao sistema de arquivos local (FURGERI, 2010). Para combater cdigos mal intencionados, os applets so monitorados durante todo o seu tempo de execuo por um gerenciado chamado Applet security manager, esse processo chamado de mtodo de segurana de caixa de areia (sandbox) que impossibilita os applets de sarem de seu raio de atuao, os cdigos so executados na caixa de areia e no tem permisso de sarem da caixa de areia (DEITEL E DEITEL, 2010). Por padro os applets s podem exibir imagens, executar msicas, processar acionamentos do teclado e do mouse e s se comunica com o servidor de onde foram carregados, eles no podem executar programas instalados localmente, no podem ler ou escrever o sistema de arquivo local ou obter informaes, exceto da JVM. Caso as restries de um applet precisem ser editadas, pode se criar um arquivo de politicas de segurana chamado Policy File, esse arquivo contm as informaes referentes aos limites de atuao do applet, definindo o que ele pode ou no realizar no sistema cliente (FURGERI, 2010). Um applet carregado por um arquivo HTML (pgina de web) relativamente simples, sendo sua nica exigncia o uso da tag <APPLET></APPLET> com suas respectivas propriedades WIDTH e HEIGHT para definir o tamanho que o applet ocupara na tela e a propriedade CODE para indicar o endereo da classe principal do applet (FURGERI, 2010). Sendo assim, a tecnologia applet torna possvel desenvolver aplicaes mais complexas e com um grau maior de interao com o usurio, assim como os

18

programas de desktop, se beneficiando das vantagens de ser disponibilizado em um servidor web e executado diretamente via browser. Portanto, o applet SEM pode ser carregado de um servidor remoto para o navegador de internet do usurio e executado independente do sistema operacional presente no computador. 1.2 ECLIPSE Para agilizar o processo de construo de softwares os desenvolvedores trabalham com programas especiais conhecidos como Integrated Development Environment (IDE). Os programadores encontra nas IDEs ferramentas como, editores de cdigo fonte, compiladores, depuradores, auto completar e gerao automtica de cdigos que facilitam o processo de codificao de um programa. Para o desenvolvimento em Java se tem disponvel a IDE Eclipse que se encontra na verso Indigo 3.7.2, gratuito, desenvolvida com o prprio Java sob o conceito de cdigo fonte aberto, possui uma grande quantidade de plug-ins que auxiliam o trabalho de desenvolvimento, como tambm diversos tutoriais disponveis que ensinam como tirar maior proveito desta ferramenta. Est IDE foi desenvolvida inicialmente para programao em Java, mas hoje j pode se utilizada com diversas outras linguagens como C, C++, PHP, ColdFusion e Phyton. Portanto, no desenvolvimento do applet SEM foi utilizado a IDE Eclipse, por ser multiplataforma, apresentar uma interface intuitiva e de fcil manuseio e diversas ferramentas e informaes que facilitaram o processo de programao.

19

ASPECTOS METODOLGICOS Neste capitulo descrito o uso de alguns componentes das linguagens de

programao C++ e Java, utilizadas respectivamente na primeira verso do SEM e em sua verso para web. Um componente uma unidade independente, de um sistema ou de uma linguagem de programao que encapsula uma srie de funcionalidades e pode ser somado com outros componentes para se executar funes mais complexas em um software (DEITEL E DEITEL, 2010). 2.1 SEM Como j foi dito no captulo anterior, o SEM, software educacional matemtico, foi desenvolvido para auxiliar no aprendizado de operaes com Matrizes. A sua interface grfica foi implementada utilizando os componentes padres de sua linguagem de programao nativa C++, e cada um dos componentes aplicados tem funes especificas na interao com o usurio. Em seguida, segue alguns recursos utilizados no SEM na primeira verso e suas definies segundo Schildt apud Cabral Filho (2010): A funo TGroupBox, representa um controle que demarca com uma borda um grupo de componentes relacionados entre si, essa borda pode receber um titulo ou no, um exemplo de utilizao no SEM a demarcao do espao do grupo de componentes que gera a tabela de cada matriz, onde o grupo composto por dois campo de entrada e um boto. O TStringGrid, cria uma tabela para receber ou apresentar informaes, organizadas em linhas e colunas, utilizado para representar uma matriz no SEM. Os Componentes TRadioGroup e TRadioButton tambm foram utilizados, o TRadioGroup utilizado para agrupar os componentes TRadioButton, que por sua vez cria uma rea circular que permiti ao usurio selecion-lo para definir uma escolha, seguido de uma legenda para descrever a funo que o boto representa, no programa em sua primeira verso, os TRadioButton representam as operaes matemticas.

20

TBitBtn, cria um boto a ser clicado, podendo ter um texto ou uma imagem para descrever sua funo, o SEM possui trs (3) botes do tipo TBitBtn, dois para criao das matrizes e uma para executar o clculo selecionado. TPanel, um componente que permite o agrupamento de outros componentes em si, no SEM foi utilizado na criao de um fundo diferenciado para os ttulos das tabelas que identifica cada matriz gerada. TPageControl, define a criao de vrias pginas ou sees em uma mesma janela designando etiquetas ou abas para representar cada pgina, foi utilizado para criar as diversas abas do SEM em sua primeira verso. TImage, componente para a apresentao de figuras bitmaps na janela do programa, este recurso foi aplicado nas abas, referente a cada operao Matemtica para inserir as imagens que apresentam os passo a passo de cada clculo. TLabel, apresenta um texto informativo que o usurio no pode editar, utilizado para escrever os ttulos das matrizes e especificaes dos dados na aba sobre A estrutura da pgina principal da verso inicial do SEM organizado na forma de uma grid (grade ou matriz) com trs (3) colunas e duas (2) linhas, como mostra a figura um (1):

Figura 1: Organizao da interface grfica do SEM Fonte: Cabral Filho (2010).

21

Essa configurao da interface separa os componentes por grupos, onde cada grupo responsvel por executar determinadas funes do programa, por exemplo, na primeira coluna e na primeira linha se encontra todos os componentes encarregados por receber as dimenses e gerar a tabela da Matriz A, e assim segue os demais campos da Janela, cada qual com seu grupo de componentes responsveis por determinadas funes do programa. No alto da interface do SEM se encontra as Abas que apresentam ao usurio os tutoriais que demostram as propriedades e explicaes sobre as operaes realizadas pelo programa, sendo a ltima aba, composta por informaes sobre o programa. Segundo Cabral Filho (2010), as cores definidas para o programa SEM so classificadas como cores frias para as reas que ocupam muito espao e cores quentes para as partes que executam alguma funo. Para o plano de fundo foi escolhido como cor o azul turquesa por ser considerada uma cor intermediaria e no cansar o usurio, para os texto foi definida a cor branca, considerada uma cor fria e que melhor se encaixou com o fundo, e para manter o contraste com as cores j definidas, os botes foram padronizados com a cor de fundo cinza e o texto vermelho por sua importncia na execuo das tarefas do programa. As cores utilizadas no programa ajudam a identificar operaes e define a importncia de cada componente, sem causar cansao ou incmodo ao usurio (VIEIRA apud CABRAL FILHO, 2010). Os algoritmos do SEM em sua primeira verso, foram desenvolvidos, seguindo o conceito de programao estruturada, como j foi comentado, onde todos os clculos so executados em uma funo do tipo void, sem retorno. Os clculos esto separados em blocos, o acesso a cada bloco feito por meio de uma condio que verifica se o clculo selecionado correspondente ao bloco em questo, caso a condio do bloco retorne falso, a execuo do programa avana at o prximo bloco, e caso a condio retornar verdadeiro, o bloco acessado e o calculo executado, logo a funo apresenta a matriz resultante para o usurio.

22

2.2

APPLET SEM Em sua verso inicial o SEM foi disponibilizado apenas para o sistema

operacional Windows da Microsoft. A verso para a plataforma web vem com o intuito de torn-lo livre de um sistema operacional especifico e ampliar a sua disponibilidade, permitindo que ele seja acessado de qualquer lugar por qualquer dispositivo com acesso a internet, um navegador e suporte a mquina virtual Java. A verso web do SEM implementada em forma de applet tirando proveito de todos os benefcios oferecidos pela linguagem de programao Java, como a capacidade de programao orientada a objetos e a portabilidade, o applet SEM independente da plataforma subjacente, e foi programado utilizando classes, onde cada classe executa funes especficas no programa. Outra grande vantagem no desenvolvimento do applet SEM foi facilidade na construo da interface utilizando as bibliotecas grficas, Swing e Abstract Window Toolkit (AWT), sendo a API Swing responsvel por definir o formato e desenho da janela e de seus componentes, e a AWT responsvel pelos eventos de interao com o usurio. 2.2.1 Componentes Grficos Os componentes grficos de uma interface o principal meio de comunicao entre o programa e o usurio, eles so o primeiro contato e j define o interesse e a aquisio do conhecimento atravs do sentido da viso, o que torna o programa interessante ou no (MULLET apud CABRAL FILHO, 2010). Ao se desenvolver uma janela grfica precisa-se definir como os seus componentes estaro dispostos na tela. A biblioteca Swing possui um gerenciador de layout chamado GridBagLayout que facilita e torna o posicionamento dos componentes da interface dinmico e intuitivo para o desenvolvedor. Segundo Deitel e Deitel (2010), o GridBagLayout um gestor de posicionamento ou gerenciador de layout, extremamente poderoso e flexvel, ele organiza todo o espao disponvel a interface em forma de grade e permite aos seus campos (clulas) variar de tamanho e receber um componente em qualquer posio, sendo que um componente pode ocupar mais de uma clula, porm uma clula no pode ter mais de um componente.

23

Esse

gerenciador

de

layout

trabalha

com

um

objeto

da

classe

GridBagConstraints, esse objeto armazena as informaes de posicionamento dos componentes permitindo a flexibilidade de se trabalhar com as propriedades de cada clula em particular. E j o GridBagConstraints possui os campos pblicos para receber os valores correspondente a posio de cada componente. O GridBagConstraints trabalha com as seguintes propriedades gridx, gridy, gridwidth, gridheight, weightx, weighty, fill e a insets. As Propriedades gridx e gridy so utilizadas para definir a posio que um determinado componente ocupar, sendo gridx a posio absoluta horizontal e gridy a posio absoluta vertical, caso no sejam especificados nenhum valor para essas propriedades o padro a constante RELATIVE, que faz os componentes serem colocados na clula direita da ultima clula ocupada. Os gridheight e gridwidth so propriedades utilizadas para determinar o tamanho de um componente em quantidade de clulas, dentro do gerenciado de layout, pode se definir se determinado componente ocupar uma ou mais clulas, ou todas as clulas disponveis, sendo gridheight para definir o nmero de clulas ocupadas verticalmente e gridwidth para definir a quantidade horizontalmente. Os weightx e weighty foram utilizados para especificarem um percentual de crescimento para a clula do grid sem alterar o componente que se encontra na mesma quando o continer onde se encontra o gerenciador redimensionado, a proporo de crescimento das clulas igual razo dos valores de weightx e/ou weighty e as dimenses do contentor, horizontalmente e/ou verticalmente respectivamente. A propriedade fill foi utilizada para definir como ser redimensionado determinado componente em relao clula, essa propriedade trabalha com valores predefinidos em constantes, sendo NONE para no redimensionar o componente, HORIZONTAL para redimensionar o componente horizontalmente at que ele ocupe toda a clula, VERTICAL redimensiona o componente at o mesmo ocupar toda a rea vertical da clula e por fim BOTH que redimensiona o componente para ambos os sentidos. O campo insets cria uma borda de espao vazio em pixels em torno do componente, utilizado para definir um espao entre os componentes, ele trabalha

24

com um objeto da classe java.awt.Insets que especifica uma quantidade de espao acima, a esquerda, a baixo e a direita do componente onde est atribudo. Com as informaes de como distribuir os componente na janela, agora se precisa criar os campos que sero visualizados e utilizados pelo o usurio em sua interao com o programa. O componente JPanel fornece um continer para grupar outros componentes, podendo inclusive se definir um GridBagLayout para organizar os componentes dentro de um JPanel, tambm possvel alterar a cor do JPanel mudando o fundo de um componente ou grupo de componentes especficos (DEITEL E DEITEL, 2010). Para uma melhor organizao e alinhamento, todos os componentes do applet esto inseridos em seus respectivos continer JPanel, e os continer, adicionados no grid da janela principal. O JLabel foi utilizado para exibir textos somente para leitura ao usurio, no applet SEM esse componente apresenta os ttulos e o nomes dos campos. Os JRadioButton, foram utilizados para criar os botes de rdio, pequenos botes circulares acompanhados com uma legenda que representam opes mutuamente exclusivas em um software, e no applet SEM, eles definem a escolha da operao Matemtica desejada (DEITEL E DEITEL, 2010). O ButtonGroup um componente que trabalha juntamente com os JRadioButton. Este componente foi utilizado para organizar os botes de rdio em grupo e impedir que mais de um boto seja selecionado simultaneamente, como tambm define um boto selecionado por padro. O componente JTextField uma rea de uma nica linha que permite a insero de textos pelo usurio em um programa, no SEM, em sua verso applet, ele utilizado para receber os valores que define a quantidade de linhas e colunas da matriz, mas este campo s trabalha com strings (textos), portanto os valores recebido por ele so convertidos em nmeros inteiros antes de serem executados pelo restante do software (DEITEL E DEITEL, 2010). A propriedade BorderFactory foi aplicada na verso web do SEM para definir uma borda com um ttulo em volta dos contineres JPanel que agrupa os componentes de definio de cada matriz, delimitando e separando os componentes utilizados para gerar a primeira matriz dos utilizados na gerao da segunda matriz. Foi utilizado tambm um componente para criao de tabelas, o JTable, esse

25

componente mostrou-se um das ferramentas Swing mais complexa para se trabalhar, o JTable utilizado para apresentar e editar informaes em forma de grid. Para se trabalhar com o JTable necessrio um TableModel. O TableModel como um modelo que define como a JTable vai gerar e manipular as suas tabelas e as informaes contidas nelas (ORACLE, 2012). O TableModel utilizada no applet SEM foi desenvolvida exclusivamente para as necessidades do programa, implementando a interface AbstractTableModel como aconselhado pela comunidade Java o TableModel do applet SEM o responsvel por definir a quantidade de linhas e colunas, desenhar a tabela, permitir a edio das clulas e definir que tipo de informao podem ser carregada nelas e no caso de alterao nos valores das clulas ou uma nova definio de tamanho, ele redesenha a tabela. No programa applet SEM o componente JTable utilizado para simular uma matriz onde usurio entra com os valores em linhas e colunas, por essa razo foi definido em seu TableModel algumas limitaes, como exemplo, o usurio s consegue digitar valores Double (nmeros inteiros ou fracionados) nas clulas da tabela. O fato da tabela s trabalhar com valores Double pode gerar um incomodo ao usurio, a tabela quando gerada exibe os valores 0.0 em suas clulas, e o usurio ao selecionar uma clula para edio precisar primeiramente apagar estes valores padro antes de entrar com os valores desejados, pois os valores digitados pelo usurio so inseridos da direita para a esquerda na clula, exemplo, se o usurio entrar com o valor 1, ficar 0.01, caso no apague o contedo da clula antes de inserir o valor. O JButton cria um boto que o usurio ao clicar aciona um evento especifico. No applet SEM esse componente utilizado nos botes Aplicar, que gera uma matriz depois que seu tamanho foi defino, e no boto Calcular responsvel pela chamada ao objeto da classe que realiza o clculo matemtico escolhido. JScrollPane o componente responsvel por criar as barras de rolagem nas tabelas quando estas ultrapassarem as delimitaes da interface destinadas a elas, assim as tabelas so condicionadas em uma rea com tamanho fixo, sem atrapalhar a apresentao de todas as suas linhas e colunas e sem invadir partes da interface designada a outros componentes.

26

O JoptionPaneshowMessageDialog utilizado para retornar feedbacks em forma de caixa de dilogos, atravs delas que o programa apresenta erros ao usurio, como divergncias entre as propriedades e o clculo escolhido, ou entradas invlidas. Estes recursos e propriedades foram utilizados para deixar o programa SEM na sua verso applet correspondente a sua primeira verso, porm focando no objetivo do projeto, que a sua forma acessvel via web independente de plataforma. 2.2.2 Restruturao da Interface A interface do SEM teve suas dimenses modificadas na verso applet, para melhor se adequar na plataforma web e com a resoluo mdia dos monitores convencionais, visto que alm do programa, tem o navegador que tambm ocupa espao na tela do usurio. Para uma melhor compreenso segue uma imagem da nova interface do programa SEM, o navegador no aparece nessa ilustrao (figura 2).

27

Figura 2: Interface grfica do applet SEM. Fonte: Interface do applet SEM elaborado como fim do projeto de TCC

Diferentemente da primeira verso, as divises da interface do SEM agora, se d em linhas, tendo na primeira linha o titulo do programa e as abas logo acima. A posio dos botes para a seleo do clculo Matemtico, que originalmente se encontrava em forma de coluna, agora na verso web est em forma de fila, ficando na segunda linha da ilustrao, ao norte e no mais entre os campos de definio do tamanho de cada matriz, permitindo um melhor aproveitamento do espao destinado ao programa. Ao se posicionar o mouse sobre os botes de seleo, informado ao usurio um atalho de teclado para aquele respectivo boto. Esses botes no permitem selecionar mais de uma opo de clculo simultaneamente e caso seja selecionado um clculo que no necessita de duas matrizes, a segunda matriz desabilitada, voltando a ser habilitada nos clculos que precisam de duas matrizes operatrias. O na terceira linha, temos duas colunas, na primeira coluna, se encontra os campos de definio da primeira matriz, ou seja, a Matriz A, o usurio define a ordem da matriz digitando o valor correspondente quantidade de linha e coluna

28

nos campos especficos denominados Linhas e Colunas, clicando em seguida no boto Aplicar para que a tabela da Matriz A seja gerada. A segunda coluna da terceira linha na imagem (figura 2) possui os mesmos componentes e executa as mesmas funes j descritas, mas esta coluna est relacionada com a segunda matriz, ou seja, a Matriz B, consequentemente esses campos gera a tabela da Matriz B. Foi definido que o usurio no poder gerar matrizes com mais de nove linhas ou colunas, esse limite visa impedir possveis erros e problemas no computador que estar executando o programa, caso o valor digitado como tamanho da matriz, seja diferente de um nmero inteiro e positivo o usurio recebe uma mensagem alertando o ocorrido assim que clica no boto Aplicar, se um dos campos Linhas e/ou Colunas estiverem vazios, o programa apaga a tabela gerada anteriormente caso exista, ou nada executado. Entrando com os valores corretos na definio de ordem de cada matriz, o programa gera as tabelas correspondentes com a quantidade de linhas e colunas definidas pelo usurio, elas so geradas em espaos especficos e prdeterminados evitando que tabela se dimensione invadindo o espao de outros componentes na janela, como pode ser visto na quarta linha na figura trs (3).

29

Figura 3: Interface grfica do Applet SEM com as Tabelas. Fonte: Interface do applet SEM elaborado como fim do projeto de TCC

A linha nmero quatro, citada anteriormente, est dividida em trs colunas, sendo a primeira coluna o espao destinado a Matriz A, a segunda coluna a Matriz B, e a terceira coluna, a Matriz R. A Matriz R se trata da matriz resultante gerada automaticamente pelo programa, contendo o resultado da operao escolhida. Esta matriz foi colocada logo frente das duas matrizes anteriores utilizadas nos clculos para tornar o uso do programa mais intuitivo e o clculo mais fcil de ser compreendido. Como se pode notar, ao posicionar o mouse sobre a rea destinado a matriz, aparece um texto informativo sobre a matriz em foco, isso tambm ocorre nos campos Linha e Coluna na definio da matriz e nos botes de seleo do clculo como j foi mencionado. Na ultima linha da imagem se encontra o boto Calcular, responsvel, como o nome sugere, por realizar os clculos do programa, ao ser clicado o programa busca os valores das Matrizes A e B em suas respectivas tabelas e verifica se as propriedades das matrizes so correspondentes com o clculo selecionado, caso

30

ocorra alguma divergncia o programa retorna uma mensagem de alerta explicado situao ao usurio, caso contrrio retorna a matriz resultante. Estes recursos, no s serve para o usurio ter um feedback sobre a ao que ele est executando com o software, mas serve tambm para garantir as especificaes e aes que o SEM realiza em sua primeira verso. Todos os componentes do programa esto dispostos na janela de forma a levar o usurio a manter uma ordem na sua utilizao, primeiro selecionado o clculo desejado, segundo definido o tamanho das matrizes, terceiro so definidos os valores respectivos das matrizes em suas tabelas, e por fim, executado o calculo clicando no boto Calcular que responde ao comando retornando a matriz resultante, caso no ocorra nenhum erro, porm essa ordem opcional, sendo de escolha do usurio mant-la ou no. Na parte superior da janela, acima do titulo do programa se encontra as abas, como mostra a figura trs (3), as abas so responsveis por levar o usurio a tutoriais que demostram como os clculos resolvidos matematicamente e explica as caractersticas especifica de cada operao entre matrizes. Os tutoriais utilizados pela verso web do SEM se encontra em sites educacionais expostos na internet e no mais no prprio software como acontece em sua verso inicial. Houve essas mudanas, pois o acumulo de janelas no mesmo applet tornaria demorado o carregamento da aplicao no browser e a diversificada quantidade de exemplos e explicaes existentes nos sites educacionais eleva o conhecimento adquirido pelo usurio. Abaixo da quinta e ltima linha se encontra um rodap, comumente utilizado em sites, trazendo ao usurio algumas informaes sobre a origem do applet apresentado. Tanto o rodap quanto as abas na parte superior da janela, foram desenvolvidos em HTML e no esto inclusos no cdigo fonte do applet. 2.3 OPERAES MATEMTICAS Os clculos com matrizes executados pelo software so de adio, subtrao, multiplicao, determinante, transposta e inversa. As operaes de adio, subtrao, multiplicao e transposta foram mantidas utilizando a mesma lgica de programao usada na primeira verso do

31

SEM, alterando apenas o conceito de programao estruturada para o conceito de programao orientada a objetos, onde os clculos realizados no programa foram separados em classes. Os mtodos utilizados nas classes Determinante e Inversa foram modificados, a primeira verso do SEM aplica a regra de Sarrus para encontrar a determinante e Cholesky para definir a matriz inversa, o applet SEM encontra o determinante por Laplace e a matriz inversa calcula pelo mtodo de Faddeev Leverrier. No sero abordados conceitos matemticos neste trabalho, pois o foco o desenvolvimento do applet SEM em Java e os conceitos de programao utilizados para alcanar este objetivo. 2.3.1 Determinante O SEM utiliza somente a Matriz A para calcular o determinante, e exige que a quantidade de linhas da matriz seja igual quantidade de colunas, sendo assim o determinante calculo somente com matrizes quadrada. A classe determinante recebe apenas a Matriz A na instanciao, possui dois mtodos de clculo, um mtodo recursivo utilizado somente pela classe, e um mtodo de retorno responsvel por verificar se a quantidade de linhas e de colunas da matriz passada equivalente entre si, caso no seja, ele apresenta uma mensagem ao usurio e retorna um valor nulo, e caso a matriz seja quadrada, ele chama o mtodo recursivo e retorna o resultado do determinante da Matriz A no fim da execuo. As figuras quatro (4) e cinco (5) apresentam o cdigo utilizado na elaborao do determinante na verso applet do SEM.

32

Figura 4: Trecho do cdigo que trata as matrizes de ordem um e ordem dois. Fonte: Classe Determinante do applet SEM.

Se a Matriz A passada a classe determinante for de ordem um, uma linha e uma coluna, a determinante o prprio valor da matriz, ento o mtodo somente retorna seu valor, caso a matriz seja de ordem dois, a determinante igual a diagonal principal subtrada da diagonal secundria.

Figura 5: Trecho do cdigo que trata as matrizes de ordem trs e superior. Fonte: Classe Determinante do applet SEM.

O determinante em uma matriz de ordem trs ou superior calculado utilizando a recursividade do Java, onde um mtodo chama a si mesmo at que uma determinada condio seja satisfeita, neste caso, essa condio todos os elementos da primeira linha serem percorridos. Esse mtodo resolve o determinante de uma matriz de ordem trs ou superior somando o produto dos elementos da linha escolhida a seus respectivos cofatores.

33

2.3.2 Inversa Esta classe pode ser considerada a classe mais complexa de todo o applet SEM, foi desenvolvida com base em um algoritmo de exemplo do livro An Introduction to Computational Physics (PANG, 2006). A classe inversa inicializada por um construtor vazio, e o mtodo de retorno recebe a matriz A do usurio como argumento ao ser invocado, sendo necessrio que essa matriz seja quadrada e possua uma determinante diferente de zero. As figuras seis (6) e sete (7) demostram o cdigo da classe que calcula a operao inversa no applet SEM.

Figura 6: Verificao das propriedades da matriz na classe inversa. Fonte: Classe Inversa do applet SEM.

O mtodo de retorno verifica se o nmero de linhas da matriz idntico ao nmero de colunas, e envia uma mensagem de alerta ao usurio caso haja alguma diferena, sendo equivalente o nmero de linhas e colunas o mtodo verifica o determinante da matriz recebida por parmetro e retorna uma mensagem de matriz no inversvel se o determinante for igual zero. Aps verificar as propriedades da matriz, so criadas trs matrizes auxiliares, sendo uma delas multidimensional inicializada com o retorno do mtodo responsvel pelo clculo da Inversa, como apresenta a figura seis (6).

34

Figura 7: Mtodo de calculo da inversa. Fonte: Classe Inversa do applet SEM.

Esse mtodo apresentado na figura sete (7) recebe como argumento uma matriz e um vetor quando invocado e trabalha com auxilio de dois outros mtodos, um mtodo para calcular o produto entre duas matrizes, e outro para somar os valores diagonais de uma matriz. A figura oito (8) demostra os dois mtodos auxiliares utilizados na classe inversa

Figura 8: Mtodos auxiliares Fonte: Classe Inversa do applet SEM

35

O mtodo de clculo cria um array multidimensional que define uma matriz identidade em sua posio inicial. Em seguida um lao de repetio preenche o array multidimensional com o produto da matriz recebida como argumento e a matriz na posio zero do array, chamando o mtodo auxiliar que retorna o produto das matrizes passadas a ele. O vetor enviado como argumento na chamada do mtodo de clculo preenchido com a soma dos valores diagonais da matriz resultante do produto entre a matriz enviada por argumento e matriz na posio inicial do array multidimensional. Por fim um lao de repetio aninhado dentro do lao anterior soma todos os valores da diagonal de todas as matrizes presentes no array multidimensional com os valores presentes no vetor, e retorna a matriz multidimensional. O mtodo de retorno da classe inversa recebe a matriz multidimensional, utiliza dois laos aninhados para finalizar o clculo retornando ao solicitante a matriz resultante. 2.4 DISCUSSO DOS RESULTADOS O applet SEM superou as expectativas previstas, pois trabalha sobe a plataforma web e independente da plataforma cliente como proposto e caso haja a necessidade, com grande facilidade se consegue converte-lo para uma aplicao desktop, sem grandes alteraes do cdigo. Apesar de ser um aplicativo web no necessrio a o computador que vai executa-lo possuir internet, o termo web se refere tambm a um servidor local, que pode ser uma maquina no laboratrio escolar ou at mesmo o prprio computador do usurio. Sendo que tudo o que esse servidor precisa possuir a maquina virtual Java na verso correspondente ou superior a utilizada para compilar o aplicativo, visto que a verso do Java utilizado na construo do applet foi a 1.7. A mudana no algoritmo da classe Determinante permite ao usurio calcular o determinante de uma matriz quadrada independente de seu tamanho, essa uma melhoria em relao primeira verso que no calculava o determinante de matrizes com ordem superior a trs (3).

36

E as pequenas alteraes que ocorreram em sua interface ajudam o usurio a manter uma linha de raciocino para executar os clculos facilitando para o mesmo compreender como as operaes matemticas so realizadas. Segundo Cabral Filho (2009) em sua aplicao do SEM a uma turma do segundo ano do ensino mdio foi colhidas impresses positivas em relao o uso do programa, poucos alunos tiveram dificuldades em operar e extrair os resultados dos clculos realizados pelo SEM, e sua interface foi considerada de fcil utilizao e amigvel. E juntamente com os alunos o professor da disciplina de Matemtica achou adequada a utilizao do programa como auxiliador no processo de ensinoaprendizado de operaes Matemticas com matrizes e ressaltou o uso do software como reforo ao conhecimento adquirido em sala. E ainda Cabral Filho (2009) completa falando sobre a possibilidade de uso no SEM em cursos de graduao que ofeream disciplinas de lgebra Linear. Sendo assim, a equivalncia mantida nas cores, na janela, nos campos de entrada e nos clculos realizados entre o applet SEM e a primeira verso do programa, garante a ele uma grande facilidade de uso e boa aceitao por parte de professores e alunos. Portando, a mudana de plataforma do SEM no altera os conceitos de usabilidade do programa, sendo que a nica diferena perceptvel ao usurio entre as duas verses o ambiente de execuo, que passou do desktop para o browser.

37

CONSIDERAES FINAIS E TRABALHOS FUTUROS

Com todos os avanos tecnolgicos e sociais que ocorrem constantemente, torna-se essencial a qualquer software acompanhar as novas tendncias e evoluir juntamente com seus usurios. Os softwares educacionais precisam manter o foco educacional, mas tambm serem cada vez mais dinmicos, atrativos e de fcil acesso, visando prender a ateno do aluno e despertar nele a vontade de aprender. Neste trabalho foram apresentadas novas possibilidades para um software educacional e a implementao do SEM para a plataforma web utilizando a linguagem de programao Java, ampliando assim a sua capacidade de interao com o usurio e sua disponibilidade. A verso applet SEM pode ser disponibilizada aos usurios fora de seu ambiente escolar e livre de plataforma operacional, permitido ao aluno utiliz-lo em momentos de descontrao e tranquilidade, ampliando a sua capacidade de adquirir um conhecimento determinado. Em trabalhos futuros esse programa pode ser melhorado, com o acrscimo de novos clculos, uma interface mais amigvel e a possibilidade de uma verso para dispositivos mveis, atual tendncia de mercado. E ainda, poder se aplicar o applet em um ambiente de aprendizado para realizar um comparativo entre as duas verses existentes do SEM e averiguar as vantagens, desvantagens e a melhor aplicabilidade educacional de ambas as plataformas no processo de ensino-aprendizagem de operaes Matemticas com matrizes. Sendo assim esse no um aplicativo em sua verso final, pois novas possibilidades iro surgir a o software precisar ser atualizado para atender as novas exigncias educacionais de seus usurios.

38

Portanto, as tecnologias educacionais no devem ser limitadas, devendo alcanar o maior nmero possvel de usurios, levando facilidade e entusiasmo no ato de adquiri conhecimento, tornando assim, os contedos aplicados em sala pelo professor mais prximo da realidade vista pelo aluno.

39

REFERNCIAS

CABRAL FILHO, E. O. Desenvolvimento de um Software Educacional para ensino de matrizes e seu tutorial utilizando o Doxygen. 2009, 65 f. (Monografia apresentada a Universidade do Estado de Mato Grosso Campus Vale do Teles Pires, para obteno do grau de Licenciado em Computao). CABRAL FILHO, E. O. Ferramentas e Metodologias utilizadas no processo de desenvolvimento do Software SEM. 2010, 32 f. (Artigo apresentado a Universidade do Estado de Mato Grosso Campus Vale do Teles Pires, para obteno do grau de Especialista em Inovaes Tecnolgicas na Educao). DEITEL, Paul; DEITEL Harvey. Java como programar. 8. ed. So Paulo: Pearson Prentice Hall, 2010. FURGERI, Sergio. Java 7 Ensino Didtico. So Paulo: rica, 2010. JANDL JUNIOR, Peter. Java: Guia do Programado. So Paulo: Novatec, 2007. ORACLE. Class JTable. Disponvel em: < http://docs.oracle.com/javase/6/docs/api/javax/swing/JTable.html >. Acesso em: 26, Abril, 2012. SAVITCH, Walter J. C++ Absoluto. So Paulo: Pearson Education do Brasil, 2004. SIERRA, Kathy; BATES, Bert. Use a cabea! Java. Rio de Janeiro: Alta Books, 2005. PANG, Tao. An Introduction to Computational Physics. Cambridge, UK: Cambridge University Press, 2006. Disponvel em: < http://www.physics.unlv.edu/~pang/cp2_j.html >. Acesso: 04, Abril, 2012. WEAVER, James et. al., Plataforma Pro JavaFX: Desenvolvimento de RIA para Dispositivos Mveis e para rea de Trabalho por scripts com a Tecnologia Java. Rio de Janeiro: Cincia Moderna Ltda, 2010.

S-ar putea să vă placă și