zurück zu Übungsaufgaben stellen mit JavaScript | Single-Select-Aufgabe ohne graphische Symbole

Single-Select-Aufgabe mit graphischen Symbolen

Der Aufgabentyp entspricht im Prinzip der Single-Select-Aufgabe-Form.Als Rückmeldung der Aufgabenbeantwortung werden lediglich gut verständliche graphische Symbole verwendet
Beispiel
Wie heißt der Begründer der Psychoanalyse
Funktionsweise
Man sieht ein Auswahlformular und dahinter einen kleinen Button mit dem Zeichen ?
Der Lerner wählt eine Alternative aus.
Ist die Alternative falsch, so erscheint das Symbol  und das Button 
Ist die Alternative richtig, so erscheint das Symbol  und das Button 
Der Lerner hat nun grundsätzlich die Möglichkeit, eine weitere Alternative auszuwählen, was nur im Falle einer zuvor falschen Aufgabenbeantwortung Sinn machen kann (quasi eine optionale Answer-until-correct- Aufgabenform.)

Ein Anklicken auf das Button   gibt nähere Anweisung zur Aufgabenbearbeitung. In Abhängigkeit von der Antwort verändert sich das Button und aktiviert bei Anklicken das Rückmeldefenster, in dem die Aufgabenbesprechung steht. Zudem wird automatisch die richtige Alternative im Auswahlformular selektiert.

Ausführliche und übersichtliche Darstellung der Aufgabenkonstruktion des Beispiels
Wie heißt der Begründer der Psychoanalyse
<form>
      Wie heißt der Begründer der Psychoanalyse
       <select size=1 name="Auswahl" onchange="ss(form)">
                <option value="?">?
                <option value="0"> 1.) Wilhelm Reich
                <option value="0"> 2.) Carl Gustav Jung
                <option value="1"> 3.) Sigmund Freud
                <option value="0"> 4.) Alfred Adler.
       </select>
       <script language="JavaScript">
           createbild ()
       </script>
       <input type=button name="mybutton" value=" ? " ONCLICK= "sscheck(this.form)">
       <!--------------------------------------------------------------------------/!-->
       <input type=hidden name=feedback value ="Der Begründer der Psychoanalyse heißt
         Sigmund Freud. Wichtige Begriffe seiner Lehre sind z.B.: Ich, Es, Überich, Libido,
         Übertragung, Angstabwehr, Verdrängung und Widerstand..">
</form>
Kommentar
<option value="?">?  ist stets die erste Option und darf nicht verändert werden.
<option value="0"> 1.) Wilhelm Reich Die Alternative 'Wilhelm Reich' ist falsch
<option value="1"> 3.) Sigmund Freud Die Alternative 'Sigmund Freud' ist richtig

Es darf nur ein <option value="1"> , aber beliebig viele <option value="0"> geben.
Ansonsten sollte man nur den Inhalt des Wertes der Variablen feedback ändern.

Die Zahlen vor den Alternativen (, z.B. 3.)) sind zwar nicht notwendig, aber dann ist ein Bezug zu den Alternativen besser herzustellen.

Hinweise
Die Edition der html-Seite ist nicht identisch mit dem Seitenquelltext der aktivierten html-Seite, weil ein Teil des HTML-Codes (der Name für das Graphiksymbol) dynamisch erzeugt wird.
Der Communicator von Netzscape faßt das in jeder Aufgabe notwendige Javascript in einen html-Tag, der in etwa so aussieht
<script language="JavaScript">|createbild ();|</script>
| hier als Zeichen für Zeilenumbruch.
Das braucht den Aufgabenkonstrukteur nicht sonderlich zu stören.

Achtung:

Die graphischen Symbole können natürlich nur dann dargestellt werden, wenn die Bilder
nichts.gif, falsch.gif und richtig.gif im aktuellen Verzeichnis liegen.
Sie können alle notwendigen Informationen bekommen, wenn Sie im Netscape Communicator unter dem Menupunkt Datei die Option neu bearbeiten auswählen und diese Seite dann lokal abspeichern.


Beispiel für eine kleine Frageserie
Selbst neue Aufgaben erstellen
Der Aufgabentyp single select (mit graphischen Symbolen) gehört wegen seines speziellen Charakters nicht zum Standardrepertoire der Templatedateien. Er kann genutzt werden, in dem das nachfolgende Skript in das Skript der Datei template.html oder adaptivtemplate.html eingefügt wird. Somit können gleichzeitig noch die anderen Aufgabentypen genutzt werden. Als Schablone für den Aufgabentyp single select (mit graphischen Symbolen) kann man dann eine Aufgabe dieser Seite verwenden.
Im Composer von Netscape (Editiermodus) kopiert man einfach eine Aufgabe, fügt sie an anderer Stelle ein und ändert dann die Texte nach seinen Wünschen.

Es ist nicht sinnvoll (und deshalb hier nicht möglich), in einer html-Seite gleichzeitig Aufgaben des Typs single select (ohne graphische Symbole) und des Typs single select (mit graphischen Symbolen) zu verwenden.

Um nur Aufgaben des Typs single select (mit grapischen Symbolen) zu erstellen, genügt eine Kopie dieser Seite.


//-------------------------single select mit graphischen Symbolen -Aufgabe --------------------
//---angefügt am 4.10.1999 von Bernhard Jacobs, pf00bj@rz.uni-sb.de
//---geändert am 12.10.1999 von Bernhard Jacobs, pf00bj@rz.uni-sb.de
  bnichts = new Image(); 
  bnichts.src = "nichts.gif";
  bfalsch = new Image(); 
  bfalsch.src = "falsch.gif"; 
  brichtig = new Image(); 
  brichtig.src = "richtig.gif"; 
  var nummer=0;
 
//--------füge für jede Aufgabe das Bild nichts.gif ein und vergebe einen neuen
//--------Bildnamen beginnend bei KOR1 .... KOR2, KOR3, ....
//--------Diese Funktion wird in einer Aufgabe aufgerufen und erzeugt den Code für Bild und Bildnamen
function createbild ()
   { 
    nummer=nummer+1;
    Bildname="KOR"+nummer;
    zeile1= '<img SRC="nichts.gif" NAME='+Bildname+' height=24 width=24 align=ABSBOTTOM>';
    zeile2= '<input type=hidden name=mybildname value='+Bildname+'>'
    schreiben=zeile1+zeile2
    document.write (schreiben);
   }

function Bildwechsel(Bildname,Bildobjekt)
   {
     document[Bildname].src=Bildobjekt.src
   }

function richtigeAlternative (form)
  {
    anzahl= form.Auswahl.length
    loesung="nichtangegeben"
  
    //---- 0 = Fragezeichen, deshalb muss die erste Option Fragezeichen bleiben.
    for (i=1;i<anzahl;i++)
      { 
        if (form.Auswahl.options[i].value==1)
         {
           return i
         }
       }
        if (loesung == "nichtangegeben") 
        { 
         alert ('Fehler bei der Aufgabenkonstruktion, da richtige Alternative nicht gekennzeichnet')
         return 0
        }
  }


function  ss(form)
 {
   Bildname=form.mybildname.value

   x = form.Auswahl.options[form.Auswahl.options.selectedIndex].value

   if (x == "?")
    {
    //antwort="Aufgabe nicht beantwortet."
    Bildwechsel(Bildname,bnichts)
    form.mybutton.value="?"
    } 
  
   if (x == "1")
    {
    //antwort="richtig"
    Bildwechsel(Bildname,brichtig) 
    form.mybutton.value="1"
    }

   if (x == "0")
    {
     //antwort="falsch"
     Bildwechsel(Bildname,bfalsch)
     form.mybutton.value="0" 
    }
  }

function sscheck(form)
  {
     
    x = form.Auswahl.options[form.Auswahl.options.selectedIndex].value
    if (x=='?')
       {
        auswertung= "<font size=2>W&auml;hlen Sie bitte eine Alternative aus!<br>Sie erhalten unmittelbar eine R&uuml;ckmeldung.<p>Ist Ihre Antwort falsch, so haben Sie 2 M&ouml;glichkeiten:<ol><li>Sie versuchen die richtige L&ouml;sung selbst zu finden.</li><li>Sie klicken auf das Button 0 und erzwingen damit die L&ouml;sung.</li></ol>Ist Ihre Antwort richtig, so haben Sie auch 2 M&ouml;glichkeiten:<ol><li>Sie begn&uuml;gen sich mit dieser Information.</li><li>Sie klicken auf das Button 1 und erhalten m&ouml;glicherweise weitere Erkl&auml;rungen</li></ol> </font>"
        gibfeedback(auswertung)
       }
      else
       {
         richtig = richtigeAlternative (form)
         form.Auswahl.options.selectedIndex = richtig
         Bildname=form.mybildname.value
         Bildwechsel (Bildname,brichtig)
         form.mybutton.value="1"
         auswertung=form.feedback.value
         gibfeedback (auswertung)
        }
   }
//------------------Ende Single select-Aufgabe mit graphischen Symbolen----------------------

created 5.10.1999; last update 12.10.1999; Bernhard Jacobs, pf00bj@rz.uni-sb.de