Perguntas Calculadas

As Perguntas Calculadas permitem uma forma de criar uma pergunta numérica individual utilizando “wildcards” que são substituídos com valores individuais quando alguém se submete ao mini-teste.

Segue-se uma apresentação abreviada da página inicial com alguns exemplos de entrada de dados:

Pergunta: | Quanto é {a} + {b} ?
Imagem a Visualizar: |
Fórmula da Resposta Correcta: |
Tolerância: | ±
Tipo de Tolerância: |
Algarismos Significativos: |

Na entrada de dados do texto da pergunta e na “Fórmula da Resposta Correcta” podem ver-se {a} e {b}. Estas e qualquer outro {nome} podem ser usados como “wildcard” que é substituído por um valor quando se acede ao mini-teste. Além disso, ao submeter-se ao mini-teste , a “resposta correcta” é calculada utilizando a expressão “Fórmula da Resposta Correcta”, que é calculada como uma expressão numérica após a substituição dos “wildcards”. Os possíveis valores do “wildcard” são fixados ou produzidos numa página posterior “Assistente de Edição” para perguntas calculadas…

A fórmula de exemplo utiliza o operador +. Outros operadores aceites são -*/ e % em que % é o operador módulo. É também possível utilizar algumas das funções matemáticas do PHP. Entre estas existem 24 funções de argumento único:

abs, acos, acosh, asin, asinh, atan, atanh, ceil, cos, cosh, deg2rad, exp, expm1, floor, log, log10, log1p, rad2deg, round, sin, sinh, sprt, tan, tanh

2 funções de dois argumentos:

atan2, pow

e as funções min e max que podem ter dois ou mais argumentos. É igualmente possível utilizar a função pi que não tem qualquer argumento mas não esqueça o uso dos parênteses - pi() é o uso correcto. Do mesmo modo, as outras funções têm de ter os seus argumentos entre parênteses. Uma utilização possível é, por exemplo, sin({a}) + cos({b}) * 2. Não deverá ocorrer nenhum problema ao introduzir funções umas nas outras tais como: cos(deg2rad({a} + 90)) etc.

Encontram-se mais pormenores sobre a utilização destas funções PHP na documentação no sítio Web do PHP

Quanto às perguntas numéricas é possível permitir uma margem em que todas as respostas são aceites como correctas. O campo “Tolerância” é utilizado para esse fim. Contudo, existem três tipos diferentes de tolerâncias. O Relativo, o Nominal e o Geométrico. Se, durante o mini-teste, a resposta correcta calculada é 200 e a tolerância é fixada para 0.5 , então os diferentes tipos de tolerância funcionam da seguinte forma:

Relativo:

  Um intervalo de tolerância é calculado multiplicando a resposta por 0.5, isto é, neste caso obtem-se 100, portanto, para esta tolerância a resposta correcta tem de ser entre 100 e 300 (200 ± 100).

  Isto é útil se a magnitude da resposta correcta diferir substancialmente entre os diferentes valores dos “wildcards”.

Nominal:

  Este é o tipo de tolerância mais simples mas não muito forte. A resposta correcta tem de ser entre 199.5 e 200.5 (200 ± 0.5).

  Este tipo de tolerância pode ser útil se as diferenças entre as diversas respostas correctas forem pequenas.

Geométrico:

  O limite mais elevado do espaço de tolerância é calculado como 200 + 0.5*200 e é o mesmo como para o caso relativo. O limite mais baixo é calculado como 200/(1 + 0.5). A resposta correcta tem , portanto, de se situar entre 133.33 e 300.

  Isto é útil para um cálculo complexo que tem de ter grandes tolerâncias, onde tolerâncias relativas de 1 ou mais seriam usadas para o limite máximo mas evidentemente não aceitáveis para o limite mínimo, uma vez que resultaria zero numa resposta correcta em todos os casos.

O campo Algarismos Significativos apenas indica como deve ser apresentada a resposta correcta na revisão ou nos relatórios. Exemplos: Se está fixada para 3 então a resposta correcta 13.333 seria apresentada como 13.3; 1236 seria apresentada como 1240; 23 seria apresentada como 23.0 etc.

O campo “feedback” e os campos opcionais de unidades funcionam exactamente da mesma forma como para as perguntas numéricas.