Zustandsorientierte Modellierung - Fachgebiet Didaktik der Informatik
Zustandsorientierte Modellierung - Fachgebiet Didaktik der Informatik
Zustandsorientierte Modellierung - Fachgebiet Didaktik der Informatik
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
HANS-SACHS-GYMNASIUM NÜRNBERGSTUDIENSEMINAR 2000/2002<strong>Zustandsorientierte</strong> <strong>Modellierung</strong> –Vorschlag für einen Einstieg in dieses Themaim <strong>Informatik</strong>unterricht <strong>der</strong> MittelstufeCHARON – ein interaktives Programmzur Erstellung und Simulation endlicher AutomatenSchriftliche Hausarbeitdes Studienreferendars Matthias Spohrer(M / Ph / In)August 2001
Inhaltsverzeichnis1 Didaktische Überlegungen ............................................................................ 32 Theoretischer Hintergrund........................................................................... 72.1 <strong>Zustandsorientierte</strong> <strong>Modellierung</strong>und Endliche Automaten in <strong>der</strong> theoretischen <strong>Informatik</strong> .......................................72.2 Endliche Automaten und Zustandsübergangsdiagramme ........................................82.3 Akzeptoren .............................................................................................................112.4 Ausgelöste Aktionen ..............................................................................................132.5 Darstellung in <strong>der</strong> Zustandübergangstabelle ..........................................................153 Der Unterrichtsentwurf............................................................................... 183.1 Einführung..............................................................................................................183.2 Definition endlicher Automatenund Übergangsdiagramme......................................................................................193.3 Zustandstabellen und ausgelöste Aktionen ............................................................213.4 Akzeptoren und Mustererkennung .........................................................................233.5 Übungsphase, Projektmöglichkeit und Lernzielkontrolle ......................................244 Das Programm CHARON.............................................................................. 254.1 Erstellung von Automaten......................................................................................254.2 Simulation von Abläufen........................................................................................264.3 Weitere Möglichkeiten ...........................................................................................275 Ausblick......................................................................................................... 29Anhang ................................................................................................................. 31Mitgelieferte Beispielautomaten ........................................................................................31Arbeitsblatt 1 ......................................................................................................................32Hinweise und Lösungen zum Arbeitsblatt Nr. 1 ................................................................34Arbeitsblatt 2 ......................................................................................................................35Hinweise und Lösungen zum Arbeitsblatt Nr. 2 ................................................................36Arbeitsblatt 3 ......................................................................................................................37Hinweise und Lösungen zum Arbeitsblatt Nr. 3 ................................................................38Vorschlag für eine Stegreifaufgabe....................................................................................40Literaturverzeichnis ........................................................................................... 41Erklärung............................................................................................................. 42
Didaktische Überlegungen1 Didaktische ÜberlegungenNoch deutlicher gesagt, meine ich, dass die Zeit reif ist für die Aufnahme <strong>der</strong> <strong>Informatik</strong> in denPflichtfachbereich geeigneter Typen des Gymnasiums. 1Eine Diskussion über Sinn und Zweck <strong>der</strong> <strong>Informatik</strong> als ordentliches Pflichtfach am Gymnasiumsoll hier nicht geführt werden. Dies ist bereits an an<strong>der</strong>er Stelle 2 mehrfach und ausführlichgeschehen und nicht Aufgabe dieser Arbeit. Tatsache ist jedoch, dass die <strong>Informatik</strong> abdem Schuljahr 2003/2004 an allen bayerischen Gymnasien unterrichtet wird, da „aufgrund desAnspruchs, breit angelegte Studierfähigkeit und vertiefte Allgemeinbildung zu vermitteln, (...)kein Weg an <strong>der</strong> Einführung eines Pflichtfaches <strong>Informatik</strong> vorbeiführen“ konnte 3 . Hier stelltsich jedoch die Frage nach den Lerninhalten dieses neuen Unterrichtsfach, in diesem Fallekonkret: Wozu und wie viel sollen Schülerinnen und Schüler über zustandsorientierte <strong>Modellierung</strong>erfahren?„Fähigkeiten wie das gezielte Finden, das Selektieren, Interpretieren und Präsentieren von Informationen,das Nutzen und Erkennen von Querbezügen gewinnen mehr und mehr an Bedeutung;eine tragende Rolle spielt dabei <strong>der</strong> Einsatz mo<strong>der</strong>ner Informationstechnologie. Kenntnisseüber Grundlagen <strong>der</strong> automatischen Darstellung und Verarbeitung von Information sindVoraussetzung für eine sinnvolle, zweckgerichtete und verantwortungsbewusste Nutzung undMitgestaltung informationstechnischer Systeme und müssen heute als Bestandteile <strong>der</strong> Allgemeinbildungbetrachtet werden.“ Diese Aussage des Ministerialdirigenten Dr. Peter Müller 4spiegelt ganz deutlich die Intention des neuen Pflichtfaches <strong>Informatik</strong> wi<strong>der</strong>. Hubwieser 5 bezeichnetsie als „informationszentrierten Ansatz“, welcher nicht den Algorithmus, son<strong>der</strong>n dieInformation, ihre Darstellungsformen und Interpretationsmöglichkeiten in den Mittelpunktstellt. Das Schlüsselwort lautet demnach nicht „Programmierung“, son<strong>der</strong>n „<strong>Modellierung</strong>“.Will man den Schülerinnen und Schülern ein breites Spektrum von Informationsverarbeitungund <strong>Modellierung</strong>stechniken bieten, kommt man um den zustandsorientierten Ansatz nicht1 Zitat aus einer Rede von Frau Staatsministerin M. Hohlmeier an <strong>der</strong> Fakultät für <strong>Informatik</strong> <strong>der</strong> TechnischenUniversität München am 27.11.98; [S2], S. 3; [S3], S. 92 Siehe z.B. [Hub00] Teil B, Kapitel 23 [S1]: Dr. Peter Müller im Rundschreiben 75412 des Bayerischen Staatsministeriums für Unterricht und Kultusan die Leiterinnen und Leiter <strong>der</strong> Gymnasien in Bayern4 ebenda (siehe 3)5 [Hub00], S. 78Seite 3
Didaktische Überlegungenherum. Fischer und Schenk beschreiben treffend 6 : „Sollte sich in Zukunft <strong>der</strong> Schwerpunkt im<strong>Informatik</strong>unterricht weg von Algorithmen und Datenstrukturen hin zu allgemeinen Konzepten<strong>der</strong> Informationsverarbeitung verlagern, so unterstützt die Thematik über endliche Automatendiese Tendenz nachhaltig.“Wann sollte also was in <strong>der</strong> Schule gelehrt werden? Im naturwissenschaftlich-technischenGymnasium wird <strong>Informatik</strong> zweistündig in den Jahrgangsstufen 9 mit 11 unterrichtet werden.Hier soll auch die zustandsorientierte <strong>Modellierung</strong> eingeglie<strong>der</strong>t werden. Da bislang keinLehrplan o<strong>der</strong> Entwurf 7 veröffentlicht wurde, können an dieser Stelle nur ein paar Überlegungenmöglich sein. In <strong>der</strong> 9. Jahrgangsstufe werden nach zweijähriger <strong>Informatik</strong>-Pause zuerstwohl grundlegende Lerninhalte von Interesse sein. So werden <strong>der</strong> Funktionsbegriff in <strong>der</strong> <strong>Informatik</strong>und Datentypen eine wesentliche Rolle spielen. Daran anknüpfend bietet sich die Datenmodellierungals wichtige Technik zur Speicherung, Verarbeitung und Darstellung von Informationen(„Daten“) an und die Schüler lernen das relationale Datenbankmodell kennen. In<strong>der</strong> 10. Jahrgangsstufe bestünde die Möglichkeit, mit <strong>der</strong> ablauforientierten <strong>Modellierung</strong> zubeginnen. Hier steht <strong>der</strong> Algorithmus und seine Umsetzung in imperative Programme im Vor<strong>der</strong>grund.Wird im Anschluss daran die zustandsorientierte <strong>Modellierung</strong> behandelt, so erkenntman sofort einen immensen Vorteil dieser Technik: während man im ablauforientierten Fallkeine „ruhenden Stellen“ zum Überlegen hat, bietet genau dies das zustandsorientierte Denken,welches man daher als „statisches Denken“ 8 bezeichnen kann. Für den Lernenden ist es deswegenhier relativ einfach, einen Ablauf „step by step“ nachzuvollziehen. Eine weitere Möglichkeitwäre die Behandlung von endlichen Automaten in <strong>der</strong> Oberstufe, wobei hier Schüler „ihreKenntnisse mit zum Teil bereits wissenschaftspropädeutischer Ausrichtung vertiefen“ 9 .Wie wird die zustandsorientierte <strong>Modellierung</strong> dem Alltag gerecht? Hierzu ein kleines Beispiel!Je<strong>der</strong> kennt die Situation: man sitzt vor irgendeinem technischen Gerät, sagen wir maleinem Videorekor<strong>der</strong>, und wun<strong>der</strong>t sich, dass es nicht so funktioniert, wie man es sich eigentlichvorstellt. In den seltensten Fällen handelt es sich hierbei um einen technischen Defekt,meist ist nur die Bedienung fehlerhaft. Man drückt verzweifelt eine o<strong>der</strong> mehrere Tasten, ohnedass das Gerät wie gewünscht reagiert. Der Rekor<strong>der</strong> befindet sich augenblicklich in einemZustand, aus dem das Drücken <strong>der</strong> betätigten Tasten nicht herausführt. Nur das Aktivieren be-6 [Fis97], S. 87 In [Hub00] S. 102 f. befindet sich lediglich ein Vorschlag für ein Gesamtkonzept, auf das meine Überlegungenaufbauen8 status, -us (lat.): <strong>der</strong> Zustand9 [Hub00], S. 104Seite 4
Didaktische Überlegungenstimmter Knöpfe führt den Rekor<strong>der</strong> in einen neuen (gewünschten o<strong>der</strong> unerwünschten) Zustandüber. Oft ist die Bedienungsanleitung zu knapp gehalten o<strong>der</strong> unverständlich formuliert,so dass man selbst bei aufmerksamen Lesen leicht das Gerät in einen unerwünschten Zustandbringen kann. Übersieht man zum Beispiel, das VPS-Signal zu aktivieren, so ist die Enttäuschunggroß, wenn bei Zeitverschiebung des gewünschten Programms aus aktuellem Anlassdie einprogrammierte Sendung nicht vollständig aufgenommen wurde, weil <strong>der</strong> Rekor<strong>der</strong> imZustand „Aufnahme von Sen<strong>der</strong> X zur Zeit Y, VPS ignorieren“ gewesen ist. Mittlerweile findetman aber immer öfter Gebrauchsanweisungen, welche ähnlich unserer Zustandsübergangsdiagrammegehalten sind, um den Eingabeablauf bis zum gewünschten Ergebnis einfach undübersichtlich darzustellen.Automaten sind ein Bestandteil des alltäglichen Lebens. Je<strong>der</strong> von uns gerät immerwie<strong>der</strong> an die verschiedensten Automaten, seien es welche für Fahrscheine, Getränke, Süßigkeiten,Parktickets, Geld o<strong>der</strong> ähnlichem. Manche Geräte entpuppen sich erst bei genaueremHinsehen als Maschinen, die ebenfalls verschiedene Zustände annehmen können und auf dieunser Modell ebenso übertragbar wäre. Dazu gehören Fahrstühle, Ampeln, Alarmanlagen undMixer, eigentlich nahezu jedes an<strong>der</strong>e technische Gerät, z.B. <strong>der</strong> Computer als Beispiel füreinen sehr komplexen Automaten. Ja sogar ein Kugelschreiber lässt sich als ein sehr einfacherAutomat auffassen. Auch Schülerinnen und Schüler <strong>der</strong> Mittelstufe verfügen diesbezüglichsicher über ausreichend Erfahrung und hatten schon mal Schwierigkeiten mit <strong>der</strong> Bedienungirgendeines Automaten, jedoch kaum jemand wird sich bislang grundlegende o<strong>der</strong> weiterführendeGedanken darüber gemacht haben. Das zustandsorientierte Modell liefert daher einenwichtigen Beitrag zum problemlösenden und strukturierten Denken, welches gerade für einenGymnasiasten, <strong>der</strong> ja die Studierfähigkeit erlangen möchte, ein oberstes Ziel seiner Ausbildungsein soll.Welches Intention hat diese Arbeit also? Im nun folgenden Hauptteil möchte ich darstellen, wieman die zustandsorientierte <strong>Modellierung</strong> im Rahmen des Pflichtfaches <strong>Informatik</strong> in <strong>der</strong> Mittelstufeeinführen kann. Die Schüler sollen mit <strong>der</strong> Theorie <strong>der</strong> deterministischen endlichenAutomaten vertraut werden, Verständnis für <strong>der</strong>en Darstellung als Zustandsübergangsdiagrammebekommen und die Fähigkeit erlangen, eigene Automaten mit Hilfe <strong>der</strong>artiger Diagrammezu gestalten. Hierbei spielen Übergangsfunktionen und ihre Darstellung, die möglichenEingaben sowie die verschiedenen von einem Zustand ausgelösten Aktionen eine wesentlicheRolle. Da dem Medieneinsatz in <strong>der</strong> <strong>Informatik</strong> eine beson<strong>der</strong>e Rolle zuteil wird, habe icheigens für diese Unterrichtssequenz das Programm „CHARON“ entwickelt, auf das sich die gesamteArbeit stützt. Bislang war es nur möglich, endliche Automaten mit Hilfe imperativerSeite 5
Didaktische ÜberlegungenProgramme zu simulieren. Der dazu benötigte Aufwand und das für die Schüler benötigte Programmiervorwissenist durchaus beträchtlich. Mit Hilfe von CHARON lassen sich beliebige deterministischeendliche Automaten erzeugen und ihre Funktionen nachahmen. Deswegen fußtmein Unterrichtsentwurf für einen Einstieg in das Thema auf eine intensive Nutzung diesesProgramms. Da es sich dabei um einen Vorschlag handelt, sind natürlich auch an<strong>der</strong>e Möglichkeitendenkbar. Mehr dazu im 4. und 5. Kapitel.Wichtig erscheint mir noch zu erwähnen, dass auf Grammatiken, insbeson<strong>der</strong>e natürlichauf die den endlichen Automaten entsprechende reguläre Grammatik, nicht weiter eingegangenwird, da dies doch eher <strong>der</strong> theoretischen <strong>Informatik</strong> anzuglie<strong>der</strong>n ist und in <strong>der</strong> Schule ja zumindestin <strong>der</strong> Mittelstufe <strong>der</strong> <strong>Modellierung</strong>scharakter im Vor<strong>der</strong>grund stehen sollte. Sollenreguläre Sprachen in <strong>der</strong> Oberstufe behandelt werden, ist trotzdem eine Einführung auf folgen<strong>der</strong>Ebene denkbar und sinnvoll (siehe auch Kapitel 5: Ausblick).Zum Schluss dieser Einleitung noch ein paar persönliche Bemerkungen: Aufgrund <strong>der</strong> fehlendenUnterrichtserfahrungen (bislang gibt es noch keine Möglichkeit diese Überlegungen in diePraxis umzusetzen) hat <strong>der</strong> Entwurf Vorschlagscharakter. Über jede Resonanz, insbeson<strong>der</strong>enatürlich das Programm betreffend, wäre ich daher immer sehr dankbar. Danken möchte ich andieser Stelle auch Herrn StD U. Freiberger, <strong>der</strong> mir seine Zeit geschenkt und stets ein offenesOhr für Fragen bei Unklarheiten hatte, sowie allen, die mich in irgendeiner Form unterstützthaben.Wie üblich bleibt anzumerken, dass mit „Schüler“ und „Lehrer“ natürlich immer auch„Schülerinnen“ und „Lehrerinnen“ gemeint sind, ich aus Gründen <strong>der</strong> Lesbarkeit aber meistensnur die maskuline Form verwende, ohne dabei einem Geschlecht den Vorzug geben zu wollen.In einer immer mehr technisch orientierteren Welt mit immer schnelleren Abläufen wird mandas „ruhige Denken in Zuständen“ oft brauchen können und schnell zu schätzen lernen. Ichhoffe, diese Arbeit und das beigefügte Programm kann einen kleinen Beitrag dazu leisten.Seite 6
Theoretischer Hintergrund<strong>Zustandsorientierte</strong> <strong>Modellierung</strong>2 Theoretischer HintergrundIn diesem Kapitel soll kurz das nötige Fachwissen aufgefrischt und außerdem eine Notationvorgeschlagen werden, welche sowohl dem fachlichen Anfor<strong>der</strong>ungsniveau, als auch dem <strong>der</strong>Schüler gerecht wird. Ich habe versucht einen Kompromiss zwischen <strong>der</strong> Ausführlichkeit und<strong>der</strong> Genauigkeit meiner Darstellung zu finden. Bei weniger relevanten Teilen, die für den Unterrichtin <strong>der</strong> Mittelstufe keine Rolle spielen, wird nur kurz auf geeignete Fachliteratur verwiesen,wogegen bei Themen, die meines Erachtens behandelt werden sollten, sowohl <strong>der</strong> abstraktetheoretische Hintergrund wie<strong>der</strong>holt, als auch eine entsprechende schülergerechte Umsetzungempfohlen wird, um später im 3. Kapitel hierauf verweisen zu können. Außerdem wird angeeigneten Stellen stets auf das Programm CHARON verwiesen, um bereits hier einige seinerMöglichkeiten anzusprechen.2.1 <strong>Zustandsorientierte</strong> <strong>Modellierung</strong>und Endliche Automaten in <strong>der</strong> theoretischen <strong>Informatik</strong>Zuerst noch einmal eine kurze Erläuterung zum Begriff „<strong>Modellierung</strong>“. „Wir wollen im Folgendenein Modell (...) als eine abstrahierte Beschreibung eines realen o<strong>der</strong> geplanten Systemsverstehen, das die für eine bestimmte Zielsetzung wesentlichen Eigenschaften des Systemserhält. Die Erstellung einer solchen Beschreibung wollen wir Modellbildung o<strong>der</strong> <strong>Modellierung</strong>nennen.“ 10 Unter <strong>Modellierung</strong> versteht man also ganz allgemein jede graphische, sprachlicheo<strong>der</strong> mathematische Umsetzung bzw. Darstellung des ursprünglichen Problems. Je nachArt <strong>der</strong> zu lösenden Aufgabe ergeben sich daraus mehrere Ansätze zu <strong>der</strong>en Lösung, und dementsprechendauch verschiedene <strong>Modellierung</strong>stechniken. Will man dynamische Vorgängemöglichst genau beschreiben, eignet sich dazu insbeson<strong>der</strong>e die zustandsorientierte <strong>Modellierung</strong>.Als Ergebnis erhält man Zustandsübergangsdiagramme, <strong>der</strong>en Stärke insbeson<strong>der</strong>e darinliegt, dass sie nahezu selbsterklärend sind und verschiedene Abläufe sehr einfach repräsentierenkönnen.Zwar lässt sich diese Technik auf sehr viele Bereiche anwenden, wesentlich und für die Schulebeson<strong>der</strong>s von Interesse sind jedoch endliche Automaten, da diese - wie bereits im ersten Kapitelbeschrieben - aufgrund des hohen Alltagsbezuges für eine genauere Betrachtung geradezu10 [Hub00], S. 86Seite 7
Theoretischer HintergrundEndliche Automaten und Zustandsübergangsdiagrammeprädestiniert scheinen. In <strong>der</strong> theoretischen <strong>Informatik</strong> wird <strong>der</strong> endliche Automat folgen<strong>der</strong>maßendefiniert 11 :Ein (deterministischer) endlicher Automat M (kurz DFA) ist gegeben durch ein 5-Tupel( Z Σ,δ , z E)M = , , wobei,0Z := endliche Menge <strong>der</strong> Zustände,Σ := Eingabealphabet (endlich!), es gilt Z ∩ Σ = ∅δ : Z × Σ → Z heißt Überführungsfunktion,z 0 := Startzustand (z 0 ∈Z),E := Menge <strong>der</strong> Endzustände (E ⊆ Z).Diese formale Definition wird für Schüler kaum einsichtig sein (insbeson<strong>der</strong>e die abstrakteDefinition <strong>der</strong> Überführungsfunktion) und sollte daher auf ein für Schüler <strong>der</strong> Mittelstufe geeignetesNiveau vereinfacht werden. Wie später im 3. Kapitel erläutert, können Schüler überGemeinsamkeiten <strong>der</strong> ihnen bekannten Automaten selbstständig ein abstrakteres Modell erschaffen,welches ohne Kenntnis und Verwendung <strong>der</strong> formalen Definition einen endlichenAutomat eindeutig charakterisiert, so wie dies im nun folgenden Kapitel aufgezeigt wird.2.2 Endliche Automaten und ZustandsübergangsdiagrammeBekommt man die Aufgabe, kurz und anschaulich einen endlichen Automaten zu beschreiben,so mag man in etwa folgendes antworten: Ein endlicher Automat kann eine endliche Zahl vonZuständen annehmen. Von einem Startzustand ausgehend kann <strong>der</strong> Automat bei einer bestimmtenEingabe in einen an<strong>der</strong>en Zustand übergehen, von dem aus er bei erneuter Eingabewie<strong>der</strong>um seinen aktuellen Zustand wechseln kann...Mit einer solchen o<strong>der</strong> ähnlichen sprachlichen Ausformulierung ergibt sich fast schonzwangsläufig die graphische Darstellung endlicher Automaten, nämlich bereits erwähnte Zustandübergangsdiagramme,manchmal auch kurz Zustandsdiagramme o<strong>der</strong> Übergangsdiagrammegenannt. Diese beschreiben einen Automaten ebenfalls vollständig und sind aufgrundihrer Anschaulichkeit sicherlich die geeignetste Möglichkeit für die Darstellung eines solchenim Unterricht. Daher bietet sich für die Schule folgende „Definition“ an, welche auch gleicheine verbindliche Notation für die Zustandsdiagramme enthält:11 nach [Sch97], S. 27Seite 8
Theoretischer HintergrundEndliche Automaten und ZustandsübergangsdiagrammeEin endlicher Automat hat folgende Eigenschaften:• er kann eine feste Anzahl von verschiedenen Zuständen annehmen; diese werden vonKreisen o<strong>der</strong> Ellipsen dargestellt, die die Namen o<strong>der</strong> Nummern <strong>der</strong> Zustände enthalten12• genau ein Zustand ist <strong>der</strong> Ausgangs- o<strong>der</strong> Startzustand; dieser wird durch einen kurzenPfeil gekennzeichnet, dessen Spitze in den Zustand zeigt• mindestens einer <strong>der</strong> Zustände ist ein Endzustand; Endzustände werden durch Doppelkreisebzw. Doppelellipsen dargestellt• es besteht die Möglichkeit, den Automaten durch verschiedene Eingaben zu bedienen.Die Menge <strong>der</strong> möglichen Eingaben wird Eingabealphabet 13 genannt, ihre Elementenennt man auch (Eingabe-) Zeichen. Die Anzahl <strong>der</strong> verschiedenen Zeichen ist endlich.• bei Eingabe eines Elements des Eingabealphabets erfolgt stets ein Übergang von einemZustand 1 in einen Zustand 2. Dieser wird durch einen Pfeil von Zustand 1 nach Zustand2 dargestellt, <strong>der</strong> das entsprechende Zeichen <strong>der</strong> auslösenden Eingabe als Markierungträgt. Da beide Zustände nicht notwendigerweise verschieden sein müssen, kannein Zustand auch auf sich selbst zeigen, was bedeutet, dass <strong>der</strong> Automat bei <strong>der</strong> entsprechendenEingabe im selben Zustand bleibt.• von einem Zustand dürfen keine zwei Pfeile mit <strong>der</strong> gleichen Markierung auf verschiedeneZustände verweisen, d.h. <strong>der</strong> Übergang von einem Zustand auf einen an<strong>der</strong>enmuss bei je<strong>der</strong> Eingabe eindeutig sein. Genauso muss für jede möglich Eingabeein Übergang existieren 14Der zuletzt genannte Punkt charakterisiert einen deterministischen endlichen Automaten. Trifftdies nicht zu, d.h. kann <strong>der</strong> Automat bei Eingabe eines bestimmten Zeichens von einem Zu-12 Im Programm CHARON besteht aus Gründen <strong>der</strong> Übersicht auch die Möglichkeit die Namen oben rechts nebendie Zustände zu setzen13 [Hub00], S. 171 spricht von „auslösenden Aktionen“14 Soll <strong>der</strong> Automat bei Eingabe von bestimmten Zeichen gar keine Reaktion zeigen, o<strong>der</strong> modelliert man nureinen Teilausschnitt eines Automaten, <strong>der</strong> bei Eingabe dieses Zeichens in einen Zustand außerhalb jenes Teilautomatenübergeht, so kann <strong>der</strong> entsprechende Pfeil im Diagramm auch weggelassen werdenSeite 9
Theoretischer HintergrundEndliche Automaten und Zustandsübergangsdiagrammestand 1 sowohl in einen Zustand 2, als auch in einen Zustand 3 wechseln, so spricht man voneinem nichtdeterministischen endlichen Automaten. Dies ist strenggenommen auch <strong>der</strong> Fall,wenn ein Zustand weniger Zeichen akzeptiert, als eigentlich zur Verfügung stehen. Da nachdem Satz von Rabin und Scott 15 je<strong>der</strong> nichtdeterministische Automat in einen äquivalentendeterministischen Automaten transformierbar ist, ist die Beschränkung auf Letztere meinesErachtens nach sinnvoll, da nichtdeterministische Maschinen zwar flexibler, aber auch deutlichschwerer begreifbar sind. Die Möglichkeit, dass eine Maschine bei identischer Bedienung malso und mal so reagieren soll, erscheint sicherlich nicht nur Schülern als fragwürdig. Daher sollendiese hier und im Unterricht nicht weiter behandelt werden, zumal selbst in <strong>der</strong> Software-Technik nichtdeterministische Automaten keine Rolle spielen 16 .Als Beispiel für ein einfaches Zustandsübergangsdiagramm ist hier das eines Fahrstuhls angegeben,<strong>der</strong> vereinfacht über drei Zustände verfügt: „Erdgeschoss“, „1. Stock“ und „2. Stock“.Sein Eingabealphabet besteht demnach aus den Zeichen „EG“, „1“ und „2“. Zu Beginn befindetsich <strong>der</strong> Fahrstuhl im Erdgeschoss, was dem Startzustand entspräche. Durch Eingabe desZeichen „2“ (welche durch das Drücken des Knopfes „2“ realisiert wird) geht <strong>der</strong> Fahrstuhl inden Zustand „2. Stock“ über, fährt also in das zweite Obergeschoss, bleibt dort stehen und wartetauf eine neue Eingabe.Beachten Sie, dass <strong>der</strong> Fahrstuhlbeim Übergang zwar räumlichden 1. Stock passiert, denZustand jedoch nicht einnimmt(er bleibt ja nicht stehen),son<strong>der</strong>n direkt ins obereStockwerk fährt, wo er schließlichden gewünschten Zustan<strong>der</strong>hält. Das Diagramm siehtdemnach folgen<strong>der</strong>maßen aus:15 [Sch97], S. 32f.16 [Bal96], S. 277Seite 10
Theoretischer HintergrundAkzeptoren2.3 AkzeptorenDer im vorangegangenen Kapitel beschriebene Automat eines Fahrstuhls besitzt die Eigenschaft,dass er keine Endzustände besitzt bzw. dass eigentlich alle Zustände Endzustände seinkönnten. Egal welche Knöpfe betätigt wurden, egal wie oft <strong>der</strong> Lift schon hin- und hergefahrenist, er kann bei jedem beliebigen Stockwerk stehen bleiben, bis die nächste Anfor<strong>der</strong>ung an ihngeschickt wird. Der Automat „Fahrstuhl“ akzeptiert also jede beliebig lange Eingabe aus demAlphabet {„EG“, „1“ und „2“}.In <strong>der</strong> <strong>Informatik</strong> sind aber insbeson<strong>der</strong>e solche Automaten interessant, die bei Eingabeeiner bestimmten Kombination aus Zeichen des Eingabealphabets entwe<strong>der</strong> in einen gültigenEndzustand übergehen und die Eingabe daher akzeptieren, o<strong>der</strong> bei einem Nicht-Endzustandstehen bleiben und die Eingabe deswegen ablehnen. Derartige endliche Automaten nennt mandeswegen auch Akzeptoren, eine Kombination aus mehreren (aber endlich vielen) Zeichen desEingabealphabets bezeichnet man als Wort, und die Fragestellung, ob ein eingegebenes Wortvom Automaten akzeptiert wird o<strong>der</strong> nicht ist allgemein als „Wortproblem“ in <strong>der</strong> theoretischen<strong>Informatik</strong> bekannt.Hinter dem Wortproblem verbirgt sich zugleich die Fragestellung, ob das entsprechendeWort Element <strong>der</strong> formalen Sprache ist, die <strong>der</strong> zugehörige Automat beschreibt. Alle Wörter,dessen Eingabe <strong>der</strong> Automat akzeptiert, bilden gemeinsam eine Sprache, man sagt, die SpracheL des Automaten. Um den Begriff „Sprache“ in diesem Zusammenhang jedoch genauer definierenzu können, muss man sich zuerst mit Grammatiken auseinan<strong>der</strong>setzen, da jede Sprachevon einer Grammatik erzeugt wird. Da, wie in <strong>der</strong> Einleitung bereits angesprochen, Grammatikenund Sprachen aufgrund ihrer hohen Abstraktheit <strong>der</strong> theoretischen <strong>Informatik</strong> anzusiedelnsind, und im Mittelstufenunterricht, wo <strong>der</strong> <strong>Modellierung</strong>scharakter im Vor<strong>der</strong>grund steht,nicht behandelt werden sollten, möge dem interessierten Leser an dieser Stelle <strong>der</strong> Verweis aufentsprechende Fachliteratur, z.B. [Sch97] o<strong>der</strong> [Bro98] genügen. Anmerken möchte ich jedoch,dass jede durch endliche Automaten erkennbare Sprache zu einer beson<strong>der</strong>en Sprachklassegehört, den regulären Sprachen 17 , welche sich dadurch auszeichnet, dass viele Probleme undFragestellungen aus <strong>der</strong> theoretischen <strong>Informatik</strong> nur bei regulären Sprachen entscheidbar sind.Umgekehrt ist jede dieser regulären Sprachen durch einen endlichen Automaten beschreibbar.Nun aber erst einmal ein kleines Beispiel. Gesucht ist ein Automat, <strong>der</strong> nur die Zahlenakzeptiert, die durch 4 teilbar sind. Die Zahlen werden als Binärzahlen dargestellt, das zugrun-17 diese bilden in <strong>der</strong> nach Noam Chomsky benannten Sprach-Hierarchie das obere Ende und werden auch alsTyp-3 o<strong>der</strong> Chomsky-3 Sprachen bezeichnet. Auch dazu findet <strong>der</strong> interessierte Leser eine große Auswahl in <strong>der</strong>FachliteraturSeite 11
Theoretischer HintergrundAkzeptorendeliegende Eingabealphabet lautet also {0, 1}. Alle durch 4 teilbare Zahlen sind genau diejenigenBinärzahlen, die auf „00“ enden. Folgen<strong>der</strong> endlicher Automat leistet das Gewünschte:Dieser Automat ist unter dem Dateinamen „BinEnde00.cha“ als CHARON 1.02-Datei gespeichertund kann dort ausgiebig getestet werden.Der einzige Endzustand ist „Z2“. Bleibt <strong>der</strong> Automat nach Abarbeitung des eingegebenenWortes in diesem Zustand stehen, so ist das Wort gültig, d.h. die als Binärzahl eingegebeneZahl ist tatsächlich durch 4 teilbar. Ist das Wort vollständig eingegeben worden, <strong>der</strong> Automatjedoch nicht im Zustand Z2, also in keinem Endzustand stehen geblieben, so ist das Wort nichtvon diesem Automaten erkannt worden, die entsprechende Zahl also nicht durch 4 teilbar.Aufgrund dieser Eigenschaft werden Akzeptoren auch „erkennende Automaten“ genannt.Viele Fragestellungen und Anwendungen lassen sich mit Akzeptoren bearbeiten. Die Mustererkennung(pattern matching) kann man sehr einfach mit endlichen Automaten realisieren. EinBeispiel dafür ist <strong>der</strong> mitgelieferte Automat „Finde123.cha“, <strong>der</strong> alle Worte erkennt, welchedie Zeichenkombination „123“ beinhalten. An dieser Stelle soll auch das Parsen nicht unerwähntbleiben. Bevor <strong>der</strong> Compiler eine semantische Analyse durchführt und den Quelltexteines Programms übersetzt, überprüft <strong>der</strong> Parser (dt.: Zerteiler) diesen ausschließlich auf seineGrammatik, d.h. ob <strong>der</strong> Programmierer die für die jeweilige Sprache gültigen Regeln eingehaltenhat. Für die Sprache PASCAL bedeutet das z.B., dass für jedes BEGIN auch ein END existieren,o<strong>der</strong> dass jede vollständige Auffor<strong>der</strong>ung mit einem Semikolon abgeschlossen werdenmuss. So könnte ein geeigneter Parser auch überprüfen, ob ein Rechenausdruck syntaktischsinnvoll, d.h. z.B. korrekt geklammert ist. Während „(3)“, „2+(4+1)“ o<strong>der</strong> „(((3-4)-2)-1)“ syntaktischkorrekte Rechenausdrücke sind, ergeben „)2)“ o<strong>der</strong> „((8+)2“ keinen Sinn. Da die meistenProgrammiersprachen (und ebenso algebraische Ausdrücke) auf kontextfreie GrammatikenSeite 12
Theoretischer HintergrundAusgelöste Aktionenaufbauen, sind sie jedoch nicht mit endlichen Automaten darstellbar. Die Sprachen n{( ) ≥ 1}L = n<strong>der</strong> korrekt geklammerten Ausdrücke ist kontextfrei, jedoch nicht regulär undsomit auch nicht durch einen endlichen Automaten 18 beschreibbar. Beschränkt man sich jedochwie in <strong>der</strong> Schule oft üblich auf zwei o<strong>der</strong> drei Ebenen, d.h. man verwendet die verschiedenenKlammern {, }, [, ], (, ) und erlaubt nur ein Öffnen <strong>der</strong> gleichen Art, wenn diese nicht bereitsgeöffnet ist, so sind die durch diese Regeln festgelegten Wörter von einem Akzeptor darstellbar.Dieser ist über die Datei „Klammer.cha“ abrufbar.In CHARON v1.02 besteht die Möglichkeit jedes eingegebene Wort schrittweise zu überprüfenund genau zu verfolgen, in welchem Zustand sich <strong>der</strong> Automat gerade befindet, genausokann aber auch durch Drücken <strong>der</strong> Taste „Schneller Test“ kontrolliert werden, ob ein bestimmtesWort vom Automaten erkannt wird.2.4 Ausgelöste AktionenAlle Automaten, die unseren bisherigen Eigenschaften genügen, haben gemein, dass man siezwar durch verschiedene Eingaben bedienen kann, sie aber für den Anwen<strong>der</strong> keine relevantenAktionen auslösen. Einzig Akzeptoren geben wie eben gesehen einen booleschen Wert aus, <strong>der</strong>besagt, ob das eingegebene Wort erkannt wurde o<strong>der</strong> nicht. Im nun folgenden Abschnitt werdendie Automaten dadurch erweitert, dass sie bei Erreichen eines gewissen Zustandes eineAktion auslösen können.Schauen wir noch einmal auf den in Abschnitt 2.2 betrachteten „Fahrstuhl-Automaten“.Da je<strong>der</strong> Zustand mit einem Stockwerk interpretiert werden kann, <strong>der</strong> Übergang„EG→1. Stock“ praktisch die Fahrt vom Erdgeschoss zum 1. Stock ist, wäre die einzige sinnvolleausgelöste Aktion bei Erreichen jedes Stockwerkes „Türe auf“. Diese ist jedoch evidentund dazu für alle Zustände gleich, weshalb hier auf eine geson<strong>der</strong>te Betrachtung von ausgelöstenAktionen verzichtet werden kann.Bei an<strong>der</strong>en Automaten sind die von einem Zustand ausgelösten Aktionen für den Benutzerdeutlich wesentlicher (wenngleich die meisten Leser es nicht als „unwesentlich“ bezeichnenwürden, ob sich die Fahrstuhltüren öffnen o<strong>der</strong> geschlossen bleiben...). Ein Colaautomatsollte in einem bestimmten Zustand das gewünschte Getränk und das Rückgeld herausgeben,von einer Musicbox erwartet man das Abspielen <strong>der</strong> gewählten Schallplatte und eineAmpelanlage sollte bei Erreichen eines neuen Zustandes entsprechendes Licht anzeigen. Bei-18 aber durch einen Kellerautomaten, siehe z.B. [Sch97] S. 68 ff.Seite 13
Theoretischer HintergrundAusgelöste Aktionenspiele für endliche Automaten mit ausgelösten Aktionen können in CHARON v1.02 durch Laden<strong>der</strong> Dateien „Fußgängerampel.cha“, „Stoppuhr.cha“ und „Colaautomat-X.cha“ 19 angezeigt undausprobiert werden.Normalerweise wird die während eines Zustandes ausgelöste Aktion im Übergangsdiagrammdirekt im Zustand innerhalb des Kreises unterhalb dessen Namen geschrieben, ausPlatzgründen können sämtliche Aktionen jedoch auch geson<strong>der</strong>t zusammen mit dem dazugehörendenZustand angegeben werden. In CHARON werden die ausgelösten Aktionen direkt in <strong>der</strong>Übergangstabelle eingegeben, was eine komplette Übersicht aller Zustände mit ihren sämtlichenAttributen ermöglicht. Im Diagramm selbst werden sie jedoch nicht angezeigt, jedoch imKontrollfenster, so dass beim schrittweise Überprüfen eines Wortes die jeweilig ausgelösteAktion im rot umrahmten Feld erscheint. Beim Ausdrucken hat <strong>der</strong> Anwen<strong>der</strong> die Möglichkeitdie ausgelösten Aktionen zu ignorieren, o<strong>der</strong> sie nach dem Diagramm für sich wie<strong>der</strong>zugeben.Anzumerken bleibt hier, dass es sich bei Automaten, wo die ausgelösten Aktionen direktan die Zustände gekoppelt sind um sogenannte „Moore-Automaten“ handelt. Im Gegensatzdazu werden im „Mealy-Automaten“ die Aktionen an die Übergänge gebunden. Zwar ist esdenkbar, beide Formen im Unterricht zu behandeln, meines Erachtens ist es jedoch sinnvoller,sich auf einen Typen zu beschränken, um nicht unnötige neue Begriffe und Unterscheidungeneinführen zu müssen, die für Verwirrung sorgen könnten, zumal Moore- und Mealy-Automatenäquivalent sind und ineinan<strong>der</strong> überführt werden könnten. 20 Der Nutzen des somit zusätzlicherworbenen Wissens ist im Vergleich zum damit verbundenen Aufwand zu gering, wenn nichtgar irrelevant. In meinem Programm habe ich mich aus mehreren Gründen für den Moore-Automaten entschieden. Ein pragmatischer Grund war die programmtechnische Umsetzung,jedoch spricht auch noch einiges mehr für die Kopplung <strong>der</strong> Aktionen an die Zustände. EinVorteil ist die konsequente Durchführung des objektorientierten Gedankens, mit dem die Schülerja schon aus <strong>der</strong> 6. Klasse vertraut sind und <strong>der</strong> sich ebenso in <strong>der</strong> datenorientierten <strong>Modellierung</strong>(Entitäten, Entity-Relationship-Diagramme, etc. ) wi<strong>der</strong>spiegelt. Zustände sind meineeinzigen Objekte, die als zusätzliches Attribut nun noch über eine ausgelöste Aktion verfügen.Zwar konnte man sich auch jeden Übergang als geson<strong>der</strong>tes Objekt mit <strong>der</strong> ausgelösten Aktionals Attribut vorstellen, für Schüler dürfte es jedoch einsichtiger sein, den Zustand anstelle einesÜbergangs als Objekt zu sehen, <strong>der</strong> für sie wohl eher Methoden- o<strong>der</strong> Attributcharakter hat.Außerdem wäre ansonsten die Einführung einer weiteren Notation notwendig, wie sie z.B. in19 das große „X“ im Dateinamen ist durch eine Ziffer zu ersetzen. Ich überlasse es dem Leser, die Unterschiede<strong>der</strong> verschiedenen Automaten herauszufinden...20 [Bal96], S. 276Seite 14
Theoretischer HintergrundDarstellung in <strong>der</strong> Zustandübergangstabelle[Hub00] beschrieben ist, wobei hier insbeson<strong>der</strong>e auf eine strenge Unterscheidung zwischenauslösen<strong>der</strong> und ausgelöster Aktion zu achten ist, um beim Nebeneinan<strong>der</strong>schreiben 21 nichtGefahr einer Verwechslung zu laufen.In CHARON v1.02 lässt sich das Objekt „Zustand“ mit ihren wichtigsten Attributen in<strong>der</strong> Zustandstabelle (wie bereits erwähnt) sehr übersichtlich anzeigen. Ferner besteht die Möglichkeit,jede gespeicherte CHARON-Datei mit einem beliebigen Editor zu öffnen und so dengespeicherten Inhalt zu betrachten (und auch zu editieren). Man erkennt hier sehr schön, dassje<strong>der</strong> Zustand mit seinen sämtlichen Attributen eigens gespeichert wird (siehe auch Kapitel 4),was auch für einen Einsatz von CHARON in <strong>der</strong> Lehreinheit <strong>der</strong> objektorientierten <strong>Modellierung</strong>spricht! Außerdem hat man hier die Möglichkeit je Zustand drei verschiedene ausgelöste Aktioneneinzugeben: „ENTRY“ beschreibt die Aktion beim Eintreten in den Zustand, „DO“ dieReaktion des Automaten während er sich im betreffenden Zustand befindet und „EXIT“ seineTätigkeit bei Verlassen desjenigen. Die Bezeichnungen sind <strong>der</strong> UML-Notation 22 entnommenund kennzeichnen eine Art „Kompromisslösung“ zwischen dem Moore- und dem Mealy-Automat (dieser wird auch „hybri<strong>der</strong> Automat“ genannt), bietet er doch eine stärkere (insbeson<strong>der</strong>ezeitliche) Differenzierung beim Übergang. In <strong>der</strong> Mittelstufe halte ich jedoch die Beschränkungauf eine Aktion je Zustand (z.B. „DO“) meist für ausreichend, wenngleich die Unterscheidungden Schülern kaum schwer fallen wird. In CHARON sind jedoch alle drei Möglichkeitenbereits implementiert, falls in <strong>der</strong> Oberstufe komplexere Automaten besprochenwerden sollen o<strong>der</strong> zum „Austoben“ für beson<strong>der</strong>s eifrige Schüler und Kollegen...2.5 Darstellung in <strong>der</strong> ZustandübergangstabelleAnstelle <strong>der</strong> bisher behandelten graphischen Lösung in Form des Diagramms mit Kreisen undPfeilen lassen sich endliche Automaten ebenso mit Zustand(übergangs)tabellen vollständigbeschreiben. Diese wurden bereits mehrfach angesprochen und sollten auch mit den Schülernbehandelt werden, da sie eine einfache aber eindeutige Notation ermöglichen. Je<strong>der</strong> Zustan<strong>der</strong>hält eine Zeile, jedes Eingabezeichen eine Spalte <strong>der</strong> Tabelle. In das Feld [i, j] <strong>der</strong> Tabellewird <strong>der</strong>jenige Zustand eingetragen, in den <strong>der</strong> Automat bei Erhalt des Zeichens <strong>der</strong> Spalte j21 Hubwieser schlägt die „auslösende Aktion / ausgelöste Aktion“ – Schreibweise vor, d.h. <strong>der</strong> nur „Slash“ trenntbeide völlig unterschiedlichen Aktionen voneinan<strong>der</strong>. Löst jedoch die Eingabe von verschiedenen Zeichen denÜbergang in denselben Zustand aus, so wird diese Darstellung schnell unübersichtlich, da jedes Eingabezeichenund jede zugehörige Aktion wie<strong>der</strong> voneinan<strong>der</strong> (z.B. durch Kommas) getrennt werden müssen. In Charon v1.02werden daher nur die jeweiligen Eingabezeichen dargestellt, was die Lesbarkeit des Diagramms zwar deutlicherhöht, aber die Automaten auch unflexibler macht. Vgl. dazu auch Kapitel 5.22 Unified Modelling Language, siehe auch [Bal96], S. 278Seite 15
Theoretischer HintergrundDarstellung in <strong>der</strong> Zustandübergangstabelleübergehen würde, solange er sich im Zustand <strong>der</strong> Zeile i befindet. Die Zustandübergangstabellefür unseren „Fahrstuhlautomaten“ würde demnach so aussehen:Zustand EG 1 2Erdgeschoss Erdgeschoss 1. Stock 2. Stock1. Stock Erdgeschoss 1. Stock 2. Stock2. Stock Erdgeschoss 1. Stock 2. StockDiese Tabelle entspricht <strong>der</strong> in Kapitel 2.1 angesprochenen Überführungsfunktion. Natürlichwäre auch eine an<strong>der</strong>e Notation denkbar, z.B. <strong>der</strong> Art„Erdgeschoss ⎯→1 1. Stock“, o<strong>der</strong>δ(Erdgeschoss; 1):=1. Stockjedoch besteht hier zum einen die Gefahr, dass ein Übergang vergessen wird (bei einer Tabellefallen nicht ausgefüllte Fel<strong>der</strong> doch leichter ins Auge), zum an<strong>der</strong>en ist die Tabelle einfachübersichtlicher und kompakter, da man sofort alle Übergänge eines Zustandes überblickt, abergleichzeitig auch erkennt, dass wie in unserem Beispiel die Eingabe von „EG“ (o<strong>der</strong> auch „1“,„2“) in jedem Zustand das Gleiche bewirkt. Die Schreibweise mit Hilfe <strong>der</strong> Überführungsfunktionδ halte ich für Schüler <strong>der</strong> Mittelstufe wie bereits in 2.1 angesprochen für zu unanschaulich.Um sich Schreibarbeit zu ersparen können die Namen <strong>der</strong> Zustände auch abgekürzto<strong>der</strong> durchnummeriert werden, so wie die Übergangstabelle in CHARON realisiert wird. Anstelledes Namens wird im Programm die eindeutig vergebene Nummer des gewünschten Zustandesin die Übergangstabelle eingetragen. In diesem Fall würde die Tabelle folgen<strong>der</strong>maßenaussehen:Nummer Name EG 1 21 Erdgeschoss 1 2 32 1. Stock 1 2 33 2. Stock 1 2 3Die Tabelle kann außerdem um weitere Spalten ergänzt werden, so dass die bisher reineZustandübergangstabelle zu einer Zustandstabelle erweitert wird, die sämtliche wesentlichenEigenschaften <strong>der</strong> Zustände beinhaltet. In CHARON kann man Kommentare zu den einzelnenZuständen, die eine genauere Beschreibung zulassen, editieren, den jeweiligen Typ anzeigenSeite 16
Theoretischer HintergrundDarstellung in <strong>der</strong> Zustandübergangstabelleo<strong>der</strong> auch die ausgelösten Aktionen eingeben. Ich schlage daher eine ähnliche Notation auchfür den Unterricht vor.Um die Arbeit nicht unnötig in Länge zu ziehen, möchte ich an dieser Stelle meine Ausführungenbezüglich des theoretischen Hintergrundwissens schließen. Vorliegende Informationenwerden Schülern und Lehrern für einen ersten Einstieg in die Thematik wohl genügen. In Kapitel5 werden noch mögliche Fortführungen und ihr fachliches Anfor<strong>der</strong>ungsniveau angesprochen,so dass dem Leser dann hoffentlich ein umfassen<strong>der</strong> Überblick über die zustandsorientierte<strong>Modellierung</strong> und endliche Automaten gegeben worden ist.Seite 17
Der UnterrichtsentwurfEinführung3 Der UnterrichtsentwurfIn diesem Kapitel wird nun eine kurze Unterrichtssequenz vorgestellt, in <strong>der</strong> die Schüler mitHilfe von CHARON erste Erfahrungen mit deterministischen endlichen Automaten machen. DerVorschlag enthält keine exakten Zeit- o<strong>der</strong> Stundenangaben, da sich diese aufgrund fehlen<strong>der</strong>Hintergrundinformationen wie Vorwissen <strong>der</strong> Schüler o<strong>der</strong> Rechnerausstattung <strong>der</strong> Schuleschwer einschätzen lassen. Als Richtlinie kann aber jedes Unterkapitel als eigene Stunde angesehenwerden, wobei diese im einstündigen Fall, insbeson<strong>der</strong>e bei eventuellem Fachraumwechsel,Rechnerhochfahren etc., jedoch äußerst knapp bemessen wäre.3.1 EinführungDie Hinführung <strong>der</strong> Schüler auf ein neues Thema bereitet erfahrungsgemäß die größtenSchwierigkeiten. Zielgerichtet sollten die Schüler auf die neue Problematik vorbereitet undzum Auffinden von Lösungsmöglichkeiten motiviert werden. An dieser Stelle bietet es sichoftmals an, die Schüler mit einem Problem aus ihrem alltäglichen Leben zu konfrontieren undsie selbständig nach Lösungen suchen zu lassen. Ihre Ideen und Ergebnisse bieten dann einenEinstieg für die gesuchte Disziplin.Hier wäre folgende Möglichkeit denkbar: fast je<strong>der</strong> Schüler besitzt eine eigene Armbanduhr.Je<strong>der</strong> tauscht nun seine Uhr mit <strong>der</strong> seines Nachbarn, sofern es sich um ein Modell handelt,welches mehrere Funktionen o<strong>der</strong> Einstellmöglichkeiten besitzt. Falls nicht ausreichend Uhrenzur Verfügung stehen, kann <strong>der</strong> Lehrer noch Stoppuhren aus <strong>der</strong> Sport- o<strong>der</strong> Physiksammlungbesorgen. Die Schüler bekommen nun den Auftrag, innerhalb <strong>der</strong> nächsten 10 bis 15 Minuteneine Art Bedienungsanleitung für die Uhr zu erstellen. Da die Uhren über verschieden großenFunktionsumfang verfügen, ist zu erwarten, dass einige Schüler nur einen Teil <strong>der</strong> Funktionenerarbeiten können, was jedoch keine Rolle spielt. Im Anschluss sollten einige ihren Entwurfvorlesen, wobei Auffälligkeiten und Gemeinsamkeiten festgehalten werden. Aus Sätzen wie„durch Drücken <strong>der</strong> Taste 2 gelangt man in die Stopp-Funktion. Die LCD-Anzeige blinkt“ lassensich später sehr schön die Begriffe „Eingabe“ („Drücken <strong>der</strong> Taste 2“), „Zustand“ („Stopp-Funktion“) und „ausgelöste Aktion“ („LCD-Anzeige blinkt“) aufgreifen.Manche Schüler werden feststellen, dass die gestellte Aufgabe gar nicht so einfach zu lösenist, während an<strong>der</strong>e aufgrund <strong>der</strong> geringen Einstellmöglichkeiten ihrer Uhr weniger Problemehatten. Die Schüler erkennen, dass die Bedienung <strong>der</strong> Uhr desto schwieriger ist, je größer ihrSeite 18
Der UnterrichtsentwurfDefinition endlicher AutomatenFunktionsumfang ist. Der Lehrer könnte als weiteres Beispiel eine ähnliche Geschichte überden in <strong>der</strong> Anleitung erwähnten Videorekor<strong>der</strong> erzählen und so das Thema auf „Automaten“ausweiten. Im anschließenden Gespräch sollen die Schüler weitere Beispiele für Automatennennen, vielleicht ihre eigenen Erfahrungen schil<strong>der</strong>n und schließlich die Gemeinsamkeiten füralle von ihnen vorgestellten Automaten herausfiltern. Dabei könnten verschiedene in <strong>der</strong> Schulevorhandenen Automaten (Video, Getränkeautomat) als Anschauungsmaterial dienen. DieErgebnisse werden stichpunktartig an <strong>der</strong> Tafel festgehalten. Folgende Erkenntnisse solltenerreicht werden:• je<strong>der</strong> Automat wird durch Eingaben bedient• ein Automat kann verschiedene Zustände annehmen, in denen er auf weitere Eingabenwartet• zu jedem beliebigen Zeitpunkt befindet sich <strong>der</strong> Automat in einem bestimmten Zustand(hierbei wird stillschweigend vorausgesetzt, dass Übergänge unmittelbar ablaufen, d.h.ohne Zeitverlust)• einige Automaten liefern eine Ausgabe• um ein gewünschtes Ergebnis zu erhalten, muss eine bestimmte Eingabereihenfolgeeingehalten werdenSicher werden auch an<strong>der</strong>e Punkte genannt werden, oben genannte Eigenschaften könnten vonden Schülern natürlich auch noch deutlich unschärfer formuliert sein. Da die bisherige Aufstellungeine strukturlose Zusammenstellung von Charakteristika verschiedener Automaten ist, istes im Folgenden nun Sache des Lehrers, einen deterministischen Automaten exakt zu definieren(siehe Abschnitt 3.2). Hausaufgabe könnte sein, einen weiteren Automaten (z.B. einenFahrstuhl) mit Hilfe eben genannter Punkte genauer zu charakterisieren. Überlegungen wie„Welches sind die möglichen Eingaben?“ o<strong>der</strong> „Was sind die möglichen Zustände?“ führen zuBeginn <strong>der</strong> nächsten Stunde wie<strong>der</strong> zurück zur Thematik und unterstützen nachfolgende „Definition“.3.2 Definition endlicher Automatenund ÜbergangsdiagrammeNachdem die Schüler nun selbständig auf verschiedene Art und Weise versucht haben, einegeeignete Beschreibung für die Funktionsweise ihrer (Stopp-)Uhr zu finden und daraufhin einigeEigenschaften von Automaten entdeckt haben, ist es nun an <strong>der</strong> Zeit, eine einheitlicheSeite 19
Der Unterrichtsentwurfund ÜbergangsdiagrammeDarstellung für einen endlichen Automaten festzulegen. Dies muss sehr lehrerzentriert vonstattengehen um sicher zu stellen, dass alle wesentlichen Merkmale und ihre Bezeichnungenscharf herausgearbeitet werden. Als Hefteintrag bietet sich hierzu die unter Kapitel 2.2 dargestellteListe an, welche einen deterministischen endlichen Automaten schülergerecht und genaugenug charakterisiert und hier nicht wie<strong>der</strong>holt werden soll.Da die graphische Notation bislang nicht erwähnt worden ist, kann diese nun parallel zuden Eigenschaften und <strong>der</strong> daraus resultierenden „Definition“ des Automaten entwickelt werden.Der Lehrer hat hier die Möglichkeit, die entsprechenden Symbole gleich an einem konkretenBeispiel einzubauen und so zu veranschaulichen. Anbieten würde sich hierzu ein sehr einfachesBeispiel, wie <strong>der</strong> „Fahrstuhl-Automat“ aus Kapitel 2.2, <strong>der</strong> so schrittweise zusammengesetztwerden könnte. Dies kann, solange sich die Größe und Komplexität des gewählten Automatennoch im Rahmen hält, entwe<strong>der</strong> an <strong>der</strong> Tafel, mit Hilfe einer vorbereiteten Präsentationo<strong>der</strong> gleich mit CHARON geschehen 23 . Beim Fahrstuhl sollte – wie zu Beginn von 2.3 angedacht– eine Überlegung die Endzustände betreffen, so dass als letzter Schritt alle einfachenEllipsen in doppelte umgewandelt werden.Nun kann das frisch erworbene Wissen mit einem weiteren Beispiel vertieft und gefestigtwerden. CHARON liefert bereits mehrere Beispielautomaten mit, von denen sich <strong>der</strong> Lehrereinen geeigneten auswählen kann. Ich schlage hierfür die einfache Stoppuhr(„stoppuhr (einfach).cha“) vor, die dann auch noch um eine Funktion (Zwischenzeit stoppen)erweitert werden kann („stoppuhr.cha“). Diese wird interaktiv präsentiert, die Schüler verfolgenden Aufbau und können eine simulierte Eingabe schrittweise nachvollziehen. Da bislangnur das Übergangsdiagramm sowie die Reaktion des Automaten auf eine bestimmte Eingabevon Interesse sind, bietet sich an, die Ampel und das Aktionsfenster in CHARON zu deaktiviereno<strong>der</strong> zu entfernen und zur Eingabe ausschließlich den direkten Weg über die entsprechendenButtons zu gehen. Man könnte sich dann auch einen vereinfachten, aber dennoch schonschwierigeren Getränkeautomaten („colaautomat-X.cha“) ansehen. Es bleibt hier dem Lehrerüberlassen, eine nach Einschätzung seiner Klasse geeignete Auswahl zu treffen. Mir ist es andieser Stelle nur wichtig, eine größere Auswahl von fertig erstellten Automaten anzubieten, diedann auch als Anregung für eigene Projekte dienen können.Sofern noch ausreichend Zeit zur Verfügung steht können die Schüler auch auf ihrenPC-Arbeitsplätzen selbst mit einem Beispielautomaten kommunizieren. Als Richtlinie hierzuhabe ich ein Arbeitsblatt (Nr. 1) vorbereitet, welches im Anhang zu finden ist. In drei Aufgabenwird eine Telefonanlage schrittweise verfeinert. In <strong>der</strong> ersten Aufgabe, welche noch in <strong>der</strong>23 Zustände und Übergänge können hier sehr einfach – wie auf einem Blatt Papier – gezeichnet werden. Sieheauch Kapitel 4!Seite 20
Der UnterrichtsentwurfZustandstabellen und ausgelöste AktionenSchule behandelt werden kann, sollen die Schüler nur eine absolute grobe Darstellung nachvollziehen.Im zweiten Teil wird <strong>der</strong> Wählvorgang genauer betrachtet und in <strong>der</strong> dritten Aufgabedieser noch mal differenziert. Anhand dieses Arbeitsblattes lässt sich sehr schön eine weitere,vielleicht den Schülern schon vertraute Technik wie<strong>der</strong>erkennen: die Modularisierung unddas Arbeiten mit „Black Boxes“. Der Zustand „Gesprächsaufbau“ wird als sogenannte „BlackBox“ betrachtet, das bedeutet, dass <strong>der</strong> interne Ablauf nicht näher betrachtet wird und somiteinen eigenen Automaten darstellt. So kann man sich vorstellen, dass je<strong>der</strong> Automat aus vielenkleinen Automaten zusammengesetzt ist, die wie<strong>der</strong>um aus eigenen Automaten bestehen 24 .Falls die Schüler dieses Prinzip bis dahin noch nicht kennen gelernt haben, ist dies auch nichtweiter problematisch, da es nach Bearbeitung des 1. Arbeitsblattes relativ schnell einsichtigerscheint und später, z.B. innerhalb <strong>der</strong> Lehreinheit „Funktionale <strong>Modellierung</strong>“ wie<strong>der</strong> daraufzurückgegriffen werden kann. Aufgaben 2 und 3 wären eine mögliche Hausaufgabe: die Schülersollen die wörtliche Beschreibung eines Automaten in ein Zustandübergangsdiagrammübersetzen und umgekehrt ein weiteres Diagramm interpretieren. Dabei werden noch einmalalle wesentlichen Begriffe wie<strong>der</strong>holt und die Diagrammdarstellung geübt.3.3 Zustandstabellen und ausgelöste AktionenZu Beginn <strong>der</strong> dritten Stunde sollten ein paar Schüler ihre Umsetzung <strong>der</strong> gestellten Aufgabenpräsentieren. Die gefundenen Lösungen sollten miteinan<strong>der</strong> verglichen und diskutiert werden.Nach Verbesserung <strong>der</strong> Hausaufgabe, für die man durchaus einige Zeit einkalkulieren muss,sollte gleich die Darstellung eines Automaten in Tabellenform behandelt werden. Zum einensieht man bald, dass Zustandsübergangsdiagramme bei vielen Zuständen und Eingabezeichenschnell unübersichtlich werden (<strong>der</strong> im 1. Arbeitsblatt konstruierte Telefonapparat wäre schnellsehr komplex, würde man jeden „Black-Box-Zustand“ durch den entsprechenden „Miniautomaten“ersetzen. Man könnte ein entsprechendes Modell mit CHARON kurz präsentieren), zuman<strong>der</strong>en verwendet auch CHARON Zustandstabellen zur Eingabe <strong>der</strong> Übergänge, und die Schülersollten baldmöglichst selbständig mit dem Programm arbeiten können, da sie es auch zurVor- und Nachbereitung auf ihrem häuslichen PC installieren dürfen. Die in Kapitel 2.5 beschriebeneDarstellung kann genauso im Unterricht durchgeführt werden. Günstigerweise wirdwie<strong>der</strong> <strong>der</strong> Fahrstuhl als Beispiel herhalten, <strong>der</strong> so als „roter Faden“ durch die gesamte Unterrichtssequenzführt. Zuerst übersetzt <strong>der</strong> Lehrer mit <strong>der</strong> Klasse das Fahrstuhldiagramm in eine24 Man spricht hier auch von „hierarchischen Automaten“, vgl. dazu auch Kapitel 5!Seite 21
Der UnterrichtsentwurfZustandstabellen und ausgelöste Aktionenreine Übergangstabelle, anschließend wird <strong>der</strong> Automat vollständig beschrieben. Hierbei mussman sich auf eine Notation einigen. Man könnte entwe<strong>der</strong> die reine Übergangstabelle angebenund zusätzliche Informationen geson<strong>der</strong>t aufschreiben, o<strong>der</strong> man entwickelt die Übergangstabelleweiter in eine Zustandstabelle, welche sämtliche wesentliche Informationen enthält. Da inCHARON Letztere verwendet wird, empfehle ich diese Methode.Hat man die Tabelle den Schülern nahegebracht, wird es keine Schwierigkeit sein, dieseum die Spalten „ENTRY“, „DO“ und „EXIT“ zu erweitern und so auf die ausgelösten Aktionenzu sprechen zu kommen. Auch hier kann wie<strong>der</strong> <strong>der</strong> Fahrstuhl als Einführungsbeispiel dienen.Wenn die Schüler beschreiben sollen, was <strong>der</strong> Fahrstuhl zu tun hat, wenn er einen bestimmtenZustand (Stockwerk) erreicht, werden sie bald feststellen, dass sich die Aktionen desLiftes auf „Türe öffnen“ und vielleicht einer Sprachausgabe wie „2. Obergeschoss. Spielwaren,Herrenbekleidung und Bademoden...“, so in manchen Kaufhäusern üblich, beschränken. DerUnterschied zum Getränkeautomaten wird schnell offensichtlich. Dort erwartet <strong>der</strong> Benutzerden Auswurf des gewünschten Drinks, doch dieser soll nur erfolgen, nachdem genügend Geldeingeworfen wurde. Erneut dient eine <strong>der</strong> Dateien „colaautomat-1.cha“ o<strong>der</strong> „colaautomat-2.cha“ zur Simulation eines einfachen Automaten, <strong>der</strong> nur 1 € und 2 € Münzen akzeptiert, einenAusgabeknopf „A“ besitzt und jedes Getränk für 3 € anbietet (mir ist klar, dass es sichhierbei um sehr exklusive Erfrischungsgetränke handeln muss, aber die Umstellung des Eurobringt mehr Umgewöhnungen mit sich...). Zwar wird man bei unseren didaktisch oftmals starkreduzierten Automaten selten alle drei Aktionsformen benötigen, dennoch denke ich, dass diese„Vielfachheit“ den Schülern keine Probleme machen wird. Man kann sich aber trotzdemmeist auf eine ausgelöste Aktion beschränken.Zum Üben im Unterricht und zu Hause bietet sich das Arbeitsblatt Nr. 2 an, welchesinsbeson<strong>der</strong>e Aufgaben zum Umwandeln zwischen Tabellen- und Diagrammform endlicherAutomaten enthält, aber auch neue Automaten mit ausgelösten Aktionen konstruieren lässt. Beidem in Aufgabe 6 beschriebenen Handrührgerät („Aufgabe 6b (Handmixer).cha“) sieht mansehr schön den Zusammenhang zwischen den ausgelösten Aktionen und den Zuständen. WeitereAufgaben zu diesem Thema bieten auch [Fis97], S. 11Seite 22
Der UnterrichtsentwurfAkzeptoren und Mustererkennung3.4 Akzeptoren und MustererkennungIn <strong>der</strong> letzten Lehreinheit dieser Sequenz sollen diejenigen endlichen Automaten betrachtetwerden, die in <strong>der</strong> theoretischen <strong>Informatik</strong> beson<strong>der</strong>s von Interesse sind, die Akzeptoren. Dieselassen sich mit CHARON beson<strong>der</strong>s gut realisieren und ihr Einsatz ist nach folgen<strong>der</strong> Einführungauch für Schüler nicht nur legitim, son<strong>der</strong>n hoffentlich auch interessant, da diese sehr theoretischenMaschinen viele Möglichkeiten bieten. Als Motivation hierfür mag ein beliebigesTextverarbeitungsprogramm o<strong>der</strong> ein Editor, <strong>der</strong> über eine Suchfunktion verfügt, dienen. Alternativkann man auch die in Windows integrierte Suche für Dateien und Ordner verwenden.Wird eine bestimmte Zeichenkette in die Suchmaske eingegeben, prüft das Programm, ob undwo das gefor<strong>der</strong>te Muster im Text bzw. in den Dateinamen wie<strong>der</strong>zufinden ist. Man sprichtdabei von „Mustererkennung“ (pattern matching) 25 . Diese Funktion soll im Folgenden mit endlichenAutomaten realisiert werden. Dazu muss ein Automat entwickelt werden, <strong>der</strong> erkennt,ob ein eingegebenes Wort die gewünschte Zeichenkombination enthält o<strong>der</strong> nicht. Diese Erkenntniskann im Schüler-Lehrer-Gespräch durchaus von den Schülern selbst gewonnen werden.Die Aufgabenstellung ist daraufhin klar und entspricht dem in Kapitel 2.4 angesprochenemWortproblem. Man kann diesbezüglich unzählig viele Beispiele konstruieren. Der Automat„Finde123.cha“ untersucht das eingegebene Wort auf die Zeichenfolge „123“. Zu seinerBeschreibung sind lediglich vier Eingabezeichen nötig: „1“, „2“, „3“ und „x“, wobei Letztesals Vertreter für jedes „x-beliebige“ Zeichen stehen soll, mit Ausnahme <strong>der</strong> drei bereits extrabenannten. Die Schüler können den gesuchten Automaten mit CHARON nun selbständig konstruieren,die richtige Lösung sollte in <strong>der</strong> Stunde auf jeden Fall noch vorgestellt werden.Neben <strong>der</strong> Mustererkennung können noch weitere Probleme besprochen werden, diesich mit Akzeptoren behandeln lassen, z.B. <strong>der</strong> im Theorieteil angesprochene Automat„BinEnde00.cha“ o<strong>der</strong> <strong>der</strong> Automat „Aufgabe 8c (Teiler-3-5).cha“, <strong>der</strong> überprüft, ob die Anzahl<strong>der</strong> eingegebenen „a“ entwe<strong>der</strong> durch 3 o<strong>der</strong> durch 5, aber nicht durch 15 teilbar ist. Möglichkeitenhierzu zeigt Arbeitsblatt Nr. 3, von dem auch Aufgaben als Hausaufgabe gestelltwerden. Als weitere Anregung verweise ich auf die Aufgaben in [Fis97], S. 13. Diese gehenjedoch über den hier behandelten Stoff deutlich hinaus und sind daher eher in Oberstufenkursenansprechbar. Die Behandlung von regulären Ausdrücken, wie sie dort in Aufgabe 4 angesprochenwerden, wäre– ohne explizit auf die Definition von Sprachen einzugehen – bei geeignetenKlassen in einem kleinen Exkurs dennoch vorstellbar (z.B. als Schülerreferat).25 [Fis97], S. 6Seite 23
Der UnterrichtsentwurfÜbungsphase, Projektmöglichkeit und Lernzielkontrolle3.5 Übungsphase, Projektmöglichkeit und LernzielkontrolleAn dieser Stelle kann mindestens eine weitere Übungsstunde eingeplant werden, in <strong>der</strong> dieSchüler alleine o<strong>der</strong> in Partnerarbeit weitere Aufgaben bearbeiten und neue Automaten konstruieren(siehe auch Arbeitsblatt 3).Zur Abrundung dieser Unterrichtssequenz bietet sich außerdem an, einen komplexerenAutomaten in Kleingruppen zu erstellen. So kann – vielleicht als Unterrichtsprojekt aufgezogen– ein weiterer Automat konstruiert werden. Die gesamte Klasse entschließt sich für einihrer Meinung nach geeignetes und interessantes Modell und erstellt einen Grobentwurf fürdiesen Automaten (mit wenigen Eingabezeichen, ähnlich wie <strong>der</strong> Telefonautomat von Aufgabe1). Denkbar wäre hier z.B. ein Fahrkartenautomat, eine Kaffeemaschine o<strong>der</strong> ein Kopierer,aber auch bereits angesprochene Digitaluhr o<strong>der</strong> unser Getränkeautomat, <strong>der</strong> ja bislang auchnur ein sehr reduziertes System darstellte. Verschiedene Kleingruppen zeigen sich dann füreinen „Teilautomaten“ verantwortlich, dessen Realisierungen das Gesamtsystem ergeben sollten.Hier spielt natürlich die vom Lehrplan für diese Unterrichtseinheit zur Verfügung gestellteZeit eine wesentliche Rolle. Daran anknüpfend könnten im Anschluss „hierarchische Automaten“als Einstieg für das Thema <strong>der</strong> Modularisierung dienen (siehe Kapitel 5!)Schließlich wäre hier, egal ob mit o<strong>der</strong> ohne projektorientierte Gruppenarbeit, ein geeigneterZeitpunkt für eine Lernzielkontrolle, etwa in Form einer Stegreifaufgabe. Im Anhanghabe ich ein Muster ausgearbeitet. Extemporalen wären allerdings auch schon früher möglich,sofern man sich in <strong>der</strong> Wahl <strong>der</strong> Aufgaben an das bis dahin behandelte Arbeitsblatt orientiert,doch hat man nach <strong>der</strong> entsprechenden Übungsphase und Kombination aller bisher behandeltenAspekte eine bessere Prüfmöglichkeit und die Schüler bis dahin mehr Übung.Im Anhang finden sich außerdem Lösungen zu den Aufgaben und weitere Hinweise und Vorschlägefür <strong>der</strong>en Einsatz im Unterricht!Seite 24
Das Programm CharonErstellung von Automaten4 Das Programm CHARONIn diesem Kapitel soll noch einmal kurz auf die Funktionen des von mir entwickelten Programms„CHARON“ eingegangen werden. Einsatzmöglichkeiten wurden bereits weitgehend inden vorangegangenen Kapiteln behandelt, trotzdem gibt es auch hierzu noch ein paar Ergänzungen26 . Vielleicht noch kurz zum Namen des Programms: Charon war in <strong>der</strong> griechischenMythologie <strong>der</strong> Fährmann, <strong>der</strong> die Toten für einen „Obolos“ über den Styx 27 , den Fluss <strong>der</strong>Unterwelt, in ein neues Dasein (im übertragenen Sinne also in einen neuen Zustand), gebrachthat. Zustandübergangsdiagramme stehen folglich im Mittelpunkt des Programms.CHARON bietet sich sowohl als Hilfsmittel zum Erstellen von Automaten in Form von Übergangsdiagrammenan, als auch zu Simulation <strong>der</strong>jenigen, d.h. Abläufe bei <strong>der</strong> Bedienung einesAutomaten können visuell nachvollzogen werden.4.1 Erstellung von AutomatenBeim Erstellen von Automaten zeigt sich CHARON sehr flexibel. Das Hauptformular dient alsZeichenfläche. Die Übergangsdiagramme können sehr einfach per „Drag and Drop“ auf dieseplatziert werden. Für die Zustände wird dazu <strong>der</strong> gewünschte <strong>der</strong> vier Buttons 28 gedrückt undanschließend mit <strong>der</strong> linken Maustaste auf die gewünschte Stelle <strong>der</strong> Zeichenfläche geklickt.Es wird daraufhin automatisch eine neuer Zustand erschaffen, <strong>der</strong> den Namen „Zustand x“ bekommt,wobei „x“ für eine fortlaufende Nummer steht. Die Übergänge können auch visuellerstellt werden. Dazu muss zuerst das gewünschte Eingabealphabet im Fenster „Konfiguration<strong>der</strong> Zustände / Zustandstabelle“ eingerichtet werden. Im Anschluss findet man entsprechendeButtons oben rechts auf dem Hauptformular. Wird einer dieser Knöpfe gedrückt, kann man mit<strong>der</strong> linken Maustaste einen vorhandenen Zustand markieren. Ein kleiner schwarzer Kreis in <strong>der</strong>Mitte des Zustandes zeigt an, dass dieser als Ausgangszustand verankert wurde. Bei gedrückterMaustaste zieht man nun den Pfeil bis zum gewünschten Zustand und schon wird <strong>der</strong> entsprechendeÜbergang automatisch erstellt und die Verknüpfung in die Zustandstabelle eingetragen.26 Dieses Kapitel versteht sich jedoch nicht als genaue Anleitung (z.B. mit „Screenshots“ o<strong>der</strong> Index) zum Programm!27 auch Acheron genannt28 zur Unterscheidung von Startzustand, <strong>der</strong> nicht zugleich Endzustand ist, Startzustand, <strong>der</strong> zugleich Endzustandist, normalen Zuständen, die we<strong>der</strong> Start- noch Endzustände sind, sowie EndzuständenSeite 25
Das Programm CharonSimulation von AbläufenWar für das gewählte Zeichen in diesem Zustand schon ein Übergang existent, so wird die bisherigeVerknüpfung entfernt.Alternativ kann man auch die Übergänge in <strong>der</strong> Zustandübergangstabelle eingeben bzw.dort editieren. Achten Sie dabei darauf, dass Sie nur gültige Werte eintragen. In <strong>der</strong> Zustandstabellekönnen auch die Namen und <strong>der</strong> Typ aller Zustände geän<strong>der</strong>t, o<strong>der</strong> Kommentare, sowiedie verschiedenen ausgelösten Aktionen eingegeben werden.Je<strong>der</strong> Automat lässt sich auf <strong>der</strong> Zeichenfläche verän<strong>der</strong>n. Zustände können markiert (Buttonganz links) und bei gedrückter Maustaste beliebig verschoben werden. Die Standardfarbe fürmarkierte Zustände ist rot. Mit den Cursortasten kann zwischen den Zuständen gewechseltwerden. Markierte Zustände lassen sich leicht durch Drücken <strong>der</strong> [ENTF] – Taste o<strong>der</strong> desvergleichbaren Buttons entfernen. Übergänge von und zu diesem Zustand werden ebenso gelöscht.In CHARON müssen nicht alle möglichen Eingaben in jedem Zustand verarbeitet werden,Automaten können also auch nach Löschen eines Zustandes problemlos weiterverarbeiteto<strong>der</strong> gespeichert werden. Fehlende Übergänge sieht man in <strong>der</strong> Tabelle durch leere Fel<strong>der</strong>.Im Menü „Individuelle Einstellungen“ kann die Darstellung <strong>der</strong> Diagramme verän<strong>der</strong>t werden.Es lassen sich Farben und Formen <strong>der</strong> Zustände einstellen, die Namen in o<strong>der</strong> neben die Zuständeschreiben, sowie die Größe <strong>der</strong> Eingabezeichen wechseln.4.2 Simulation von AbläufenWurde ein Automat erzeugt, so kann dieser bedient werden und seine Reaktionen können visuellmitverfolgt werden. Zur Simulation öffnet man das Kontrollfenster. Dort hat man mehrereMöglichkeiten.Erstens kann man den Automaten „real“ bedienen, d.h. eine Eingabe erfolgt direkt undunmittelbar durch Drücken des jeweiligen Buttons. Man sieht sofort den Übergang, den dieseEingabe bewirkt (<strong>der</strong> betreffende Pfeil und das zugehörige Zeichen leuchtet rot auf), und imgelb hinterlegten Fenster werden die ausgelösten Aktionen angezeigt. Daher kann auch <strong>der</strong>Ablauf in unübersichtlicheren Diagrammen (wie z.B. bei „colaautomat-3.cha“) einfach nachvollzogenwerden.Zweitens ist es auch möglich, zuerst ein Wort komplett einzugeben, und dieses dannschrittweise abzuarbeiten. Dazu wählt man die Zeichen aus dem „Popup-Menü“ und fügt diesemit <strong>der</strong> [RETURN] – Taste o<strong>der</strong> dem dazugehörenden Button in die Liste ein. Das Wort bautSeite 26
Das Programm CharonWeitere Möglichkeitensich so selbstständig auf. Mit dem „Nächstes...“-Knopf werden die einzelnen Zeichen abgearbeitet.Alternativ kann auch ein komplettes Wort mit dem Button „Schneller Test“ auf seineGültigkeit überprüft werden. Die Ampel zeigt im positiven Fall „grünes Licht“...Zu je<strong>der</strong> Zeit können Zeichen direkt eingegeben werden. Das Wort wird passend verän<strong>der</strong>t.Mit [ENTF] können Zeichen auch aus <strong>der</strong> Liste entfernt werden, mit „Wortanfang“ kanndas gesamte Wort erneut untersucht werden.Auch hier haben Sie die Möglichkeit unter „Optionen“ die Simulation auf Ihre Bedürfnissehin anzupassen, z. B. was die Geschwindigkeit <strong>der</strong> Abläufe o<strong>der</strong> die Ansicht des Aktionsfensterangeht.4.3 Weitere MöglichkeitenJe<strong>der</strong> Automat kann gespeichert werden. Die Standardendung für CHARON-Dateien ist „CHA“.Hier möchte ich noch mal auf die Sicherungsweise eingehen. Der Automat wird als Textdatei(eigentlich als „Ini“-File) gespeichert, was bedeutet, dass man die gesicherten Daten je<strong>der</strong>zeitmit einem beliebigen Editor öffnen und bearbeiten kann. Dort lassen sich alle Einstellungenund Attribute sämtlicher Zustände editieren. Je<strong>der</strong> Zustand wird als eigenes Objekt gespeichert,man kann daher diese Dateien auch in <strong>der</strong> Unterrichtssequenz „objektorientierte <strong>Modellierung</strong>“als Anschauung verwenden. Die „CHA-Dateien“ sind alle folgen<strong>der</strong>maßen aufgebaut:[Main]Anzahl <strong>der</strong> Zustände=3Existiert Start=1Anzahl Alphabet=2Zeichen1=Start/StoppZeichen2=Reset[Config]Radius=20Ellipse=2Zeichengroesse=8Geschwindigkeit=880Namen in Mitte=1Name fett=1Zeichen fett=0[Color]Aktuell=5Markiert=2Normal=0Zeichen=6Name=4[Zustand1]Name=StartNummer=1x-Koord=147y-Koord=109Typ=3Typname=StartEndKommentar1=AkENTRY1=AkDO1=Zeitzähler wirdAkEXIT1=Kommentar2=AkENTRY2=AkDO2=zurückgesetztAkEXIT2=Kommentar3=AkENTRY3=AkDO3=Anzeige steht aufAkEXIT3=Kommentar4=AkENTRY4=AkDO4=00:00:00AkEXIT4=Kommentar5=(…)Anzahl_linked_to=2Linked_to_Maske1=Start/StoppLinked_to_Nr1=2Linked_to_Maske2=ResetLinked_to_Nr2=1Anzahl_linked_from=3Linked_from_Nr1=1Linked_from_Nr2=2Linked_from_Nr3=3[Zustand2]Name=läuftNummer=2(...)Seite 27
Das Programm CharonWeitere MöglichkeitenDies war ein Ausschnitt aus <strong>der</strong> Datei „Stoppuhr (einfach).cha“, genauer möchte ich jedochnicht mehr darauf eingehen, die meisten Einträge sind selbsterklärend.Weiter hat je<strong>der</strong> Anwen<strong>der</strong> die Möglichkeit, den Automaten auszudrucken. Auch dazu gibt esim Optionen – Fenster einige Einstellungsmöglichkeiten. Es kann angegeben werden, ob Diagramm,Tabelle, Kommentare, Aktionen, Dateiname o<strong>der</strong> eine Überschrift mit ausgedrucktwerden sollen. Auch hier sind Farbeinstellungen möglich.Zu guter Letzt kann das Übergangsdiagramm als Bitmap gespeichert werden, um dannin einem beliebigen Rastergraphikprogramm weiterverarbeitet zu werden. Alle in dieser Arbeitabgebildeten Zustandsdiagramme sind direkt in Charon als Pixelgraphik gespeichert und in dieTextverarbeitung importiert worden. Vor allem zum Erstellen von Arbeitsblättern und Übungsaufgabenist dies für den Lehrer sicherlich eine schöne Alternative.Ich möchte an dieser Stelle auf jeden Fall noch anmerken, dass mir völlig bewusst ist, dass essich in <strong>der</strong> vorliegenden Version 1.02 von CHARON sicherlich nicht um ein perfektes und völligausgereiftes Produkt handelt. Mir sind ebenfalls mittlerweile wie<strong>der</strong> kleinere Fehler aufgefallen,die es zu beseitigen gilt. Diese schränken das Programm in seinem Funktionsumfang jedochnicht weiter ein und größere „Bugs“ sind mir noch nicht bekannt. Auf Windows-Systemen wurde es unter 98 und ME getestet und hat bislang keine Probleme gezeigt 29 . Trotzdemsoll das Programm ständig weiterentwickelt werden. In Zukunft sollen mehrere Automatenparallel bearbeitet werden können, die individuellen Einstellungen deutlich erweitert, eineHilfefunktion integriert und weitere Funktionen, wie z.B. Übergangsbedinungen, hinzugefügtwerden. Außerdem wird eine Homepage 30 eingerichtet, auf <strong>der</strong> die jeweils neueste Versionheruntergeladen werden kann und neuen Beispielautomaten zu finden sind. Falls Problemeo<strong>der</strong> noch so kleine Fehler auffallen, so soll diese Internetseite auch als Kontaktmöglichkeitdienen, insbeson<strong>der</strong>e da ich mich über jede Resonanz sehr freuen würde.Im Anhang findet sich eine Liste aller mitgelieferten Beispielprogramme.29 Auch auf Windows 2000 scheint das Programm jetzt zu laufen, ausgiebig getestet wurde es dort jedoch nochnicht30 www.spohrer.netSeite 28
Ausblick5 AusblickDer von mir nun gebrachte Vorschlag für eine Unterrichtssequenz „<strong>Zustandsorientierte</strong> <strong>Modellierung</strong>“lässt eine Fortführung dieser offen. So könnte in den folgenden Stunden die Umsetzungendlicher Automaten mit iterativen Programmen besprochen werden und im Anschlussdie Beschreibung eines geeigneten Ablaufs durch ein Zustandübergangsdiagramm und durcheinen Algorithmus gegenübergestellt und miteinan<strong>der</strong> verglichen werden. In [Fis97], S. 14ff.werden beispielsweise deterministische endliche Automaten zu Mustererkennung einmal mitFel<strong>der</strong>n und einmal mit verketteten Listen implementiert. Weiter könnte man ansprechen, dassauch Variablen über Zustände verfügen. Einen Vorschlag hierzu findet <strong>der</strong> interessierte Leserz.B. in [Hub00] S. 178f. Baumann schreibt hierzu „Man kann (...) für das imperativische (anweisungsorientierte,prozedurale) Programmieren auch die Bezeichnung zustandsorientiertwählen, um darauf hinzuweisen, dass es nicht so sehr auf die Sprachform „Imperativ“ (im Sinnevon Befehl o<strong>der</strong> Anweisung), als vielmehr darauf ankommt, dass die beteiligten Größendurch ihren – im Zeitverlauf sich än<strong>der</strong>nden – Zustand gegeben sind.“ 31In meinem Entwurf habe ich mich bewusst auf die Darstellung von Automaten beschränkt, dieden wenigen, aber klaren Regeln (festes Eingabealphabet, Determinismus, keine Übergangsbedingungen)genügen. Daher scheinen diese Automaten oftmals unflexibel und zur Simulationrealer Maschinen muss didaktisch auf geeignetem Wege reduziert werden. Doch das Beispielmit <strong>der</strong> Telefonanlage zeigt, dass auch komplexere Maschinen durch schrittweise Verfeinerungsehr anschaulich dargestellt werden. Falls die Themen „Modularisierung“, „Schrittweise Verfeinerung“und „Glie<strong>der</strong>ung komplexer Systeme in Teilsysteme“ bislang nicht behandelt wurden,würde sich daraufhin aufbauend nun die intensivere Auseinan<strong>der</strong>setzung mit dieser Problematikeignen. Prinzipiell stecken im Falle <strong>der</strong> zustandsorientierten <strong>Modellierung</strong> die sogenannten„hierarchischen Automaten“ hinter <strong>der</strong> Modularisierung, eine Zerlegung großer Automatenin viele kleine. Dazu gibt es jedoch eine eigene Notation für die Kommunikation zwischendiesen kleinen Automaten und ihre individuellen Aufgaben innerhalb des Gesamtsystems.Diese würde jedoch ein fundiertes und gesichertes Wissen über deterministische endlicheAutomaten von den Schülern verlangen und ist im Rahmen dieser Unterrichtssequenz sicherlichzu viel verlangt. Interessierte Leser finden dazu nähere Informationen z.B.bei [Bal96], S. 279 f.31 [Bau96], S. 254Seite 29
AusblickAlternativ zu dem hier von mir vorgeschlagenen Einstieg wäre auch eine an<strong>der</strong>e Beschreibungvon endlichen Automaten möglich, etwa so, wie sie von [Hub00] auf den Seiten171 ff. geschil<strong>der</strong>t wird. Der Vorteil dort wäre, dass auch komplexe Automaten mit relativ wenigZuständen beschrieben werden können, da ohne vorherige Überlegung eines EingabealphabetesÜbergänge je nach passen<strong>der</strong> auslösen<strong>der</strong> Aktion gezeichnet werden. Hier würdendann weitere Eigenschaften wie Übergangsbedingungen, o<strong>der</strong> die Kopplung von ausgelöstenAktionen an die Übergänge, ins Spiel kommen. Derartige Automaten lassen sich mit CHARONallerdings nicht mehr so einfach simulieren 32 . Außerdem bleiben die Abläufe in den einzelnenZuständen den Schülern verborgen. Beim Getränkeautomaten in [Hub00], S. 173 bleibt zumBeispiel die Frage offen, wie <strong>der</strong> Automat unterscheidet, ob das Geld ausreicht. Eine Betrachtungdieser Systeme bietet sich in meinem Vorschlag daher wie<strong>der</strong> im Bereich <strong>der</strong> hierarchischenAutomaten und des Modularisierungskonzeptes an, wobei schließlich doch auf die Unterschiedezwischen den verschiedenen Automatentypen (Moore, Mealy, hybrid) eingegangenwerden müsste. Allerdings können solche „realeren“ Systeme auch stets als Motivierungsgrundlagedienen.Grundsätzlich ist das Thema und <strong>der</strong> damit verbundene Vorschlag auch für eine Einführung in<strong>der</strong> Oberstufe vorstellbar. Dort könnte man sogar im Anschluss noch weiter gehen, und die zueinem endlichen Automaten gehörenden formalen Sprachen und <strong>der</strong>en Grammatiken näherbetrachten. Dies wäre auch eine mögliche Fortsetzung dieses Gebietes für Schüler, die sich in<strong>der</strong> Mittelstufe mit den Grundlagen vertraut gemacht haben und ihr Wissen in einem Grundo<strong>der</strong>Leistungskurs <strong>Informatik</strong> vertiefen wollen.Da für all diese Überlegungen jedoch Kenntnisse über den zukünftigen Lehrplan essentiellsind, möchte ich meine Ausführung an dieser Stelle schließen, da sich über die genauen Inhaltedie Lehrplankommission Gedanken machen muss und dies nicht Ziel dieser Arbeit sein soll.Trotzdem hoffe ich, dass mir mit dieser Arbeit ein interessanter und diskussionswürdiger Vorschlagfür einen Einstieg in dieses abwechslungsreiche, und wie gesehen auch sehr wichtigeThema gelungen ist, und ich mit CHARON eine brauchbares und in Zukunft gerne verwendetesHilfsmittel geschaffen habe.32 Man könnte höchstens ein erweitertes Eingabealphabet eingeben, welches für jede Bedingung ein eigenes ZeichenenthältSeite 30
AnhangMitgelieferte BeispielautomatenAnhangMitgelieferte BeispielautomatenIn dieser Version von Charon mitgelieferte Beispiele:DateinameKurzbeschreibungAufgabe 1 (Telefon).chaTelefon, sehr grobe Darstellung mit zwei EingabezeichenAufgabe 2 (Vermittlung).cha Vermittlung, hier interessiert nur 0 o<strong>der</strong> Nicht-NullAufgabe 3. (Interne Verbindung).cha Verfeinerung des Hotel-Telefon-Anlagenmodells von Aufg. 1 und 2.Aufgabe 4a.chaAufgabe 4b.chaAufgabe 5a.chaÜbungsautomaten zur Übersetzung zwischen Diagramm und TabelleAufgabe 5b.chaAufgabe 6a (Kugelschreiber).cha Miniautomat eines KugelschreibersAufgabe 6b (Handmixer).cha Miniautomat eines HandrührgerätesAufgabe 7b.chaGesucht werden alle Dateinamen, die mit „Ch“ beginnen.Aufgabe 7c.chaGesucht werden alle Wörter, die auf eine beliebige Ziffer enden.Aufgabe 7d.chaGesucht werden alle CHARON-DateienAufgabe 7e.chaGesucht werden alle Wörter, die mit „ab“ beginnen und mit „ba“ enden.Aufgabe 8b.chaGesucht werden alle Zahlen, die durch 3 teilbar sindAufgabe 8b (weitere Darstellung).cha Wie zuvor, nur alle Ziffern werden angezeigtAufgabe 8c (Teiler-3-5).cha Die Anzahl <strong>der</strong> „a“ soll durch 3 o<strong>der</strong> 5, aber nicht durch 15 teilbar seinAufgabe 9.cha Wörter bestehen nur aus dem Zeichen „1“ o<strong>der</strong> enden mit „001“Aufgabe Ex1.chaÜbergangsdiagramm aus TabelleAufgabe Ex2.chaEin weiterer AkzeptorBinEnde00.chaBinäre Eingabe, „00“ am EndeColaautomat-1.chaColaautomat-2.chaVerschieden komplexe Stufen eines Getränkeautomaten.Colaautmat-3.chaFahrstuhl.chaAufzug über drei Stockwerke: EG, 1. Stock, 2. StockFinde123.chaGesucht werden alle Wörter, die die Zeichenkombination „123“ enthaltenFußgängerampel.chaAmpel mit Anfor<strong>der</strong>ungsknopfKlammer.chaZur syntaktischen Analyse bei runden und eckigen KlammernStoppuhr (einfach).chaStoppuhr.chaZwei verschiedene Stoppuhren, eine davon mit ZwischenzeitspeicherSeite 31
Anhang Arbeitsblatt 1Arbeitsblatt 1Arbeitsblatt 1ZustandsübergangsdiagrammeWir betrachten im Folgenden die Telefonanlage eines kleinen Hotels, welche über eine eigeneVermittlereinheit verfügt (um interne Verbindungen zwischen den Zimmern zu ermöglichenund damit externe Gesprächsgebühren nach Entfernung exakt abgerechnet werden können).Das Hotel wird in Aufgabe 3 noch näher beschrieben!Aufgabe 1Starten Sie das Programm „CHARON“ und laden Sie die Datei „Aufgabe 1 (Telefon).cha“. Siesehen den stark vereinfachten Automaten eines Telefons, welcher über vier Zustände verfügt.Es wird nur grob zwischen „Tastatureingabe“ und „Hörer abnehmen/auflegen“ als möglicheEingaben unterschieden. Bei aufgelegtem Hörer kann das Telefon über die Tastatur programmiertwerden, bei abgenommenem Hörer wird eine Verbindung aufgebaut. Setzen Sie sich mitdem Automaten und seiner Funktionsweise auseinan<strong>der</strong>, machen Sie sich mit <strong>der</strong> Bedienungvon CHARON vertraut und simulieren Sie einen fiktiven Anruf.Aufgabe 2Nun soll obige Telefonanlage weiter entwickelt werden, und zwar soll <strong>der</strong> Zustand „Gesprächsaufbau“,die Vermittlereinheit, als kleiner Automat im Automat realisiert werden: wirbetrachten ausschließlich den eigentlichen Wählvorgang und unterscheiden im Eingabealphabetnur, ob eine Null o<strong>der</strong> eine an<strong>der</strong>e Ziffer gewählt wurde (Eingabealphabet = {„0“; „1..9“}).Der Startzustand heißt „bereit“. Wird „1..9“ eingegeben, wird eine interne Verbindung aufgebautund <strong>der</strong> Apparat geht in den entsprechenden Zustand über, in dem er auch bleibt, egalwelche Zeichen folgen. Bei einer „0“ soll eine externe Verbindung aufgebaut werden, wobeihier wie<strong>der</strong> unterschieden werden muss, ob eine weitere Null folgt, und daher ein Auswärtsgespräch,o<strong>der</strong> ob bei folgen<strong>der</strong> Eingabe von „1..9“ ein Ortsgespräch geführt werden soll. Im erstenFall soll wie<strong>der</strong>um zwischen „Auslandsgespräch“ o<strong>der</strong> „Inlandsgespräch“ unterschiedenwerden. Die eigentliche Rufnummereingabe wird nicht näher betrachtet, d.h. es ist nicht vonInteresse, ob die eingegebene Nummer gültig ist o<strong>der</strong> nicht. Konstruieren Sie diesen Automaten!Was setzen Sie dabei als Endzustände fest?Hinweis: Es gibt insgesamt sieben verschiedene Zustände.Seite 32
Anhang Arbeitsblatt 1Aufgabe 3Betrachten Sie hier o<strong>der</strong> in CHARON den Automaten „Interne Verbindung“ und versuchen Sieseine Funktionsweise nachzuvollziehen und zu erklären!Hinweise:• Das Hotel verfügt über genau 20 Zimmer, davon zehn im 1. Stock (mit den Zimmernummern10 bis 19), und weitere zehn im 2. Stock (Nr. 20 bis 21).• Die Zimmer sollen durch Eingabe <strong>der</strong> entsprechenden Nummer direkt anwählbar sein• Die Rezeption soll mit „90“ erreicht werden können, <strong>der</strong> Zimmerservice mit „99“.Seite 33
Anhang Hinweise und Lösungen zum Arbeitsblatt Nr. 1Hinweise und Lösungen zum Arbeitsblatt Nr. 1Aufgabe 1 sollte falls möglich noch in <strong>der</strong> Schuledurchgeführt werden, damit die Schüler dasProgramm noch nicht mit nach Hause bekommenmüssen. Dies sollte erst nach Besprechung <strong>der</strong>Aufgaben 1 und 2 vom Arbeitsblatt Nr. 2geschehen, da diese sonst mit Hilfe von CHARONohne eigenes Zutun gelöst werden können.Ansonsten bietet sich stets die Möglichkeit an, diegewünschten Diagramme auszudrucken und soden Schülern zugänglich zu machen.Eine Lösung zu Aufgabe 2 stellt die Datei„Aufgabe 2 (Vermittlung).cha“ vor.Die Endzustände „Ort“ (für „Ortsgespräch“),„Nat“ (für eine Telefonat innerhalb Deutschlands)und „Inter“ (für eine internationale Verbindung)entsprechen neuen Automaten die voneiner Vermittlungsstelle außerhalb <strong>der</strong> Hotelanlagerealisiert werden.Mit <strong>der</strong> „internen Verbindung“ beschäftigt sichweiter Aufgabe 3: Da in CHARON maximal achtEingabezeichen zur Verfügung stehen, werden die Zeichen 3, 4, ..., 8 zu einem Zeichen „3..8“zusammengefasst, da zwischen diesen keine Unterscheidung nötig ist. Jedes könnte aber auchextra aufgeführt werden, was das Übergangsdiagramm dadurch aber deutlich größer machenwürde. Die Endzustände „1x“ und „2x“ wären demnach für jede <strong>der</strong> Tasten „3“ bis „8“ geson<strong>der</strong>tanzugeben. Aus Gründen <strong>der</strong> Übersicht habe ich außerdem bei den Endzuständen dieÜbergänge auf sich selbst angegeben, da diese für alle Fälle analog zum Zustand „EXT“ wärenund nur auf jeweils sich selbst zeigen. Der Zustand „F“ kennzeichnet die Eingabe einer ungültigeninternen Rufnummer.Seite 34
Anhang Arbeitsblatt 2Arbeitsblatt 2Arbeitsblatt 2Zustandstabellen und ausgelöste AktionenAufgabe 4Erstellen Sie zu folgenden Zustandsdiagrammen die zugehörigen Übergangstabellen!Aufgabe 5Konstruieren Sie zu folgenden Zustandstabellen die passenden Diagramme!a bZ 1 Start Z 4 Z 2Z 2 Normal Z 3 Z 2Z 3 Normal Z 2 Z 2Z 4 End Z 3 Z 1x y zZ 1 Start/End Z 2 Z 2 Z 3Z 2 Normal Z 3 Z 5 Z 3Z 3 End Z 4 Z 5 Z 5Z 4 Normal Z 4 Z 1 Z 1Z 5 Normal Z 3 Z 1 Z 1Aufgabe 6Modellieren Sie folgende Geräte als endliche Automaten.a) Kugelschreiberb) HandmixerDas Rührgerät soll über vier Geschwindigkeitsstufen verfügen: Null (Motor aus, Gerätbetriebsbereit), langsam (zum Teig kneten), mittel (zum verrühren von Desserts) undschnell (zum Sahne schlagen...). Dazu kann ein Schieberegler hoch und runter geschaltetwerden. Außerdem besitzt <strong>der</strong> Mixer einen Ein/Aus-Knopf.Seite 35
Anhang Hinweise und Lösungen zum Arbeitsblatt Nr. 2Hinweise und Lösungen zum Arbeitsblatt Nr. 2Sämtliche Automaten sind als CHARON-Datei unter dem Namen „Aufgabe x.cha“ gespeichert,wobei x für die Nummer <strong>der</strong> betreffenden Aufgabe steht.Die Übergangstabellen für die beiden Diagramme von Aufgabe 4 lauten:0 1Z 1 Start Z 1 Z 2Z 2 Normal Z 3 Z 4Z 3 Normal Z 2 Z 2Z 4 End Z 1 Z 4a b c1 Start 3 3 22 Normal 4 4 23 Normal 3 3 34 End 3 3 3Die Übergangsdiagramme <strong>der</strong> entsprechenden Automaten von Aufgabe 5 sehen folgen<strong>der</strong>maßenaus:Ähnliche Aufgaben wie die von Nr. 4 und 5 mit den verschiedensten Schwierigkeitsgradenkönnen sehr einfach selbst ausgedacht und mit CHARON erstellt werden.Kugelschreiber und Handrührgerät von Aufgabe6 könnten wie abgebildet realisiert werden:Seite 36
Anhang Arbeitsblatt 3Arbeitsblatt 3Arbeitsblatt 3Mustererkennung und AkzeptorenAufgabe 7Konstruieren Sie jeweils geeignete endliche Automaten! Verwenden Sie dazu stets ein passendesEingabealphabet. Alle Zeichen, die nicht weiter unterschieden werden müssen, sollten gesammeltmit „x“ bezeichnet werden. Versuchen Sie immer, mit möglichst wenigen Zuständenauszukommen!a) Gesucht werden alle Wörter, die irgendwo die Zeichenkombination „SOS“ beinhalten.b) Gesucht werden alle Dateinamen, die mit „Ch“ beginnen.c) Gesucht werden alle Wörter, die auf eine beliebige Ziffer enden.d) Gesucht werden alle CHARON-Dateien, d.h. alle Dateien mit <strong>der</strong> Endung „cha“ (BeachtenSie, dass Endungen immer nur aus drei Zeichen bestehen – Son<strong>der</strong>fälle sollen nichtberücksichtigt werden!)e) Gesucht werden alle Wörter, die mit „ab“ beginnen und mit „ba“ enden.Aufgabe 8a) Konstruieren Sie einen endlichen Automaten, <strong>der</strong> bei Eingabe einer Zahl überprüft, obdiese durch 16 teilbar ist. Die eingegebene Zahl wird dem Automaten als Binärzahlweitergegeben.b) Konstruieren Sie einen endlichen Automaten, <strong>der</strong> überprüft, ob eine eingegebene (ganzeDezimal-)Zahl durch drei teilbar ist! Tipp: Unterscheiden Sie im Eingabealphabetnur zwischen drei Fällen (Symbolen) und erinnern Sie sich an die Teilbarkeitsregeln,die Sie in <strong>der</strong> 5. Klasse gelernt haben!c) Konstruieren Sie einen endlichen Automaten, <strong>der</strong> erkennt, ob die Anzahl <strong>der</strong> eingegebenen„a“ durch drei o<strong>der</strong> durch fünf, aber nicht durch 15 teilbar ist. Verwenden Sie fürdas Eingabealphabet die Menge {„a“, „x“}.Aufgabe 9:Welche Worte erkennt rechts abgebildeter endlicherAutomat? Überlegen Sie dafür, auf welchenWegen man zu den beiden Endzuständengelangen kann!Seite 37
Anhang Hinweise und Lösungen zum Arbeitsblatt Nr. 3Hinweise und Lösungen zum Arbeitsblatt Nr. 3Folgende Akzeptoren leisten jeweils das Gewünschte (Aufgabe 7):a) Analog zu „Finde123.cha“, nur mit dem Eingabealphabet {„S“, „O“, „x“}.b) Z 4 steht für eine Fehleingabec) Hier steht die „1“ für eine beliebige Ziffer,und das „x“ für jedes sonstige Zeichend)e)Aufgabe 8a) verläuft analog zum Automaten „BinEnde00.cha“, nur dass die letzten vierStellen <strong>der</strong> Binärzahl Nullen sein müssen.Aufgabe 8b) finde ich persönlich sehr gelungen, da sie eigentlich nicht allzu schwer ist undmit wenigen Zuständen auskommt. Trotzdem erfor<strong>der</strong>t sie ein bisschen Tüftelarbeit, um dierichtige Idee zu finden. Das Eingabealphabet besteht aus drei Zeichen: „0“ steht für die Ziffern0, 3, 6 und 9 (Division durch 3 ergibt Rest 0), „1“ für die Ziffern 1, 4 und 7Seite 38
Anhang Hinweise und Lösungen zum Arbeitsblatt Nr. 3(7 mod 3 = 1) und „2“ für die Ziffern 2, 5 und 8. Natürlich kann das Eingabealphabet auchgleich aus den Zeichen „0/3/6/9“, „1/4/7“ und „2/5/8“ bestehen. Die Zustände werden dadurchunterschieden, ob die Summe, <strong>der</strong> bisher eingegebenen Ziffern durch drei teilbar isto<strong>der</strong> Rest 1, bzw.Rest 2 hat. Bleibtdie eingegebeneZahl also im Zustand„Rest 0“ stehen,ist ihre Quersumme,und somitdie Zahl selbstdurch drei teilbar!Eine Lösung zu Aufgabe 8c ist folgende (siehe Abbildung). Will man auch die Teilbarkeitdurch 15 zulassen, so ist einfach <strong>der</strong> Startzustand in einen Start-/Endzustand umzuwandeln.Der Automat von Aufgabe 9 ist nicht einfach zu verstehen. Er erkennt zum einen alle Wörter,die nur aus dem Zeichen „1“ bestehen, zum an<strong>der</strong>en die Worte, die auf „001“ enden.Aufgaben, die mit Hilfe von Akzeptoren gelöst werden, können in einer großen Vielfalt erstelltwerden. Ich denke, dass diese Art von Aufgaben gut im Unterricht behandelbar sind,da sie stets etwas „Knobelcharakter“ besitzen und daher schon von Natur aus bei vielenSchülern das Interesse wecken. Außerdem för<strong>der</strong>n sie das problemlösende, strukturierteund zustandsorientierte Denken nachhaltig!Seite 39
AnhangVorschlag für eine StegreifaufgabeVorschlag für eine StegreifaufgabeAufgabe 1:Stellen Sie zu folgen<strong>der</strong> Zustandstabelle das passende Übergangsdiagramm dar:0 1Z 1 Start Z 4 Z 2Z 2 Normal Z 3 Z 3Z 3 End Z 1 Z 2Z 4 End Z 3 Z 1Aufgabe 2:Gesucht werden alle Wörter, die mit <strong>der</strong> Zeichenkombination „ab“ beginnen, jedoch nicht mit„ab“ aufhören. Konstruieren Sie einen endlichen Automaten, <strong>der</strong> diese Aufgabe bewältigenkann. Versuchen Sie dabei, mit möglichst wenig Zuständen auszukommen!Hinweise und Lösungen zur Stegreifaufgabe:Aufgabe 1 sollte jedem Schüler relativ einfach fallen:Aufgabe 2 ist deutlich anspruchsvoller. Den Teil „mit ‚ab’beginnen“ sollten eigentlich die meisten Schüler problemloshinbekommen. Schwieriger wird die Lösung mit den beidenEndzuständen. Die Aufgabe kann jedoch deutlich entschärft werden, indem man sie so abän<strong>der</strong>t,dass <strong>der</strong> Automat nur nicht auf „a“ (o<strong>der</strong> „b“) enden soll (o<strong>der</strong> gerade auf eines dieserZeichen).Seite 40
LiteraturverzeichnisLiteraturverzeichnis[Bal96] Balzert, H. (1996). Lehrbuch <strong>der</strong> Softwaretechnik. Band 1. Heidelberg, Berlin:Spektrum[Bau96] Baumann, R. (1996 2 ). <strong>Didaktik</strong> <strong>der</strong> <strong>Informatik</strong>. Stuttgart: Klett[Bro98] Broy, M. (1998 2 ). <strong>Informatik</strong>. Eine grundlegende Einführung Band 2. Berlin,Heidelberg, New York: Springer[Dob99] Doberstein, A. / Rauter, G. (1999). Softwareentwicklung mit Delphi 4. Bonn:Addison-Wesley-Longman[Eng93] Engesser, H. u.a. (Hrsg.); Schwill, A. / Claus, V. (Bearb.), (1993). Duden <strong>Informatik</strong>.Mannheim, Leipzig, Wien: Duden[Fis97] Fischer, N. / Schenk, H. (1997). Endliche Automaten. Baustein zur <strong>Didaktik</strong> <strong>der</strong><strong>Informatik</strong>. München: Staatsinstitut für Schulpädagogik und Bildungsforschung[Hub00] Hubwieser, P. (2000). <strong>Didaktik</strong> <strong>der</strong> <strong>Informatik</strong>: Grundlagen, Konzepte, Beispiele.Berlin, Heidelberg, New York: Springer[Jan97] Janning, J. / Nannen, Th. (1997). Delphi 3. Die blaue Reihe. Kaarst: bhv[Mai97] Maier, M. / Kraus, U. (1997). Delphi 3 – das Kompendium. Haar bei München:Markt und Technik[Sch97] Schöning, U. (1997 3 ). Theoretische <strong>Informatik</strong> – kurzgefaßt. Heidelberg, Berlin:Spektrum[War99] Warken, E. (1999). Delphi 4. Bonn: Addison-Wesley-LongmanSonstige Quellen:[S1] Bayerisches Staatsministerium für Unterricht und Kultus: Rundbrief VI/7-S5502-6/75412an die Leiterinnen und Leiter <strong>der</strong> Gymnasien in Bayern[S2] Hohlmeier, Monika: <strong>Informatik</strong> am Gymnasium; Festvortrag zum Tat <strong>der</strong> <strong>Informatik</strong> an<strong>der</strong> TU-München;(http://wwwbib.informatik.tu-muenchen.de/Stroehlein/Berichte/Tag_IN.../Hohlmeier.htm)[S3] Hubwieser, P.: <strong>Informatik</strong> als Pflichtfach an bayerischen Gymnasien; Vortrag vom15./16.12. 98 an <strong>der</strong> Friedrich-Alexan<strong>der</strong>-Universität Erlangen-Nürnberg(http://ddi.in.tum.de/didaktik/vortraege.html)Seite 41
ErklärungErklärungHiermit erkläre ich, dass ich diese Arbeit in allen Teilen selbstständig gefertigt und keinean<strong>der</strong>en Hilfsmittel außer den angeführten benutzt habe.Sie wurde nicht bereits als Doktor-, Magister-, Diplom- o<strong>der</strong> Zulassungsarbeit bei einerHochschule o<strong>der</strong> als schriftliche Hausarbeit bei einer an<strong>der</strong>en Staatsprüfung für ein Lehramteingereicht.München, den 15. August 2001Matthias SpohrerSeite 42