Hinweis: Sie sind auf den Seiten der Moodle 1.9 Dokumentation. Die Dokumentation der aktuellsten Moodle-Version finden Sie hier: Berechnungsfragen.

Berechnungsfragen

Aus MoodleDocs
Wechseln zu:Navigation, Suche

Baustelle.png Diese Seite ist noch nicht vollständig übersetzt.

Siehe en:Calculated question type

Berechnungsfragen bieten die Möglichkeit, eigene mathematische Fragen, die auf einer Formel basieren, zu erstellen. Sie definieren die Formel unter Verwendung von Variablen in einer speziellen Syntax (z.B. {x} , {y}). Diese Variablen werden durch konkrete, aus einem bei der Konfiguration der Berechnungsfrage festgelegten Zahlenbereich zufällige gewählte Zahlenwerte ersetzt, wenn ein Nutzer einen Testversuch durchführt.

Wenn Sie z.B. eine große Anzahl von Aufgaben der Art "Berechne die Fläche des Rechtecks" für Übungszwecke generieren möchten, dann können Sie dies in Form einer Berechnungsfrage tun: Wählen Sie die Variablen {Breite}, {Höhe}, und geben Sie im als Formel für die richtige Antwort {Breite} * {Höhe} an, wobei * das Multiplikationszeichen ist.

Sobald ein Nutzer einen Testversuch startet, wählt Moodle aus einem festgelegten Zahlenbereich zufällige Werte für die Breite und Höhe aus und bewertet die Antwort unter Nutzung der Formel für die richtige Antwort. Da die konkrete Zahlenwerte zufällig gewählt werden, ist es sehr unwahrscheinlich, dass die konkrete Aufgabe mehrfach gestellt wird, d.h. Sie haben mit nur einer Berechnungsfrage eine riesige Menge an konkreten Aufgaben zur Verfügung.

Wann verwenden Sie Berechnungsfragen?

Eine Berechnungsfrage stellt eine Vielzahl von verschiedenen konkreten Aufgaben desselben Aufgabentyps bereit. Diese Aufgaben basieren auf einer Formel mit mindestens einer Variablen.

Wenn Ihre Problemstellung kein variables Element enthält, dann verwenden Sie stattdessen besser eine Numerische Frage.

Variablen und zugehörige Zahlenbereiche

Wenn Moodle einem Nutzer in einem Testversuch eine Berechnungsfrage vorlegt, werden die Variablen in der Formel für die richtige Antwort durch konkrete Zahlenwerte ersetzt. Diese konkreten Zahlenwerte werden aus einem festgelegten Zahlenbereich zufällig ausgewählt. Durch Angabe eines Zahlenbereichs für jede einzelne Variable können Sie die konkreten Zahlenwerte beeinflussen, und z.B. sicherstellen, dass die Werte realistisch sind.

Die Zahlenbereiche werden in der Konfiguration der Berechnungsfrage Datensätze genannt. Zu jeder Variablen der Lösungsformel muss ein solcher Datensatz festgelegt werde. Diese Datensätze können privat oder gemeinsam sein. Ein Datensatz ist privat, wenn er für eine einzige Berechnungsfrage definiert ist. Ein Datensatz ist gemeinsam, wenn er in allen Berechnungsfragen gilt, die die zugehörige Variable verwenden.

Beispiel: Für die Variable {a} wird ein privater Datensatz definiert. Dann ersetzt Moodle bei einem Testversuch in der entsprechenden Berechnungsfrage die Variable {a} durch eine zufällige Zahl aus diesem Datensatz (Zahlenbereich). Wenn dagegen für die Variable {a} ein gemeinsamer Datensatz definiert wird, dann ersetzt Moodle bei einem Testversuch in allen Berechnungsfragen die Variable {a} durch eine zufällige Zahl aus diesem Datensatz (Zahlenbereich).

Konfiguration

Bei der Erstellung einer Berechnungsfragen sind drei Konfigurationsseiten zu bearbeiten.

1. Seite: Berechnungsfrage bearbeiten

  1. Wählen Sie eine Kategorie.
  2. Darunter werden die gemeinsamen Jokerzeichen der gewählten Fragenkategorie angezeigt. Wenn Sie über das entsprechende Auswahlmenü die Kategorie ändern, müssen Sie den Button Kategorie aktualisieren klicken, um die Liste der Jokerzeichen für die neue Kategorie anzuzeigen. Es kann sein, dass es in der gewählten Kategorie keine gemeinsamen Jokerzeichen gibt. In diesem Fall können Sie Jokerzeichen bei Bedarf zu einem späteren Zeitpunkt definieren.
  3. Wählen Sie einen aussagekräftigen Titel der Frage. Über diesen Titel wird die Frage in der Fragen-Datenbank identifiziert.
  4. Geben Sie den Fragetext im gleichnamigen Text-Editor ein, also die Frage, die Sie stellen möchten. Die Frage muss alle Informationen beinhalten, die nötig sind, um die Antwort zu berechnen. D.h. die Frage muss mindestens ein Jokerzeichen (Variable) in geschweiften Klammern enthalten. Wenn Sie z.B. die Summe zweier Zahlen A und B berechnen lassen möchten, dann müssen Sie den Fragetext in etwa so formulieren: "Was ergibt {A} + {B}?"
  5. Falls Sie ein Bild zu Ihrer Frage hinzufügen möchten, wählen Sie die entsprechende Grafikdatei im Auswahlmenü Abbildung einfügen aus (Sie müssen die Datei vorher in den Dateibereich Ihres Kurses hochgeladen haben). Wenn Sie die Darstellung der Grafik genauer spezifizieren möchten, dann binden Sie das Bild besser direkt unter Nutzung des HTML-Editors für den Fragetext ein.
  6. Wählen Sie eine Standardbewertung (Punkte) für Ihre Frage - das ist die maximale Punktzahl, die Sie für die richtige Beantwortung der Frage vergeben möchten.
  7. Legen Sie den Abzugsfaktor fest (Details siehe unten).
  8. Ab Moodle 1.7 können Sie ein Standard-Feedback angeben. Dieser Text wird dem Teilnehmer angezeigt, nachdem er die Frage beantwortet hat.
  9. Als nächstes geben Sie die Formel für die richtige Antwort= im gleichnamigen Textfeld ein. Diese Formel muss mindestens die Jokerzeichen enthalten, die Sie im Fragetext verwendet haben, siehe Abschnitt Syntax für die Formel für die richtige Antwort.
  10. Legen Sie die Bewertung fest, die ein Teilnehmer erhält, wenn er eine Antwort gemäß der Formel gibt. Die Angabe erfolgt in Prozent bezogen auf die maximal erreichbare Punktzahl. Z.B. vergeben Sie 100% für eine richtige Antwort und 50% für eine "halbrichtige" Antwort. Achten Sie darauf, dass Sie mindestens eine Antwort mit 100% bewerten!
  11. Geben Sie eine Toleranz für den Fehler, der noch akzeptiert werden soll, an. In Kombination mit dem Toleranztyp erfolgt die Bewertung wie folgt: Sei x die richtige Antwort, t die Toleranz und a die Antwort, die der Teilnehmer gegeben hat, dann gilt für die einzelnen Toleranztypen:
    1. Nominal - volle Punktzahl, falls x - t <= a <= x + t,
    2. Relativ - volle Punktzahl, falls |(x - a)/ x| <= t mit |z| - Absolutbetrag von z,
    3. Geometrisch - volle Punktzahl, falls x/(1+t) <= a <= x (1+t) (für x>0).
  12. Die nächsten zwei Einstellungen Anzeige für richtige Antwort und Format bestimmen die Genauigkeit der Antwort. Sie legen damit die Zahl der Dezimalstellen oder signifikanten Ziffern fest.
  13. Unter Feedback geben Sie an, welche Rückmeldung der Teilnehmer bekommt, falls er die obige Antwort gibt.
  14. Sie können beliebig viele weitere Antworten (mit Formel, Bewertung Feedback usw.) definieren - klicken Sie dazu auf den Button Weiteres Antwortfeld hinzufügen'.
  15. Außerdem können Sie eine Einheit für die Antworten angeben. Wenn Sie z.B. "cm" angeben, und die Antwort ist 15, dann werden die Eingaben 15 und 15 cm als richtige Antworten gewertet. Wenn Sie mehrere Einheiten verwenden möchten, klicken sie auf den Button Leerfeld für 2 weitere Abschnitte, geben weitere Einheiten und die zugehörigen Multiplikatoren an. Wenn die Antwort z.B. 5500 und die Einheit "W" ist, dann können Sie als weitere Einheit "kW" mit einem Multiplikator 0.001 angeben, und dann werden die Eingaben 5500, 5500 W und 5.5 kW als richtig gewertet. Beachten Sie, dass auch die Toleranz entsprechend umgerechnet wird, d.h. eine erlaubte Toleranz von 100 W entspricht einer erlaubten Toleranz von 0.1 kW.
  16. Wenn Sie alle Einstellungen getroffen haben, klicken Sie auf den Button Nächste Seite, um fortzufahen. Falls Sie eine bereits existierende Berechnungsfrage editieren, können Sie auch auf den Button Nächste Seite (neue Frage) klicken, um eine neue Frage basierend auf der gegebenen Berechnungsfrage zu erzeugen.

Abzugsfaktor

Derr Abzugsfaktor ist nur relevant, wenn die Frage in einem Test im adaptiven Modus zum Einsatz kommt, d.h. wenn der Teilnehmer die Frage innerhalb eines Testversuchs wiederholt beantworten darf. Wenn der Abzugsfaktor größer als 0 ist, dann wird dieser Anteil bei jeder Falschantwort von der höchstmöglichen Punktzahl abgezogen. Z.B. wenn der Abzugsfaktor 2 und die erreichbare Punktzahl für die Frage 10 ist, dann werden bei jeder Falschantwort 10 x 0.2 = 2 Punkte abgezogen.

2. Seite: Datensatzeigenschaften auswählen

Jedes Jokerzeichen, das Sie in der Formel für die richtige Antwort verwenden, muss mit möglichen Werten verknüpft werden, mit den sogenannten Datensätzen. Zu jedem Jokerzeichen kann man einen Datensatztyp wählen:

  • privater Datensatz - das ist ein Datensatz, der nur für diese Berechnungsfrage gilt,
  • gemeinsamer Datensatz - das ist ein Datensatz, der für alle Berechnungsfragen der gegebenen Fragenkategorie gilt.

Die Nutzung von gemeinsamen Datensätzen spart Ihnen Zeit, wenn Sie viele Berechnungsfragen mit derselben Formel für die richtige Antwort anlegen möchten.

Wenn in Ihrem Fragetext etwas vorkommt, das aussieht wie ein Jokerzeichen, aber nicht in der Formel für die richtige Antwort steht, dann können Sie im Bereich Mögliche Jokerzeichen nur im Fragetext vorhanden festlegen, ob es als Jokerzeichen interpretiert werden soll oder nicht. Falls ja, können Sie festlegen, ob der zugehörige Datensatz ein privater oder gemeinsamer Datensatz sein soll.

Wenn Sie Ihre Einstellungen vorgenommen haben, klicken Sie auf den Button Nächste Seite.

3. Seite: Datensatz bearbeiten

Now we need to create the set of possible values that each wildcard can take. Warning - this page is a bit confusing!

There are two ways of creating values - you can type them in yourself and add them to the list, or you can have Moodle generate them for you.

Adding/deleting your own values

Adding individual values to the list is easy:

  1. In the 'Param' field for each wildcard, enter the value you want
  2. Scroll down to the 'Add' section and click the Add button (leaving the number of items set to 1)
  3. Repeat the above steps as many times as necessary (the maximum number of items is 100)

To delete values from the list:

  1. In the 'Delete' section, select the number of items to delete
  2. Click the Delete button

Letting Moodle create values

  1. Start with the "Range of Values" fields, and enter the lower and upper limits for the values you would accept
  2. Choose a number of decimal places for the value
  3. Choose the distribution of values between the limits - 'uniform' means any value between the limits is equally likely to be generated; 'loguniform' means that values towards the lower limit are more likely.
  4. Now move down to the 'Add' section and click on "force regeneration"
  5. In the menu next to the Add button, choose the number of sets of random values (items) you wish to add to the list. (Note that the maximum total number of items in your list is 100.)
  6. Finally, click Add to append the new values to the list
  7. Note: If you want more control over the items that Moodle adds, you can do them one at a time and preview the values before you add them. Click the "Get New Item to Add" button to make Moodle generate new values in the "Item to Add" section at the top. If you like them, click "Add" for 1 item; if not, click "Get New Item to Add" again to get new values.

Finishing off

Once your list of items (values) is complete, you are finished. It's up to you how many values you add - the more values you add, the more a question can be used by the students without them seeing the same values repeatedly.

Note that if you delete values from the list, you can put them back again. Change the "Next Item to Add" option to "reuse previous value if available", then the next time you add items, Moodle will restore your previously-deleted items from the dataset.

Once your list of values is complete, you can click 'Save changes' to finish.

What does the 'Update the datasets parameters' button do?

As far as I can tell, it has the same function as the "Get New Item to Add" button, i.e. it generates a new set of values and displays them in the "Item to Add" section. However, it is less conveniently placed that that button, so it is probably best ignored.

Syntax für die Formel für die richtige Antwort

  • Verwenden Sie kein Gleichheitszeichen!
  • In the recent versions of the calculated question type, you could have more than one answer formula and applied a specific grading value to each of them as long as there is at least one 100% correct answer formula.
If more than one correct answer formula input field are displayed when editing, 
your site has the multiple answer feature. 


  • As a general rule, write these formulas like you would in a calculator e.g. 3 + 5 * sin (3/{x}) A notable exception is exponentiation, where x3 cannot be entered as {x}^3, but must (!?) be entered as exp(3*log({x})).
  • Each function's placeholders and other arguments should be in parentheses (brackets). For example, if you want students to calculate the sine of one angle and two times cosine of another, you would enter sin({a}) + cos({b}*2).
  • It's usually better to have too many parentheses (brackets) than too few. The server won't care, and the more specific you are about what you mean, the more likely it will like your complex formulas.
  • There is no implicit multiplication. To you, the human editor, "5(23)" or "5x" may seem perfectly obvious. To the server doing the math, it's crazy talk and won't be understood. Always use the "*" for multiplication.
  • Any special mathematical function must have parentheses around its values. Take the sine function in the first bullet point for instance. Notice that the 3 / x is wrapped in parentheses (brackets)--this is so the server can understand it properly. Without those parentheses, the server won't know if you mean "(sin 3) / x" or "sin (3 / x)" and will reject the entire formula accordingly.

Verfügbare mathematische Funktionen

Berechnungsfragen können nicht nur einfache arithmetische Operatoren verwenden, wie z.B. + oder -, sondern auch mathematische Funktionen. Die folgende Tabelle enthält eine Auflistung der verfügbaren mathematischen Funktionen.

Funktion Beschreibung
abs Absolutbetrag
acos Arkuskosinus - Umkehrfunktion des Kosinus. Das Argument muss in Radiant (nicht in Grad) angegeben werden!!!
acosh Areakosinus Hyperbolicus - Umkehrfunktion des Kosinus Hyperbolicus. Das Argument muss in Radiant (nicht in Grad) angegeben werden!!!
asin Arkussinus - Umkehrfunktion des Sinus. Das Argument muss in Radiant (nicht in Grad) angegeben werden!!!
asinh Areasinus Hyperbolicus - Umkehrfunktion des Sinus Hyperbolicus. Das Argument muss in Radiant (nicht in Grad) angegeben werden!!!
atan2 Arkustangens von zwei Variablen - Sie übergeben zwei Argumente (x,y) und erhalten als Ergebnis atanh (y/x) im korrekten Quadranten.
atan Arkustangens - Umkehrfunktion des Tangens. Das Argument muss in Radiant (nicht in Grad) angegeben werden!!!
atanh Areatangens Hyperbolicus - Umkehrfunktion des Tangens Hyperbolicus. Das Argument muss in Radiant (nicht in Grad) angegeben werden!!!
bindec Umrechnung von binär zu dezimal
ceil Aufrundungsfunktion
cos Kosinus - trigonometrische Funktion. Das Argument muss in Radiant (nicht in Grad) angegeben werden!!!
cosh Kosinus Hyperbolicus - Hyperbelfunktion. Das Argument muss in Radiant (nicht in Grad) angegeben werden!!!
decbin Umrechnung von dezimal zu binär
decoct Umrechnung von dezimal zu oktal
deg2rad Umrechnung einer Winkeleinheit von Grad zu Radiant
exp Exponentialfunktion
expm1 Spezielle Exponentialfunktion - Sie übergeben ein Argument x und erhalten als Ergebnis den korrekten Wert von e^x-1 auch dann, wenn x fast gleich Null ist.
floor Abrundungsfunktion
fmod Berechnung des Rests bei Division - Sie übergeben zwei Argumente (x,y) und erhalten als Ergebnis den Rest der Division x/y.
is_finite Prüft, ob das Argument eine endliche Zahl ist.
is_infinite Prüft, ob das Argument unendlich ist.
is_nan Prüft, ob das Argument keine Zahl ist (NaN - not a number).
log10 Logarithmus zur Basis 10
log1p Spezielle Logarithmusfunktion - Sie übergeben ein Argument x und erhalten als Ergebnis den korrekten Wert von log (x+1) auch dann, wenn x+1 fast gleich Null ist.
log Natürlicher Logarithmus
max Maximum einer Menge von Zahlen
min Minimum einer Menge von Zahlen
octdec Umrechnung von oktal zu dezimal
pi Zahlenwert von pi.jpg
pow Berechnung der Potenz - Sie übergeben zwei Argumente (x,y) und erhalten als Ergebnis x^y.
rad2deg Umrechnung einer Winkeleinheit von Radiant zu Grad
round Rundung auf Gleitkommazahl
sin Sinus - trigonometrische Funktion. Das Argument muss in Radiant (nicht in Grad) angegeben werden!!!
sinh Sinus Hyperbolicus - Hyperbelfunktion. Das Argument muss in Radiant (nicht in Grad) angegeben werden!!!
sqrt Wurzelfunktion
tan Tangens - trigonometrische Funktion. Das Argument muss in Radiant (nicht in Grad) angegeben werden!!!
tanh Tangens Hyperbolicus - Hyperbelfunktion. Das Argument muss in Radiant (nicht in Grad) angegeben werden!!!

Vordefinierte Konstanten

Derzeit gibt es keine vordefinierte Konstanten außer der Zahl pi.jpg, die als Funktion pi() ohne Parameter verwendet werden muss.