590 likes | 1.22k Views
Kara, der programmierbare Marienkäfer !. In der Welt des Marienkäfers. ... gibt es: unbewegliche Baumstümpfe , Pilze , die Kara verschieben und Kleeblätter , die Kara legen und aufnehmen kann ... und natürlich Kara selbst!. Karas Welt. Kara, der Marienkäfer.
E N D
In der Welt des Marienkäfers... • ... gibt es: • unbewegliche Baumstümpfe, • Pilze, die Kara verschieben und • Kleeblätter, die Kara legen und aufnehmen kann • ... und natürlich Kara selbst!
Kara, der Marienkäfer... ... versteht einige Befehle, die er folgsam ausführt: mache einen Schritt vorwärts! drehe um 90° nach links! drehe um 90° nach rechts! lege ein Kleeblatt hin! nimm ein Kleeblatt auf!
Übung 1 • Die Welt von Kara können Sie selber gestalten: platzieren Sie beliebig viele Gegenstände auf der Wiese. Ziehen Sie mit Drag-and-Drop den gewünschten Gegenstand auf die Wiese. Will man einen Gegenstand löschen, so zieht man ihn mit Drag-and-Drop von der Wiese auf den Mülleimer. Bauen Sie die folgende Welt für Kara auf: Aufgabe: Kara soll nun zum Baumstumpf gehen. Unterwegs soll er jedes Kleeblatt aufnehmen. Liegt kein Kleeblatt auf einem Feld, so soll Kara eines hinlegen. Benutzen Sie dazu die Befehle am linken Rand. Am Schluss soll es so aussehen: Kara soll nun noch einen Schritt geradeaus machen. Was passiert?
Kara der Marienkäfer… Ziel: Kara so zu programmieren, dass er seinen Auftrag in verschiedenen Welten ausführen kann. ... hat Sensoren, mit denen er seine Umwelt wahrnimmt: stehe ich vor einem Baumstumpf? ist links von mir ein Baumstumpf? ist rechts von mir ein Baumstumpf? stehe ich vor einem Pilz? stehe ich auf einem Kleeblatt?
Übung 2 a) Welche Sensoren würde man einsetzen, damit Kara den Auftrag aus Übung 1 erledigen kann? b) Gegeben sei diese Welt: Kara startet in der angezeigten Position und macht dann nacheinander die folgenden Aktionen: Füllen Sie folgende Tabelle aus. Überlegen Sie was Karas Sensoren in jedem Schritt „sehen“.
Beispiel Geldautomat warte auf Karte Karte gültig ? Nein Ja Fehler- meldung neuer Bildschirm warte auf Abschluss der PIN-Eingabe PIN korrekt ? Nein Ja neuer Bildschirm Fehler- medung warte auf Funktionswahl CASH-Funktion? Bezug-Funktion?
Automaten in der Informatik • Ein Automat bleibt in einem Zustand und wartet darauf über einen Sensor von aussen einen … • Input zu erhalten. Angestossen durch diesen Input wählt er den … • Übergang, der mit dem gegebenen Input beschriftet ist, führt die angegebenen … • Aktionen aus und wechselt entweder in einen anderen Zustand oder bleibt im alten Zustand. • Jeder Automat hat einen Startzustand, in dem er mit der Arbeit beginnt.
Automaten in der Informatik Automaten basieren auf „Wenn…, dann…“-Aussagen. Wenn gewisse Bedingungen erfüllt sind, dann sollen bestimmte Aktionen ausgeführt werden.
Schüler und Zustände Schüler und Zustände Die Versetzung ändert den Klassenzustand eines Schülers. Sitzen bleiben bedeutet: der Zustand bleibt, die Klasse wird wiederholt.
Übung 3 • Zeichnen Sie einen Automaten, der einen Lichtschalter steuert. • Ein Sensor meldet dem Automaten, wenn der Schalter gedrückt wurde. • Die Aufgabe ist dann gut gelöst, wenn: • der Automat korrekt arbeitet. • die Zustände sprechende Namen haben. • alle Übergänge eingezeichnet und mit Input und Aktionen beschriftet sind.
Lösung Lichtschalter Ein Lichtschalter hat nur zwei Zustände, ein und aus. Ein „Sensor“ meldet, wenn der Schalter betätigt wird. drücken Licht aus Licht ein start drücken
Übung 4 Zeichnen Sie einen Automaten für die Steuerung eines Videorecorders. Der Videorecorder hat der Einfachheit halber nur die folgenden Tasten: Bei dieser Aufgabe sollen alle möglichen Übergänge eingezeichnet werden. Das heisst, dass es aus einem Zustand für alle möglichen Inputs einen Übergang geben muss. Unter Umständen führt der Übergang wieder in denselben Zustand zurück.
Lösung Videogerät Spulen „forward“ „rewind“ „play“ „play“ „pause“ Warten Video abspielen Nichts tun start „play“ „stop“ Time out
Getränkeautomaten • Dieser Automat... • akzeptiert nur • zeigt eingeworfenen Betrag an • gibt nur ausfür 3,- 0.00
Das Leben eines Getränkeautomaten... 2.00 3.00 1.00 2.00 3.00 Coke 0.00 Sprite 0,- 1,- 2,- 3,-
Das Leben eines Getränkeautomaten... • stellt sich der Automat in einem Zustand • werden von seinen Sensoren beantwortet Frage: oder ? 0,- 1,- 2,- 3,- Zustand
Das Leben eines Getränkeautomaten... Frage: oder ? • die Antwort darauf gibt der Automat in einem Übergang • führt dabei gewisse Aktionen aus 2.00 3.00 0,- 1,- 2,- 3,- 1.00 2.00 3.00 Coke Übergang 0.00 Sprite
Kara und Automaten • Der Automat ist Karas Gehirn. • Er bekommt von den Sensoren Informationen über die Umgebung. Das ist der Input für unseren Automaten. • Die Aktionen unseres Automaten sind die Befehle an Kara, die er ausführen soll.
Kara, der BlättersammlerZustände Welche Zustände kommen vor?
Kara, der BlättersammlerÜbergänge und Aktionen Welche Übergänge kommen vor und welche Aktionen sollen ausgeführt werden?
Übung 5 : Kara, der Blättersammler Aufgabe: Zeichnen Sie mit Hilfe der Zustände und der entsprechenden Übergänge den dazugehörigen Automaten.
Übung 6 In dieser Aufgabe geht es darum einen bestehenden Automaten zu analysieren. Aufgabe: Gegeben ist die unten stehende Wiese. Zeichnen Sie den Weg ein, den Kara geht, wenn er durch den oben abgebildeten Automaten gesteuert wird. Hinweis: Wenn Kara während eines Ausweichmanövers in einen Baum rennt, dann wird eine Fehlermeldung ausgegeben und der Automat wechselt in den Stoppzustand.
Programmieren mit Kara Der Stoppzustand ist standardmässig schon gezeichnet. Im Feld, wo der Stoppzustand ist, kann der Automat gezeichnet werden. Links davon sind alle Operationen, die benötigt werden, um einen Automaten zu zeichnen.
Zustände einfügen 1 Die folgenden Operationen stehen zur Verfügung, um einen Automaten zu zeichnen:
Zustände einfügen 2 • Zeichnen Sie einen neuen Zustand mit einem Mausklick auf das dieses Symbol . • Geben Sie dem neuen Zustand im Namensfeld einen entsprechenden Namen. • Wählen Sie dann die benötigten Sensoren und ziehen sie mit Drag-and-Drop in den Rahmen unter „Benutzte Sensoren“.
Übergänge zeichnen • Klicken Sie in den äusseren Rand des Startzustandes und ziehen Sie den Mauszeiger auf den Folgezustand, ohne die Maustaste loszulassen. Hinweis: In der Ansicht des Automaten wird immer nur ein Übergang dargestellt.
Input und Aktionen • Die Beschriftung der Übergänge mit Input und Aktionen machen wir im Übergangseditor. • Fügen Sie alle Sensorbelegungen und die Anweisungen an Kara den Übergängen hinzu.
Kara, der Blättersammler Aufgabe: Schreiben Sie ein Programm, das Kara geradeaus bis zum nächsten Baumstumpf führt. Kara weiss, dass geradeaus vor ihm ein Baumstumpf steht. Liegt auf einem Feld ein Blatt, soll Kara es aufnehmen. Beim Baumstumpf angekommen ist das Programm zu beenden. (Achtung: Nur wenn ein Baumstumpf vor Kara liegt, läuft das Programm korrekt.) Das Bild links zeigt die Ausgangslage und auf dem Bild rechts sieht man wie es aussehen muss, nachdem Kara Ihren Auftrag erledigt hat.
Übung 7: Kara sucht einen Baumstumpf Aufgabe: Kara soll bis zum nächsten Baumstumpf laufen, dann 180° Drehung!
Kara sucht einen Baumstumpf Computer: Dann lauf ein Feld weiter! Dann dreh Dich um 180° und bleib stehen! Problem: bis zum nächsten Baumstumpf laufen, dann 180° Drehung! Problemlösung: es läuft folgender Dialog zwischen Computer und Kara ab: Computer:Stehst Du vor einem Baum? Kara: NEIN! JA!
Lösung Übung 7 Das Programm: ein Zustand „find tree“, ein Sensor „stehe vor Baum“
Übung 8: Kara, der Wächter Aufgabe: Kara soll linksherum bis Kleeblatt, dann rechtsherum bis Kleeblatt, dann linksherum... laufen
Lösung Übung 8 Das Programm: zwei Zustände: einer für Linksdrehung, einer für Rechtsdrehung
Kara, der Tunnelwächter Nur vor ihm ist kein Baum Nur links von ihm ist kein Baum Nur rechts von ihm ist kein Baum Links und rechts kein Baum Links, rechts und vorne Bäume braucht drei Sensoren: Die Aufgabe: Kara soll den „Tunnel“ in beiden Richtungen endlos ablaufen Die Analyse: Kara ist zu jedem Zeitpunkt in genau einer dieser fünf Situationen:
Kara, der Tunnelwächter Die Analyse: Kara ist zu jedem Zeitpunkt in genau einer dieser 5 Situationen: Das Programm: Kara muss nur diese 5 (von allen möglichen 8) Situationen berücksichtigen: Nur vor ihm ist kein Baum Nur links von ihm ist kein Baum Nur rechts von ihm ist kein Baum Links, rechts und vorne Bäume Links und rechts kein Baum Dies ist nur eine von allen möglichen Lösungen!
Übung 9: Kara und der Tunnel • Aufgabe: • Kara sucht den Eingang eines geraden Tunnels (Feld a). Schreiben Sie ein Programm, das ihn auf dem ersten Feld im Tunnelinneren anhalten lässt. • Achtung: Manche Tunnels haben zunächst eine einseitige Wand, manche links, manche rechts. b) Kara will den Ausgang des Tunnels finden (Feld b). Dazu muss er zunächst den Tunnel durchqueren. Schreiben Sie ein Programm, das ihn auf dem ersten Feld nach dem Tunnel anhalten lässt - er soll nicht bis zum Ende der Galerie laufen!
Wozu sind Zustände gut ? • manchmal eine Frage des Programmierstils • als Gedächtnis: was hat Kara schon erledigt ? • Beispiel: Aufgabe „suche Tunnelausgang“ 1. „enter“: suche Tunneleingang (links und rechts eine Wand) 2. „exit“: suche Tunnelausgang (links oder rechts keine Wand)
Weitere Übungen: Kara, der Parkettleger Aufgabe: Kara möchte sich als Parkettleger betätigen. Er will ein schachbrettartiges Muster legen. Programmieren Sie Kara so, dass er ein solches Muster innerhalb der Bäume erzeugt.
Einfaches Labyrinth Aufgabe: Kara sitzt in einem Labyrinth fest. Er möchte raus, denn beim Ausgang des Labyrinths wartet ein leckeres Kleeblatt auf ihn! Zwei Beispiele von Labyrinth-Welten: Jede horizontale Baumreihe ausser der untersten hat genau einen Ausgang. Diesen muss Kara jeweils finden. Hinter dem letzten Ausgang wartet das Kleeblatt auf ihn!
Kara – Pac man oder wie verfolge ich eine Spur Aufgabe: Kara möchte das uralte PC-Spiel PacMan spielen – in einer vereinfachten Version. Er soll eine Spur von Kleeblättern „auffressen“. Er weiss, dass diese Spur nie entlang eines Baumes geht – sie endet an einem Baum! So sehen „Spur-Welten“ aus: Programmieren Sie Kara so, dass er die Spur von Kleeblättern „auffrisst“! Da man weiss, dass die Spur nie entlang eines Baums geht, kann das Programm beendet werden, sobald Kara auf einem Kleeblatt vor einem Baum steht.
Hilfe für PacMan Warum klappt das Programm auch für eine Linkskurve?
Hilfe für PacMan In welche Richtungen kann Kara die Kleeblatt- Spur verfolgen (bedenke: Kara kann nicht sehen und weiß nicht wo er sich gerade befindet!!!) In alle!
Kara und die Ausserirdischen Aufgabe: Kara glaubt an Ausserirdische. Er ist überzeugt, dass bestimmte Muster von Kleeblättern in seiner Welt auf ihre baldige Ankunft hinweisen! Nur weiss er nicht so recht, welches Muster er erwarten soll. Er stellt sich vor, dass es eines von drei Mustern ist. Betrachten wir als erstes folgende Welt: Programmieren Sie Kara so, dass er prüft, ob in der Zeile, in der er steht, folgendes Muster vorkommt: Er soll solange das Muster suchen, bis er an einem Baum ankommt. Dann gibt er die Suche auf. Sobald er das Muster findet, soll er seine Freude darüber signalisieren, indem er sich links dreht und in die darüber liegende Zeile begibt. Danach kann er das Programm beenden. Findet er es nicht, geht er enttäuscht nach rechts in die darunter liegende Zeile.
Bezug zu den Bildungsstandards Die Schülerinnen und Schüler sind in der Lage: • selbstständig, zielorientiert und mit den jeweils angemessenen Methoden zur Lösung, Visualisierung und Strukturierung von Sachverhalten und Problemen informationstechnische Werkzeuge einzusetzen. • mithilfe geeigneter Programme einfache interaktive Anwendungen und Programme zur Simulationen und zum Steuern und Regeln zu erstellen.