Formale Sprachen. Inhalte. Lehrplan. Hinweis

Inhalte Formale Sprachen TdI, 2. Juli 2010 Peter Brichzin 1 • • • • • Aufbau von Sprachen Grammatiken formaler Sprachen Endliche Automaten *Gren...
Author: Inge Boer
53 downloads 1 Views 1MB Size
Inhalte

Formale Sprachen

TdI, 2. Juli 2010

Peter Brichzin

1

• • • • •

Aufbau von Sprachen Grammatiken formaler Sprachen Endliche Automaten *Grenzen endlicher Automaten Werkzeuge

TdI, 2. Juli 2010

Peter Brichzin

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

2

4

1 Aufbau von Sprachen

TdI, 2. Juli 2010

Peter Brichzin

1 Aufbau von Sprachen

5

1 Aufbau von Sprachen

TdI, 2. Juli 2010

Peter Brichzin

6

1 Aufbau von Sprachen

Welche Sprachen gibt es? Wie können sie klassifiziert werden? TdI, 2. Juli 2010

Peter Brichzin

7

TdI, 2. Juli 2010

Peter Brichzin

8

1 Aufbau von Sprachen

1 Aufbau von Sprachen

Welche Zweck haben Sprachen?

TdI, 2. Juli 2010

Peter Brichzin

Wie ist Sprache aufgebaut?

9

1 Aufbau von Sprachen

TdI, 2. Juli 2010

Peter Brichzin

10

1 Aufbau von Sprachen

Syntax Semantik

TdI, 2. Juli 2010

Peter Brichzin

11

TdI, 2. Juli 2010

Peter Brichzin

12

1 Aufbau von Sprachen

2 Grammatiken formaler Sprachen

formale Sprache Zeichenkette der Länge 4 über dem Alphabet A5

TdI, 2. Juli 2010

Peter Brichzin

13

2 Grammatiken formaler Sprachen

TdI, 2. Juli 2010

Peter Brichzin

15

TdI, 2. Juli 2010

Peter Brichzin

14

2 Grammatiken formaler Sprachen

TdI, 2. Juli 2010

Peter Brichzin

16

2 Grammatiken formaler Sprachen

2 Grammatiken formaler Sprachen Werkzeug AtoCC kfG Edit

TdI, 2. Juli 2010

Peter Brichzin

17

2 Grammatiken formaler Sprachen

TdI, 2. Juli 2010

Peter Brichzin

19

TdI, 2. Juli 2010

Peter Brichzin

18

2 Grammatiken formaler Sprachen

TdI, 2. Juli 2010

Peter Brichzin

20

2 Grammatiken formaler Sprachen

2 Grammatiken formaler Sprachen Werkzeug EBNF Visualizer

TdI, 2. Juli 2010

Peter Brichzin

Semantik nicht 21 vergessen!

3 Endliche Automaten

TdI, 2. Juli 2010

Peter Brichzin

TdI, 2. Juli 2010

Peter Brichzin

22

3 Endliche Automaten

23

TdI, 2. Juli 2010

Peter Brichzin

24

3 Endliche Automaten

TdI, 2. Juli 2010

Peter Brichzin

3 Endliche Automaten

25

3 Endliche Automaten

TdI, 2. Juli 2010

Peter Brichzin

26

2 Grammatiken formaler Sprachen Werkzeug AtoCC AutoEdit

TdI, 2. Juli 2010

Peter Brichzin

27

TdI, 2. Juli 2010

Peter Brichzin

28

3 Endliche Automaten

3 Endliche Automaten

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

3 Endliche Automaten

TdI, 2. Juli 2010

Peter Brichzin

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

30

* Entwurfsmuster Zustand

31

TdI, 2. Juli 2010

Peter Brichzin

32

* Entwurfsmuster Zustand

TdI, 2. Juli 2010

Peter Brichzin

* Entwurfsmuster Zustand

33

* Nichtdet. endl. Automaten

TdI, 2. Juli 2010

Peter Brichzin

TdI, 2. Juli 2010

Peter Brichzin

34

*4 Grenzen endlicher Automaten

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