Skip to content

Commit

Permalink
Not so random choice of questions.
Browse files Browse the repository at this point in the history
  • Loading branch information
fritzsche committed Jun 22, 2024
1 parent 25672b0 commit 7bf5787
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 6 deletions.
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,29 @@ __Achtung:__ Bei jedem Aufruf (auch Reload) wird ein neuer Fragebogen per Zufall


# Prüfungsfragen

## Quelle
Die Fragen die hier zum Einsatz kommen sind von der Bundesnetzagentur am 16.6.2024 in der maschienenlesbaren Version heruntergeladen worden.
Dies entspricht der 3. Auflage, März 2024.
Der Fragenkatalog wird unverändert verwendet, allerdings wurde ein Formatierungsfehler in Frage AF305 behoben (siehe Commit in Github).

https://www.bundesnetzagentur.de/995320

Die Fragen, die in einem echten Test zum Einsatz kommen, können natürlich abweichen. Wie beschrieben, werden die Fragen für die einzelnen Prüfungsteile (und die Reihenfolge der Antworten) per Zufallsgenerator bestimmt.
Die Fragen, die in einem echten Test zum Einsatz ausgewählt werden sind unbekannt.

## Auswahl der Fragen
Die Fragen werden mittels Zufallsgenerator ausgewählt. Die Auswahl ist nicht ganz zufällig:
Alle sortierten Fragen eines Prüfungsteils werden in 25 gleich große Pakete unterteilt für jede Frage ein Paket. Aus jedem Paket wird dann per Zufallsgenerator eine Frage ausgewählt. Du bekommst also Fragen aus allen Teilen des Kataloges.

Auch die BnetzA wird vermutlich auch möglichst viele Bereiche des Prüfungskataloges testen.

# Beta Code
Der Code wurde unter Zeitdruck (nahe Prüfung) in kurzer Zeit entstanden.
Ich teste die App aktuell nur mit Google Chrome Browser.
Keine Garantie!

# Version
* 0.07 - (22. Juni 2024) Zufallsgenerator wird Fragen gleichmäßiger über den Fragekatalog verteilt auswählen.
* 0.06 - (22. Juni 2024) Verbesserung der Online Version mit Flex-Layout für mobile Geräte.
* 0.05 - (21. Juni 2024) Die Fragebögen können jetzt direkt am Bildschirm beantwortet werden
* 0.04 - (20. Juni 2024) Bildskalierung etwas verbessert
Expand Down
23 changes: 18 additions & 5 deletions test.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,26 @@ function getRandomInt(min, max) {
}


function pick(arr, num) {
function pick(questions, num) {
let result = []
for (let i = 0; i < num; i++) {
let r = getRandomInt(0, arr.length);
result.push(arr[r]);
arr.splice(r, 1);
// sort questions
questions.sort((a, b) => {
return a.number.toLowerCase().localeCompare(b.number.toLowerCase());
});

// when picking questions we try to distribute though the
// complete question catalog by buidling packages of question
// we draw questions one at a time

for(let rem_num=num;rem_num>0;rem_num--) {
let pack_size = Math.floor( questions.length / rem_num )
let pack_mod = questions.length % rem_num
if (pack_mod > 0) pack_size++
let r = getRandomInt(0, pack_size)
result.push(questions[r])
questions.splice(0, pack_size);
}

return result.sort((a, b) => {
return a.number.toLowerCase().localeCompare(b.number.toLowerCase());
});
Expand Down

0 comments on commit 7bf5787

Please sign in to comment.