Freitag, 26. November 2010

 

Multiple-Choice-Tests bearbeiten

Optionale Aufgabe (freiwillig)!
Schreiben Sie ein Programm, das eine Datenstruktur, mit der man Multiple-Choice-Tests erzeugen kann, aus einer Textdatei erstellt. Das Format der Textdatei soll anhand eines Beispiels gezeigt werden:
Das ist der einleitende Text, der einfach in einen String Namens "einleitung"
gelesen werden soll. Mit allen Zeichen und Zeilenumbrüchen. Diese Einleitung
endet mit zwei leeren Zeilen.


Das ist die erste Frage. Der Text dieser Frage kann sich auch über mehrere
Zeilen erstrecken. Allerdings soll so ein Text ohne die Zeilenumbrüche
übernommen werden (Zeilenümbrüche durch Leerzeichen ersetzen). Die weiteren
Informationen sind durch mindestens zwei Leerzeichen eingerückt gleich nach
diesem Text. Optional darf eine Leerzeile stehen.

  Optionaler Text, der wie die Einleitung mit allen Umbrüchen so übernommen
  werden soll, wie er in der Datei ist, jedoch ohne die Einrückung. Alle
  weiteren Informationen kommen wieder eingerückt, optional mit einer 
  Leerzeile abgetrennt. Die Punkte für diese Frage sind in runde Klammern
  zu setzen (am Anfang der Zeile mit Einrückung). Gibt es keine Punkte,
  so ist 1 zu verwenden.
  Optional kann in { } eine Zahl > 0 und <= 1 angegeben werden, welche
  als "Faktor" zu interpretieren ist. Wieder nur mit passender Einrückung.
  (Der Faktor soll angeben, welcher Anteil an richtigen und falschen
  Antworten dann bei der Erzeugung der Tests verwendet werden soll, 0.5 
  bedeutet die Hälfte).
  (2)
  {0.75}

  [X] Das ist eine richtige Antwort.
  [ ] Das ist eine falsche Antwort.

  [X] Das ist eine richtige Antwort, die sich
      über mehrere Zeilen erstrecken kann.
  [ ] Das ist eine falsche Antwort, die sich
      über mehrere Zeilen erstrecken kann.
      Die Einrückung ist wieder wesentlich. Die
      Zeilenumbrüche und die Einrückung sind
      zu entfernen.


Das ist die nächste Frage, sie wird mit zwei Leerzeilen von der 
vorigen abgetrennt. Es muss keine weitere Information angegeben
sein. In diesem Fall wäre es eine 1-Punkte-Frage ohne Auswahl-
möglichkeiten, also eine direkt zu beantwortende Frage.


Die Dritte Frage. Ist nun eine 1-Punkte Frage ohne Faktor und
ohne Text.
  [ ] Falsche Lösung.
  [X] Richtige Lösung.
  [ ] Falsche Lösung.
Am Ende der Datei brauchen natürlich keine Leerzeilen mehr sein. Das Programm soll solche Dateien einlesen und folgende Variable setzen: einleitung mit dem einleitenden Text. fragen, einer Liste von Fragen. Jede Frage ist ein Dictionary mit folgenden Schlüssel und Werten:

Labels: , ,


Kommentare:

Kommentar veröffentlichen

Abonnieren Kommentare zum Post [Atom]





<< Startseite

This page is powered by Blogger. Isn't yours?

Abonnieren Posts [Atom]