question/type/calculated

Da MoodleDocs.

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.

Available functions

  • Calculated questions can use more than simple arithmetic operators. See below for a table of available functions (taken from PHP: Mathematical Functions, where you can get further functions, though be careful, as the page may contain more information than you want!).
Function Explanation
abs Absolute value
acos Arc cosine -- in radians!!! Convert your degree measurement to radians before you take the acos of it.
acosh Inverse hyperbolic cosine -- in radians!!! Convert your degree measurement to radians before you take the acosh of it.
asin Arc sine -- in radians!!! Convert your degree measurement to radians before you take the asin of it.
asinh Inverse hyperbolic sine -- in radians!!! Convert your degree measurement to radians before you take the asing of it.
atan2 Arc tangent of two variables -- pass in two values like (x, y), and you'll get the atah(y/x), adjusted to the proper quadrant.
atan Arc tangent -- in radians!!! Convert your degree measurement to radians before you take the atan of it.
atanh Inverse hyperbolic tangent
base_convert Convert a number between arbitrary bases. Example: to get the value of 50 (in base 10) in base 5, you'd write "base_convert(50, 10, 5)"
bindec Binary to decimal
ceil Round fractions up
cos Cosine -- in radians!!! Convert your degree measurement to radians before you take the cos of it.
cosh Hyperbolic cosine -- in radians!!! Convert your degree measurement to radians before you take the cosh of it.
decbin Decimal to binary
dechex Decimal to hexadecimal
decoct Decimal to octal
deg2rad Converts the number in degrees to the radian equivalent
exp Calculates the exponent of e
expm1 Returns exp(number) - 1, computed in a way that is accurate even when the value of number is close to zero
floor Round fractions down
fmod Returns the floating point remainder (modulo) of the division of the arguments
hexdec Hexadecimal to decimal
is_finite Finds whether a value is a legal finite number
is_infinite Finds whether a value is infinite
log10 Base-10 logarithm
log1p Returns log(1 + number), computed in a way that is accurate even when the value of number is close to zero
log Natural logarithm (ln)
max Find highest value
min Find lowest value
mt_rand Generate a better random value
octdec Octal to decimal
pi Get value of pi
pow (numberToRaise, NumberRaisedTo) Exponential expression
rad2deg Converts the radian number to the equivalent number in degrees
rand Generate a random integer
round Rounds a float
sin Sine -- in radians!!! Convert your degree measurement to radians before you take the sin of it.
sinh Hyperbolic sine -- in radians!!! Convert your degree measurement to radians before you take the sinh of it.
sqrt Square root
tan Tangent -- in radians!!! Convert your degree measurement to radians before you take the tan of it.
tanh Hyperbolic tangent -- in radians!!! Convert your degree measurement to radians before you take the tanh of it.

Predefined constants

  • Some predefined constants are available for you to use. A table of these appears below, altered from PHP: Mathematical Functions, where you can get more information. (Be careful, as the page may contain more information than you want!)
Constant Value Description
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)

Additional predefined constants

  • Some other constants may be available, depending on how your instance of Moodle is set up.
Constant Value Description
M_SQRTPI 1.77245385090551602729 sqrt(pi)
M_SQRT3 1.73205080756887729352 sqrt(3)
M_LNPI 1.14472988584940017414 log_e(pi)
M_EULER 0.57721566490153286061 Euler constant