Automatische Tabellen

Tabellen können aus Variablen generiert werden, die in unserem Algorithmus erstellt wurden. Die einfachste Funktion ist das Erstellen von Tabellen aus Listen. Außerdem ist es möglich, eine Tabelle aus einer Matrix zu erstellen. In den folgenden Abschnitten erklären wir beide Optionen.

Häufig werden die Daten, die wir für eine Problemaussage bereitstellen möchten, am besten in Form einer Tabelle dargestellt. Jede Zelle einzeln zu bearbeiten, kann allerdings vor allem dann aufwendig sein, wenn wir Variablen zum Erstellen einer zufälligen Tabelle verwenden wollen. Wiris Quizzes kann jedoch einfach Listenvariablen in Tabellenzellen umwandeln, was den Arbeitsaufwand erheblich verringert. Noch interessanter ist, dass man mit dieser Funktion Tabellen unterschiedlicher Größen erstellen kann (Einzelheiten dazu findest du unter letzter Abschnitt.).


Grundlagen

Diese Funktion kann ganz einfach verwendet werden. Im einfachsten Fall müssen wir nur eine Listenvariable in eine Tabellenzelle einfügen. (Du kannst entweder mit dem Tabellenassistenten eine Tabelle erstellen, oder du erstellst selbst eine Tabelle im HTML-Modus). Sehen wir uns nun das Ergebnis an.

Anweisung verfassen

Erstelle eine Kurzantwortfrage und gebe eine Variable in eine 1x1-Tabelle ein.

Eine Liste erstellen

Definiere a als Liste in der Registerkarte Variablen:

Die Ergebnisse anzeigen

Wenn wir jetzt zur Frage gehen, sehen wir, dass die Zahlen in der Liste automatisch zu einzelnen Zellen in einer Zeile erweitert werden:

Wie wir in diesem Beispiel gesehen haben, füllt eine Liste in einer Tabellenzelle standardmäßig die Tabelle nach rechts hin. In vielen Fällen ist jedoch eine Zahlenliste, die sich nach unten erweitert, wünschenswert. Dazu wird, wie im folgenden Beispiel dargestellt, einfach eine Zelle über der Variablenzelle platziert:

Die oben genannte Eingabe in der Fragenanweisung wird zu Folgendem:


Beispiel

Verwenden wir nun die besprochenen Inhalte in einer echten Frage.

Eine typische Übung zur Wahrscheinlichkeitsrechnung auf Einstiegsniveau besteht darin, Fragen zu einer diskrete Wahrscheinlichkeitsverteilung zu beantworten. Zur Beschreibung wird eine Tabelle benutzt. Wir füllen die Tabelle mit Variablen und können so die zur Verfügung stehenden Zufallsfunktionen nutzen, um eine Frage zu verfassen, die bei jedem Öffnen anders ausfällt. Wir geben Folgendes in den Editor ein:

In der Registerkarte Variablen müssen wir die Listen deklarieren und die Antworten berechnen:

Unsere Frage ist eigentlich eine Liste aus drei Fragen, also müssen wir das Kontrollkästchen Zusammengesetzte Antwort markieren und das entsprechende Format im leeren Feld Richtige Antwort verwenden:

Wenn wir zum Schluss die Frage anzeigen, sehen wir die Tabelle folgendermaßen erweitert:

LIVE-DEMO

Tabellen mit zufälliger Größe

Bei Bedarf kann die Größe einer Tabelle an eine Variable angepasst werden. Die eigentliche Aufgabe besteht eher darin, eine Liste mit variabler Größe erstellen zu können, da wir ja bereits gesehen haben, wie Listen automatisch zu Tabellen erweitert werden können. Es gibt zwar viele Optionen zur Definition solcher Listen, aber wir möchten hier nur die einfachen besprechen.

Beispiel 1

Nehmen wir an, wir möchten, dass die Wahrscheinlichkeitsverteilung im vorherigen Beispiel eine zufällige Anzahl an Elementen enthält. In diesem Fall würden wir den folgenden Befehl in der Registerkarte Variablen nutzen:

Wie wir sehen, hätte N oben das Ergebnis einer beliebigen anderen vorherigen Berechnung sein können (vorausgesetzt, dass sie eine Zahl ergibt). So können wir bei der Erstellung von Zufallslisten ziemlich kreativ sein.

Beispiel 2

Ein weiterer üblicher Listentyp ist eine Liste mit Elementen, die gleichmäßig zwischen den Endpunkten verteilt liegen und normalerweise Punkte in einem Intervall von reellen Zahlen darstellen. Sehen wir uns nun den folgenden Befehl an:

Im Klartext bedeutet das: Eine Liste mit Zahlen von 0 bis 3 mit einem Abstand, der sich schrittweise um 0,5 steigert.

Um aus Listen dieser Art Zufallslisten zu machen, müssen wir einfach nur die Zahlen in den Definitionen durch Variablen ersetzen. In diesem Beispiel bleiben der Startpunkt und die Steigerung gleich, aber der Endpunkt wird zufällig:

Es gibt aber noch viele andere Möglichkeiten, Zufallslisten zu definieren. Jeder Parameter, der zur Erstellung einer Liste verwendet wird, kann durch eine Variable ersetzt werden. Somit sind unserer Kreativität keine Grenzen gesetzt.

Wiris Quizzes bietet die Option, Matrixvariablen in Tabellen umzuwandeln. In anderen Worten: Der Inhalt einer Matrix kann optional als einzelne Zellen in einer Tabelle angezeigt werden. Oder anders betrachtet, können Tabellenzellen einfacher in WIRIS_CAS bearbeitet werden, wenn sie alle in einer Matrix abgespeichert werden.

Grundlagen

Die einfachste Funktion dieses Features ist sehr nützlich. Wird eine Matrixvariable nxm in eine 1x1-Tabelle eingefügt, so erhält man eine Tabelle mit n Zeilen und m Spalten, wobei jede Zelle den entsprechenden Matrixeintrag enthält.

Sehen wir uns das einmal genauer an. Durch die 1x1-Tabelle im Editor,

wo N beispielsweise definiert wird als

entsteht die folgende Tabelle, wenn wir die Frage ansehen:

Wir bereits erwähnt, bedeutet das, dass wir in WIRIS_CAS im Prinzip beliebige Tabellen als Matrizen speichern und bearbeiten können.

Wie bei Listen funktioniert dieses Feature auch, wenn die Matrixvariable von anderen Zellen umgeben ist. Dazu ein kurzes Beispiel:

und

in der Frageanweisung sieht es so aus:

Allgemein gilt: Wenn andere Zellen vorhanden sind (im Gegensatz zur Platzierung einer Matrix in einer einzelligen Tabelle, wie im obigen Beispiel), sollte der Leerraum für die Matrix mindestens in einer Dimension bereits vorhanden sein (weil durch die Tabellenerweiterung keine leeren Zellen erstellt werden). Im vorigen Beispiel besaß die Tabelle bereits dieselbe Spaltenanzahl wie die Matrix, wir hätten also beliebig viele Zeilen hinzufügen können.

Zum Schluss ist noch zu beachten, dass durch die automatische Tabellenerweiterung vorhandene Zellen nicht überschrieben werden. Nehmen wir nun das folgende Beispiel als Richtlinie:

mit M wie zuvor wird die belegte Zelle nicht überschrieben, sondern einfach eine Tabelle mit M in einer Zelle erstellt:

Zufallstabellen

Analog zu den Listenfunktionen können Matrizen auch zur Generierung von Zufallstabellen verwendet werden. Das Konzept ist dasselbe wie bei Listen. Wir müssen lediglich wissen, wie wir eine zufällige Matrixvariable deklarieren können. Die resultierende Tabelle passt sich dann automatisch an.

Um eine Zufallsmatrix zu erstellen, sollten wir mit der Liste-von-Listen-Syntax für Matrizen vertraut sein. Das ist aber ganz einfach: Jede in Klammern gesetzte Liste ist einfach eine Matrixzeile:

Um eine Tabelle zu erstellen, könnten wir auch geschweifte Klammern ''{}'‘ statt eckiger Klammern verwenden. Uns sollte aber bewusst sein, dass das resultierende Objekt in WIRIS_CAS in diesem Fall eine richtige Liste von Listen ist und keine Matrix.

Versuchen wir das nun einmal im Fragen-Editor, wobei wir mithilfe der folgenden Listenabstraktion zufällige Elemente hinzufügen:

Wie im ersten Beispiel auf dieser Seite setzen wir N. So erhalten wir eine Tabelle mit zufälligen ganzen Einträgen mit m Zeilen und n Spalten, wobei n und m auch randomisiert werden.

In manchen Fällen kann man eine Zufallsmatrix auch beispielsweise so auf einfacherem Weg erstellen:

So erhalten wir eine Matrix mit festgelegter Größe, aber mit einem Variableneintrag. Auch hier sind die Möglichkeiten zum Deklarieren von Zufallsmatrizen schier endlos.