• Nenhum resultado encontrado

CAPÍTULO IV – CONCEÇÃO E IMPLEMENTAÇÃO

4.3. Arquitetura

A aplicação utiliza uma base de dados em MySQL, que interage com a aplicação em JAVA. A aplicação tem duas componentes principais: a Janela, que trata da parte visual da aplicação; e a Pergunta, que trata da parte lógica da aplicação. Nesta classe encontra-se o esqueleto que será utilizado em cada uma das perguntas, como por exemplo ligar à BD (Base de Dados), consultar dados e guardar respostas. Depois cada tipo de pergunta que herda da classe Pergunta.java, tem as suas especificidades, atributos e métodos, que iremos descrever mais detalhadamente no secção Pergunta.

Figura 8 - Arquitetura da aplicação matUTAD

4.3.1. Janela

É na janela que vai ser apresentada a pergunta, com a respetiva ilustração (opcional) e opções de resposta. Para iniciar a aplicação, devemos escolher no spinner o ano de escolaridade pretendido e clicar no botão Nova Pergunta, conforme ilustrado na figura seguinte.

Capítulo IV – Conceção e Implementação

28 Após o clique em “Nova Pergunta”, a aplicação gera automaticamente uma pergunta aleatória, onde pode utilizar um texto (TXT1) ou dois textos (TXT1 e TXT2) acrescidos das variáveis específicas dos mesmos, para compor a pergunta a apresentar. Caso a pergunta tenha uma ilustração, esta é desenhada na janela. As hipóteses geradas para a pergunta são mostradas na canvas. Algumas estão corretas e outras não. A estrutura da pergunta vem da base de dados, ou seja, da tabela estruturapergunta. Consoante o tipo de pergunta, cada classe calcula as hipóteses a apresentar de modo diferente, como iremos descrever no Capitulo 4.4.

Figura 10 – Componentes da Janela

A AreaDesenho é uma subclasse do componente Jpanel, sendo este um “contentor que consiste num painel ao qual se podem adicionar outros componentes.” (Jesus, 2013) que pertence ao pacote Swing do JAVA ajudando na organização dos mesmos e onde são adicionadas as ilustrações, como os desenhos, os gráficos, as frações ou shapes, isto é, triângulos, segmentos de reta para obtenção de ângulos.

Quando tentam validar a resposta sem ter selecionado nenhuma, aparece uma janela de erro (Figura 11). Podem ser escolhidas mais do que uma resposta.

Capítulo IV – Conceção e Implementação

29

Figura 11 – Janela de Ausência de Resposta 4.3.2. Pergunta

A Pergunta.java é uma classe abstrata, isto é, designa um modelo base para as suas subclasses associadas.

Figura 12 – Classes de Perguntas

Em relação à Figura 12, classes de perguntas, podemos verificar que a Pergunta serve de base para estruturar vários tipos de perguntas, com diversos temas, que serão completadas com a informação necessária.

Capítulo IV – Conceção e Implementação

30 Há variáveis comuns a todas as perguntas, como a valida (tem o valor verdadeiro se há uma estrutura de pergunta com o tipo e ano indicados), o tipo de pergunta (que vai indicar qual o tipo a consultar na base de dados), o ano da pergunta (ano de escolaridade), o nível de dificuldade (1-3) e o id (identificação da pergunta, caso o utilizador necessite de a rever e para guardar a ilustração da pergunta) (ver Anexo A – Classe Pergunta.Java).

Podemos pois afirmar que muito embora a classe Pergunta.java abranja estes métodos, tais como getTextoPergunta (ir buscar o texto composto com informação da base de dados e texto calculado a cada iteração), o getSolucoes (devolve as soluções calculadas para a pergunta), getValida (se é possível gerar uma pergunta do tipo e ano pedido), LigarBD (para estabelecer a ligação à base de dados), o gravarPergunta, (grava na tabela Perguntas da base de dados, com a pergunta final e as respostas do utilizador e imagem, data da pergunta). Teremos por isso de considerar, simultaneamente, que também outros métodos existem herdados da Pergunta.java (ex: constroiDesenho(), controiPergunta()) reportados para as subclasses da Pergunta.java.

Se for necessário alterar os dados de acesso à base de dados, isto deve ser alterar do no ficheiro Pergunta.java, no método LigarBD (Ver figura 13).

Figura 13 – Métodos comuns a todas as perguntas

4.3.3. Base de dados

Após a formulação de perguntas, as mesmas são armazenadas numa base de dados em MySQL.

Foi arquitetada a Base de Dados (Figura 14) segundo os parâmetros apresentados nas tabelas: estrutura das perguntas (estruturapergunta), perguntas armazenadas (perguntas) e tipos de pergunta (tipos).

Capítulo IV – Conceção e Implementação

31

Figura 14 – Tabelas da Base de Dados

A primeira tabela (Figura 15), denominada estruturapergunta consiste em parâmetros específicos para a criação das questões matemáticas, que podem também ser mapeadas não permitindo quaisquer combinações, à exceção no sentido horizontais.

Figura 15 – Estrutura de Pergunta

A segunda tabela é apelidada de perguntas (Figura 16) e tem como finalidade o armazenamento de todos os dados relativos às perguntas geradas pela aplicação, bem como, as respostas indicadas pelo utilizador (aluno).

Capítulo IV – Conceção e Implementação

32

Figura 16 – Tabela Pergunta

A terceira e última tabela tipos (Figura 17) corresponde à tipologia de perguntas que podem ser geradas.

Capítulo IV – Conceção e Implementação

33

4.4. Temas Abrangidos 4.4.1. Ângulos

Rosa, Neves e Vaz (2010:12) indicam que “duas semirretas com a mesma origem determinam no plano duas regiões – cada uma delas é um ângulo. A unidade de medida considerada são os graus (º), nunca ultrapassando os 360º (ângulo giro). A medida do ângulo encontra-se relacionada com a amplitude do mesmo. Há vários tipos de ângulos, sendo eles:

- Agudo: 0⁰ < 𝐴Ô𝐵 < 90⁰ - Reto: 𝐴Ô𝐵 = 90⁰

- Obtuso: 90⁰ < 𝐴Ô𝐵 < 180⁰ - Raso: 𝐴Ô𝐵 = 180⁰

Para evitar más interpretações, ou geração de figuras dúbias, a aplicação gera apenas ângulos entre 30º a 180º, múltiplos de 15º graus. Deste modo, o ângulo giro/nulo foi descartado porque ultrapassa esses limites. No método desta classe, constroiSolucoes, contido na classe perguntaAngulos , o ângulo é construído utilizando a seguinte fórmula:

anguloCorrecto = 15 + numeroAletorio(11) * 15

É pertinente referir que todos os ângulos utilizados no estudo, são definidos como ângulos convexos (𝐵Ô𝐴), conforme ilustrado na figura 18.

Figura 18 – Classificação de Ângulos

Ao ser gerada a pergunta, o ângulo construído é o único “ângulo correto”. As quatro opções de resposta são sempre apresentadas na mesma ordem (agudo, reto, obtuso e raso), devido às instruções pertencentes ao método ConstroiSolucoes desta classe.

Capítulo IV – Conceção e Implementação

34 A ilustração é criada utilizando o método constroiDesenho, que desenha um segmento de reta no eixo do xx, identifica o ângulo correto (neste caso, ângulo agudo), para desenhar o outro segmento de reta e finaliza ligando os dois com o arco (Figura 19).

Figura 19 – Exemplo de Ilustração relativa ao tema ângulos

4.4.2. Frações

Nunes (2017) define “números fracionários são números que representam uma ou mais partes de uma unidade que foi dividida em partes iguais”. De um modo geral, podemos definir uma fração, ou quociente, como a divisão entre dois números inteiros ( ) e cuja esquematização geral se representa como 𝑎

𝑏, em que 𝑏 ≠ 0 e em que a representa o numerador

e b o denominador, pertencendo aos números racionais (ℚ). Definido deste modo, torna-se possível a realização de questões sobre o cálculo de várias operações matemáticas, tais como: a adição, subtração, multiplicação e divisão (as mais relevantes no desenvolvimento do projeto).

Os tipos de frações apresentadas enquadram-se como própria, imprópria, aparente, irredutível, unitária e decimal (potência de 10)(Nunes, 2017).

- própria: 𝑎 < 𝑏 - imprópria: 𝑎 > 𝑏

- aparente: 𝑎 > 𝑏 , a é múltiplo de b

- irredutível: não é possível simplificar a fração

- decimal: 𝑏 = 10𝑛, 𝑛 ∈ . IN

De modo a aglomerar todas as especificidades relacionadas com as frações, foram criadas as classes Fracoes.java e PerguntaFracoes.java, de forma a ser possível controlar

Capítulo IV – Conceção e Implementação

35 estritamente o comportamento de todas as variáveis subsequentes. Trata-se de uma forma de agregar todos os dados necessários para a escrita correta de duas frações e uma das quatro operações aritméticas realizada entre ambas.

Existem quatro variáveis do tipo inteiro a considerar, sendo elas: a, b, c e d; as quais assumiram uma determinada função, ou seja, definidas em perguntaFracoes.java

𝑎

𝑏 [𝑂𝑃𝐸𝑅𝐴ÇÃ𝑂]

𝑐 𝑑

Em que a e c são designados de numeradores, sendo os seus valores gerados aleatoriamente de 1 a 20 e b e d são designados de denominadores, sendo os seus valores gerados de 1 a 5. No caso de c ser menor que a , d será igual a um número aleatório (de 1 a 4), multiplicado por b, sendo que nunca poderão ser nulos. Entre as duas frações apresentadas haverá uma operação aleatória a realizar.

Na criação de opções de resposta, primeiro é criada a solução correta da operação gerada e em seguida é criada uma segunda solução, errada, somando ou subtraindo um valor ao valor da solução certa. Por último, geram-se as restantes duas opções erradas com números aleatórios entre 0 a 99, não coincidentes com a solução. Uma tarefa futura será a de apresentar as hipóteses de escolha, como frações e não como números decimais.

Figura 20 – Exemplo de Pergunta relativa às frações

4.4.3. Probabilidades

Costa (2009) refere que:

“a teoria das probabilidades tornou-se tão essencial em todos os ramos da ciência, não só nas ciências físicas, mas também nas ciências biológicas e sociais, que se pode prever com alguma segurança que desempenhará um papel cada vez mais importante no ensino da matemática nos primeiros anos de escolaridade” (Gardener, citado por Costa, 2009).

Capítulo IV – Conceção e Implementação

36 Esta área da matemática é muito útil na vida prática, pois permite quantificar a noção do “provável”, isto é, o número de vezes passiveis de um evento incerto ou conhecido acontecer. Na atualidade, o termo provável é utilizado no nosso quotidiano nas mais diversas atividades, quer sejam termos de estudo ou mesmo casos de sorte. Devido à sua natureza as probabilidades não nos dão certezas, mas sim uma formulação matemática para a possibilidade de um evento se concretizar. A fórmula mais generalizada de cálculo de probabilidade de determinado evento A é:

Pr(𝐴) =𝑛

𝑁=

𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑐𝑎𝑠𝑜𝑠 𝑓𝑎𝑣𝑜𝑟á𝑣𝑒𝑖𝑠 𝑎 𝐴

𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑐𝑎𝑠𝑜𝑠 𝑝𝑜𝑠𝑠í𝑣𝑒𝑖𝑠 (1)

Nos problemas criados, para apresentar aos jogadores no matUTAD, haverá três tipos de situações:

- simples: probabilidade de apenas ocorrer um caso dentro do número de casos possíveis (utilizando a fórmula apresentada anteriormente);

- composta: probabilidade de, no total de casos, ocorrer um evento A ou B, utilizando a fórmula seguinte:

𝑃(𝐴 ∪ 𝐵) = 𝑃(𝐴) + 𝑃(𝐵) − 𝑃(𝐴 ∩ 𝐵) (2)

Neste tema encontram-se duas formas de questões possíveis, questionando qual a probabilidade de aparecer uma bola de uma determinada cor, na classe PerguntaProbabilidades.java.

Cada cor da bola é representada por uma variável em que lhe é atribuído um número aleatório, cada vez que é iniciada a geração de uma nova pergunta. O valor do número de bolas primeira cor é atribuída de acordo com a fórmula: número aleatório entre 21 e 50, enquanto que o valor do número de bolas da segunda cor é entre 1 e 20.

A opção da resposta correta é criada utilizando a Lei de Laplace (1), em que o número de bolas da cor pretendida é dividido pelo número total de bolas. Uma das opções erradas é criada utilizando a mesma fórmula, mas o numerador corresponde ao número de bolas da cor oposta à pretendida. A segunda opção errada consiste em utilizar o valor da solução certa e somar-lhe um valor aleatório de 1 a 10, com um valor máximo de 100. A terceira opção errada consiste em utilizar o valor da primeira opção errada e subtrair-lhe um valor aleatório de 1 a 10, ficando sempre com um valor mínimo de 0.

Capítulo IV – Conceção e Implementação

37 A PerguntaProbabilidade2.java utilizada para outro tipo de pergunta, descreve a probabilidade de se obter um dos três tipos de cores de bolas. A opção da resposta certa é criada utilizando a fórmula da probabilidade, em que o número de bolas da cor pretendida é dividido pelo número total de bolas.

Em relação às três opções erradas, numa delas usa-se a mesma fórmula da opção correta, mas o numerador corresponde ao número de bolas de uma das cores opostas à pretendida. Caso tenha o valor da solução correta, somam-se os valores das bolas de cor oposta à pretendida. A segunda opção errada consiste em utilizar o valor da soma das cores não pretendidas e dividir pelo total. A terceira opção errada consiste em utilizar o valor da segunda cor não pretendida e dividir pelo total, caso tenha o valor da solução correta acrescenta-se o valor da primeira cor não pretendida.

Nas questões de maior nível de dificuldade, existem três tipos predefinidos de cor de bolas: vermelha, preta e branca, onde a probabilidade de aparecer uma bola de uma cor ou de outra, é efetuada na classe PerguntaProbabilidades3.java, através da fórmula: cor = n.º aleatório (vermelha com valores de 1 a 20, preta com valores de 1 a 40 e branca com valores de 1 a 10), salvaguardando valores idênticos.

A resposta correta é gerada através da operação que consiste na soma das cores pretendidas sobre o número total de bolas. A primeira opção errada é calculada apenas usando a primeira das cores pretendidas sobre o número total de bolas. A segunda opção errada é calculada apenas usando a segunda das cores pretendidas sobre o número total de bolas. A terceira opção errada é calculada apenas usando a cor restante ou terceira sobre o número total de bolas.

Capítulo IV – Conceção e Implementação

38

4.4.4. Fórmula Resolvente

De modo a resolver as equações de 2.º grau, quer se encontrem na forma completa ou incompleta, e recorrendo à Fórmula Resolvente, são elaboradas as questões de modo a, aleatoriamente, fornecer um valor diferente para as constantes a,b e c, quando estas existem. Isto é, sendo estas caracterizadas como equações polinomiais de grau dois e sendo x a sua única variável, pretende-se encontrar os zeros do polinómio em questão. É importante realçar que à constante a nunca poderá ser atribuída o valor nulo, pois assim tornar-se-ia numa equação linear. Entenda-se por forma completa das equações referidas a seguinte forma:

𝑎𝑥2+ 𝑏𝑥 + 𝑐 = 0

A título de exemplo, apresenta-se uma equação de 2.º grau incompleta: 𝑎𝑥2+ 𝑐 = 0

Independentemente, da forma apresentada, toda e qualquer equação de 2.º grau deverá ser resolvida com base na fórmula seguinte:

𝑥 =−𝑏 ± √𝑏

2− 4𝑎𝑐

2𝑎 Sendo,

a – coeficiente do termo de 2.º grau,

b – coeficiente do termo de 1.º grau, - (a*x1+a*x2) = b

c – termo independente, a*(x1*x2) = c

Na subclasse PerguntaFormulaResolvente utilizamos valores auxiliares a com valores entre 1 a 10, x1, x2 com valores de entre -10 e 10 para calcular as variáveis acima descritas. Utilizando as fórmulas já referidas, podemos construir o polinómio.

A equação tem possibilidade de exibir dois formatos: 𝐹(𝑥) = 𝑎𝑥2+ 𝑏𝑥 + 𝑐 𝐹(𝑥) = 𝑝1(𝑥 − 𝑝2)(𝑥 − 𝑝3)

O foco principal desta fórmula reside na descoberta das raízes da equação apresentada, constituindo estas a(s) sua(s) solução(ões), de modo a determinar o valor de x. Nas opções de resposta terá que haver uma solução verdadeira, uma falsa e duas aleatórias.

Capítulo IV – Conceção e Implementação

39

Figura 22 – Exemplo de Pergunta de Fórmula Resolvente

4.4.5. Parábola

Uma parábola é uma “curva plana, cujos pontos distam igualmente de um ponto fixo, chamado foco, e de uma reta chamada diretriz, ambos situados no plano da curva” (Dicionário Infopédia, 2017).

Figura 23 – Parábola

No seguimento do projeto, apenas será requerido aos utilizadores que perante um gráfico de uma determinada parábola consigam identificar o polinómio de segundo grau que a define, e dentro destes apenas os da forma.

𝑝 (𝑥) = 𝑎 𝑥2 + 𝑐, a ≠ 0

Nesta aplicação só são criadas parábolas simétricas em relação ao eixo vertical, ou dos yy, variando apenas o sentido da concavidade, para cima ou para baixo, dependendo do sinal do coeficiente a do termo de segunda ordem, x2 que tem probabilidade 50% de ser positivo e

50% de ser negativo. Ver um exemplo na Figura 24.

O vértice ainda pode posicionar-se acima do eixo dos xx ou abaixo do mesmo, dependendo do valor c variando entre -2 e 3, ou podendo o mesmo ser nulo quando sobre o eixo como podemos averiguar na Figura 24.

Capítulo IV – Conceção e Implementação

40

Figura 24 – Exemplo de Pergunta de Parábola

4.4.6. Gráficos

Os gráficos de barras constituem uma representação, clara e objetiva, de dados estatísticos num gráfico bidimensional. Em perguntas deste tipo, pretende-se que os alunos façam a análise do gráfico.

Nesta implementação, (PerguntaGraficos) os gráficos gerados são apenas de barras, sendo representados por retângulos onde se pretende a esquematização simples e eficaz de projeções num determinado espaço temporal, ou simplesmente, a representação de dados.

O uso da variável MAIOR ou MENOR, determinado aleatoriamente é utilizado no texto da pergunta. Esta variável é escolhida a partir das condições impostas no método calculaValores.

Para perguntas deste tipo, optamos por utilizar uma sequência temporal, escolhida entre 2001 e 2011, a representar no eixo dos xx. Em relação aos valores das barras dos gráficos, eixo dos yy, estes variam entre 3000 e 10000, sendo estes gerados aleatoriamente.

Após a concretização das variáveis, a própria aplicação consoante o contexto (MAIOR ou MENOR) identifica a solução (máximo ou mínimo), indicando-a como uma hipótese além de apresentar outras três.

Capítulo IV – Conceção e Implementação

41

Figura 25 – Exemplo de Pergunta de Gráficos 4.4.7. Triângulos

Um polígono é “uma porção de plano limitada por uma linha poligonal fechada […] o mais simples de todos os polígonos é o triângulo: tem 3 vértices, 3 lados e 3 ângulos” (Rosa, Neves e Vaz, 2010:17-18).

A seguir definem-se os diferentes tipos de triângulos consoante dois fatores, a amplitude dos ângulos ou os comprimentos dos lados.

Relativa aos ângulos do triângulo pode ser:

- Acutângulo: cujos ângulos internos são todos inferiores a 90º, ou seja, são todos agudos;

- Retângulo: um dos ângulos é igual a 90º; - Obtusângulo: possui um ângulo obtuso.

Esta classe PerguntaTrianguloAngulo começa com a construção de um segmento de reta, com um comprimento fixo. Segue-se a criação de outro segmento com origem na extremidade e com o mesmo comprimento do anterior. Isto é conseguido à custa de uma rotação de amplitude aleatória de múltiplos de 15⁰ (entre 30º e 150º). Finaliza-se “fechando” o triângulo com um segmento de reta. Como podemos ver, no anexo B.

São estabelecidas quatro opções de resposta sempre na mesma ordem: acutângulo, retângulo, obtusângulo e nenhuma das anteriores, estando esta última opção sempre errada. Só pode existir uma opção correta, no qual se baseia a ilustração (Figura 29).

Capítulo IV – Conceção e Implementação

42

Figura 29 – Exemplo da Pergunta sobre Triângulos

Quanto ao comprimento dos lados, o triângulo pode ser:

- Escaleno: cujos lados possuem todos comprimentos diferentes; - Isósceles: cujos dois dos seus lados possuem o mesmo comprimento; - Equilátero: cujos os lados possuem o mesmo comprimento.

Figura 30 – Exemplo da Pergunta sobre Triângulos

Na classe PerguntaTrianguloLados o tipo de triângulo é escolhido aleatoriamente aquando da geração da Pergunta. Em primeiro lugar é formada uma “opção correta” e, a partir desta é desenhada a figura.

Cada forma ou shape tem três coordenadas específicas em (x,y) para desenhar o triângulo no canvas. Estes pontos serão os vértices os quais estão em posições variadas, mas delineadas de modo a dar formas e posições únicas aos diferentes tipos de triângulo. O triângulo Equilátero apenas uma forma, o triângulo Isósceles tem quatro formas de desenho. O triângulo

Capítulo IV – Conceção e Implementação

43 Escaleno também tem quatro formas de desenho diferentes. As opções de resposta são sempre criadas na mesma ordem: Escaleno, Isósceles, Equilátero e nenhum dos anteriores.

As coordenadas predefinidas no canvas definem os vértices do triângulo a construir, como apresentado no anexo C.

4.4.8. Teorema de Pitágoras

Com vista à descoberta do comprimento de um dos três lados de um triângulo retângulo são geradas perguntas para que os alunos recorram ao Teorema de Pitágoras. “Os lados de um triângulo retângulo têm designações próprias: o maior dos lados chama-se hipotenusa e outros dois lados chamam-se catetos” (Neves e Faria, 1999). No programa criado, apenas será requerido a resolução de problemas de modo a obter o valor do comprimento da hipotenusa. Em termos globais, diz-se que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos, traduzido pela seguinte equação:

ℎ2 = 𝑐 12 + 𝑐22 ℎ, 𝑐1, 𝑐2 ≠ 0 𝑐1 ≠ 𝑐2 c1 = comprimento do cateto 1 c2 = comprimento do cateto 2 h = comprimento da hipotenusa

A aplicação obrigará os alunos a aplicar o Teorema de Pitágoras de modo a resolver o problema da melhor forma, ou seja:

ℎ = √𝑐12 + 𝑐 22

Um pormenor deste teorema, cujo seu carácter poderá auxiliar o cálculo, essencialmente, em caso de dúvida, é que a hipotenusa apesar de ser o lado com maior comprimento do triângulo, a soma dos catetos será sempre superior ao valor desta. Assim:

ℎ < 𝑐1 + 𝑐2

Fonte: Aplicação MatUTAD Figura 26 - Exemplo de Teorema de Pitágoras

Capítulo IV – Conceção e Implementação

44 A ilustração gerada terá apenas quatro posições base: quadrante 1, 2, 3 e canto inferior e 4. Esses cantos são posteriormente colocados a partir do centro do canvas, sendo a posição aleatória.

Figura 27 – Posições base da Ilustração

De forma a ser gerado um triângulo retângulo de Pitágoras com números inteiros, c1 ≠

c2 , foram utilizados os ternos pitagóricos primitivos, que assentam em dezasseis casos em que

a hipotenusa é menor que 100 (Knott, 2016). No entanto, dentro da aplicação, há que ter em conta que os valores de c1 e c2 podem trocar, fazendo assim passível de apresentar 32 figuras

distintas. De modo a tornar a ilustração ainda mais única, o triângulo pode ser gerado em qualquer um dos quatro quadrantes.

Capítulo IV – Conceção e Implementação

45

4.4.9. Organização e Tratamento de Dados

O tema da Matemática, denominado Organização e Tratamento dos Dados, muitas vezes apresentados aos alunos como obtidos quer por via de inquérito ou questionário, será exposto

Documentos relacionados