Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte Überarbeitung Beide Seiten der Revision
de:create:points [30.11.2015 11:13]
admin [Richtige und falsche Antworten]
de:create:points [05.07.2020 15:22]
admin
Zeile 14: Zeile 14:
 Die einfachste Anwendung, bei der man Punkte zählt ist ein Quiz bzw. Wissentest. Hier gibt es eine Reihe von Auswahl-Fragen und es ist jeweils eine der Auswahloptionen richtig. Die einfachste Anwendung, bei der man Punkte zählt ist ein Quiz bzw. Wissentest. Hier gibt es eine Reihe von Auswahl-Fragen und es ist jeweils eine der Auswahloptionen richtig.
  
-Der folgende PHP-Code definiert zunächst, welche Fragen ausgewertet werden und wie die richtige Antwort lautet. Dafür wird ein [[:de:create:array|assoziatives Array]] verwendetAls Schlüssel für jeden Eintrag im Array wird die Kennung der Variable (bei Auswahlfragen entsprechend der Frage-Kennung) verwendet. Als Wert wird jener Antwortcode zugewiesen, der als "richtig" gezählt werden soll.+Der folgende PHP-Code definiert zunächst, welche Fragen ausgewertet werden und wie die richtige Antwort lautet. Dafür wird ein [[:de:create:array|assoziatives Array]] verwendet. Die Arrays werden mit eckigen Klammern (''[]'') definiert. Als Schlüssel für jeden Eintrag im Array wird die Kennung der Variable (bei Auswahlfragen entsprechend der Frage-Kennung) verwendet. Als Wert wird jener Antwortcode zugewiesen, der als "richtig" gezählt werden soll.
  
 Anschließend werden alle Fragen in einer FOR-Schleife geprüft -- das ist wesentlich kompakter als dutzende IF-Konstruktionen. Anschließend werden alle Fragen in einer FOR-Schleife geprüft -- das ist wesentlich kompakter als dutzende IF-Konstruktionen.
Zeile 20: Zeile 20:
 <code php> <code php>
 // Definition der Fragen und der korrekten Antworten // Definition der Fragen und der korrekten Antworten
-$fragen = array(+$fragen = [
   'AB01' => 3,  // In Frage AB01 ist die richtige Antwort die 3   'AB01' => 3,  // In Frage AB01 ist die richtige Antwort die 3
   'AB02' => 1,  // In AB02 hat die richtige Antwort den Code 1   'AB02' => 1,  // In AB02 hat die richtige Antwort den Code 1
Zeile 27: Zeile 27:
   'AB05' => 1   'AB05' => 1
   // u.s.w.   // u.s.w.
-);+];
  
 // Initialisierung einer Zähler-Variable // Initialisierung einer Zähler-Variable
Zeile 42: Zeile 42:
 } }
  
-// Das Ergebnis anzeigen oder anderweitig verarbeiten+// Das Ergebnis anzeigen ...
 html('<p>Sie haben '.$points.' Punkte erzielt.</p>'); html('<p>Sie haben '.$points.' Punkte erzielt.</p>');
 +// ... oder in einer internen Variable speichern
 +put('IV01_01', $points);
 </code> </code>
  
Zeile 63: Zeile 65:
  
  
-===== Verschieden Punktwerte =====+===== Verschiedene Punktwerte =====
  
 Bei einer Skala nach Thurstone hat jede Antwort einen anderen Wert -- auch dies lässt sich in einer Array-Struktur gut abbilden. Dabei wird zu jeder Frage ein Array mit Antwort-Werten gespeichert.  Bei einer Skala nach Thurstone hat jede Antwort einen anderen Wert -- auch dies lässt sich in einer Array-Struktur gut abbilden. Dabei wird zu jeder Frage ein Array mit Antwort-Werten gespeichert. 
Zeile 69: Zeile 71:
 <code php> <code php>
 // Definition der Fragen und der Werte möglicher Antworten // Definition der Fragen und der Werte möglicher Antworten
-$fragen = array( +$fragen = [ 
-  'AB01' => array(1 => 2, 2 => 5, 3 => 3),  // In Frage AB01 hat die Antwort 1 den Wert 2, 2 hat den Wert 5, 3 den Wert 3 +  'AB01' => [1 => 2, 2 => 5, 3 => 3],  // In Frage AB01 hat die Antwort 1 den Wert 2, 2 hat den Wert 5, 3 den Wert 3 
-  'AB02' => array(1 => 5, 2 => 4, 3 => 1),  // Für AB02 werden die Werte 5 (Antwort 1), 4 (2) und 1 (3) vergeben +  'AB02' => [1 => 5, 2 => 4, 3 => 1],  // Für AB02 werden die Werte 5 (Antwort 1), 4 (2) und 1 (3) vergeben 
-  'AB03' => array(1 => 0, 2 => 0, 3 => 5)+  'AB03' => [1 => 0, 2 => 0, 3 => 5]
-  'AB04' => array(1 => 4, 2 => 0, 3 => 3) +  'AB04' => [1 => 4, 2 => 0, 3 => 3], 
-  'AB05' => array(1 => 2, 2 => 2, 3 => 5)+  'AB05' => [1 => 2, 2 => 2, 3 => 5]
   // u.s.w.   // u.s.w.
-);+];
  
 // Zähl-Variable initialisieren // Zähl-Variable initialisieren
Zeile 146: Zeile 148:
 <code php> <code php>
 // Liste der Items - jeweils mit Angabe der Polung // Liste der Items - jeweils mit Angabe der Polung
-$items = array(+$items = [
   '01' => +1,   '01' => +1,
   '02' => -1,   '02' => -1,
Zeile 153: Zeile 155:
   '05' => -1   '05' => -1
   // u.s.w.   // u.s.w.
-);+];
  
 // Initialisierung der Summenvariable // Initialisierung der Summenvariable
Zeile 207: Zeile 209:
 // Definition der Fragen und der korrekten Antworten // Definition der Fragen und der korrekten Antworten
 // Es werden nur jene Items definiert, die auch überprüft werden sollen // Es werden nur jene Items definiert, die auch überprüft werden sollen
-$fragen = array(+$fragen = [
   // In der Frage AB01 müssen 1 und 2 angekreuzt sein, 3 und 4 dürfen nicht angekreuzt sein   // In der Frage AB01 müssen 1 und 2 angekreuzt sein, 3 und 4 dürfen nicht angekreuzt sein
-  'AB01' => array(1 => 2, 2 => 2, 3 => 1, 4 => 1),+  'AB01' => [1 => 2, 2 => 2, 3 => 1, 4 => 1],
   // In der Frage AB02 müssen 2 und 3 angekreuzt sein, 4 darf nicht und der Wert für 1 ist irrelevant   // In der Frage AB02 müssen 2 und 3 angekreuzt sein, 4 darf nicht und der Wert für 1 ist irrelevant
-  'AB02' => array(        2 => 2, 3 => 2, 4 => 1),+  'AB02' =>        2 => 2, 3 => 2, 4 => 1],
   // In AB03 müssen alle 4 Kreuzchen gesetzt sein   // In AB03 müssen alle 4 Kreuzchen gesetzt sein
-  'AB03' => array(1 => 2, 2 => 2, 3 => 2, 4 => 2),+  'AB03' => [1 => 2, 2 => 2, 3 => 2, 4 => 2],
   // u.s.w.   // u.s.w.
-  'AB04' => array(1 => 1, 2 => 2, 3 => 1, 4 => 2)+  'AB04' => [1 => 1, 2 => 2, 3 => 1, 4 => 2]
-  'AB05' => array(1 => 2, 2 => 1, 3 => 2        ) +  'AB05' => [1 => 2, 2 => 1, 3 => 2        ] 
-);+];
  
 // Punktezähler initialisieren // Punktezähler initialisieren
de/create/points.txt · Zuletzt geändert: 05.07.2020 15:23 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki