Geheimnisvolle Ruinenstadt mit Robot Karol

Robot Karol ist ein weit verbreitetes Programm für den Anfangsunterricht Informatik. (Herunterladen und Informationen.) Man bewegt darin einen Roboter, der nur die Anweisungen Linksdrehen, Rechtsdrehen, Vorwärtsschritt, Hinlegen und Aufheben (jeweils eines Steines bzw. einer Marke) versteht. Man kann kann aus diesen elementaren Anweisungen aber neue Anweisungen zusammenstellen und diesen Namen geben: zum Beispiel Umdrehen (=zweimal Linksdrehen), Sidestep (=Linksdrehen, Schritt, Rechtsdrehen), Zurück (=Umdrehen, Schritt, Umdrehen).

Steuern kann man den Roboter durch Wiederholungsschleifen mit fester Anzahl oder Abbruchbbedingung und Wenn-dann-sonst-Bedingungen. Es gibt keine Variablen (aus didaktischen Gründen) und damit auch keine For-Next-Schleife, obwohl die die Schüler schon vermisst haben. Rekursion ist möglich.

Typische Aufgaben: Eine Treppe bauen, eine Fläche auslegen, ein Feld voller Ziegel aufräumen.

Untypische Aufgaben:

Jedes Schülerpaar sollte die Anweisung für ein Gebäude einer Ruinenstadt schreiben. Die Schüler mussten sich dabei an Vorgaben halten, ohne die ihr Gebäude nicht in die Stadt integriert werden konnte:
Arbeitsbereich 15×15 Felder (maximale Bauhöhe programmbedingt 10 Ziegel), davon musste mindestens 1 Feld unbebauter Rand bleiben. Der Roboter beginnt links hinten zu bauen und steht am Ende in der gleichen Position am gleichen Ort. (Herunterspringen und Hinaufklettern nur jeweils um 1 Höhenunterschied.) Nur dann ist es möglich, ihn automatisch zur nächsten Baustelle zu befördern.

Dann schrieben die Schüler ihre Anweisungen, ich fügte sie zu einer Programmdatei zusammen.

Das fertige Programm, aus dem das Bild oben wurde, sah so aus:


Programm
  Stadtmauer
  Burg
  weiter
  Tempel
  Pyramide1
  weiter
  Pyramide2
  Pyramide3
  Pyramide4
  weiter
  Pyramide5
  weiter
  Tempel
  weiter
  weiter
  Burg
  Pyramide2
  weiter
  Pyramide4
  weiter
  weiter
  Turm1
  Turm2
  Opferplatz2
  weiter
  Opferplatz1
*Programm

„Burg“ und „Tempel“ und so weiter sind dabei die Namen der Methoden, die im Programm aufgerufen werden. Jede Variation dieses Hauptprogramms besteht also aus bis zu 25 Aufrufen von Gebäudenamen bzw. „weiter“ für ein leeres Feld. Die Reihenfolge der Gebäude ist beliebig, so kann sich jeder Schüler seine eigene Stadt zusammenstellen.
Die ganze Programmierarbeit steckt dabei natürlich in den Methoden, dafür sieht das Programm selber sehr einfach aus.

(Die Stadtmauer mit dem unvollständigen Tor und die Methode „weiter“ sind von mir. „Weiter“ wird nach jedem Gebäude aufgerufen und stellt fest, ob in der aktuellen Zeile noch Platz für ein Bauwerk ist oder ob man schon an der Stadtmauer angekommen ist, und beginnt notfalls eine neue Zeile.)

Gedacht hatte ich mir das so: Die Schüler sollten üben, mit Robot Karol zu arbeiten, und zwar strukturiert. Das heißt, dass man Arbeitsaufträge an den Roboter („Baue einen Turm“) in Unteraufgaben teilt, und dafür jeweils eine eigene Methode schreibt („Baue eine Fläche“). Und dass man erkennt, wann sich Elemente wiederholen, und dazu dann Wiederholungsschleifen nutzt.
Das hatten wir alles schon geübt. Aber hier hat das leider überhaupt nicht geklappt. Wildes Drauflosschreiben, und das soll es ja eigentlich gar nicht sein. Nächstes Mal muss ich das anders machen, vorher besser erklären, wie man so eine Aufgabe angeht.
Denn ich möchte das schon noch einmal machen: Das andere Ziel ist nämlich erfüllt, dass Schüler sehen, dass man eine große Aufgabe („Stadt bauen“) in Teilaufgaben zerlegen kann, so dass jedes Team für einen Teil verantwortlich ist. Und das am Schluss etwas herauskommt, was man alleine nicht geschafft hätte.

Gedacht ist Robot Karol dafür natürlich überhaupt nicht. Man kann keine Hohlräume bauen, also keine Häuse, keine Dächer. Schade ist auch, dass die Karol-Welt auf 100×100 Felder und Höhe 10 begrenzt ist. Sonst hätten wir bestimmt einen tollen Vulkan in der Mitte, und wenn ich den selber hätte schreiben müssen…

Vielleicht sollte ich die Stadtmauer und den gelben Rand weglassen und einen (gelben) Fußweg einbauen… oder eine Methode, mit der man die Gebäude jeweils um 90° drehen kann, das gibt dann jeweils noch mehr Spielmöglichkeiten. Oder 30×15 und 15×30 Gebäude, damit die Stadt etwas weniger geordnet ausschaut.

Nachtrag: Das Projekt als Zip-Datei,, falls jemand damit herumspielen möchte.

Tagged: Tags

37 Thoughts to “Geheimnisvolle Ruinenstadt mit Robot Karol

  1. Wir hatten Karol früher auch; mir hat das Programm sehr gelegen: Es ist einfach, man kann (relativ) viel damit machen und schließlich fehlt die lange Kompilierzeit von komplexeren Programmen (Zumindest bei unseren SchulPCs fällt mir die schon negativ auf, und sei es auch nur Lazarus…). Negativ waren natürlich fehlende Methoden, was das ganze ziemlich eingeschränkt hat.
    Ich glaube, das letzte Programm, das wir geschrieben haben (oder schreiben sollten, ich weiß nicht mehr ganz sicher, ob es im Endeffekt bei irgendwem geklappt hat, glaube aber, dass ja), war ein Programm, bei dem man Karol durch ein Labyrinth bewegen musste. Da hatte ich dann doch einige Ideen mit Markierungen etc. (Bei einem Labyrinth, bei dem es keine „losen“ Teile gibt (d.h. Teile, die nicht mit der Außenwand verbunden sind), füllt man jede Sackgasse z.B. mit Markierungen (Ziegel gingen auch, aber dann hätte ich die jedesmal manuell entfernen müssen, da man Karols Weg nicht speichern kann und die „Füll-„Ziegel danach nicht mehr von den „Wand-„Ziegeln unterscheidbar gewesen wären…), so dass am Ende nur noch der richtige Weg übrig bleibt – das war zumindest mein Programmieransatz).
    Interessant eigentlich, dass soooooviele Methoden und Möglichkeiten fehlen, die Programmierer aber dann (außer den erwähnten Methoden) noch die (bestimmt unglaublich wichtigen) Methoden Warten (1 Sekunde bzw. in Klammern danach die Zeit in Millisekunden) und Ton (gibt einen Ton von sich) implementiert haben…(siehe hier: http://www.schule.bayern.de/karol/data/handbuch.pdf)

    Dass die Schüler nicht das gemacht hatten, was sie sich vorgestellt haben, kann ich mir gut vorstellen :P. Während ich mich mit Programmieren wenn doch nicht wirklich gut (wenn man in der Schule keine Aufgaben gestellt bekommt, stellt sich die Notwendigkeit für Programme einfach nicht, und ich mache schon genug Sachen am PC „einfach so“, als dass ich zusätzlich noch „richtig“ programmieren lernen wollen würde, auch wenn das sicher noch irgendwann der Fall sein wird), so doch zumindest besser als der Großteil der Klasse auskenne, sehe ich dann bei anderen, dass die zum Beispiel statt einer for-Schleife von 1 bis 10 bzw. bis i in Lazarus tatsächlich den Programmtext 10- bzw. i-mal kopieren. Da kann ich dann nur den Kopf schütteln – neben der Tatsache, dass es auch noch umständlicher zu schreiben ist und mehr Aufwand als eine for-Schleife braucht (bei der ich 1-mal eine Variable initialisiere, die dann in der for-Schleife benutze und etwas mehr als eine Zeile Programmcode schreibe), wäre es auch noch speichertechnisch äußerst unklug, so in längeren Programmen vorzugehen.
    Da fehlt offenbar teilweise der Blick für sich wiederholende Muster, auch wenn das in der 11. Klasse deutlich besser ist als in der Karol-Klasse (welche Klassenstufe ist das eigentlich?). Aber ich habe auch bei uns noch (zu Beginn des Jahres haben wir uns nochmal kurz Karol zu irgendeinem Anlass angeschaut, ich glaube, um die Unterschiede zwischen Programmiersprachen zu verstehen) Programme gesehen, die einfach heruntergerattert waren, auch wenn da dann 10-mal Schritt nacheinander stand…

  2. Nachtrag: Während die Schüler offenbar teilweise nicht den Sinn für Effizienz in Programmiersprachen haben, fehlt mir eindeutig der Sinn für Effizienz im Schreiben von sowas :P – da hätte man bestimmt eine Menge (!) kürzen können, ohne dass wichtige Informationen gefehlt hätten 8[…

  3. Ich finde es immer wieder spannend, neue Formen der alten Logo-Idee zu entdecken. Karol kannte ich bislang noch nicht. Grundlegende konzeptuelle Unterschiede zur Logo-Turtle scheint es nicht zu geben. Oder vielleicht sieht jemand Vorteile von Karol zur Logo-Turtle?

  4. Die fehlenden Methoden bei Karol sind wohl Absicht. Und machen eigentlich nicht viel aus: Man kann und soll sich alle möglichen Methoden selbst schreiben – bis auf den Ton natürlich.
    Für das Teamwork wäre es allerdings praktischer, wenn man die Methoden separat speichern und einbinden könnte. Aber dazu ist Karol nicht gedacht, und richtig sinnvoll wird das auch nur bei Methoden mit Argumenten, die bei Karol nicht vorgesehen sind.

    Das Labyrinth kenne ich auch, aber das dürfte viele Siebtklässler überfordern. Mit Karol kann man alles machen, was die Größenbeschränkungen zulassen – Variablen gibt man als Speicherzellen von gestapelten Ziegeln an.

    Die Schüler sollen dabei übrigens nicht programmieren lernen, sondern Algorithmik, und eingeführt werden in die Form von Algorithmen, die ein Computer verstehen kann. Insofern ist Karol vielleicht gar nicht mal der richtige Zugang, da auch zu frustrierend bei Syntaxfehlern.

    Mit Logo habe ich nie gearbeitet. Ein Unterschied ist sicher die zugrunde liegende Metapher – Schildkröte oder Roboter. Dann die Graphik.
    Technisch ist wohl der wichtigste Unterschied, dass es bei Karol keine Variablen und keine Methoden mit Argumenten (oder gar Funktionen) gibt. Der Gedanke dahinter ist, dass Anfänger Variablen erst richtig verstehen können, wenn sie wissen, was ein Zustandsautomat ist.
    So habe ich das gelernt. Intuitiv teile ich diese Meinung nicht, hatte aber nie Gelegenheit, das zu überprüfen.

    Außerdem gibt es bei Logo mehr fertige Möglichkeiten zur Abfrage von Bedingungen. Bei Karol muss man sich alles selbst schreiben („Wenn vor dir drei Ziegel liegen, dann…“)

  5. Oh ja, Logo, das waren noch Zeiten. Erst jetzt fiel mir ein, was wir für einen Spaß hatten in der Orientierungsstufe in der Computer-AG :-)

  6. So, ich habe noch noch zu jedem nicht symmetrischen Gebäude Anweisungen geschrieben, um gedrehte Varianten zu erzeugen:

    Anweisung BurgA
      Burg
      weiter
    *Anweisung

    Anweisung BurgB
      Drehen90
      Burg
      Drehen270
      weiter
    *Anweisung

    Und so weiter. Schon viel besser.

  7. hat jemand eine gute seite wo man wirklich etwas leisten muss für dieses programm?
    schreib am montag informatikquali mit robot karol…

  8. hallo! ich hätte mal eine frage: weiß jemand, warum bei der „wenn…dann“-struktur das „dann“ in der gleichen zeile wie das „wenn“ steht, also:

    wiederhole Bedingung
    wenn Bedingung dann
    Sequenz1
    u.s.w…..? wenn ja, dann schreibt mir bitte(ist wichtig)

  9. Die Syntax von Robot Karol ist besonders freundlich, wie die vieler anderer Programmiersprachen: Das „dann“ muss gar nicht in der gleichen Zeile stehen. Es kann auch in der danach stehen. Logischerweise gehört es aber zur Kontrollstruktur und nicht zum Anweisungsblock.

    Irgendwie wird aber bei jeder Programmiersprache markiert, wann die Bedingung zu Ende ist und der Ausführungsteil beginnt: Durch einen Doppelpunkt und (meist) folgende Einrückung bei Python, durch Einklammerung der Bedingung und (meist) folgende geschweifte Klammern bei Java, durch „then“ beim Basic meiner Kindheit. Deshalb muss es überhaupt ein „dann“ geben.

    Das „wiederhole Bedingung“ in dem Ausschnitt macht aber keinen Sinn.

  10. Ich habe eine Frage an Sie:
    ich würde gerne meine eigenen Anweisungen speichern, damit ich nicht mehr
    „Anweisung Umdrehen
    LinksDrehen
    LinksDrehen
    *Anweisung“
    schreiben muss. Bitte helfen Sie mir!

  11. Das habe ich auch erst spät herausgefunden: Eigene Anweisungen kann man in einer Datei speichern, die zum Beispiel „Bibliothek.kdp“ heißen kann.
    Dann muss man in Zukunft nur noch oben an seine neue Karol-Datei diese Zeilen einfügen:

    Einfügen
     Bibliothek
    *Einfügen

    Damit wird die Datei Bibliothek.kdp eingefügt, so dass man auf alle Anweisungen darin zugreifen kann. (Allerdings auch alle Programm-Elemente: Deshalb sollte die Bibliothek nur aus Anweisungsdefinitionen und nicht aus Programm bestehen.)

    Voraussetzung: Die Bibliotheksdatei muss sich im selben Verzeichnis befinden wie die neue Datei. Man kann aber auch auf Unterverzeichnisse verweisen („Verzeichnis/Bibliothek“); ob man nach oben verweisen oder absolute Pfade angeben kann, weiß ich nicht.

  12. Guten Abend, sehr spannendes Thema.
    Ich kann dazu bisher nur sagen das ich damals mit Basic angefangen habe in der Computer AG 8. klasse.
    Inszwischen bin ich 35 Jahre und besuche nochmals die 12. Klasse FOT!!!
    Und ja wir starten nun mit Karol durch!
    Die funktionen sind sehr einfach gehalten!
    Wie man ja auch beim googeln lesen kann wird das inszwischen im Bereich der 3-4. Klassen verwendet.
    Aber wie ich auch gesehen habe kann man damit durchaus interessante Dinge machen.
    z.B. (wie die Frage oberhalb war)
    Etwas Anspruchsvolles?
    Karol als Rechner:
    es werden Zahlen mit Ziegeln dargestellt.
    Mit Marke wird subtrahiert.
    und daneben stellt Karol dann diese Dezimalzahlen als Dualzahlen dar.
    Wandelt die Zahl ins 2er Kompliment um und führt alles bis zum Ende aus.
    Ergebnis wird dann mit den Ziegeln dezimal und Dual dargestellt.
    Sehr beeindruckendes Programm (wenn auch einfach geschrieben)

    QAber es hat sicherlich seine Berechtigung, wenn ich sehe wie schwer sich viele mit der Thematik tun.

  13. Bei den mitgelieferten Beispielprogrammen ist auch ein Bubblesort dabei. Tatsächlich kann man – theoretisch – damit alles berechnen, was man nur berechnen kann. In der Praxis natürlich nicht, wegen der Platzbeschränkung auf 100x100x10.

  14. Karol is doof!

    Wir haben Infoprojekt drinnen und wir schaffen net mal die Mauer.
    Karol macht nicht das was wir wollen! =]
    Blöder Roboter…. >.<

  15. So ist das mit dem Programmieren. Es gibt zwei Arten von Fehlern: der Computer kapiert gar nicht, was man will, weil man einen Tipp- oder Grammatikfehler drin hat. Oder er tut das, was wir ihm gesagt haben, obwohl wir eigentlich etwas anderes meinten. So oder so: Blöder Roboter ist eine gesunde, natürliche, befriedigende Reaktion – die einen nicht davon abhalten sollte, es trotzdem noch einmal zu versuchen. Man kann den blöden Roboter ja nicht als Sieger dastehen lassen.

  16. kann man gebäude wirklich drehen?Wnn ja,wie denn ?ich hab es schon mal ausprobiert,aber es hat nicht funktioniert.

  17. So richtig drehen geht nicht. Ich mache das so: Am Anfang steht Karol in der Nordwestecke, nach Süden schauend, baut von da aus das Gebäude und steht am Ende wieder in der Ausgangsposition.

    Alternativ kann man ihn vor dem Gebäudebau noch eine kurze Drehmethode ausführen lassen: Dabei geht er zwanzig Schritte nach Süden und dreht sich dann einmal nach links (also Osten). Wenn er jetzt die Gebäudebau-Methode ausführt, steht das Gebäude um 90 Grad gedreht. (Danach muss man ihn mit einer zweiten Drehmethode wieder in die passende Ausgangsposition für das nächste Gebäude bringen.)

    Und aus der 90-Grad-Methode kann man dann schnell eine für 180 oder 270 Grad machen.

  18. >> Schade ist auch, dass die Karol-Welt auf 100×100 Felder und Höhe 10 begrenzt ist. <<

    Falsch!
    Da die Programmierer von Karol wohl nicht die Besten waren, ist nahezu jede Manipulation möglich :)
    Eine Weltdendatei sieht am Anfang ungefähr so aus:
    karolversionwasweißichDeutsch 10 10 10
    Die Zahlen stellen Breite, Länge und Höhe dar.
    Jetzt muss man die 3. Zahl einfach vergrößern und die Welt neu öffnen.
    ok da gibts einen Fehler.
    Wenn man jetzt aber auf "Welt/Welt Löschen" klickt, hat man die höher gecheatete Welt :)
    Die maximale Höhe ist jedoch 35 oder so.

    Und noch ein kleiner Tipp:
    Wenn man das Bild von Ziegel, Marke oder Quader ändern möchte – Diese befinden sich im Programmordner img. Jetzt einfach mal austauschen :D

  19. Danke für den Tipp, damit kann ich größere Projekte versuchen…. einer baut eine Plattform, die anderen auf die Plattformen Burgen… komplexere Rechenvorgänge mit höheren Zahlen…

    Mit Robot Karol kann man so ziemlich alles machen, was man will (ist ja turing-vollständig), aber da man improvisieren muss, wenn man Variablen will, geht das nur sehr umständlich. Umständlich kann aber auch Spaß machen. => http://de.wikipedia.org/wiki/Brainfuck und andere esoterische Programmiersprachen.

  20. ………………………………………………………………………………………………………………..

  21. Ich habe eine wichtige Frage zum der Programmierung wir programmieren in der Schule auch eine Burg und wir würden dass Programm gerne vereinfachen dazu würd ich gerne wissen wie das mit der obengennanten Programmierung
    Programm
    ..
    ..
    ..
    *Programm
    wenn sie mir bitte antworten würden oder eine kurze e.mail das wäre sehr freundlich

  22. Hallo
    wir bauen in der Schule eine Welt die 100 x 100 groß ist.
    Da jeder von uns ein eigenes Haus bauen soll, wollen wir die Stadt am Ende gerne komplett sehen, aber wir wissen nicht wie das gehen soll da wir immer nur einen Teil der Welt sehen können.
    Kann uns jemand sagen wie wir die komplette 100 x 100 – Welt anschauen können?
    Liebe Grüße
    Klasse 10 der Realschule, Viersen

  23. Eine richtige Lösung, die ganze Welt richtig schön zu sehen, kenne ich auch nicht. Allenfalls geht: man hat einen riesigen Monitor oder stellt die Auflösung künstlich auf riesengroß. Aber keines von beiden ist einfach machbar oder bringt wirklich viel.

    Man kann allerdings eine Welt als Grafik speichern: Menü „Welt“ und dann „als Grafik speichern“. Dann kann man sich ein Abbild der Welt als Grafikdatei im bmp-Format auf der Festplatte speichern.

    Vielleicht hilft das ja. Viel Spaß jedenfalls beim Basteln.

  24. Kann man Robot Karol eigentlich so programieren, das er nach einer Anweisung kurz wartet (5 Sekunden oder so)??

  25. Wenn man mit der rechten Maustaste irgendwo in den Programmierbereich klickt, sieht man alle Befehle, die zur Karol-Programmiersprache gehören. (Nur das Definieren von eigenen Bedingungen ist dabei nicht offensichtlich.) Da findet man dann auch einen Befehl, mit dem man Karol warten lassen kann – den man auch mehrfach aufrufen oder in eine eigene Methode packen kann.

  26. Hallo,
    Ist es irgendwie möglich Robot Karol variablen beizubringen? evt. Durch eingriff in den progi code?
    Möchte nehmlich Die größe der welt ermitteln lassen
    Anweisung Maße
    Höhe=1
    Breite=1
    Schnell
    LinksDrehen
    solange NichtIstWand tue Schritt Breite++ *solange
    RechtsDrehen
    solange NichtIstWand tue Schritt Höhe++ *solange
    RechtsDrehen RechtsDrehen
    Schritt(Höhe)
    LinksDrehen
    Schritt(Breite)
    LinksDrehen
    Langsam
    *Anweisung
    Klappt leider nicht

  27. Also, ich weiß keine Möglichkeit. Es gibt JavaKarol, sieht so ähnlich aus, nur mit Java-Syntax, vielleicht kann man was machen.
    Was mit dem klassischen Karol sicher geht: Pseudovariablen. In einer Zelle in einer Ecke legt man soviel Steine, wie der Wert der Variablen sein soll. Erhöht man den Wert, fügt man einen Stein hinzu, vermindert man ihn, nimmt man einen weg. (Und schickt Karol danach wieder an den Ausgangspunkt zurück.) Breite++ wäre dann eine Methode, die Karol in die Ecke schickt, einen Stein legen lässt, dann zurückschickt. Umständlich, aber machbar. Mit Tricksen kann man bis zu 30 Steine stapeln.

  28. hallo
    ich würde gerb das programm meinen schülern zeigen
    könnten sie es mir per mail schicken

  29. Ich habe gerade – am Ende des Blogeintrags – einen Link auf das Projekt nachgetragen, für alle, die sich dafür interessieren – Lehrer oder nicht.

  30. Echt toll, was man alles mit dem Karol machen kann…

    Wir haben Karol jetzt in der 12. Klasse wieder aufgegriffen, um damit einen Backtracking-Algorithmus zu schreiben; dabei kam mir die Frage in den Sinn: „Ist Backtracking das ‚höchste’/schwierigste, was man mit Karol so machen kann?“
    Aber wenn ich die Gebäude so betrachte, ist das schon heftiger als alles zuvor.

    Wenn man Karol dann erst einen geeigneten Bauplatz ALLEIN finden lassen soll (nicht durch vorgeben oder so etwas) und den Bauplatz bei Bedarf verschieben lässt (Überschneidung von 2 Gebäuden), dann wird’s erst richtig kompliziert.

    Danke für die tollen Ideen!

    Beste Grüße
    Michael (Schüler)

  31. Theoretisch könnte man einen Rechnern nachbauen, oder eine Registermaschine, so richtig mit RAM und Daten- und Adressbus und CPU. Mit vier, fünf Befehlen kriegt man schon eine turing-komplette Maschine hin. Das müsste in eine Welt von 100x100x30 Zellen passen.

    Aber das wäre eher eine Fleißarbeit, gedanklich schwieriger finde ich Backtracking oder überhaupt Rekursion schon. Bei den Karol-Demoprogrammen ist ein Bubblesort-Sortieralgorithmus dabei, der ist schon auch komplex.

    Man könnte – jetzt wird es absurd – ein sehr langsames Game of Life (Conway) (siehe Wikipedia) programmieren, wo sich gelbe Markierungen und rote Ziegel jede Generation abwechseln, und Karol manuell durch die Welt geht und die neue Generation vorbereitet.

  32. Hallo , ich brauche dringend Hilfe bei Roboter Karol . In Informatik haben wir die Aufgabe das Roboter Karol den Namen TIM mit Ziegelsteinen schreiben soll .
    Ich bekomme es aber nicht hin .
    Haben sie einen Lösungsvorschlag wie man das Programiern kann also den Programmablaufplan .
    Ich bitte um schnelle Antwort.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.