GeneralTest
Dies ist eine Erweiterung der “numberTest”-Komponente, die es zusätzlich erlaubt, Bedingungen mit Matrizen, Mengen und komplexen Zahlen aufzustellen.
Weitere Details zur Verwendung und Beispiele sind in der Beschreibung der “numberTest”-Komponente zu finden.
Diese Komponente testet, ob Ausdrücke mit Parametern & Variablen eine vorgegebene Bedingung erfüllen.
Verwendung
Diese Komponente wird in den Abschnitten Bedingungen und Prüfung der Eingabe verwendet. Bedingungen: Es können Bedingungen an Parameter und Variablen gestellt werden. Die genannten Parameter müssen vorher im Bereich Aufgabenparameter eingefügt worden sein. Ein grünes Häkchen rechts in der Kopfzeile des Abschnitts zeigt an, dass die Bedingung durch zufällig erzeugte Parmeterwerte erfüllbar ist. Fährt man mit dem Mauszeiger auf das Häkchen, wird zudem angezeigt, in wie viel Prozent der Fälle die Bedingung durch zufällige Werte erfüllt wurde. Mit connective-Blöcken können mehrere Bedingungen logisch verknüpft werden.
Prüfung der Eingabe: Der generalTest-Block wird im Graphen auf einen switch-Block gesetzt. Es können auch mehrere solcher Blöcke übereinander gestapelt werden. Diese werden dann von oben nach unten überprüft, bis eine der Bedingungen erfüllt ist. In diesem Fall wird die weitere Überprüfung abgebrochen und der Ausgang des zugehörigen generalTest-Blocks geöffnet. Ist keine Bedingung erfüllt, wird der Ausgang des switch-Blocks genutzt. Der Ausgang des generalTest-Blocks kann mit dem Eingang eines beliebigen Blocks im Graphen verbunden werden. Der generalTest-Block besitzt keinen Eingang, da er den Eingang des switch-Blocks mitbenutzt.
Einstellungen
Weitestgehend identisch zu der “numberTest”-Komponente.
Bedingung: Angabe der Bedingung, die überprüft werden soll. Folgende Vergleichsoperatoren können genutzt werden: = (gleich), < (kleiner als), > (größer als), != (ungleich), <= (kleiner oder gleich), >= (größer oder gleich), in (für Mengen)
Fehler-Toleranz: Angabe der maximal zulässigen Abweichung, die bei Test auf Gleichheit/Ungleichheit berücksichtigt wird. Es sind auch Prozentzahlen oder Formelausdrücke (z.B. 1/1000) möglich.
Auswahl des Fehlers: Zur Auswahl stehen relativer oder absoluter Fehler. Beim relativen Fehler wird die rechte Seite der Bedingung als Sollwert angenommen.
Beispiele für Bedingungen
Überprüfe auf Gleichheit:
<code>res = a </code>
wobei beispielsweise res die eingegebene Lösung des Users enthält und a eine Variable sein kann.
Überprüfe, ob die Determinante einer Matrix A korrekt ausgerechnet wurde:
<code>res = det(A) </code>
Überprüfe, ob die Schnittmenge der Mengen A (z.B. eine setParameter-Komponente) und {1,2,3,4} richtig bestimmt wurde
<code>res = A nn {1,2,3,4}
</code>
Überprüfe, ob das Matrixprodukt einer Matrix Aunder der Transponierten der Matrix B (beides z.B. integerMatrix-Komponenten) korrekt ist:
<code>res = A * B^T </code>
Ist die Eingabe des Nutzers in einer vordefinierten Menge enthalten (mit den Parametern/Variablen a, b)?:
<code>res in {1+2i,3-1/2i,a,b}
</code>
Ist die eingegebene Lösung kleiner als ein vorgegebener Wert?:
<code>res < a </code>