Informatik. Formale Sprachen, Kommunikation und. Synchronisation von Prozessen, Funktionsweise eines Rechners, Grenzen der Berechenbarkeit

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Informatik. Formale Sprachen, Kommunikation und. Synchronisation von Prozessen, Funktionsweise eines Rechners, Grenzen der Berechenbarkeit"

Transkript

1 Zweierseilschaft (Ausschnitt) solange seillänge > 2m vorsteiger.klettern() vorsteiger.standbauen() vorsteiger.kommandogeben( Stand ) nachsteiger.vorsteigersicherungabbauen() nachsteiger.kommandogeben( Seil ein ) solange seillänge > m vorsteiger.seileinholen() nachsteiger.kommandogeben( Seil aus ) vorsteiger.nachsteigersicherungaufbauen() vorsteiger.kommandogeben( Nachkommen ) nachsteiger.standsicherungabbauen() nachsteiger.kommandogeben( Ich Informatik 5 komme ) solange seillänge > m Formale Sprachen, Kommunikation und nachsteiger.klettern() Synchronisation von Prozessen, Funktionsweise eines Rechners, Grenzen der Berechenbarkeit

2 Informatik 5 Lehrwerk für Gymnasien erarbeitet von Peter Hubwieser Patrick Löffler Petra Schwaiger Matthias Spohrer Markus Steinert Siglinde Voß Ferdinand Winhard Ernst Klett Verlag Stuttgart Leipzig X Kapitel 1

3 Inhaltsverzeichnis Lernen mit Ihrem Informatikbuch 6 I Formale Sprachen 8 1 Natürliche und formale Sprachen 1 2 Erzeugen formaler Sprachen 13 3 Notationsformen 19 4 Erkennung formaler Sprachen 23 5 Implementierung endlicher Automaten 3 Exkursion Mealy-Automaten 34 Turing und seine Turing-Maschine 36 Noam Chomsky Forschung, Politik, Informatik 39 Rückblick 42 Training 43 II Kommunikation und Synchronisation von Prozessen 44 1 Protokolle zur Kommunikation 46 2 Nebenläufige Prozesse 51 3 Implementierung nebenläufiger Prozesse 56 4 Topologie von Rechnernetzen 63 5 Kommunikation über Protokollschichten 67 6 Internet Netz der Netze 71 Exkursion Geschichte des Internets 79 Bankier-Algorithmus 84 Petri-Netze 86 Semaphore 88 Rückblick 92 Training 93 III Funktionsweise eines Rechners 94 1 Von-Neumann-Rechner 96 2 Registermaschine 1 3 Algorithmische Strukturelemente 18 Exkursion Vom Quellcode zum fertigen Programm 113 Darstellung verschiedener Datentypen 116 Wer erfand den Computer? 118 Architektur moderner Hochleistungsrechner 12 Rückblick 122 Training Inhaltsverzeichnis

4 IV Grenzen der Berechenbarkeit Laufzeit von Algorithmen Laufzeitaufwand und Entschlüsselung Prinzipielle Grenzen der Berechenbarkeit 14 Exkursion Verschlüsselung: Informatik und Machtpolitik 144 Komplexitätstheorie und Landau-Symbole 146 Das Moore sche Gesetz 147 Ist jede Wahrheit beweisbar? 148 P = NP? 154 Rückblick 158 Training 159 Java-Überblick 16 UML-Überblick 177 Grundwissen 179 Lösungen 194 Register 24 Text- und Bildquellen 29 Inhaltsverzeichnis 5

5 Lernvoraussetzungen º Rekursive Funktionen verstehen und auswerten º Endliche Automaten konstruieren º Überschaubare Algorithmen in Programme übersetzen Satz Subjekt Prädikat Artikel Substantiv Verbum Ein Fisch schwimmt SE _G_K1_8_1.eps 8 I Formale Sprachen

6 I Formale Sprachen Sprachen deuten Die Sprache ist äußeres Denken, das Denken innere Sprache. Antoine de Rivarol ( ), französischer Schriftsteller, 3, 6, 9, 3, 6, 9 2, 5, 8 1, 4, 7 Rest 1, 4, 7 2, 5, 8 SE _G_K1_8_1.eps Rest1 1, 4, 7 2, 5, 8, 3, 6, 9 Rest2 Lernziele º Syntax und Semantik unterscheiden º Formale Sprachen beschreiben und darstellen º Grammatik einer Sprache definieren º Erkennende Automaten zur Syntaxprüfung konstruieren und implementieren º Prinzipielle Grenzen des Computereinsatzes kennen I Formale Sprachen 9

7 1 Natürliche und formale Sprachen Sie möchten die besten Ausschnitte Ihres letzten Reisefilms mit einem DVD- Spieler präsentieren. Die Verständigung mit dem Gerät geschieht mittels zahlreicher, mit speziellen Zeichen versehener Bedienelemente, die in der richtigen Reihenfolge betätigt werden müssen, um die korrekte Ausführung des gewünschten Vorgangs sicherzustellen. Welche Bedienelemente müssen betätigt werden, um die Wiedergabe 32 Minuten und 12 Sekunden nach Filmbeginn bzw. ab Kapitel 3 zu starten oder den Inhalt der DVD in Einzelbildern durchzuschalten? Beschreiben Sie diese Vorgänge jeweils durch eine Folge entsprechender Symbole der Bedienelemente. Wenn sich zwei Gesprächspartner verstehen sollen, müssen sie eine gemeinsame Sprache sprechen. Natürliche Sprachen sind oft mehrdeutig und variantenreich und daher im Allgemeinen zur präzisen Kommunikation ungeeignet. Zur direkten Verständigung mit Maschinen verwendet man daher in der Regel formale Sprachen, die als eindeutig definierte Menge zugelassener Zeichenketten festgelegt werden. : Grillen : Ober-/Unterhitze : Umluft mit Grill : Umluft Zeichen und Wörter Anja kocht leidenschaftlich gern. Für die Zubereitung eines Kartoffelgratins muss laut Rezept der Backofen dazu gebracht werden, den Umluftgrill einzuschalten und das Gericht 1 h und 15 min lang bei 16 C zu garen. Außerdem soll das Essen um Punkt 12.3 Uhr fertig sein. Dazu muss dem Backofen mitgeteilt werden, wie lange die Garzeit, wie hoch die Temperatur, wann das Gericht fertig sein bzw. welche Heizart verwendet werden soll. Bei modernen Backöfen verwendet man hierzu spezielle Druck- bzw. Drehknöpfe, an denen verschiedene Symbole angebracht sind. Die Heizdauer (bzw. Ausschaltzeit) kann etwa durch Drücken des Symbols (bzw. ) mit jeweils anschließender Eingabe von maximal vier Ziffern, die Heizart durch eines der vier Symbole,, oder (bzw. für aus ) und die Temperatur durch eine Zahl aus drei Ziffern zwischen und 299 angegeben werden (). 1 I Formale Sprachen

8 Mögliche Zeichen für die Verständigung mit dem Backofen sind also die Ziffern, 1, 2, 3, 4, 5, 6, 7, 8 und 9 sowie die Symbole,,,, und. Durch die Zeichenfolge wird der gewünschte Ablauf zum Garen des Kartoffelgratins beschrieben. Alphabet Die endliche Menge einzelner Zeichen, die in einer formalen Sprache verwendet werden, heißt Alphabet oder Zeichenvorrat dieser Sprache und wird mit Σ bezeichnet. Im Beispiel ist Σ = {, 1, 2, 3, 4, 5, 6, 7, 8, 9,,,,,, }. Durch Aneinanderreihen mehrerer Zeichen des Alphabetes wird ein Wort (auch Zeichenkette genannt) gebildet. Ein korrektes Wort für die Zubereitung des Kartoffelgratins lautet Formale Sprachen Nicht alle möglichen Kombinationen von Zeichen eines Alphabetes bilden korrekte Wörter einer bestimmten Sprache. Durch die Angabe formaler Regeln wird die Menge aller zulässigen Zeichenketten als formale Sprache definiert. Am Beispiel des oben beschriebenen Backofens könnten Regeln für die Bildung von Wörtern z. B. wie folgt lauten: Auf jedes der Zeichen bzw. müssen jeweils ein bis vier Ziffern aus, 1, 2, 3, 4, 5, 6, 7, 8, 9 folgen. Genau eines der Zeichen,,, gefolgt von einer Kombination aus einer der Ziffern, 1, 2 mit zwei Ziffern aus, 1, 2, 3, 4, 5, 6, 7, 8, 9 muss enthalten sein. Syntax und Semantik Die Gesamtheit der Regeln, in denen festgelegt wird, welche Zeichenketten zu einer Sprache gehören, bezeichnet man als Syntax dieser Sprache. In der oben beschriebenen Sprache ist z. B. die Zeichenkette syntaktisch falsch, da die Regeln der Sprache nicht eingehalten werden. Dagegen erhält man mit ein nach obigen Regeln syntaktisch korrekt gebildetes Wort. Obwohl die Syntax des Wortes korrekt ist, das Wort also zur oben definierten Sprache gehört, ist eine sinnvolle Interpretation hier nicht möglich, da 876 und 9897 nicht als Uhrzeit verstanden werden können. Allgemein gibt die Semantik einer Zeichenkette die Bedeutung dieses Wortes wieder. Nach Austausch einiger Ziffern erhält man mit ein Wort, dessen Semantik umgangssprachlich mit 1 h und 16 min lang wird die Grilltemperatur auf 234 C gestellt, sodass um Uhr der Backvorgang beendet ist beschrieben werden kann. Für die Definition einer Sprache aus allen Wörtern, die für den Backofen korrekt sind, müssen demnach die beiden obigen Regeln um weitere Regeln ergänzt werden. Bei der Kommunikation mit natürlichen Sprachen können Zweideutigkeiten und Missverständnisse auftreten. Dies kann man durch die Verwendung einer formalen Sprache verhindern, die als Menge zulässiger Zeichenketten über einem Alphabet definiert wird. Die Regeln zur Bildung zulässiger Zeichenketten stellen die Syntax einer Sprache dar. Die Bedeutung eines Wortes nennt man auch Semantik. I Formale Sprachen 11

9 Aufgaben 1 Kochkurs Welche der folgenden Ausdrücke für die im Lehrtext beschriebene Sprache sind syntaktisch bzw. semantisch korrekt? Das bisschen Haushalt... Gesucht ist eine formale Sprache für die Bedienung einer Waschmaschine. Betrachten Sie dazu das in abgebildete Bedienfeld. Welches Alphabet liegt dabei zugrunde? Wie könnten die Regeln lauten? Vergleichen Sie die Funktionen mit Ihrem Gerät zu Hause. Welche zusätzlichen Eingaben müssten Sie berücksichtigen? 3 Lang Kurz Die Morse-Sprache verwendet die beiden Zeichen (für kurz ) und (für lang ). Zusätzlich können einzelne Wörter (die jeweils für einen Buchstaben stehen) durch ein spezielles Zeichen (z. B. Leerzeichen) getrennt werden. Welche der nachfolgenden Zeichenfolgen der Morse-Sprache stellen Wörter der deutschen Sprache dar? a) b) c) d) 4 Eine einfache Mathematik-Sprache I Formulieren Sie die Regeln einer formalen Sprache, durch die mithilfe der Zeichen (, ), +,,, : und der Ziffern, 1,..., 9 korrekte Rechenterme beschrieben werden können. Diese sollen nur die vier Grundrechenarten inklusive Klammerung enthalten. Innerhalb einer Klammer darf keine weitere Klammer stehen. 5 Natürliche Sprachen vs. formale Sprachen Um eine natürliche Sprache mithilfe formaler Sprachen wenigstens annähernd beschreiben zu können, werden in der Regel mehrere formale Sprachen benötigt. Aus dem zugrunde liegenden Alphabet erzeugt eine dieser formalen Sprachen Wörter. Eine weitere bildet aus diesen wiederum grammatisch korrekte Sätze. Semantische Korrektheit wird dabei noch nicht einmal berücksichtigt. a) Was sind allgemein Alphabet und Wörter der zweiten eben angesprochenen, zur Bildung von Sätzen benötigten formalen Sprache? b) Worin unterscheiden sich natürliche Sprachen, beispielsweise Deutsch, Französisch, Chinesisch oder Russisch, wenn man sie wie eben beschrieben als formale Sprache interpretiert? Betrachten Sie dazu beispielsweise das Wort Schloss in den verschiedenen Sprachen. 6 Java als formale Sprache Die Programmiersprache Java ist auch eine formale Sprache. Das Alphabet von Java besteht aus den Schlüsselwörtern (z. B. if, for, class und private) und Zeichen (z. B. den Klammern), die in der Definition von Java festgelegt sind. Was entspricht dann den Wörtern der formalen Sprache Java? 12 I Formale Sprachen

10 2 Erzeugen formaler Sprachen Auf einer Wetterkarte werden die aktuellen Wetterdaten in Form von Zeichenketten aus Symbolen des Alphabetes Σ = {,,,,, 1, 2, 3, 4, 5, 6, 7, 8, 9,,,, %, / } dargestellt. Beschreiben Sie die Struktur aller gültigen Wörter möglichst kompakt, indem Sie neben dem oben festgelegten Alphabet zusätzliche Hilfszeichen für Oberbegriffe, wie z. B. S (für Wettersymbolisierung), W (für Wetterlage), T (für Temperatur) und L (für Luftfeuchtigkeit) verwenden. Beginnen Sie mit der Beschreibung des Zeichens S z. B. so: S ist eine Zeichenkombination der Form... Zur Definition einer formalen Sprache muss man die Menge der zulässigen Wörter festlegen. Im einfachsten Fall gibt man alle diese Wörter direkt an. Andernfalls benötigt man eine Menge von Regeln (Syntax) zur Bildung dieser Wörter aus dem Alphabet der jeweiligen Sprache. Produktionsregeln In einer kleinen Stadt gibt es die zwei U-Bahnlinien U1 und U2 sowie die drei S-Bahnlinien S1, S2 und S3. Die formale Sprache VB, der Bezeichner für diese Verkehrslinien, besteht somit aus den folgenden Wörtern: VB = {U1, U2, S1, S2, S3}. Die Sprache VB kann aber ebenso durch eine Menge formaler Regeln definiert werden, hier R1 bis R8 (). Solche Regeln heißen auch Produktionsregeln oder kurz Produktionen. Eine solche Produktionsregel besteht aus zwei Teilen, die durch einen Pfeil ( ) getrennt werden: Links des Pfeils steht eine syntaktische Variable (z. B. <linie> oder <U-Bahn>), die bei der Anwendung der Regel durch den rechts des Pfeils angegebenen Term ersetzt wird. <linie> <U-Bahn> <linie> <S-Bahn> <U-Bahn> U <2Ziffer> <S-Bahn> S <3Ziffer> <2ziffer> 1 <2ziffer> 2 <3ziffer> <2ziffer> <3ziffer> 3 Dieser Term kann Zeichen des Alphabetes sowie syntaktische Variable enthalten. Oft gibt es mehrere Regeln zur Ersetzung derselben syntaktischen Variablen, z. B. <2ziffer> 1 und <2ziffer> 2. Je nach Bedarf kann man eine davon anwenden. (R1) (R2) (R3) (R4) (R5) (R6) (R7) (R8) Wir beschränken uns auf einen einfachen Typ formaler Sprachen, bei dem jede Produktion auf der linken Seite ein einzelnes Nichtterminalsymbol (Seite 14) enthält. Diese Sorte formaler Sprachen bezeichnet man auch als kontextfreie Sprachen (vergleichen Sie hierzu auch die Exkursion auf Seite 39 ff.). Syntaktische Variable werden durch spitze Klammern gekennzeichnet. Ableitungen Das Wort S2 der Sprache VB wird mit den Regeln aus beispielsweise folgendermaßen erzeugt: R2 R4 R7 R6 <linie> <S-Bahn> S <3Ziffer> S <2ziffer> S2 Eine derartige Folge von Regelanwendungen, die zu einem Wort der Sprache führt, bezeichnet man als Ableitung dieses Wortes. I Formale Sprachen 13

11 Beispiele: <linie> <U-Bahn> R3 <U-Bahn> U <2Ziffer> R5 U <2Ziffer> U1 Für jede Sprache muss genau eine syntaktische Variable festgelegt sein, mit der alle Ableitungen beginnen (Startvariable). Ausgehend von dieser Startvariablen entsteht durch sukzessives Anwenden jeweils einer der gegebenen Produktionsregeln schließlich ein bestimmtes Wort der Sprache. Dies geschieht nach folgendem Verfahren: (1) Anwendung einer Regel, auf deren linker Seite die Startvariable steht. Dabei wird diese Variable durch den Term auf der rechten Seite ersetzt. Dieser Term (im Folgenden mit T bezeichnet) enthält eventuell Zeichen des Alphabetes und syntaktische Variable. (2) Anwendung einer Regel, auf deren linker Seite eine der im Term T enthaltenen syntaktischen Variablen steht. So entsteht eine neue Form von T. (3) Fortsetzung des Verfahrens nach (2), bis der Term T nur noch aus Zeichen des Alphabets besteht, d. h. keine syntaktischen Variable mehr enthalten sind. Terminale und Nichtterminale Alle Symbole, die zum Alphabet Σ der zu erzeugenden formalen Sprache gehören, bezeichnet man als Terminale, weil sie im weiteren Verlauf der Ableitung erhalten bleiben. In der Sprache VB ist Σ = {S, U, 1, 2, 3} Im Gegensatz dazu bezeichnet man syntaktische Variable auch als Nichtterminale, weil sie im Laufe der Ableitung auf jeden Fall ersetzt werden müssen. Im Beispiel der Sprache VB ist die Menge der Nichtterminale V = {<linie>, <U-Bahn>, <S-Bahn>, <2ziffer>, <3ziffer>}. Von den angegebenen Alternativen muss bei Anwendung der Regel genau eine ausgewählt werden. Der Einfachheit halber lassen wir hier auch Ziffernfolgen mit führenden Nullen zu, wie z. B. 3. Vergleichen Sie dazu Aufgabe 3 auf Seite 17. Mit wird ein Leerzeichen (Space) bezeichnet. Zusammenfassung von Regeln Regeln, auf deren linker Seite dasselbe Nichtterminal steht, kann man mithilfe des Symbols zusammenfassen. Dieser senkrechte Strich trennt dabei im Sinne eines oder alternative Terme, die anstatt dieses Nichtterminals eingesetzt werden können. zeigt die zusammengefassten Regeln zur Sprache VB (vergleichen Sie auch mit auf Seite 13). Ableitungsbäume Deutsche Autokennzeichen enthalten Buchstaben, Leerzeichen und Ziffern. Jedes Kennzeichen besteht dabei aus drei Komponenten, die durch Leerzeichen voneinander getrennt sind: dem Zulassungsbezirk, einer Buchstabenkombination und einer Zahl. Da die Buchstabenkombination aus einem oder zwei Großbuchstaben bestehen und die Zahl maximal vierstellig sein darf, lässt sich der komplette Regelsatz für die Sprache der Autokennzeichen dann wie folgt angeben: <linie> <U-Bahn> <S-Bahn> (R1, R2) <2ziffer> 1 2 (R5, R6) <3ziffer> <2ziffer> 3 (R7, R8) <kennzeichen> <zulassungsbezirk> <buchstabenkombination> <zahl> <zulassungsbezirk> <buchstabe> <buchstabe><buchstabe> <buchstabe><buchstabe><buchstabe> <buchstabenkombination> <buchstabe> <buchstabe><buchstabe> <zahl> <ziffer> <ziffer><ziffer> <ziffer><ziffer><ziffer> <ziffer><ziffer><ziffer><ziffer> <buchstabe> A B C D E F G H... X Y Z Ä Ö Ü <ziffer> I Formale Sprachen

12 An diesem Beispiel wird deutlich, dass es je nach Auswahl der angewandten Produktionsregeln eventuell mehrere Ableitungen eines Wortes geben kann. Für OA S 5 gibt es beispielsweise die folgenden Ableitungen: <kennzeichen> <zulassungsbezirk> <buchstabenkombination> <zahl> <buchstabe><buchstabe> <buchstabenkombination> <zahl> O<buchstabe> <buchstabenkombination> <zahl> OA <buchstabenkombination> <zahl> OA <buchstabe> <zahl> OA S <zahl> OA S <ziffer><ziffer> OA S 5<ziffer> OA S 5 <kennzeichen> <zulassungsbezirk> <buchstabenkombination> <zahl> <zulassungsbezirk> <buchstabenkombination> <ziffer><ziffer> <zulassungsbezirk> <buchstabe> <ziffer><ziffer> <buchstabe><buchstabe> <buchstabe> <ziffer><ziffer> <buchstabe><buchstabe> <buchstabe> <ziffer> <buchstabe><buchstabe> <buchstabe> 5 <buchstabe><buchstabe> S 5 <buchstabe>a S 5 OA S 5 Manchmal werden die Hochkommas bei den Symbolen der Sprache weggelassen. Für das Leerzeichen sind diese jedoch notwendig. Mit einem Ableitungsbaum lässt sich die Ableitungsstruktur eines Wortes trotz eventuell mehrfacher Ableitungswege übersichtlich darstellen: Man beginnt mit der Startvariablen als Wurzel. An den Kindknoten notiert man der Reihe nach die aus der jeweils angewandten Regel neu entstandenen Terminale bzw. Nichtterminale. An den Blättern stehen schließlich die Terminale des erzeugten Wortes (). Rekursion in Produktionen Es gibt formale Sprachen, die Wörter unbegrenzter Länge enthalten, z. B. die Sprache aller nichtnegativen ganzen Zahlen N = {, 1, 2, 3...}. Die Anzahl der Regeln muss jedoch immer begrenzt sein. In solchen Fällen verwendet man rekursive Produktionen, bei denen (außer bei verschränkter Rekursion; vergleichen Sie hierzu die Marginalie) auf der rechten Seite mindestens einmal dieselbe Variable vorkommt wie auf der linken, sodass diese Regel beliebig oft angewandt werden kann. Beispielsweise lassen sich mit den folgenden Produktionen aus der Startvariablen <zahl> alle natürlichen Zahlen (allerdings mit führenden Nullen) erzeugen: <zahl> <ziffer> <zahl><ziffer> <ziffer> Die Zahl 53 kann man z. B. wie folgt ableiten: <zahl> <zahl><ziffer> <zahl><ziffer> 3 <ziffer> Eventuell läuft die (in diesem Fall verschränkte) Rekursion auch über mehrere Regeln, z. B. <A> a <B> a <B> <A> b b I Formale Sprachen 15

13 Grammatiken Das Alphabet Σ einer Sprache bildet zusammen mit der Menge der (syntaktischen) Variablen V, der Startvariablen S * V und der Menge der Produktionen P eine formale Grammatik. Dabei dürfen Σ und V kein gemeinsames Element haben, d. h. Σ V = { }. Es darf somit kein Zeichen geben, das sowohl Terminal- als auch Nichtterminalsymbol ist. Die Grammatik G = (V, Σ, P, S) definiert die formale Sprache aus allen Wörtern, die nur Terminalsymbole aus Σ enthalten und ausgehend vom Startsymbol S mithilfe einer endlichen Anzahl von Anwendungen von Regeln aus P abgeleitet werden können. Die Anzahl der Wörter der beschriebenen Sprache der Autokennzeichen lässt sich mit dem Zählprinzip berechnen: ( ) 1 ( ) 1 1 = Davon gehört nur ein Bruchteil zu den 5,2 Millionen am zugelassenen Kraftfahrzeugen. Im Beispiel der formalen Sprache der Autokennzeichen sind somit auch solche Wörter syntaktisch korrekt (und gehören damit zu der von dieser Grammatik erzeugten Sprache), die in der uns bekannten Sprache zugelassener Autokennzeichen semantisch keinen Sinn ergeben. So gehört zwar z. B. das Wort XYZ ÜÜ formal zur erzeugten Sprache, ist jedoch für uns (noch) nicht als Autokennzeichen interpretierbar (). Jeder formalen Sprache liegt eine Grammatik zugrunde, die alle zulässigen Wörter der Sprache mithilfe von Ableitungsregeln beschreibt. Eine Grammatik besteht aus einer Menge von syntaktischen Variablen, einem Alphabet, einer Menge von Produktionen und einem Startsymbol. Oft gibt es dabei für ein Wort mehrere Ableitungen. Aufgaben In Deutschland gibt es eine Vielzahl an Sonderkennzeichen, die hier nicht alle aufgeführt werden können. So trägt der Dienstwagen des Bundespräsidenten beispielsweise das Kennzeichen 1, der Kanzlerwagen 2. 1 Kfz-Kennzeichen I a) Erstellen Sie den Ableitungsbaum für das Kfz-Kennzeichen M VZ 13 nach den im Lehrtext angegebenen Regeln. b) Früher wurden Kfz-Kennzeichen noch in der Form M VZ 13 angegeben. Wie ändert sich in diesem Fall die Grammatik? c) Der Bundeswehr ist der Buchstabe Y zur Kennzeichnung ihrer Fahrzeuge zugeordnet, gefolgt von einer bis zu sechsstelligen Nummer (z. B. Y ). Oldtimer können ein H-Kennzeichen erhalten, bei dem die Kennzeichnung nach üblichem Schema erfolgt, mit der Ausnahme, dass das abschließende Zeichen ein H ist (z. B. ER J 433H ). Ergänzen Sie die Ableitungsregeln, sodass diese beiden Sonderfälle mit integriert werden können. d) Informieren Sie sich über die Kennzeichnung von Mofas und stellen Sie die zugehörige Grammatik auf. 16 I Formale Sprachen

14 2 Regallager Ulli ist dabei, die Lagerplätze im Lager seiner Firma neu zu beschriften. Dabei setzt er die Lagerplatzbeschriftung aus Zeichen und Ziffern zusammen. Die entsprechenden Wörter bestehen aus genau sechs Zeichen: dem Lagerort (A D), der Regalreihe (A Z), dem Feld (1 99), dem Fach (A Z) und schließlich dem Behälter (1 9). Aus diesen Vorgaben kann die eindeutige Position eines Werkstücks z. B. mit CR31F7 angegeben werden. Geben Sie eine Grammatik an, die genau alle gültigen Wörter für die Lagerbeschriftung erzeugt. 3 Natürliche und ganze Zahlen Im Lehrtext ist auf Seite 15 eine Grammatik beschrieben, die alle natürlichen Zahlen erzeugt. Die Zahlen können dabei jedoch beliebig viele führende Nullen aufweisen, z. B. 17. a) Erweitern Sie diese Grammatik so, dass die erzeugte Sprache genau alle natürlichen Zahlen in der üblichen Schreibweise (ohne führende Nullen) enthält. b) Erweitern Sie diese Grammatik so, dass die erzeugte Sprache genau alle ganzen Zahlen in der üblichen Schreibweise (ohne führende Nullen) enthält. 4 Halbstrukturformel für Alkane Kettenförmige gesättigte Kohlenwasserstoffe können als Halbstrukturformeln dargestellt werden. Gültige Wörter für diese Alkane sind z. B. CH 4 (Methan), CH 3 CH 3 (Ethan), CH 3 CH 2 CH 3 (Propan) und CH 3 CH 2 CH 2 CH 3 (Butan). a) Definieren Sie eine Grammatik für die Erzeugung aller kettenförmiger Alkane. Verwenden Sie für die Menge der Nichtterminale V = {<Alkan>, <Randgruppe>, <Innengruppe>}. b) Geben Sie eine Ableitung für die Erzeugung des Wortes für Heptan an, z. B. in Form eines Ableitungsbaumes. Die Kohlenwasserstoffe wie Alkane gehören zu einer Molekülgruppe, die nur aus Kohlenstoff und Wasserstoff bestehen. Die Kohlenwasserstoffe haben, vor allem durch ihre riesigen Vorkommen als fossile Brennstoffe, eine große technische Bedeutung. 5 Die Sprache der Zeiten a) Geben Sie eine Grammatik zur Darstellung von Datumsangaben der Form tt.mm.jjjj an. Dabei gibt tt den Tag, mm den Monat und jjjj vierstellig das Jahr an, z. B Dabei dürfen alle Monate 31 Tage haben. Es sollen nur die Jahreszahlen von 1 bis 2999 möglich sein. b) Geben Sie eine Grammatik zur Darstellung aller Uhrzeiten der Form hh:min:ss Uhr an, also beispielsweise 6:45:3 Uhr. Überlegen Sie sich eigene Vereinfachungen. 6 Die Sprache der Palindrome Palindrome sind Zahlen, Wörter oder gar ganze Sätze, die (ohne Satz- und Leerzeichen) vorwärts und rückwärts gelesen identisch sind, beispielsweise 12421, RENTNER oder Eine güldne, gute Tugend: Lüge nie!. a) Geben Sie die Ableitungsregeln für Palindromzahlen an, die eine ungerade Anzahl an Ziffern haben und nur aus den Ziffern 1, 2, 3 oder 4 bestehen. b) Lassen Sie auch eine gerade Anzahl von Ziffern zu und geben Sie die Ableitung von an. Wir verwenden hier den Begriff Palindrom im angegebenen Sinne. Streng genommen muss ein Palindrom vorwärts und rückwärts gelesen nicht identisch sein, sondern lediglich Sinn ergeben. I Formale Sprachen 17

15 Die Abkürzung EIN steht für Eigentümer- Identifizierungs-Nachweis. 7 Fahrradcodierung Um Fahrräder gegen Diebstahl zu schützen, sollten diese über eine individuelle Kennzeichnung verfügen. Sie werden dazu z. B. mit der bundesweit verbreiteten EIN- Codierung versehen (). a) Geben Sie eine Grammatik an, welche alle gültigen Codewörter erzeugen kann. b) Wie viele Wörter können mit der von Ihnen angegebenen Grammatik erzeugt werden? Kfz-Kz. 1 3-stellig Gemeindeschlüssel 3-stellig Straße als Abkürzung 3 8-stellig als Straßenschlüssel oder -bezeichnung Hausnummer 3-stellig Initialen des Eigentümers 2-stellig (ohne Ä, Ö, Ü) Beispiel 1 Code 1 Beispiel 2 Code 2 Starnberg Fürstenfeldbruck Herrsching Zugspitzstraße 8 Die Milch macht s Milchprodukte erhalten ein europäisches Identitätskennzeichen nach dem Muster DE BY 379 EG, anhand dessen sich nachvollziehen lässt, woher das betreffende Lebensmittel kommt. Dabei stehen die ersten beiden Buchstaben für das EU-Erzeugerland (z. B. DE für Deutschland), gefolgt von der Kennung des Bundeslandes (z. B. BY für Bayern) und einer dreistelligen Nummer (z. B. 379), welche die Produktionsstätte, also die Molkerei angibt. EG steht für Europäische Gemeinschaft. Fig. 2 a) Geben Sie eine vollständige Grammatik für die zugrunde liegende formale Sprache an. Sie müssen dabei nicht berücksichtigen, dass nur korrekte Länderkürzel erzeugt werden. b) Finden Sie eine mögliche Ableitung der in Fig. 2 gezeigten Kennzeichnung einer Schokomilch. STA FFB 124 Olching 142 ZUGSPITZ Hauptstr a _ 2 17 Franz- Josef Reiter FR Susanne Vogt Codewort STA124/ZUGSPITZ-5FR FFB142/ SV SV 9 Unbekannte Inselsprache Die Ureinwohner einer bislang unerforschten Insel reden eine seltsame Sprache, die nur aus den Lauten Da, Li und Mo besteht. Dabei liegen all ihren Wörtern folgende Ableitungsregeln zugrunde. <S> bezeichnet hierbei die Startvariable. <S> Da Li <S> DaDa <S> Da <S> Li <L> Mo <L> Li <L><S> Mo Gehört das angegebene Wort zur Sprache der Inselbewohner? Geben Sie gegebenenfalls eine mögliche Ableitung an. a) DaDaLiMo b) LiDaMoMo c) LiMo d) DaLiLiMo e) DaDaDaDaLi f) DaDaDaLiLi g) DaLiDaDaMo h) DaMoLiMo 1 Eine einfache Mathematik-Sprache II Geben Sie die Grammatik zur Erzeugung einfacher Rechenterme gemäß Aufgabe 4 auf Seite 12 an. Finden Sie eine mögliche Ableitung zum Ausdruck (35 28) : 7. Erweitern Sie die Aufgabe so, dass die Klammern beliebig tief verschachtelt werden dürfen. 11 Eierstempel Informieren Sie sich über den Aufdruck bei Hühnereiern und geben Sie eine Grammatik an, die die formale Eierstempel-Sprache beschreibt. 18 I Formale Sprachen

16 3 Notationsformen Smileys sind beliebte Zeichenkombinationen aus einzelnen Satzzeichen, Buchstaben und Ziffern, die es ermöglichen, Stimmungen oder Gefühle auszudrücken. Verfolgt man im nebenstehenden Diagramm einen Pfad vom Start- zum Zielpfeil entlang der gerichteten Pfeile, so erhält man jeweils ein Wort für ein Smiley. Welche der in dargestellten Smileys kann man so aus dem Diagramm gewinnen? Welche weiteren Smiley-Wörter können außerdem erzeugt werden? Wie viele Wörter enthält die durch das Diagramm beschriebene Sprache? Formale Sprachen kann man durch Grammatiken definieren. Daneben gibt es noch weitere Darstellungsformen. Häufig verwendet man dazu auch Syntaxdiagramme oder Regeln in (erweiterter) Backus-Naur-Form. Syntaxdiagramme Syntaxdiagramme stellen die Regeln einer Grammatik durch Graphen dar. Die kreisförmigen Knoten stehen für Terminale, die rechteckigen für Nichtterminale. Die Kanten symbolisieren die Verkettung dieser Elemente gemäß den Regeln der dargestellten Grammatik. Eine Produktion, die aus einem Nichtterminalsymbol <v> einen Term T (aus Terminalen und Nichtterminalen) erzeugt, wird im Syntaxdiagramm folgendermaßen dargestellt: v steht als Titel links oben gefolgt von einem Doppelpunkt. Die Struktur von T wird durch den eigentlichen Graphen des Diagramms dargestellt. Das durch die Produktion erzeugte Wort entsteht durch Aneinanderreihen der auf dem Pfad vom Start- zum Zielpfeil enthaltenen Sprachelemente. Fig. 2 zeigt das Syntaxdiagramm einer einfachen Sequenz, gegeben durch die Produktion <datum> <tag>. <monat>. <jahr für die Darstellung eines Datums. Erweiterte Backus-Naur-Form Die erweiterte Backus-Naur-Form (EBNF) bietet eine alternative Schreibweise für Produktionen einer Grammatik. Dabei wird der Produktionspfeil durch = (für die Zuordnung) ersetzt, die spitzen Klammern bei Nichtterminalen werden weggelassen und alle Zeichenketten aus Terminalsymbolen zwischen Hochkommas gesetz. Jede EBNF-Regel endet mit einem Strichpunkt. So wird etwa obige Produktion in EBNF datum = tag. monat. jahr; geschrieben. Zudem bietet die EBNF noch weitere Ausdrucksmittel, z. B. für Wiederholungen. Alternativen In Produktionen notiert man Alternativen unter Verwendung des Zeichens (Seite 14). Beispielsweise sind für die Monatsdarstellung alternativ eine oder zwei Ziffern oder drei Buchstaben üblich, z. B. 7, 7 oder JUL für den Monat Juli: <monat> <ziffer> <ziffer><ziffer> <buchstabe><buchstabe><buchstabe>. Die entsprechende Regel in EBNF sieht sehr ähnlich aus: monat = ziffer ziffer ziffer buchstabe buchstabe buchstabe;. v: datum: SE _G_K1_19_2.eps tag In EBNF kann die Alternative ac bc zu ( a b ) c zusammengefasst werden.. monat. jahr T Fig. 2 SE _G_K1_19_3.eps I Formale Sprachen 19

17 Für die Darstellung des Datums des Wunders von Bern am 4. Juli 1954 werden z. B. die Schreibweisen und verwendet. Die Backus-Naur-Form wurde von John Backus ( ) und Peter Naur (* 1928) zur Definition der Programmiersprache Algol 6 eingeführt (vergleichen Sie hierzu auch Band 3 dieser Lehrbuchreihe). Heute existieren zahlreiche Formen der Backus- Naur-Form, oftmals mit unterschiedlicher Verwendung derselben Symbole. Die hier verwendete erweiterte Backus-Naur-Form (EBNF) wurde ursprünglich von Niklaus Wirth (* 1934) zur Darstellung der Syntax der Programmiersprache Pascal angepasst (vergleichen Sie auch hierzu Band 3 dieser Lehrbuchreihe). Die EBNF wurde 1996 von der ISO unter der Nummer standardisiert. Im Syntaxdiagramm werden solche Alternativen durch Verzweigungen dargestellt, die mehrere Pfade vom Start- zum Zielpfeil ermöglichen (). Optionale Teile eines Terms Ähnlich wie bei Alternativen verwendet man im Syntaxdiagramm zur Darstellung optionaler Teile eine Verzweigung, wobei einer der alternativen Teilpfade leer bleibt buchstabe buchstabe buchstabe (Fig. 2). jahr: ziffer SE _G_K1_2_1.eps In EBNF lassen sich alternative Produktionen, ziffer bei denen sich die rechten Seiten nur durch hinzugenommene Zeichenketten unterscheiden, durch Klammerung der optionalen ziffer ziffer Teile mit eckigen Klammern Fig. 2 schreiben. So wird z. B. die Produktion für die alternative zwei- bzw. vierstellige Darstellung von aktuellen Jahresangaben SE _G_K1_2_2.eps <jahr> <ziffer><ziffer> <ziffer><ziffer><ziffer><ziffer> in EBNF zusammengefasst zu jahr = [ziffer ziffer] ziffer ziffer;. Wiederholung von Teilen innerhalb eines Terms Für die Erzeugung beliebig langer Wörter verwendetet man rekursive Produktionsregeln. Rekursion kann man im Syntaxdiagramm durch Rückwärtspfeile nachbilden. So können bestimmte Abschnitte eines Pfades beliebig oft durchlaufen werden. Fig. 3 zeigt das Syntaxdiagramm zur Produktionsregel für die Erzeugung aller na- ziffer zahl: türlicher Zahlen aus beliebig vielen Ziffern: <zahl> <ziffer> <ziffer><zahl>. Fig. 3 Jedes Wort der durch die Produktion erzeugten Sprache besteht aus einer Ziffer gefolgt von beliebig vielen weiteren Ziffern (eventuell auch SE _G_K1_2_3.eps keiner weiteren Ziffer). In der Darstellung der EBNF werden die zu wiederholenden Teilwörter in geschweifte Klammern gesetzt. Im Beispiel lautet die EBNF dann zahl = ziffer {ziffer};. Für die Definition formaler Sprachen bieten sich Syntaxdiagramme und Regeln in (erweiterter) Backus-Naur-Form als alternative Darstellungsformen an. Syntaxdiagramme veranschaulichen Sprachstrukturen, während in EBNF sehr kompakt optionale Teile und Wiederholungen notiert werden. Aufgaben monat: 1 Syntax von Telefonnummern Erstellen Sie Syntaxdiagramme für Telefonnummern (Festnetz) an Ihrem Wohnort für a) Ortsgespräche, b) Ferngespräche, c) Auslandsgespräche. ziffer ziffer ziffer 2 I Formale Sprachen

18 2 Ein besonderes Datum Der Einigungsvertrag zwischen der Bundesrepublik Deutschland und der Deutschen Demokratischen Republik regelt den Beitritt der DDR zur BRD. Am 3. Oktober 199, fortan der Tag der Deutschen Einheit, wurde die Wiedervereinigung vollzogen. a) Definieren Sie eine Grammatik für die formale Sprache der in dargestellten Datumsangaben des Tages der Deutschen Einheit. b) Passen Sie Ihre Grammatik so an, dass alle gültigen Datumsangaben in den abgebildeten Formaten in der erzeugten Sprache enthalten sind. 3 Smileys Gegeben ist folgende EBNF für die Erzeugung von Smileys. Smiley: S = H A N M A N M H A M A M; Hut: H = [ O < ; Augen: A = : ; % 8 ; Nase: N = - * o ; Mund: M = ) ( / ; a) Geben Sie die Menge der Terminale bzw. Nichtterminale an. b) Geben Sie je eine Ableitung für die Smileys [;-) und <:o) an. c) Wie viele verschiedene Smileys lassen sich insgesamt mit dieser EBNF erzeugen? 4 Währungen Erläutern Sie das in Fig. 2 abgebildete Syntaxdiagramm. Geben Sie die äquivalente erweiterte Backus-Naur-Form und die zugehörige Grammatik an. betrag: $ ziffernicht ziffer ziffer. 3ziffern, ziffer ziffer 3ziffern: ziffer ziffer ziffer ziffer: ziffernicht: Fig. 2 5 Welche Sprache steckt dahinter? Gegeben SE _G_K1_21_1.eps ist folgende Grammatik einer Sprache: Σ = {I, V, X, L, C, D, M}, V = {<R>, <E>, <Z>, <H>, <T>}, Startsymbol: <R>. Produktionen: <R> <T> <H> <Z> <E> <TH> <TZ> <TE> <HZ> <HE> <THZ> <THE> <TZE> <HZE> <THZE> <T> M MM MMM <H> C CC CCC CD D DC DCC DCCC CM <Z> X XX XXX XL L LX LXX LXXX XC <E> I II III IV V VI VII VIII IX a) Welche Sprache wird mit der angegebenen Grammatik beschrieben? b) Zeichnen Sie ein möglichst kompaktes Syntaxdiagramm. c) Führen Sie die Produktionen über in eine möglichst kompakte EBNF. d) Zeichnen Sie einen Ableitungsbaum für das Wort MMDCCIX. 9 9 I Formale Sprachen 21

19 Splines wurden erstmals im Jahre 1946 in einer Veröffentlichung von Isaac Jacob Schoenberg ( ), einem rumänischen Mathematiker, erwähnt. 6 Kurven und Oberflächen Zur Gestaltung von Kurven und Oberflächen werden häufig Splines verwendet, die aus Polynomfunktionen zusammengesetzt sind und eine beliebige Approximation glatter Kurven und Oberflächen ermöglichen. Der Term einer ganzzahligen Polynomfunktion 3. Grades lässt sich in Summendarstellung, zum Beispiel 9 x x 2 + x 8 oder 57 x x, notieren. a) Geben Sie eine Grammatik für alle Terme ganzzahliger Polynomfunktionen 3. Grades in Summendarstellung an. b) Geben Sie je einen Ableitungsbaum für die oben angegebenen Terme an. c) Konstruieren Sie zu der Grammatik aus Teilaufgabe a) ein möglichst kompaktes Syntaxdiagramm und eine geeignete Darstellung der Produktionsregeln in EBNF. d) Erweitern Sie die Definition der Grammatik so, dass damit alle Terme von Polynomfunktionen vom Grade kleiner oder gleich 3 als Wörter der Sprache erzeugt werden können. e) Eine Teilmenge der Sprache, die aus der in Teilaufgabe a) definierten Grammatik erzeugt wird, bilden die Terme der vollständig in Linearfaktoren zerlegbaren Polynomfunktionen 3. Grades mit ganzzahligen Nullstellen. Für diese existiert eine Darstellung in Produktform, z. B. 5 (x 12) (x + 57) 2 oder 4 x (x + 4) (x 88). Geben Sie dafür eine entsprechende Grammatik an. 7 Syntaxdiagramme bei Datenbankabfragen Anfragen an Datenbanken mittels SQL haben Sie bereits in Band 2 dieser Lehrbuchreihe kennengelernt. Korrekte SQL-Abfragen lassen sich ebenfalls durch Syntaxdiagramme darstellen (). a) Welche der folgenden Anfragen beschreibt ein korrektes SQL-Statement? SELECT Name, Vorname FROM Mitarbeiter WHERE Name = Mueller ; SELECT DISTINCT Nummer FROM Tab1, Tab2 AS Tab3 b) Ergänzen Sie das Syntaxdiagramm um die Gruppierung. c) Erstellen Sie Syntaxdiagramme für die DELETE- und INSERT-Anweisungen., SELECT spalte DISTINCT tabelle. * ausdruck AS alias, FROM tabelle WHERE bedingung 22 I Formale Sprachen SE _G_K1_22_1.eps

20 4 Erkennung formaler Sprachen Zur Erfassung von Konsumgütern werden auf Warenpackungen maschinenlesbare EAN-Strichcodes aufgedruckt. Für Bücher stehen spezielle ISBN-Codierungen zur Verfügung. Das Lesen erfolgt mithilfe von Barcodescannern, die einen Laserstrahl aussenden, der über den Strichcode geführt und zeichenweise interpretiert wird. Informieren Sie sich über die Struktur gültiger EAN-Codewörter für ISBN. Bei welcher Ziffer merkt der Barcodescanner frühestens, ob das Wort , bzw gültig ist? Die Abkürzung EAN steht für European Article Number, ISBN für Internationale Standardbuchnummer. Für bestimmte formale Sprachen kann man mithilfe von mathematischen Automatenmodellen feststellen, ob ein Wort zu dieser Sprache gehört oder nicht. Für besonders einfach strukturierte formale Sprachen (die regulären Sprachen) reicht dafür sogar ein endlicher Automat aus. Endliche Automaten Endliche Automaten sind spezielle Zustandsautomaten mit endlich vielen Zuständen. Ein endlicher Automat zu einer bestimmten Sprache nimmt eine Zeichenkette als Eingabe auf und arbeitet diese zeichenweise ab. Er beginnt dabei an einem eindeutig festgelegten Startzustand und bleibt am Ende der Abarbeitung an einem seiner Zustände stehen. Um zu erkennen, ob die übergebene Zeichenkette zur Sprache gehört, sind manche Zustände besonders ausgezeichnet, die man als Endzustände bezeichnet (besser wäre Erkennungszustände ). Ist der Automat in einem dieser Endzustände stehen geblieben, gehört das Wort zur Sprache, andernfalls nicht. Als Beispiel wird ein endlicher Automat für die durch vier teilbaren natürlichen Zahlen betrachtet. Der Automat soll die Sprache B4 erkennen, die aus den Binärdarstellungen aller dieser Zahlen besteht. Diese enden rechts mit zwei Nullen, weil 1 die Binärdarstellung der Zahl 4 ist: B4 = {1, 1, 11, 1, 11, 11...}. Der gewünschte Automat sieht folgendermaßen aus: 1 Wird dem Automaten beispielsweise die Zeichenkette 11 übergeben, so arbeitet er diese zeichenweise von links nach Start erste Null erkannt zweite Null erkannt 1 1 rechts ab. Die Abarbeitung beginnt im Zustand Start, verfolgt die Transition, die mit dem ersten Zeichen SE _G_K1_23_1.eps 1 markiert ist, und bleibt somit zunächst im Zustand Start. Das zweite Zeichen führt den Automaten in den Zustand erste Null erkannt. Das dritte Zeichen 1 bringt ihn zurück in den Startzustand. Die letzten beiden Zeichen (jeweils ) führen schließlich über den Zustand erste Null erkannt zum Zustand zweite Null erkannt. Hierbei handelt es sich um einen Endzustand ( Erkennungszustand ), gekennzeichnet durch doppelte Umrandung. Da die eingegebene Zeichenkette 11 nun vollständig abgearbeitet ist und sich der Automat in einem Endzustand befindet, wird das Wort als zur Sprache B4 gehörig erkannt. Im Gegensatz zu den bereits aus Band 3 dieser Lehrbuchreihe bekannten Zustandsdiagrammen gibt es bei endlichen Automaten keine bedingten Übergänge. Startzustand Endzustand Zustandsübergang mit Eingabesymbol a a Binärzahlen werden in Kapitel SE _G_K1_23_2.eps III (Seite 97 und Seite 116) behandelt. Bei Eingabe etwa des Wortes 11 endet der Automat im Zustand erste Null erkannt. Da dies kein Endzustand ist, gehört 11 nicht zur Sprache B4. Transition bedeutet Übergang. transire (lat.): hinübergehen I Formale Sprachen 23

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen 1. Formale Sprachen 1.2 Grammatiken formaler Sprachen Die Regeln zur Bildung korrekter Wörter einer Sprache kann man in einer natürlichen Sprache formulieren. Da dies jedoch wieder Mehrdeutigkeiten mit

Mehr

7. Formale Sprachen und Grammatiken

7. Formale Sprachen und Grammatiken 7. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr.,...)

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Kapitel 2. Methoden zur Beschreibung von Syntax

Kapitel 2. Methoden zur Beschreibung von Syntax 1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von

Mehr

Vorlesung Theoretische Informatik

Vorlesung Theoretische Informatik Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester

Mehr

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass: OOP (Java), 3. Syntaxdiagramme und Grammatikregeln 1/32 Objektorientierte Programmierung Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass Martin-Luther-Universität Halle-Wittenberg

Mehr

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen. 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

Alphabet, formale Sprache

Alphabet, formale Sprache n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l

Mehr

Formale Sprachen und Grammatiken

Formale Sprachen und Grammatiken Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax

Mehr

Formale Sprachen, reguläre und kontextfreie Grammatiken

Formale Sprachen, reguläre und kontextfreie Grammatiken Formale Sprachen, reguläre und kontextfreie Grammatiken Alphabet A: endliche Menge von Zeichen Wort über A: endliche Folge von Zeichen aus A A : volle Sprache über A: Menge der A-Worte formale Sprache

Mehr

syntax.tex Eine Übersicht

syntax.tex Eine Übersicht syntax.tex Eine Übersicht Bernd Worsch 7. Juli 1997 Inhaltsverzeichnis 1 Einleitung 1 2 Bevor es funktioniert... 1 3 Grundelemente von syntax.tex 1 4 Strukturelemente von syntax.tex 3 5 Setzen von Syntaxdiagrammen

Mehr

Sprachen sind durch folgenden Aufbau gekennzeichnet:

Sprachen sind durch folgenden Aufbau gekennzeichnet: BNF UND SYNTAXDIAGRAMME 1. Allgemeines 1.1 Aufbau von Sprachen BNF und Syntaxdiagramme werden verwendet, um die Syntax einer Sprache darzustellen und graphisch zu veranschaulichen. Mit ihnen können entweder

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 2.4 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibungsformen für Sprachen Mathematische Mengennotation Prädikate beschreiben Eigenschaften

Mehr

ARBEITSBLATT ZU FORMALEN SPRACHEN

ARBEITSBLATT ZU FORMALEN SPRACHEN ARBEITSBLATT ZU FORMALEN SPRACHEN Aufgabe 1: Gegeben ist die folgende Formale Sprache L(G) mit G = (T, N, P, S). Die Produktionen lauten ZUWEISUNG ::= name zuweisungsoperator AUSDRUCK semikolon AUSDRUCK

Mehr

Syntax von Programmiersprachen

Syntax von Programmiersprachen "Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang WS 07/08

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Sprachen/Grammatiken eine Wiederholung

Sprachen/Grammatiken eine Wiederholung Sprachen/Grammatiken eine Wiederholung Was sind reguläre Sprachen? Eigenschaften regulärer Sprachen Sprachen Begriffe Symbol: unzerlegbare Grundzeichen Alphabet: endliche Menge von Symbolen Zeichenreihe:

Mehr

Grammatiken. Einführung

Grammatiken. Einführung Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische

Mehr

Programmieren I. Formale Sprachen. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Formale Sprachen. www.kit.edu. Institut für Angewandte Informatik Programmieren I Formale Sprachen KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Formale Sprachen: Allgemeines Sprachen werden

Mehr

Formale Sprachen. Inhaltsverzeichnis. M. Jakob. 10. Dezember Allgemeine Einführung. Aufbau formaler Sprachen

Formale Sprachen. Inhaltsverzeichnis. M. Jakob. 10. Dezember Allgemeine Einführung. Aufbau formaler Sprachen M. Jakob Gymnasium Pegnitz 10. Dezember 2014 Inhaltsverzeichnis Allgemeine Einführung Aufbau formaler Sprachen Notationsformen formaler Sprachen Backus-Naur-Formen Erkennen formaler Sprachen Implementierung

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 8: kontextfreie Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/37 Überblick Kontextfreie Grammatiken

Mehr

Informatik IC2. Balazs Simon 2005.03.26.

Informatik IC2. Balazs Simon 2005.03.26. Informatik IC2 Balazs Simon 2005.03.26. Inhaltsverzeichnis 1 Reguläre Sprachen 3 1.1 Reguläre Sprachen und endliche Automaten...................... 3 1.2 Determinisieren.....................................

Mehr

Informatik I WS 07/08 Tutorium 24

Informatik I WS 07/08 Tutorium 24 Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 20.12.07 Bastian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Rückblick Semi-Thue-Systeme Ein Semi-Thue-System besteht

Mehr

Mathematische Grundlagen der Informatik 2

Mathematische Grundlagen der Informatik 2 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Emanuel Duss emanuel.duss@gmail.com 12. April 2013 1 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Dieses Dokument basiert

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 10 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Satz Sei G = (V, Σ, R, S) eine kontextfreie

Mehr

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Kapitel 2. Methoden zur Beschreibung von Syntax

Kapitel 2. Methoden zur Beschreibung von Syntax 1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von

Mehr

THIA - Übungsblatt 2.

THIA - Übungsblatt 2. THIA - Übungsblatt 2. Aufgabe 12 (Eine einfache Sprache). Endliche Ziffernfolgen, die mit einer 0 beginnen, auf die mindestens eine weitere Ziffer folgt, wobei nur die Ziffern 0,..., 7 vorkommen, sollen

Mehr

Was ist ein Compiler?

Was ist ein Compiler? Was ist ein Compiler? Was ist ein Compiler und worum geht es? Wie ist ein Compiler aufgebaut? Warum beschäftigen wir uns mit Compilerbau? Wie ist die Veranstaltung organisiert? Was interessiert Sie besonders?

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Grundwissen Informatik Q11/12 Fragenkatalog

Grundwissen Informatik Q11/12 Fragenkatalog 12_Inf_GrundwissenInformatik_Opp.doc 1 Grundwissen Informatik Q11/12 Fragenkatalog 11/2 Aufgabengebiet 1: Graphen, Wege durch Graphen: 1. Durch welche Bestandteile wird ein Graph festgelegt? 2. Nenne verschiedene

Mehr

Automaten und formale Sprachen Klausurvorbereitung

Automaten und formale Sprachen Klausurvorbereitung Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen

Mehr

1 Syntax von Programmiersprachen

1 Syntax von Programmiersprachen 1 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ): formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmier-Sprache Festlegung, wie Programme

Mehr

1 Endliche Automaten mit Ausgabe

1 Endliche Automaten mit Ausgabe 1.1 Autokorrektur und Smileys 9 Theorie bedeutet meist, dass die Bestandteile und Eigenschaften von Systemen auf das Elementare reduziert werden, um deren Prinzipien, Zusammenhänge, Möglichkeiten und Grenzen

Mehr

Kapitel 2. Methoden zur Beschreibung von Syntax

Kapitel 2. Methoden zur Beschreibung von Syntax 1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von

Mehr

Kapitel 4 Schaltungen mit Delays (Schaltwerke) Literatur: Oberschelp/Vossen, Kapitel 4. Kapitel 4: Schaltungen mit Delays Seite 1

Kapitel 4 Schaltungen mit Delays (Schaltwerke) Literatur: Oberschelp/Vossen, Kapitel 4. Kapitel 4: Schaltungen mit Delays Seite 1 Kapitel 4 Schaltungen mit Delays (Schaltwerke) Literatur: Oberschelp/Vossen, Kapitel 4 Kapitel 4: Schaltungen mit Delays Seite 1 Schaltungen mit Delays Inhaltsverzeichnis 4.1 Einführung 4.2 Addierwerke

Mehr

Kapitel 5: Syntaxdiagramme und Grammatikregeln

Kapitel 5: Syntaxdiagramme und Grammatikregeln 5. Syntaxdiagramme und Grammatikregeln 5-1 Objektorientierte Programmierung (Winter 2010/2011) Kapitel 5: Syntaxdiagramme und Grammatikregeln Syntaxdiagramme Grammatikregeln (kontextfrei) Beispiele: Lexikalische

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Theoretische nformatik inheit 3.1 Kontextfreie Grammatiken

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19 Inhalt 1 inführung 2 Automatentheorie und ormale prachen Grammatiken Reguläre prachen und endliche Automaten Kontextfreie prachen und Kellerautomaten Kontextsensitive und yp 0-prachen 3 Berechenbarkeitstheorie

Mehr

Kapitel 2. Methoden zur Beschreibung von Syntax

Kapitel 2. Methoden zur Beschreibung von Syntax 1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von

Mehr

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004 Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,

Mehr

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen reguläre Grammatiken/prachen Beschreibung für Bezeichner in Programmiersprachen Beschreibung für wild cards in kriptsprachen (/* reguläre Ausdrücke */)?; [a-z]; * kontextfreie Grammatiken/prachen Beschreibung

Mehr

Einführung in die Informatik Grammars & Parsers

Einführung in die Informatik Grammars & Parsers Einführung in die Informatik Grammars & Parsers Grammatiken, Parsen von Texten Wolfram Burgard Cyrill Stachniss 12.1 Einleitung Wir haben in den vorangehenden Kapiteln meistens vollständige Java- Programme

Mehr

STAATSINSTITUT FÜR SCHULQUALITÄT UND BILDUNGSFORSCHUNG MÜNCHEN. Informatik am Naturwissenschaftlich-technologischen Gymnasium Jahrgangsstufe 12

STAATSINSTITUT FÜR SCHULQUALITÄT UND BILDUNGSFORSCHUNG MÜNCHEN. Informatik am Naturwissenschaftlich-technologischen Gymnasium Jahrgangsstufe 12 STAATSINSTITUT FÜR SCHULQUALITÄT UND BILDUNGSFORSCHUNG MÜNCHEN Informatik am Naturwissenschaftlich-technologischen Gymnasium Jahrgangsstufe 12 München 2010 Erarbeitet im Auftrag des Bayerischen Staatsministeriums

Mehr

Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen

Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken eignen sich besonders zur Modellierung beliebig tief geschachtelter,

Mehr

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p. Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Wer Wird Millionär? Ganz wichtig: Denkt daran in regelmäßigen Abständen zu speichern! Los geht s:

Wer Wird Millionär? Ganz wichtig: Denkt daran in regelmäßigen Abständen zu speichern! Los geht s: Wer Wird Millionär? In dieser Aufgabe werdet ihr mit DialogOS eure eigene Version der Quizshow Wer wird Millionär (WWM) entwickeln. Der Computer ist der Quizmaster und der User der Kandidat. Ihr werdet

Mehr

Kapitel IV Formale Sprachen und Grammatiken

Kapitel IV Formale Sprachen und Grammatiken Kapitel IV Formale Sprachen und Grammatiken 1. Begriffe und Notationen Sei Σ ein (endliches) Alphabet. Dann Definition 42 1 ist Σ das Monoid über Σ, d.h. die Menge aller endlichen Wörter über Σ; 2 ist

Mehr

Informatik I Tutorium WS 07/08

Informatik I Tutorium WS 07/08 Informatik I Tutorium WS 07/08 Vorlesung: Prof. Dr. F. Bellosa Übungsleitung: Dipl.-Inform. A. Merkel Tutorium: 12 Tutor: Jens Kehne Tutorium 3: Dienstag 13. November 2007 Übersicht Tutorium Übersicht

Mehr

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}} 2 Endliche Automaten Fragen 1. Was ergibt sich bei {a, bc} {de, fg}? a) {abc, defg} b) {abcde, abcfg} c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} 2. Was ergibt sich bei {abc, a} {bc, λ}?

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de Grundlagen Theoretischer Informatik I SoSe 2011 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik I Gesamtübersicht Organisatorisches; Einführung Logik

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

Zahlenformat bei der Eingabe

Zahlenformat bei der Eingabe Zahlenformat bei der Eingabe Excel stellt Zahlen oft nicht so dar wie sie eingegeben werden, es verwendet zur Anzeige das eingestellte Zahlenformat. Ist für eine Zelle noch kein Zahlenformat festgelegt

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

5.2 Endliche Automaten

5.2 Endliche Automaten 114 5.2 Endliche Automaten Endliche Automaten sind Turingmaschinen, die nur endlichen Speicher besitzen. Wie wir bereits im Zusammenhang mit Turingmaschinen gesehen haben, kann endlicher Speicher durch

Mehr

4. Relationen. Beschreibung einer binären Relation

4. Relationen. Beschreibung einer binären Relation 4. Relationen Relationen spielen bei Datenbanken eine wichtige Rolle. Die meisten Datenbanksysteme sind relational. 4.1 Binäre Relationen Eine binäre Relation (Beziehung) R zwischen zwei Mengen A und B

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

Aufgabentypen die in der Klausur vorkommen

Aufgabentypen die in der Klausur vorkommen Aufgabentypen die in der Klausur vorkommen können 1. Nennen Sie fünf wichtige Anwendungsgebiete der Computerlinguistik. 2. Für welches der drei Anwendungsgebiete Maschinelle Übersetzung, Rechtschreibkorrektur

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015 2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie

Mehr

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse UNIVERSITÄT DES SAARLANDES FACHRICHTUNG 6.1 MATHEMATIK Dipl.-Math. Kevin Everard Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14 Auswahl vorausgesetzter Vorkenntnisse

Mehr

Vorlesung Dokumentation und Datenbanken Klausur

Vorlesung Dokumentation und Datenbanken Klausur Dr. Stefan Brass 5. Februar 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme Stefan Brass: OOP (Java), 3. 1/31 Objektorientierte Programmierung Kapitel 3: Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2014/15 http://www.informatik.uni-halle.de/ brass/oop14/

Mehr

Fachseminar WS 2008/09

Fachseminar WS 2008/09 Fachseminar WS 2008/09 Fachgebiet: Compilerbau Thema: Lexikalische Analyse (Scanner) Referent: Ali Sediq Betreuer: Prof. Dr. Helmut Weber 1 Inhaltsverzeichnis Lexikalische Analyse 1.0 Grundprobleme der

Mehr

Automatentheorie und formale Sprachen

Automatentheorie und formale Sprachen Automatentheorie und formale Sprachen VL 8 Chomsky-Grammatiken Kathrin Hoffmann 23. Mai 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 23.5. 2012 250 Wortproblem Wortproblem ist das

Mehr

Erstellung eigener Hot-Spot-Karten

Erstellung eigener Hot-Spot-Karten mit der Lernwerkstatt 7 Lieber Lernwerkstatt-User! Die Hot-Spot-Umgebung der Lernwerkstatt 7 bietet den Lehrern zukünftig viele weitere Möglichkeiten, den Computer als Medium in den eigenen Lehrplan zu

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv aufzählbare Sprachen Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben

Mehr

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht Zusammenhang: Formale Sprache Grammatik Formale Sprache kann durch Grammatik beschrieben werden. Zur Sprache L = L(G) gehören nur diejenigen Kombinationen der Zeichen des Eingabealphabets, die durch die

Mehr

Wortproblem für kontextfreie Grammatiken

Wortproblem für kontextfreie Grammatiken Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient?

Mehr

Übung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie

Übung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie Übung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie Wintersemester 2009/10, Prof. Dr. Udo Hahn, Erik Fäßler Übungsblatt 3 vom 19.11.2009 Abgabe bis 26.11.2009, 14:30 Uhr; per

Mehr

368 4 Algorithmen und Datenstrukturen

368 4 Algorithmen und Datenstrukturen Kap04.fm Seite 368 Dienstag, 7. September 2010 1:51 13 368 4 Algorithmen und Datenstrukturen Java-Klassen Die ist die Klasse Object, ein Pfeil von Klasse A nach Klasse B bedeutet Bextends A, d.h. B ist

Mehr

Formale Sprachen. Eine Einführung. Tim Lethen Düsseldorf Version II (04-06)

Formale Sprachen. Eine Einführung. Tim Lethen Düsseldorf Version II (04-06) Formale Sprachen - Eine Einführung Tim Lethen Düsseldorf Version II (04-06) INHALT 0 Einleitung... 3 1 Grundlegende Definitionen... 3 2 Grammatiken... 4 2.1 Definitionen... 4 2.2 Logische Grammatiken (DCGs)...

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen

Mehr

Handbuch Online-Abgleich

Handbuch Online-Abgleich Handbuch Online-Abgleich Inhalt Einleitung...1 Voraussetzungen...1 Aufruf des Online-Abgleiches...1 Übersichtsseite...1 Wahl einer Liste...1 Wahl des Online Abgleichs...2 Erstellen eines neuen Abgleiches...3

Mehr

How-To : Nachtragen von Tagesdiagrammen auf der Solarlog Homepage

How-To : Nachtragen von Tagesdiagrammen auf der Solarlog Homepage How-To : Nachtragen von Tagesdiagrammen auf der Solarlog Homepage Von Zeit zu Zeit erweitern neue Funktionen die Ausstattungsmerkmale des SolarLog. Wenn ein neues Firmewareupdate heraus kommt, werden plötzlich

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 1. Automaten und Sprachen 1.1 Endlicher Automat Einen endlichen Automaten stellen wir uns als Black Box vor, die sich aufgrund einer Folge von

Mehr

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1 Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 1 Wir betrachten die folgende Signatur

Mehr

2.5.2 Primärschlüssel

2.5.2 Primärschlüssel Relationale Datenbanken 0110 01101110 01110 0110 0110 0110 01101 011 01110 0110 010 011011011 0110 01111010 01101 011011 0110 01 01110 011011101 01101 0110 010 010 0110 011011101 0101 0110 010 010 01 01101110

Mehr

Informatik A ( Frank Hoffmann)

Informatik A ( Frank Hoffmann) Teillösungen zum 1. Aufgabenblatt zur Vorlesung Informatik A ( Frank Hoffmann) 1. Improvisieren Stellen Sie die Zahl 6 dar durch einen Ausdruck, der genau dreimal die Ziffer i enthält und ansonsten neben

Mehr

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14 Institut für Theoretische Informatik Prof. Dr. Jörn Müller-Quade Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 23/4 Vorname Nachname Matrikelnummer Hinweise Für die

Mehr

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.

Mehr

8. Turingmaschinen und kontextsensitive Sprachen

8. Turingmaschinen und kontextsensitive Sprachen 8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten

Mehr

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls 4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls δ(q, a, Z) + δ(q, ɛ, Z) 1 (q, a, Z) Q Σ. Die von einem DPDA, der mit leerem Keller akzeptiert,

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 3: Alphabete (und Relationen, Funktionen, Aussagenlogik) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/18 Überblick Alphabete ASCII Unicode

Mehr

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 6 7 7 8 8 12 err. Punkte Gesamtpunktzahl: Note: 1 Aufgabe 1 (3+1+1+1 = 6 Punkte) Es seien

Mehr

Einführung in die Programmiertechnik

Einführung in die Programmiertechnik Einführung in die Programmiertechnik Formale Beschreibung von Programmiersprachen Lexikalische Regeln Definition von Wörtern (Lexem, Token) Gruppierung von Zeichen Lexikalische Kategorien: Klassen ähnlicher

Mehr

Einführung in die Programmiertechnik

Einführung in die Programmiertechnik Einführung in die Programmiertechnik Formale Beschreibung von Programmiersprachen Lexikalische Regeln Definition von Wörtern (Lexem, Token) Gruppierung von Zeichen Lexikalische Kategorien: Klassen ähnlicher

Mehr

7 Endliche Automaten. Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103

7 Endliche Automaten. Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103 Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103 7 Endliche Automaten Ein erstes Beispiel Ganz im Sinn der vorangegangenen Kapitel machen wir wieder Anleihen in einem wohl etablierten Gebiet.

Mehr