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
de:create:points [16.01.2015 12:02]
admin Aktualisierung
de:create:points [05.07.2020 15:23]
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 hier mit eckigen Klammern (''[]'') definiert, die Schreibweise mit ''array()'' wäre ebenfalls möglich. 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 
-  'AB03' => 4),  // Bei AB03 versteckt sich die richtige Antwort hinter dem Code 4 +  'AB03' => 4,  // Bei AB03 versteckt sich die richtige Antwort hinter dem Code 4 
-  'AB04' => 2)+  'AB04' => 2, 
-  '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