Domande calcolate

Le domande 'calcolate' offrono un modo per creare singole domande numeriche tramite l'uso di caratteri jolly che vengono sostituiti da valori effettivi quando il quiz è eseguito.
Di seguito è riportato uno stralcio della pagina principale di editing della domanda con alcuni input di esempio:

Domanda: | Quanto fa {a} + {b} ?
Immagine da mostrare: |
Formula della risposta corretta: |
Tolleranza: | ±
Tipo di tolleranza: |
La risposta corretta avrà: |

Nel testo della domanda e nel campo "Formula della risposta corretta" si possono vedere {a} e {b}. Queste e ogni altro {nome} possono essere usate come caratteri jolly che saranno sostituiti da qualche valore quando il quiz sarà eseguito. Inoltre, la risposta corretta è determinata quando il quiz è inviato, usando l'espressione in "Formula della risposta corretta", che è calcolato come una espressione numerica dopo la sostituzione dei caratteri jolly. I possibili valori da sostituire sono impostati o generati in una pagina successiva di aiuto (wizard) per l'editing delle domande calcolate.
La formula di esempio usa l'operatore +. Altri operatori possibili sono - * / e % dove % è l'operatore modulo. E' anche possibile utilizzare alcune funzioni matematiche in stile PHP. Tra queste sono presenti le 24 funzioni a singolo argomento:
abs, acos, acosh, asin, asinh, atan, atanh, ceil, cos, cosh, deg2rad, exp, expm1, floor, log, log10, log1p, rad2deg, round, sin, sinh, sprt, tan, tanh,
le 2 funzioni a doppio argomento:
atan2, pow
e le funzioni min e max che possono avere due o più argomenti. E' anche possibile usare la funzione pi che non ha argomenti, ma non dimenticare di usare le parentisi - l'uso corretto è pi(). Analogamente anche le altre funzioni devono avere i propri argomenti racchiusi tra parentesi. Un esempio di utilizzo è sin({a}) + cos({b}) * 2. Non ci dovrebbe essere alcun problema a usare le parentesi anche nelle funzioni di funzioni, come ad esempio cos(deg2rad({a} + 90)) ecc.
Maggiori dettagli sull'uso di queste funzioni stile PHP si possono trovare nella documentazione presente nel sito web del PHP.
Come nelle domande numeriche, anche per queste è possibile prevedere un margine di tolleranza tale che le risposte all'interno dello stesso sono accettate come corrette. Il campo "Tolleranza" serve a questo scopo. Comunque ci sono tre tipi di tolleranza Relativa, Nominale e Geometrica. Se diciamo che la risposta giusta calcolata al momento del quiz è 200 e la tolleranza è impostata a 0.5, allora i differenti tipi di tolleranza funzioneranno in questo modo:
Relativa: L'intervallo di tolleranza è determinato moltiplicando la risposta corretta per 0.5, ottenendo nel caso in esempio 100 e cioè considerando corrette tutte le risposte tra 100 e 300 (200 ± 100).
Questo è utile se il valore della risposta corretta può variare molto all'interno di valori differenti dei caratteri jolly.
Nominale: Questo è il tipo di tolleranza più semplice ma non molto significativo. La risposta giusta deve stare, nell'esempio, tra 199.5 e 200.5 (200 ± 0.5).
Questo tipo di tolleranza può essere utile se la differenza tra le varie risposte corrette è piccola.
Geometrica: Il limite superiore dell'intervallo di tolleranza è calcolato come 200 + 0.5*200 (nell'esempio) ed è lo stesso della tolleranza Relativa. Il limite inferiore è calcolato come 200/(1 + 0.5). La risposta corretta deve cadere quindi tra 133.33 e 300.
Questo è utile per calcoli complessi che devono avere tolleranze significative. Infatti una tolleranza relativa di 1 o più potrebbe essere usata per il limite superiore ma non sarebbe accettabile per il limite inferiore che renderebbe lo Zero una risposta corretta in tutti i casi.
I due campi relativi a La risposta corretta avrà si riferiscono solamente a come la risposta corretta sarà mostrata nell'anteprima o nei risultati finali. Esempi: Se sono impostati a "3 cifre significative" la risposta corretta 13.333 sarà presentata come 13.3; 1236 sarà presentata come 1240; 23 sarà mostrato come 23.0 ecc.
Il campo Commenti e i campi opzionali Unità funzionano esattamente come per le domande numeriche.