Formale Sprachen. Inhalte. Lehrplan. Hinweis

Ähnliche Dokumente
Alphabet, formale Sprache

Interdisziplinäre fachdidaktische Übung: Modelle für Sprachen in der Informatik. SS 2016: Grossmann, Jenko

7. Formale Sprachen und Grammatiken

Syntax von Programmiersprachen

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Informatik 12 Kapitel 1 - Formale Sprachen

Übersicht über 1. Vorlesungsabschnitt Form und Darstellung von Informationen

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

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

Einführung in die Informatik I (autip)

Übungsaufgaben zu Formalen Sprachen und Automaten

4. Induktives Definieren - Themenübersicht

Programmiersprachen und Übersetzer

1 EINFÜHRUNG PROGRAMMIERSPRACHEN

Einführung in die Informatik. Programming Languages

Lexikalische Analyse, Tokenizer, Scanner

Einführung Grundbegriffe

3.4 Struktur von Programmen

Formale Sprachen, reguläre und kontextfreie Grammatiken

Theoretische Informatik I

Lexikalische Programmanalyse der Scanner

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

Programmierkurs Java

Theoretische Grundlagen des Software Engineering

Programmieren I. Formale Sprachen. Institut für Angewandte Informatik

Sprachen/Grammatiken eine Wiederholung

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

Überblick und Wiederholung

GTI. Hannes Diener. 18. Juni. ENC B-0123,

Sprachen und Programmiersprachen

Abschnitt 4: Daten und Algorithmen

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen

Formale Sprachen und Grammatiken

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

Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Syntax. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Chomsky-Grammatiken 16. Chomsky-Grammatiken

(Prüfungs-)Aufgaben zu formale Sprachen

Das Postsche Korrespondenzproblem

Algorithmen & Programmierung. Formale Sprachen Die Logik hinter dem Compiler

Grundbegriffe der Informatik

Informatik III. Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung

Grundbegriffe der Informatik

Formale Sprachen und Automaten

Werkzeuge zur Programmentwicklung

Theorie der Informatik

1 Syntax von Programmiersprachen

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln

IT-Basics 2. DI Gerhard Fließ

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Kontextfreie Grammatiken

EIGENSCHAFTEN VON SPRACHEN

Diplomarbeit. Entwurf eines TI-Coaching Systems. von. Christof Kuhn

Kapitel 2. Methoden zur Beschreibung von Syntax

Endliche Automaten. Im Hauptseminar Neuronale Netze LMU München, WS 2016/17

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen

3.0 VU Formale Modellierung

Programmierkurs II. C und Assembler

Formale Sprachen und endliche Automaten

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

Einführung in die Informatik

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

Was ist Sprache? Kessel/Reimann: S Volmert: S Dr. Marina Iakushevich. Einführung in die Germ. Sprachwissenschaft WS 09/10

Grundbegriffe der Informatik

Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel

Automaten und Formale Sprachen

Logik für Informatiker

Syntax. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik

6 Kontextfreie Grammatiken

Grundbegriffe der Informatik

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

Theoretische Grundlagen 1

EIDI 1 Einführung in die Informatik 1. PGdP Praktikum Grundlagen der Programmierung. Harald Räcke 2/217

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive

Grammatiken. Einführung

Formale Methoden 1. Gerhard Jäger 16. Januar Uni Bielefeld, WS 2007/2008 1/19

2 Thema: Nutzung und Modellierung von relationalen Datenbanken in Anwendungskontexten 21 Stunden

Kapitel 2: Formale Sprachen Gliederung

Grammatiken und ANTLR

Vorlesung Theoretische Informatik

Vorsemesterkurs Informatik

Was ist ein Compiler?

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

2 2 Reguläre Sprachen. 2.2 Endliche Automaten. Übersicht

Induktive Definition

Theoretische Informatik Testvorbereitung Moritz Resl

3. Nur die mit diesen Regeln erzeugten Ausdrücke sind reguläre Ausdrücke über Σ.

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

Formale Sprachen, Automaten, Compiler

Grundbegriffe der Informatik Tutorium 11

Inhalt Kapitel 5: Syntax

Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution

Theoretische Informatik Mitschrift

Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 2. Mai HA-Lösung. TA-Lösung

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23

VU Software Paradigmen / SS 2012

Transkript:

Formale Sprachen Inhalte Aufbau von Sprachen Grammatiken formaler Sprachen Endliche Automaten *Grenzen endlicher Automaten Werkzeuge TdI, 2. Juli 2010 Peter Brichzin 1 TdI, 2. Juli 2010 Peter Brichzin 2 Lehrplan Hinweis Inf 12.1 Formale Sprachen (ca. 16 Std.) Bisher kennen die Schüler Sprachen vor allem als Mittel zur Kommunikation zwischen Menschen. Ihnen ist bekannt, dass eindeutiges gegenseitiges Verstehen nur dann gewährleistet ist, wenn sich die Kommunikationspartner auf eine gemeinsame Sprache einigen und die zu deren Gebrauch festgelegten Regeln einhalten. Im Rückblick auf das bisherige Arbeiten mit dem Computer wird ihnen deutlich, dass die Verständigung zwischen Mensch und Maschine ebenfalls einen Kommunikationsprozess darstellt, der ähnlichen Regeln unterliegt. Daher betrachten sie zunächst den strukturellen Aufbau einer ihnen bereits bekannten natürlichen Sprache sowie den Aufbau einer künstlichen Sprache. Die Jugendlichen lernen dabei, die Begriffe Syntax und Semantik einer Sprache zu unterscheiden. Anhand einfacher Beispiele wie Autokennzeichen, E-Mail-Adressen oder Gleitkommazahlen lernen die Schüler den Begriff der formalen Sprache als Menge von Zeichenketten kennen, die nach bestimmten Regeln aufgebaut sind. Zur Beschreibung dieser Regeln verwenden sie Textnotationen oder Syntaxdiagramme und können damit analog zu den natürlichen Sprachen Grammatiken für formale Sprachen definieren. Die Zweckmäßigkeit der streng formalen Beschreibung zeigt sich den Jugendlichen bei der automatischen Überprüfung der syntaktischen Korrektheit von Zeichenketten mithilfe von endlichen Automaten. Den Schülern wird bewusst, dass nur Vorgänge, die sich mit Mitteln einer formalen Sprache ausdrücken lassen, von einem Computer bearbeitet werden können. Somit stoßen sie über die Theorie der formalen Sprachen auf eine prinzipielle Grenze des Computereinsatzes. einfache Beispiele für formale Sprachen über einem Alphabet; Zeichen, Zeichenvorrat (Alphabet), Zeichenkette Unterscheidung zwischen Syntax und Semantik, Vergleich zwischen natürlichen und formalen Sprachen syntaktischer Aufbau einer formalen Sprache: Grammatik (Terminal, Nichtterminal, Produktion, Startsymbol) Notation formaler Sprachen: Syntaxdiagramm, einfache Textnotation (z. B. Backus-Naur-Form) erkennender, endlicher Automat als geeignetes Werkzeug zur Syntaxprüfung für reguläre Sprachen; Implementierung eines erkennenden Automaten Die Abbildungen sind dem Buch Informatik Oberstufe 1 entnommen und unterliegen dem Copyright des Oldenbourg Schulbuchverlags! TdI, 2. Juli 2010 Peter Brichzin 3 TdI, 2. Juli 2010 Peter Brichzin 4

TdI, 2. Juli 2010 Peter Brichzin 5 TdI, 2. Juli 2010 Peter Brichzin 6 Welche Sprachen gibt es? Wie können sie klassifiziert werden? TdI, 2. Juli 2010 Peter Brichzin 7 TdI, 2. Juli 2010 Peter Brichzin 8

Welche Zweck haben Sprachen? Wie ist Sprache aufgebaut? TdI, 2. Juli 2010 Peter Brichzin 9 TdI, 2. Juli 2010 Peter Brichzin 10 Syntax Semantik TdI, 2. Juli 2010 Peter Brichzin 11 TdI, 2. Juli 2010 Peter Brichzin 12

formale Sprache Zeichenkette der Länge 4 über dem Alphabet A 5 TdI, 2. Juli 2010 Peter Brichzin 13 TdI, 2. Juli 2010 Peter Brichzin 14 TdI, 2. Juli 2010 Peter Brichzin 15 TdI, 2. Juli 2010 Peter Brichzin 16

Werkzeug AtoCC kfg Edit TdI, 2. Juli 2010 Peter Brichzin 17 TdI, 2. Juli 2010 Peter Brichzin 18 TdI, 2. Juli 2010 Peter Brichzin 19 TdI, 2. Juli 2010 Peter Brichzin 20

Werkzeug EBNF Visualizer Semantik nicht vergessen! TdI, 2. Juli 2010 Peter Brichzin 21 TdI, 2. Juli 2010 Peter Brichzin 22 TdI, 2. Juli 2010 Peter Brichzin 23 TdI, 2. Juli 2010 Peter Brichzin 24

TdI, 2. Juli 2010 Peter Brichzin 25 TdI, 2. Juli 2010 Peter Brichzin 26 Werkzeug AtoCC AutoEdit TdI, 2. Juli 2010 Peter Brichzin 27 TdI, 2. Juli 2010 Peter Brichzin 28

Implementierung eines endlichen Automaten 1) Eingrenzen der möglichen Zustandsübergänge aufgrund des aktuellen Zustands nur die Zustandsübergänge kommen in Betracht, die vom aktuellen Zustand ausgehen. 2) Durchführen des Zustandsübergangs abhängig vom aktuellen Zeichen. Implementierung eines endlichen Automaten 1) Eingrenzen der möglichen Zustandsübergänge aufgrund des aktuellen Zustands nur die Zustandsübergänge kommen in Betracht, die vom aktuellen Zustand ausgehen. 2) Durchführen des Zustandsübergangs abhängig vom aktuellen Zeichen. TdI, 2. Juli 2010 Peter Brichzin 29 TdI, 2. Juli 2010 Peter Brichzin 30 * Entwurfsmuster Zustand TdI, 2. Juli 2010 Peter Brichzin 31 TdI, 2. Juli 2010 Peter Brichzin 32

* Entwurfsmuster Zustand * Entwurfsmuster Zustand TdI, 2. Juli 2010 Peter Brichzin 33 TdI, 2. Juli 2010 Peter Brichzin 34 * Nichtdet. endl. Automaten *4 Grenzen endlicher Automaten TdI, 2. Juli 2010 Peter Brichzin 35 TdI, 2. Juli 2010 Peter Brichzin 36

*4 Grenzen endlicher Automaten Vielen Dank für Ihre Aufmerksamkeit! TdI, 2. Juli 2010 Peter Brichzin 37 TdI, 2. Juli 2010 Peter Brichzin 38