Prüfungen (Exams)
Die Prüfungsfunktion fügt einer Umfrage einen zeitgesteuerten Quiz-Modus hinzu, mit optionalem Audio-Feedback für richtige und falsche Antworten.
Die Prüfungs-Funktion verwandelt eine Umfrage in ein zeitgesteuertes Quiz. Dem Befragten wird ein Countdown-Timer angezeigt, und die Umfrage zeichnet auf, wie viel Zeit verbleibt, wenn er fertig ist. Optional können Tonsignale für richtige und falsche Antworten abgespielt werden.
Dies ist nützlich für Wissenstests, Lese-/Schreibtests, Kompetenzüberprüfungen von Feldmitarbeitern und jede Umfrage, bei der die aufgewendete Zeit aussagekräftige Daten darstellt.
check-exam()-Funktion
Konfigurieren Sie die Prüfung mit check-exam() in der calculation-Spalte eines calculate-Feldes, das am Anfang des Formulars platziert wird:
check-exam(examTime, questionToStoreRemainingTime)
check-exam(examTime, questionToStoreRemainingTime, rightSound, wrongSound, excludeQuestion)
Parameter
| # | Parameter | Beschreibung |
|---|---|---|
| 1 | examTime | Gesamte Prüfungsdauer in Sekunden |
| 2 | questionToStoreRemainingTime | Der name eines calculate- oder integer-Feldes, das die verbleibende Zeit beim Beenden der Prüfung speichert |
| 3 | rightSound | (Optional) Dateiname der Audiodatei, die bei einer richtigen Antwort abgespielt wird (dem Formular als Mediendatei beifügen) |
| 4 | wrongSound | (Optional) Dateiname der Audiodatei, die bei einer falschen Antwort abgespielt wird |
| 5 | excludeQuestion | (Optional) Kommagetrennte Liste von Feldnamen, die vom Prüfungstimer ausgeschlossen werden (z. B. 'intro_note,consent') |
Grundlegende Einrichtung
Schritt 1: Prüfungsfelder hinzufügen
| type | name | label | calculation |
|---|---|---|---|
| calculate | exam_config | check-exam(600, 'remaining_time') | |
| calculate | remaining_time |
exam_config startet den 600-Sekunden-(10-Minuten-)Timer. remaining_time wird automatisch befüllt, wenn der Befragte fertig ist.
Schritt 2: Fragen hinzufügen
Der Prüfungstimer deckt alle Fragen im Formular ab, außer denjenigen, die in excludeQuestion aufgeführt sind.
| type | name | label |
|---|---|---|
| select_one yesno | q1 | Die Hauptstadt Kenias ist Nairobi. Richtig oder falsch? |
| select_one choices | q2 | Welches Organ pumpt Blut durch den Körper? |
| select_one choices | q3 | Wasser kocht auf Meereshöhe bei 100°C. Richtig oder falsch? |
Schritt 3: Verbleibende Zeit speichern
Das in Parameter 2 genannte Feld (remaining_time) wird automatisch auf die Anzahl der verbleibenden Sekunden gesetzt, wenn der Befragte einreicht. Ein Wert von 0 bedeutet, dass die Zeit abgelaufen ist; ein hoher Wert bedeutet, dass er schnell fertig wurde.
Mit Audio-Feedback
Befügen Sie dem Formular Tondateien bei (als Medienanhänge), dann referenzieren Sie sie:
| type | name | label | calculation |
|---|---|---|---|
| calculate | exam_config | check-exam(300, 'remaining_time', 'correct.mp3', 'wrong.mp3') |
correct.mp3wird abgespielt, wenn der Befragte die richtige Antwort auswähltwrong.mp3wird abgespielt, wenn der Befragte eine falsche Antwort auswählt
Tondateien müssen dem Formular als Mediendateien beigefügt werden, und der Dateiname muss genau übereinstimmen (Groß-/Kleinschreibung beachten), einschließlich der Erweiterung.
Fragen vom Timer ausschließen
Übergeben Sie eine kommagetrennte Liste von Feldnamen, die von der Prüfung ausgeschlossen werden sollen (z. B. einleitende Notizen oder Zustimmungsfragen):
check-exam(300, 'remaining_time', '', '', 'intro_note,consent_ack,section_header')
Lassen Sie rightSound und wrongSound als leere Zeichenketten '', wenn Sie kein Audio benötigen, aber Ausschlüsse brauchen.
Vollständiges Beispiel
| type | name | label | calculation |
|---|---|---|---|
| note | intro | Willkommen zur Gesundheitswissensbewertung. Sie haben 5 Minuten, um alle Fragen zu beantworten. | |
| trigger | start_ack | Tippen Sie auf OK, wenn Sie bereit sind zu beginnen. | |
| calculate | exam_config | check-exam(300, 'remaining_time', 'correct.mp3', 'wrong.mp3', 'intro,start_ack') | |
| calculate | remaining_time | ||
| select_one yesno | q1 | Händewaschen verhindert die Ausbreitung von Krankheiten. | |
| select_one yesno | q2 | Man sollte täglich mindestens 2 Liter Wasser trinken. | |
| select_one yesno | q3 | Malaria wird durch ein Virus verursacht. |
Empfohlene Vorgehensweisen
- Informieren Sie die Befragten immer über das Zeitlimit, bevor die Prüfung beginnt — verwenden Sie eine
noteoder einentriggervor demcheck-exam()-Feld. - Schließen Sie Einleitungsnotizen und Zustimmungsfragen vom Timer aus, indem Sie den Parameter
excludeQuestionverwenden. - Verwenden Sie
remaining_timein einer Folgeberechnung, um Zeitüberschreitungen zu erkennen:if(${remaining_time} = 0, 'Zeitüberschreitung', 'Abgeschlossen'). - Halten Sie die Anzahl der Fragen proportional zur erlaubten Zeit — 2–3 Minuten pro Frage ist ein vernünftiger Ausgangspunkt für die meisten Wissenstests.
- Testen Sie Audiodateien auf dem tatsächlichen Gerät vor dem Einsatz — die Audiowiedergabe variiert je nach Android-Version und Browser.
Einschränkungen
- Der Timer ist nur zur Anzeige — das Formular wird nicht automatisch eingereicht, wenn die Zeit abläuft; der Befragte muss es weiterhin manuell einreichen.
- Audio-Feedback erfordert, dass die Lautstärke des Geräts eingeschaltet und nicht stummgeschaltet ist.
- Die Prüfungsfunktion ist eine rtSurvey-Erweiterung und ist nicht Teil der Standard-XLSForm-Spezifikation.