Diciamo che ho un pool di domande per generare degli esami. Ogni domanda contiene una difficoltà da 1 (difficile) a 99 (facile). Le domande sono disponibili in un hash / array (si adattano alle tue lingue preferite, sto andando con hash in quanto è un'implementazione ruby) nel seguente formato:
questions = {
:55 => [<#Question 1>, <#Question 18>],
:8 => [<#Question 70>],
:43 => [<#Question 105>]
}
Le chiavi hash indicano la difficoltà, mentre il valore è un elenco di domande con detta difficoltà.
L'obiettivo è quello di essere in grado di creare un "esame" con% di domande di condivisione del pool. Ogni esame generato dovrebbe contenere domande da "tutti" i livelli di difficoltà (non da ogni numero, ma avere domande con valutazioni inferiori, medie e superiori). Inoltre, ogni esame generato dovrebbe avere +/- la stessa difficoltà N
(ad esempio 75).
Come si fa a selezionare domande da varie difficoltà in modo da avere a) un risultato di X
dimensioni eb) corrispondente alla difficoltà media di N
?