50
Kara, der programmierbare Marienkäfer !

Kara, der programmierbare Marienkäfer !

  • Upload
    sen

  • View
    100

  • Download
    2

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Kara, der programmierbare Marienkäfer !

Kara, der programmierbare Marienkäfer !

Page 2: Kara, der programmierbare Marienkäfer !

... gibt es:• unbewegliche Baumstümpfe,• Pilze, die Kara verschieben und • Kleeblätter, die Kara legen

und aufnehmen kann

... und natürlich Kara selbst!

In der Welt des Marienkäfers...

Page 3: Kara, der programmierbare Marienkäfer !

Karas Welt

Page 4: Kara, der programmierbare 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!

Kara, der Marienkäfer...

Page 5: Kara, der programmierbare Marienkäfer !

Ü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?

Page 6: Kara, der programmierbare Marienkäfer !

Kara der Marienkäfer…

... 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?

Ziel: Kara so zu programmieren, dass er seinen Auftrag in verschiedenen Welten ausführen kann.

Page 7: Kara, der programmierbare Marienkäfer !

Ü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“.

Start nach 1 Schritt

nach 2 Schritten

nach 3 nach 4 nach 5

×

×

×

Page 8: Kara, der programmierbare Marienkäfer !

Automaten im Alltag

Page 9: Kara, der programmierbare Marienkäfer !

Beispiel Geldautomat

warte auf KarteKarte

gültig ?Nein Ja

Fehler-meldung

warte auf Abschluss

der PIN-Eingabe

PIN korrekt ?Nein Ja

Fehler-medung

warte auf Funktionswahl

CASH-Funktion?Bezug-Funktion?

neuer Bildschirm

neuer Bildschirm

Page 10: Kara, der programmierbare Marienkäfer !

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.

Page 11: Kara, der programmierbare Marienkäfer !

Automaten in der Informatik

Automaten basieren auf „Wenn…, dann…“-Aussagen.

Wenn gewisse Bedingungen erfüllt sind, dann sollen bestimmte Aktionen ausgeführt werden.

Page 12: Kara, der programmierbare Marienkäfer !

Die Versetzung ändert den Klassenzustand einesSchülers.Sitzen bleiben bedeutet: der Zustand bleibt, dieKlasse wird wiederholt.

Schüler und ZuständeSchüler und Zustände

Page 13: Kara, der programmierbare Marienkäfer !

Ü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.

Page 14: Kara, der programmierbare Marienkäfer !

Lösung Lichtschalter

Lichtaus

Lichtein

drücken

drücken

start

Ein Lichtschalter hat nur zwei Zustände, ein und aus.

Ein „Sensor“ meldet, wenn der Schalter betätigt wird.

Page 15: Kara, der programmierbare Marienkäfer !

Ü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.

Page 16: Kara, der programmierbare Marienkäfer !

Lösung Videogerät

Nichtstun

Videoabspielen

„play“

„stop“

start Warten

„pause“

„play“

Time out

Spulen

„play“„forward“„rewind“

Page 17: Kara, der programmierbare Marienkäfer !

Dieser Automat...

•akzeptiert nur

•zeigt eingeworfenen Betrag an

•gibt nur aus

für 3,-

0.000.00

Getränkeautomaten

Page 18: Kara, der programmierbare Marienkäfer !

0,- 1,- 2,- 3,-1.001.00 2.002.00 3.003.00

2.002.00 3.003.00

0.000.00

CokeCoke

SpriteSprite

Das Leben eines Getränkeautomaten...

Page 19: Kara, der programmierbare Marienkäfer !

Frage: oder ?

0,- 1,- 2,- 3,-

Zustand

• stellt sich der Automat in einem Zustand

• werden von seinen Sensoren beantwortet

Das Leben eines Getränkeautomaten...

Page 20: Kara, der programmierbare Marienkäfer !

1.001.00 2.002.00 3.003.00

2.002.00 3.003.00

0.000.00

0,- 1,- 2,- 3,-

Übergang

Frage: oder ?

• die Antwort darauf gibt der Automat in einem Übergang

• führt dabei gewisse Aktionen aus

CokeCoke

SpriteSprite

Das Leben eines Getränkeautomaten...

Page 21: Kara, der programmierbare Marienkäfer !

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.

Page 22: Kara, der programmierbare Marienkäfer !

Kara, der BlättersammlerZustände

Welche Zustände kommen vor?

Page 23: Kara, der programmierbare Marienkäfer !

Kara, der BlättersammlerÜbergänge und Aktionen

Welche Übergänge kommen vor und welche Aktionen sollen ausgeführt werden?

Karas Aktionen

nächster Zustand

× × Blätter sammeln

× Blätter sammeln

× - Stopp

Stopp

Page 24: Kara, der programmierbare Marienkäfer !

Übung 5 : Kara, der Blättersammler

Aufgabe:Zeichnen Sie mit Hilfe der Zustände und der entsprechenden Übergänge den dazugehörigen Automaten.

Page 25: Kara, der programmierbare Marienkäfer !

Lösung Kara, der BlättersammlerAutomat

Page 26: Kara, der programmierbare Marienkäfer !

Ü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.

Page 27: Kara, der programmierbare Marienkäfer !

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.

Page 28: Kara, der programmierbare Marienkäfer !

Zustände einfügen 1

Die folgenden Operationen stehen zur Verfügung, um einen Automaten zu zeichnen:

Um einen neuen Zustand zu erhalten, klickt man auf dieses Symbol. Es geht ein Zustandseditor auf, in dem du den Zustand editieren kannst.

Einen Zustand kann man verändern, in dem man ihn zuerst mit der Maus anklickt und dann mit einem Mausklick auf dieses Symbol den Zustandseditor öffnet.

Jeder Automat muss einen Startzustand haben. Markieren Sie einen Zustand und klicken Sie mit der Maus auf dieses Symbol, um den Zustand als Startzustand auszuzeichnen.

Ein Mausklick auf dieses Symbol löscht den zuvor mit der Maus ausgewählten Zustand.

Einen Übergang zwischen zwei Zuständen erhält man, wenn im Ausgangszustand in den äusseren Ring klickt, die Maustaste gedrückt hält, den Mauszeiger in den Folgezustand zieht und die Maustaste wieder los lässt.

Page 29: Kara, der programmierbare Marienkäfer !

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“.

Page 30: Kara, der programmierbare Marienkäfer !

Ü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.

Page 31: Kara, der programmierbare Marienkäfer !

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.

Page 32: Kara, der programmierbare Marienkäfer !

Programm laufen lassen

Page 33: Kara, der programmierbare Marienkäfer !

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.

Page 34: Kara, der programmierbare Marienkäfer !

Aufgabe: Kara soll bis zum nächsten Baumstumpflaufen, dann 180° Drehung!

Übung 7: Kara sucht einen Baumstumpf

Page 35: Kara, der programmierbare Marienkäfer !

Kara sucht einen Baumstumpf

Problem: bis zum nächsten Baumstumpflaufen, dann 180° Drehung!

es läuft folgender Dialog zwischen Computer und Kara ab:

Computer: Stehst Du vor einem Baum?Kara: NEIN!

Computer: Dann laufein Feld weiter!

Dann dreh Dich um 180° und bleib stehen!

Problemlösung:

JA!

Page 36: Kara, der programmierbare Marienkäfer !

Lösung Übung 7

Das Programm:ein Zustand „find tree“,ein Sensor „stehe vorBaum“

Page 37: Kara, der programmierbare Marienkäfer !

Aufgabe: Kara soll linksherum bis Kleeblatt,dann rechtsherum bis Kleeblatt,dann linksherum... laufen

Übung 8: Kara, der Wächter

Page 38: Kara, der programmierbare Marienkäfer !

Lösung Übung 8

Das Programm: zwei Zustände: einer für Linksdrehung,einer für Rechtsdrehung

Page 39: Kara, der programmierbare Marienkäfer !

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:

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:

Kara, der Tunnelwächter

Page 40: Kara, der programmierbare Marienkäfer !

Die Analyse: Kara ist zu jedem Zeitpunkt in genau einer dieser 5 Situationen:

Das Programm: Kara muss nur diese 5 (von allenmöglichen 8) Situationenberücksichtigen:

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

Dies ist nur eine von allen möglichen Lösungen!

Kara, der Tunnelwächter

Page 41: Kara, der programmierbare Marienkäfer !

Aufgabe: a) 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.

Übung 9: Kara und der Tunnel

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!

Page 42: Kara, der programmierbare Marienkäfer !

• 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)

Wozu sind Zustände gut ?

Page 43: Kara, der programmierbare Marienkäfer !

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.

Page 44: Kara, der programmierbare Marienkäfer !

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!

Page 45: Kara, der programmierbare Marienkäfer !

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.

Page 46: Kara, der programmierbare Marienkäfer !

Hilfe für PacMan

Warum klappt das Programm auch für eine Linkskurve?

Page 47: Kara, der programmierbare Marienkäfer !

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!

Page 48: Kara, der programmierbare Marienkäfer !

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.

Page 49: Kara, der programmierbare Marienkäfer !

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.

Page 50: Kara, der programmierbare Marienkäfer !

Warum Kara?

Kriterium Erläuterung

Kara ist einfach Kara ist für Programmieranfänger konzipiert Kara setzt keinerlei Kenntnisse voraus Kara ist sehr einfach zu bedienen Syntaxfehler gibt es nicht!

Kara ist methodisch wertvoll

Kara bietet die Möglichkeit die Programmausführung schrittweise zu verfolgen farbige Untermalung des Programmablaufs während der Ausführung bis zur

Anweisungsebene visuelle Darstellung des zugehörigen Zustanddiagramms Kara gibt eine Rückmeldung über die Korrektheit des erstellten Programms im

Handumdrehen Erprobung an unterschiedlichen Welten sehr realitätsnah Kara gibt sinnvolle Fehlermeldungen aus, mit denen SchülerInnen etwas anfangen

können Kara weist bei der Ausführung der Programme auf Logikfehler hin

Kara motiviert Kara macht Spaß, erzeugt Spannung und ist grafisch ansprechend

Technische Vorteile

Kara steht für den Unterricht frei zur Verfügung Einsatzfähigkeit auf verschiedenen Betriebssystemen einfache Installation ständige Weiterentwicklung durch ein kompetentes Team aus Informatikern an der ETH

Zürich Weiterführung der Arbeit in der Oberstufe mit javakara möglich

Unterstützung des Lehrers

umfangreiche Materialsammlung mit Aufgaben und Vorträgen im Internet