question/type/calculated

Le domande con calcolo forniscono un modo per creare singole domande numeriche utilizzando dei puntatori (ad esempio, {x} e {y}) che sono sostituiti con valori casuali durante il sostenimento del quiz.


Ad esempio, se si vuole creare un gran numero di problemi del tipo "Si calcoli l'area del rettangolo" perché si ritiene l'argomento particolarmente importante, è possibile creare una domanda con due puntatori (ad esempio, {base} e {altezza}) e mettere nella "Formula per la risposta corretta=" i campi di input {base} * {altezza} (* costituisce l'operatore di moltiplicazione).


Formula per la risposta corretta= {base}*{altezza}

Quando uno studente sostiene il test, Moodle selezionerà valori casuali per {base} ed {altezza} ed assegnerà un punteggio alla risposta utilizzando il risultato della Formula per la risposta corretta=.

Accadrà veramente molto di rado che il test si ripeta.

ATTENZIONE: Almeno UN puntatore in una delle risposte

Lo scopo principale della domanda con calcolo è creare versioni multiple di una domanda con differenti valori numerici.

In alternativa si usino le domande numeriche.

Il processo in tre passi

Per creare (o modificare) una domanda con calcolo bisogna:

Definire i parametri standard della domanda

Nome

Dare alla domanda un nome descrittivo.

Testo della domanda

Tutte le variabili "puntatori" che si vuole siano sostituite con valori generati devono essere collocate tra parentesi grafe. Ad esempio, se si desidera sommare i numeri A e B i puntatori saranno {A} e {B} oppure {PrimoNumero} e {SecondoNumero}
Il testo della domanda dovrebbe contenere almeno un puntatore, altrimenti non è opportuno usare questo tipo di domanda
L'utente deve avere tutte le informazioni necessarie per rispondere correttamente

Formula per la risposta corretta

  • definire almeno una formula per la risposta contenente almeno i puntatori che erano presentati nel testo della domanda e tutti gli altri parametri collegati alla precisione o alle unità.
  • porre il 100% ad almeno una risposta

Precisare le definizioni del dataset

Per ogni puntatore esiste un dataset contenente i dati che saranno sostituiti al puntatore.
Il dataset può essere
  • privato ossia usato unicamente da questa domanda
  • condiviso ossia condiviso da altre domande della stessa categoria

La definizione di un dataset è obbligatoria per ogni puntatore usato nelle formule.

Se si pone nella definizione della domanda testo tra parentesi {zzz} che è un possibile puntatore,
si sarà in grado di decidere se lo è effettivamente oppure no.


Definire almeno un insieme di valori per ogni puntatore

Se si definisce un gran numero di valori (attualmente il numero massimo è 100),
si ottiene un insieme più randomizzato di differenti domande.

Organizzazione della domanda

  1. Se si desidera, aggiungere feedback generali.
  2. Inserire la formula per la risposta. Accertarsi di aver usato gli stessi puntatori in modo che Moodle possa sostituire gli stessi valori.
  3. Determinare la tolleranza per l'errore accettato nella risposta. La tolleranza ed il tipo di tolleranza si combinano per fornire un intervallo di valori accettabili.
  4. Selezionare il numero di figure significative si desiderano nella risposta corretta.
  5. Aggiungere il feedback per la risposta corretta.
  6. Inserire l' unità di misura per la risposta (ad esempio metri, kg, ecc.). Moodle considererà le unità corrette. Se si vogliono inserire altre unità accettabili, ad esempio distanze metriche contro le imperiali, inserirle con un fattore di conversione.
  7. Premere Salva le modifiche.
  8. Nella schermata successiva, scegliere se creare valori di sostituzione per ogni puntatore solo per questa domanda o per tutte le domande nella stessa categoria.
  9. Premere Salva le modifiche.
  10. Creare un dataset per la domanda o le domande nella categoria. Per ogni puntatore, generare una serie di valori accettabili. Più valori sono generati, più una domanda può venire riutilizzata senza valori ripetuti. Si noti che è necessario premere il pulsante Aggiungi (numero) oggetti per incorporare i numeri visualizzati nella domanda. Una volta aggiunti, si vedrà una lista di possibili valori (dataset) in fondo, quindi si potrà procedere.
  11. Premere Salva le modifiche.

Formula per la risposta corretta

NON INSERIRE IL SEGNO = nella formula.

  • Nelle recenti versioni del tipo di domanda con calcolo, è possibile avere più di una formula di risposta ed applicare uno specifico valore di punteggio ad ognuna di esse sempre che ci sia almeno una formula corretta al 100%.

Se vengono visualizzati più campi di input per la formula per la risposta corretta quando si è in editing, il sito ha attivata la funzionalità di risposta multipla.


  • Come regola generale, scrivere queste formule come si farebbe in una calcolatrice, ad esempio
    3 + 5 * sin(3/{x}) 
  • Tutti i puntatori ed altri argomenti dovrebbero essere tra parentesi. Ad esempio, se si vuole che gli studenti calcolino il seno di un angolo e il coseno del doppio di un altro, si dovrebbe inserire
    sin({a}) + cos({b}*2)
    .
  • È generalmente meglio avere troppe parentesi che troppo poche. Al server non danno fastidio, e più specifici si è a riguardo di cosa si desidera, più saranno comprensibili anche le formule complesse.
  • Non ci sono moltiplicazioni implicite. Per te, scrittore umano, "5(23)" o "5x" possono sembrare perfettamente ovvi. Per il server che deve svolgere la matematica, è assurdo scrivere così e non ha alcun senso interpretarlo. Usare sempre "*" per indicare la moltiplicazione.
  • Ogni funzione matematica speciale deve avere parentesi intorno ai propri valori. Si consideri la funzione seno al primo punto dell'elenco puntato come esempio. Si noti che 3 / x è racchiuso tra parentesi --questo affinchè il server possa comprenderlo correttamente. Senza queste parentesi, il server non può sapere se si intende "(sin 3) / x" o "sin (3 / x)" e di conseguenza rifiuterà l'intera formula.

Funzioni disponibili

  • Le domande con calcolo possono usare più che i semplici operatori aritmetici. Si veda sotto per una tabella delle funzioni disponibili (prese da PHP: Mathematical Functions, dove si possono trovare ulteriori funzioni, sebbene sia opportuno essere cauti: la pagina potrebbe contenere più informazioni di quante si desideri!).
Funzione Spiegazione
abs Valore assoluto
acos Arco coseno -- in radianti!!! Convertire la scala di misura in radianti prima di usare la funzione.
acosh Coseno iperbolico inverso -- in radianti!!! Convertire la scala di misura in radianti prima di usare la funzione.
asin Arco seno -- in radianti!!! Convertire la scala di misura in radianti prima di usare la funzione.
asinh Seno iperbolico inverso -- in radianti!!! Convertire la scala di misura in radianti prima di usare la funzione.
atan2 Arco tangente di 2 variabili -- passare due valori come (x, y), e si otterrà l'atah(y/x), aggiustato al quadrante appropriato.
atan Arc tangent -- in radians!!! Convert your degree measurement to radians before you take the atan of it.
atanh Tangente iperbolica inversa
base_convert Converte un numero tra basi arbitrarie. Esempio: per ottenere il valore di 50 (in base 10) in base 5, si scriverà "base_convert(50, 10, 5)"
bindec Da binario a decimale
ceil Arrotonda la frazione per eccesso
cos Coseno -- in radianti!!! Convertire la scala di misura in radianti prima di usare la funzione.
cosh Coseno iperbolico -- in radianti!!! Convertire la scala di misura in radianti prima di usare la funzione.
decbin Da decimale a binario
dechex Da decimale ad esadecimale
decoct Da decimale ad ottale
deg2rad Converte il numero da gradi in radianti equivalenti
exp Calcola l'esponente di e
expm1 Ritorna exp(numero) - 1, calcolato in un modo accurato anche quando il valore di numero è vicino a zero
floor Arrotonda la frazione per difetto
fmod Ritorna il resto floating point (modulo) della divisione degli argomenti
hexdec Da esadecimale a decimale
is_finite Verifica se un valore è un numero finito valido
is_infinite Verifica se un valore è infinito
log10 Logaritmo in base 10
log1p Ritorna log(1+numero), calcolato in un modo accurato anche quando il valore di numero è vicino a zero
log Logaritmo naturale (ln)
max Trova il valore massimo
min Trova il valore minimo
mt_rand genera un valore casuale migliore
octdec Da ottale a decimale
pi Ricava il valore di pi
pow (numberToRaise, NumberRaisedTo) Espressione esponenziale
rad2deg Converte il numero radiante nell'equivalente numero in gradi
rand Genera un numero intero casuale
round Arrotonda un float
sin Sino -- in radianti!!! Convertire la scala di misura in radianti prima di usare la funzione.
sinh Seno iperbolico -- in radianti!!! Convertire la scala di misura in radianti prima di usare la funzione.
sqrt Radice quadrata
tan Tangente -- in radianti!!! Convertire la scala di misura in radianti prima di usare la funzione.
tanh Tangente iperbolica -- in radianti!!! Convertire la scala di misura in radianti prima di usare la funzione.

Costanti predefinite

  • Alcune costanti predefinite sono disponibili per l'uso. Una tabola di esse appare sotto, estratta da PHP: Mathematical Functions, dove è possibile ricavare maggiori informazioni. (Si consiglia attenzione, la pagina potrebbe contenere più informazioni di quante ve ne servano!)
Constant Valore Descrizione
M_PI 3.14159265358979323846 Pi
M_E 2.7182818284590452354 e
M_LOG2E 1.4426950408889634074 log_2 e
M_LOG10E 0.43429448190325182765 log_10 e
M_LN2 0.69314718055994530942 log_e 2
M_LN10 2.30258509299404568402 log_e 10
M_PI_2 1.57079632679489661923 pi/2
M_PI_4 0.78539816339744830962 pi/4
M_1_PI 0.31830988618379067154 1/pi
M_2_PI 0.63661977236758134308 2/pi
M_2_SQRTPI 1.12837916709551257390 2/sqrt(pi)
M_SQRT2 1.41421356237309504880 sqrt(2)
M_SQRT1_2 0.70710678118654752440 1/sqrt(2)

Ulteriori costanti predefinite

  • Alcune altre costanti possono essere a disposizione, a seconda dell'istanza di Moodle che avete installata.
Costante Valore Descrizione
M_SQRTPI 1.77245385090551602729 sqrt(pi)
M_SQRT3 1.73205080756887729352 sqrt(3)
M_LNPI 1.14472988584940017414 log_e(pi)
M_EULER 0.57721566490153286061 Costante di Eulero