Einführung in die Programmierung EBNF. Thomas R. Gross. Department Informatik ETH Zürich
|
|
- Thomas Gerstle
- vor 6 Jahren
- Abrufe
Transkript
1 Einführung in die Programmierung EBNF Thomas R. Gross Department Informatik ETH Zürich
2 Übersicht Es gibt vier elementare Ausdrucksmöglichkeiten in EBNF Sie lernen EBNF Beschreibungen zu lesen und verstehen Sie lernen zu entscheiden ob ein Symbol legal ist (für eine EBNF Beschreibung) Sie können entscheiden ob zwei EBNF Beschreibungen äquivalent sind Sie lernen EBNF Beschreibungen zu erstellen Sie lernen den Unterschied zwischen Syntax und Semantik 2
3 EBNF Regeln und Beschreibungen EBNF Beschreibung: eine Menge EBNF Regeln Menge: Reihenfolge unwichtig EBNF Regel LHS RHS LHS RHS Ein Wort (kursiv, kleingeschrieben) der Name der EBNF Regel Die Beschreibung für den Namen (d.h., der LHS) 3
4 Right hand side Die Beschreibung für den Namen (d.h., der LHS) Kann enthalten Namen (anderer EBNF Beschreibungen) Buchstaben ( stellen den Buchstaben da, d.h. wir erwarten diesen Buchstaben und keinen anderen) Kombinationen der vier Kontrolelemente ( control forms ) (auf der nächsten Seite) 5
5 EBNF Vier Elemente ( control forms ) die Sie in Java wiederfinden werden Aufreihung ( sequence ) Entscheidung oder Auswahl ( decision ) Wiederholung ( repetition ) Rekursion ( recursion ) Beliebige Kombinationen in einer RHS 6
6 Control forms (zum Kombinieren) Aufreihung Von links nach rechts gelesen Reihenfolge istwichtig Aufreihung Beispiel initialen T R G 8
7 Control forms (zum Kombinieren) Auswahl Eine Menge von Alternativen Reihenfolge unwichtig Durch (gesprochen senkrechter Strich) ( stroke ) getrennt Alternativen folgen den EBNF Regeln Auswahl Beispiel ta_initial ta1 ta2 ta1 Michael Faes ta2 Remi Meier 10
8 12
9 14
10 Control forms (zum Kombinieren) Wiederholung Der zu wiederholende Ausdruck steht zwischen { und } (geschweifte Klammer) ( curly braces ) Kann 0, 1, wiederholt werden Immer daran denken: 0 Wiederholungen heisst fehlt! Hinweis Option = 0 oder 1mal wiederholt 16
11 (i1) 18
12 Control forms (zum Kombinieren) Aufreihung Auswahl (Entscheidung) Option, Wiederholung 20
13 EBNF Beispiel (i1) 21
14 Was bestimmt diese EBNF Beschreibung? Einfache (ganze) Zahlen Umgangssprachlich Eine digit ist definiert als einer der Buchstaben 0 9 Eine integer ist definiert als eine Folge von 3 Elementen Ein optionales Vorzeichen (wenn es vorhanden ist, dann muss es eine der Alternativen + oder sein) Eine digit Eine Wiederholung von 0 oder mehr digits wobei jede digit eine der Alternativen der digit Regel ist (und die Alternativen unabhängig gewählt werden) 22
15 EBNF Beschreibungen Reihenfolge der Regeln unwichtig EBNF Description integer (i2) integer [ + - ] digit { digit } digit oder auch EBNF Description x (i3) x [ + - ] y { y } y Konvention: von einfach nach komplex, relevante Namen Name der letzten Regel ist der Name der Beschreibung 25
16 Symbole und EBNF Beschreibungen Wie können wir eine EBNF Beschreibung wie ein Schiedsrichter interpretieren? Gegeben eine EBNF Beschreibung und ein Symbol Symbol: eine Folge von Buchstaben Schiedsrichter entscheidet ob das Symbol legal ist oder nicht (für diese EBNF Beschreibung) Symbol legal gemäss einer Regel: alle Buchstaben des Symbols stimmen mit den Elementen der Regel überein 26
17 Beispiele (für digit): 6 digit; 86 nicht digit Beispiele (für initial t r g): rg nicht initial; tr nicht initial; trgk nicht initial Genaue Uebereinstimmung: legal Buchstaben im Symbol Elemente der Regel Es darf kein Buchstabe im Symbol übrig bleiben Es darf kein (nicht-optionales) Element übrig bleiben Nur dann sprechen wir von Uebereinstimmung Sonst: Symbol nicht legal, illegal 28
18 Informelle Beweise Wollen zeigen dass 9 mit integer übereinstimmt Start: 1. Element (optionales Vorzeichen) Option nichtgewählt nächster Buchstabe des Symbols muss mit Buchstabe übereinstimmen Buchstabe durch digit Regel bestimmt Wähle 9 auf der RHS von digit Keine oder mehr Wiederholungen Keine 9 ist legal Jeder Buchstabe von 9 stimmte mit Elementen der integer Regel überein 29
19 31
20 32
21 Mehr Beispiele A
22 Tabellen Formaler als Umgangssprache Kompakter 1. Zeile: Name der EBNF Regel, mit der das Symbol übereinstimmen soll Letzte Zeile: Symbol 35
23 Tabellen Jede Zeile wird aus der Vorgängerzeile durch eine dieser Regeln abgeleitet: 1. Ersetze einen Namen (LHS) durch die entsprechende Definition (RHS) 2. Wahl eineralternative 3. Entscheidung ob ein optionales Element dabei ist oder nicht 4. BestimmungderZahl derwiederholungen Manchmal werden 1&2 in einem Schritt gemacht 36
24 38
25 Ableitungsbäume Graphische Darstellung eines Beweises durch eine Tabelle Oben: Name der EBNF Regel, mit der das Symbol übereinstimmen soll Unten: Symbol Kanten zeigen welche Regeln es uns erlauben von einer Zeile zur nächsten (in der Tabelle) zu gehen 41
26 43
27 Schnellübung Welche dieser Symbole sind legal gemäss der integer Beschreibung (i1)? IX two 8. a $ Zeichnen Sie einen Ableitungsbau für 28 Vergleichen Sie Ihre Lösung mit der Ihrer/Ihres Nachbarin/Nachbarn 47
28 49
29 Ableitungsbaum für 28 integer [ + - ] digit { digit } Eine Option die nicht genommen wurde Ableitungsbaum Versuch für A15 integer 2 digit 8 [ + - ] digit { digit } Es geht nicht weiter. A ist nicht legale digit 51
30 Sonderzeichen Diese acht Zeichen (Buchstaben ) haben eine besondere Bedeutung in EBNF Beschreibungen: {, }, [, ],, (, ), Was machen wir wenn wir ein { in einem Symbol wollen? z.b. um eine Menge zu beschreiben Antwort: Zeichen in Rahmen { Alternativen (in Textbüchern): In Anführungszeichen, z.b. ( Dann ist auch ein Sonderzeichen 52
31 Sonderzeichen Diese acht Zeichen (Buchstaben ) haben eine besondere Bedeutung in EBNF Beschreibungen: {, }, [, ],, (, ), Was machen wir wenn wir ein { in einem Symbol wollen? z.b. um eine Menge zu beschreiben Antwort: Zeichen in Rahmen { Alternativen (in Textbüchern): In Anführungszeichen, z.b. ( Dann ist auch ein Sonderzeichen Um ein in einem Symbol zu bekommen: 53
32 Aequivalente EBNF Beschreibungen Aequivalent: gleichwertig (sind immer gleich in einem Kontext) äquivalent Aequivalent bzgl. Kaufkraft, nicht aber vor einem Automaten der keine Noten nimmt 55
33 Aequivalente EBNF Beschreibungen Aequivalent: gleichwertig (sind immer gleich in einem Kontext) EBNF Beschreibungen erkennen die selben legalen und illegalen Symbole Jedes mögliche Symbol wird von beiden Beschreibungen als legal (oder illegal) erkannt 56
34 Weitere EBNF Beschreibung für integer (i4) 58
35 Noch eine andere Beschreibung Aequivalent zu früherer Beschreibung? Symbol legal gemäss 1. Beschreibung: legal gemäss dieser Beschreibung Gilt auch die Umkehrung? 61
36 Noch eine andere Beschreibung Symbol legal gemäss 1. Beschreibung: legal gemäss dieser Beschreibung Gilt auch die Umkehrung? Nein: + ist jetzt legal Nein: leeres Symbol jetzt einelegale integer 63
37 65
38 Zurück zu integer Welche dieser EBNF Beschreibungen ist äquivalent zur (früheren) Beschreibung (i1)? A (i5) B (i6) Beide (A und B) 68
39 Syntax und Semantik Syntax: Form Semantik ( semantics ): Bedeutung ( meaning ) Syntax legt nur die Form fest. Alle lesenden Schiffe riechen gelb. 70
40 Syntax und Semantik EBNF beschreibt nur die Syntax Für Programmiersprachen, 2 wichtige Semantik Fragen: 1. Können unterschiedliche Symbole die selbe Bedeutung haben? 2. Kann einsymbol verschiedene Bedeutungen haben? 71
41 Illustration Symbole die wir untersuchen: Namen Herr Wirth Professor Wirth Niklaus Wirth können sich auf selbe Person beziehen Symbol das wir untersuchen: Ausdruck nächste Vorlesung Die nächste Vorlesung fällt aus , heute : keine Vorlesung am Dienstag , heute: keine Vorlesung am Montag 72
42 Semantik von integer Bedeutung einerzahl: ihr Wert 1, +1-0, +0, 0 Sollen 0012 und 12 die selbe Bedeutung haben? Mathematik: ja PIN code: nein 73
43 76
44 79
45 Diskussion integer_list Regel ähnlich vielen Regeln für Java Beispiele { } { 1 } { 2, -5, 18 } Kann durch Tabelle (oder Ableitungsbaum) gezeigt werden 82
46 Diskussion { 2, -5, 18 } Lemma: 2 ist eine integer Lemma: -5 ist eine integer Lemma: 18 ist eine integer 83
47 Tabelle Regel integer_set Anfang jeder Tabelle { [ integer_list ] } Ersetzen von integer_set durch RHS (1) { integer_list } Option eingeschlossen (3) { integer {, integer } } Ersetzen von integer_list durch RHS (1) { integer, integer, integer } 2 Wiederholungen (4) { 2, integer, integer } Lemma { 2, -5, integer } { 2, -5, 18 } 84
48 Bedeutung von Mengen Wann sind zwei Mengen äquivalent? MehrfachNennungen sind nicht wichtig {1, 2, 3, 3, 2, 2, 2 } äquivalent zu {1, 2, 3} Reihenfolge nichtwichtig { 1, 2, 3 } äquivalent zu { 3, 2, 1 } Kanonische (in Uebereinstimmung mit Regel) Darstellung: geordnet, von kleinster [links] nach grösster Zahl [rechts] Die kanonische Darstellung kann nicht durch EBNF Regeln erzwungen werden 88
49 EBNF Beschreibungen Erstellen Sie eine EBNF Beschreibung sodass Zahlen nicht mit einer Null anfangen (also 007 ist illegal, 7 ist legal). 89
50 zero 0 nonzero digit zero nonzero integer [ + - ] nonzero { digit } 90
51 EBNF Beschreibungen Erstellen Sie eine EBNF Beschreibung für die Züge der SBB [wie wir sie vielleicht wollen] Züge bestehen aus Lokomotiven (L), Speisewagen (S), Fahrrad&Gepäckwagen (F), Grossraumwagen (G), Steuerwagen(Z) Folgende Bedingungen müssen erfüllt sein: 91
52 Steuerwagen 92
53 1. Eine oder mehrere Lokomotiven führenden Zug an Anfang des Zuges ist links 2. Den Schluss bildet einsteuerwagen 3. Fahrrad&Gepäckwagen werden immer paarweise eingesetzt, also FF, FFFF, 4. Es können nicht mehr als vier Grossraumwagen in einer Reihe (direkt hintereinander) im Zug sein 5. Nach jeder Gruppe von Grossraumwagen muss ein Speisewagen gekoppelt sein. 93
54 Beispiele (legaler und illegaler Züge) LZ -- legal, kürzester Zug LLLFFZ -- legal (aber kein Platz für Passagiere) LGGSFFGSFFFFZ legal, Zug mit allen Wagentypen LLFF illegal, Zug ohne Steuerwagen LGGGGFFZ illegal, kein Speisewagen nach Gruppe Grossraumwagen LGGSFFFZ illegal, ungerade Anzahl Fahrrad&Gepäckwagen LGGGGGSZ illegal, > 4 Grossraumwagen hintereinander 94
55 Graphische Darstellung von EBNF Regeln Syntax Graph: graphische Darstellung Macht es leichter zu erkennen, welche Zeichen in einem Symbol (in welcher Reihenfolge) auftreten müssen A B C D als Graph: [ A ] als Graph: { A } als Graph: 95
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
MehrAlphabet, 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
MehrKapitel 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
MehrGrundbegriffe 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
MehrProgrammiersprachen 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
MehrEin deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden:
Sprachen und Automaten 1 Deterministische endliche Automaten (DFA) Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden: M = (Z,3,*,qo,E) Z = Die Menge der Zustände 3 = Eingabealphabet
MehrReguläre Sprachen und endliche Automaten
Reguläre Sprachen und endliche Automaten 1 Motivation: Syntaxüberprüfung Definition: Fließkommazahlen in Java A floating-point literal has the following parts: a whole-number part, a decimal point (represented
MehrEinführung Grundbegriffe
Einführung Grundbegriffe 1.1 Der Modellbegriff Broy: Informatik 1, Springer 1998 (2) Die Modellbildung der Informatik zielt auf die Darstellung der unter dem Gesichtspunkt einer gegebenen Aufgabenstellung
MehrGrammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)
Grammatiken Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V Startsymbol S V Produktionen P ( (V Σ) \ Σ ) (V Σ) Kurzschreibweise G = (V, Σ, P, S) Schreibweise für Produktion (α, β) P: α β 67 /
Mehr1. 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
Mehr7. 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.,...)
MehrObjektorientierte 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
MehrLösungsvorschläge Blatt Z1
Theoretische Informatik Departement Informatik Prof. Dr. Juraj Hromkovič http://www.ita.inf.ethz.ch/theoinf16 Lösungsvorschläge Blatt Z1 Zürich, 2. Dezember 2016 Lösung zu Aufgabe Z1 Wir zeigen L qi /
MehrFormale Methoden 1. Gerhard Jäger 23. Januar Uni Bielefeld, WS 2007/2008 1/18
1/18 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 23. Januar 2008 2/18 Das Pumping-Lemma Sein L eine unendliche reguläre Sprache über ein endliches Alphabet
MehrEmpfehlenswerte Referenzen
Wenn Google etwas nicht finden kann, fragen sie Jack Bauer. ("Fakten über Jack Bauer") Inhalt Empfehlenswerte Referenzen...1 0 Wozu reguläre Ausdrücke?...1 1 Die Elemente regulärer Ausdrücke...2 2 Ein
Mehrliefern eine nicht maschinenbasierte Charakterisierung der regulären
Reguläre Ausdrücke 1 Ziel: L=L M für NFA M L=L(r) für einen regulären Ausdruck r Reguläre Ausdrücke über einem Alphabet Σ Slide 1 liefern eine nicht maschinenbasierte Charakterisierung der regulären Sprachen
MehrKapitel 1. Grundlagen
Kapitel 1. Grundlagen 1.1. Mengen Georg Cantor 1895 Eine Menge ist die Zusammenfassung bestimmter, wohlunterschiedener Objekte unserer Anschauung oder unseres Denkens, wobei von jedem dieser Objekte eindeutig
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Rolf Socher ISBN 3-446-22987-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22987-6 sowie im Buchhandel Einführung.. 13 2 Endliche
MehrVokabelliste FB Mathematik Vokabeln 7./8. Klasse // Vokabeln 9./10. Klasse // Vokabeln Sek II. Mengenbegriffe:
Vokabeln 7./8. Klasse // Vokabeln 9./10. Klasse // Vokabeln Sek II Mathematik Symbol, Definition Deutsch Erklärung Mengenbegriffe: natürlichen Zahlen natürlichen Zahlen inkl. der 0 ganzen Zahlen rationalen
Mehr(Prüfungs-)Aufgaben zu formale Sprachen
(Prüfungs-)Aufgaben zu formale Sprachen (siehe auch bei den Aufgaben zu endlichen Automaten) 1) Eine Grammatik G sei gegeben durch: N = {S, A}, T = {a, b, c, d}, P = { (S, Sa), (S, ba), (A, ba), (A, c),
MehrEinführung in die Informatik I (autip)
Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis
MehrVorsemesterkurs Informatik
Vorsemesterkurs Informatik Vorsemesterkurs Informatik Mario Holldack WS2015/16 30. September 2015 Vorsemesterkurs Informatik 1 Einleitung 2 Aussagenlogik 3 Mengen Vorsemesterkurs Informatik > Einleitung
MehrGrammatiken. 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
MehrVorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen
Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2009/10 1 Bernhard Ganter, TU Dresden Modul
MehrTheoretische Informatik. Reguläre Sprachen und Automaten
Theoretische Informatik Reguläre Sprachen und Automaten Reguläre Sprachen Reguläre Ausdrücke und Sprachen Gleichungen Syntaxdiagramme Erweiterungen Anwendungen Reguläre Ausdrücke über Σ Syntax: Konstante
MehrZusammenfassung zur Konvergenz von Folgen
Zusammenfassung zur Konvergenz von Folgen. Definition des Konvergenzbegriffs Eine Folge reeller Zahlen a n n heißt konvergent gegen a in Zeichen a n = a, falls gilt > 0 n 0 n n 0 : an a < Hinweise: Bei
MehrProgrammierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder
Prof. aa Dr. J. Giesl Programmierung WS12/13 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Tutoraufgabe 1 (Syntax und Semantik): 1. Was ist Syntax? Was ist Semantik? Erläutern Sie den Unterschied. 2.
MehrSyntaxanalyse Ausgangspunkt und Ziel
Syntaxanalyse Ausgangspunkt und Ziel Ausgangspunkt: Kontextfreie Grammatik Im Normalfall BNF, manchmal EBNF BNF = Backus-Naur-Form = Produktionsregeln EBNF = erweiterte BNF (+ reguläre Ausdrücke) Prüfung
Mehr1 Mengen. 1.1 Elementare Definitionen. Einige mathematische Konzepte
Einige mathematische Konzepte 1 Mengen 1.1 Elementare Definitionen Mengendefinition Die elementarsten mathematischen Objekte sind Mengen. Für unsere Zwecke ausreichend ist die ursprüngliche Mengendefinition
MehrVokabelliste FB Mathematik Vokabeln 7./8. Klasse // Vokabeln 9./10. Klasse // Vokabeln Sek II. Mengenbegriffe:
Vokabeln 7./8. Klasse // Vokabeln 9./10. Klasse // Vokabeln Sek II Mathematik Symbol, Definition N N 0 Z Q Z + + Q 0 A = {a 1,, a n } Deutsch Erklärung Mengenbegriffe: natürlichen Zahlen natürlichen Zahlen
MehrKapitel 4: Syntaxdiagramme und Grammatikregeln
4. Syntaxdiagramme und Grammatikregeln 4-1 Objektorientierte Programmierung (Winter 2006/2007) Kapitel 4: Syntaxdiagramme und Grammatikregeln Syntaxdiagramme Grammatikregeln (kontextfrei) Beispiele: Lexikalische
MehrDie Sprache der Mathematik
Die Sprache der Mathematik Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de Diese Lehrveranstaltung...... ist Pflicht für alle Studenten der Informatik und
MehrMathematik für Informatiker I
Mathematik für Informatiker I Mitschrift zur Vorlesung vom 19.10.2004 In diesem Kurs geht es um Mathematik und um Informatik. Es gibt sehr verschiedene Definitionen, aber für mich ist Mathematik die Wissenschaft
MehrÜbungsaufgaben zu Formalen Sprachen und Automaten
Universität Freiburg PD Dr. A. Jakoby Sommer 27 Übungen zum Repetitorium Informatik III Übungsaufgaben zu Formalen Sprachen und Automaten. Untersuchen Sie das folgende Spiel: A B x x 2 x 3 C D Eine Murmel
Mehr1. Einleitung wichtige Begriffe
1. Einleitung wichtige Begriffe Da sich meine besondere Lernleistung mit dem graziösen Färben (bzw. Nummerieren) von Graphen (speziell von Bäumen), einem Teilgebiet der Graphentheorie, beschäftigt, und
MehrGraphentheorie 1. Diskrete Strukturen. Sommersemester Uta Priss ZeLL, Ostfalia. Hausaufgaben Graph-Äquivalenz SetlX
Graphentheorie 1 Diskrete Strukturen Uta Priss ZeLL, Ostfalia Sommersemester 2016 Diskrete Strukturen Graphentheorie 1 Slide 1/19 Agenda Hausaufgaben Graph-Äquivalenz SetlX Diskrete Strukturen Graphentheorie
MehrProgrammieren 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
Mehr1. Gruppen. 1. Gruppen 7
1. Gruppen 7 1. Gruppen Wie schon in der Einleitung erläutert wollen wir uns in dieser Vorlesung mit Mengen beschäftigen, auf denen algebraische Verknüpfungen mit gewissen Eigenschaften definiert sind.
Mehr5 Grundlagen der Zahlentheorie
5 Grundlagen der Zahlentheorie 1 Primfaktorzerlegung Seienm, n N + := {k N k > 0} Man schreibt n n, gesprochen m teilt n oder m ist ein Teiler von n, wenn es eine positive natürliche Zahl k gibt mit mk
MehrInterdisziplinäre fachdidaktische Übung: Modelle für Sprachen in der Informatik. SS 2016: Grossmann, Jenko
Interdisziplinäre fachdidaktische Übung: Modelle für Sprachen in der SS 2016: Grossmann, Jenko Die Beschreibung orientiert sich am Begriffssystem der Beschreibung natürlicher Sprachen Sprache in der steht
MehrBinary Decision Diagrams (Einführung)
Binary Decision Diagrams (Einführung) Binary Decision Diagrams (BDDs) sind bestimmte Graphen, die als Datenstruktur für die kompakte Darstellung von booleschen Funktionen benutzt werden. BDDs wurden von
MehrJava für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel
Java für Anfänger Teil 2: Java-Syntax Programmierkurs 06.-10.10.2008 Manfred Jackel 1 Syntax für die Sprache Java public class Welcome { } Schlüsselworte Reservierte Worte Keywords Wortsymbol Syntax: griech.
MehrPermutationen und symmetrische Gruppe
Permutationen und symmetrische Gruppe Für eine beliebige Menge M bilden die Bijektionen von M in M, versehen mit der Komposition von Abbildungen als Operation, eine Gruppe, die sogenannte symmetrische
MehrWas 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?
MehrElementare Mengenlehre
Vorkurs Mathematik, PD Dr. K. Halupczok WWU Münster Fachbereich Mathematik und Informatik 5.9.2013 Ÿ2 Elementare Mengenlehre Der grundlegendste Begri, mit dem Objekte und Strukturen der Mathematik (Zahlen,
MehrKonvergenz, Filter und der Satz von Tychonoff
Abschnitt 4 Konvergenz, Filter und der Satz von Tychonoff In metrischen Räumen kann man topologische Begriffe wie Stetigkeit, Abschluss, Kompaktheit auch mit Hilfe von Konvergenz von Folgen charakterisieren.
MehrWerkzeuge der Informatik UNIX
Autor: David Mainzer Institut für Informatik 1 Werkzeuge der Informatik UNIX Prof. Dr. Gabriel Zachmann (zach@in.tu-clausthal.de) David Mainzer (dm@tu-clausthal.de) Institut für Informatik 17. Dezember
MehrJava für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel
Java für Anfänger Teil 2: Java-Syntax Programmierkurs 11.-15.10.2010 Manfred Jackel 1 Syntax für die Sprache Java public class Welcome { } Schlüsselworte Reservierte Worte Keywords Wortsymbol Syntax: griech.
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 4: Wörter Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik
Mehr1 Mengen und Aussagen
$Id: mengen.tex,v 1.2 2010/10/25 13:57:01 hk Exp hk $ 1 Mengen und Aussagen Der wichtigste Grundbegriff der Mathematik ist der Begriff einer Menge, und wir wollen damit beginnen die klassische, 1878 von
Mehr6 Kontextfreie Grammatiken
6 Kontextfreie Grammatiken Reguläre Grammatiken und damit auch reguläre Ausdrücke bzw. endliche Automaten haben bezüglich ihres Sprachumfangs Grenzen. Diese Grenzen resultieren aus den inschränkungen,
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2015 23.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
MehrKapitel 1. Grundlagen Mengen
Kapitel 1. Grundlagen 1.1. Mengen Georg Cantor 1895 Eine Menge ist die Zusammenfassung bestimmter, wohlunterschiedener Objekte unserer Anschauung oder unseres Denkens, wobei von jedem dieser Objekte eindeutig
MehrMathematik 1, Teil B
FH Oldenburg/Ostfriesland/Wilhelmshaven Fachb. Technik, Abt. Elektrotechnik u. Informatik Prof. Dr. J. Wiebe www.et-inf.fho-emden.de/~wiebe Mathematik 1, Teil B Inhalt: 1.) Grundbegriffe der Mengenlehre
MehrAlgorithmen 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
Mehr2 ZAHLEN UND VARIABLE
Zahlen und Variable 2 ZAHLEN UND VARIABLE 2.1 Grundlagen der Mengenlehre Unter einer Menge versteht man die Zusammenfassung von unterscheidbaren Objekten zu einem Ganzen. Diese Objekte bezeichnet man als
Mehr4.5 Nassi-Schneidermann Diagramm
4.5 Nassi-Schneidermann Diagramm Nassi-Schneidermann-Diagramme, die auch Struktogramme genannt werden, sind graphische Hilfsmittel zum Entwurf und zur Darstellung von Programmsystemen. Sie sind beim Detailentwurf
MehrProgrammierkurs II. C und Assembler
Programmierkurs II C und Assembler Prof. Dr. Wolfgang Effelsberg Universität Mannheim Sommersemester 2003 1-1 Inhalt Teil I: Die Programmiersprache C 2. Datentypen und Deklarationen 3. Operatoren und Ausdrücke
MehrExemplar für Prüfer/innen
Exemplar für Prüfer/innen Kompensationsprüfung zur standardisierten kompetenzorientierten schriftlichen Reifeprüfung AHS Juni 2016 Mathematik Kompensationsprüfung 3 Angabe für Prüfer/innen Hinweise zur
MehrGrundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben
Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten
MehrJeweils am Montag um 18:30 treffen sich Studenten in Seminarraum 3 zum gemeinsamen Lernen.
Jeweils am Montag um 18:30 treffen sich Studenten in Seminarraum 3 zum gemeinsamen Lernen. Betrachtungen zu Sprache, Logik und Beweisen Sprache Wir gehen von unserem Alphabet einigen Zusatzsymbolen aus.
MehrInformatik I Übung, Woche 40
Giuseppe Accaputo 2. Oktober, 2014 Plan für heute 1. Fragen & Nachbesprechung Übung 2 2. Zusammenfassung der bisherigen Vorlesungsslides 3. Tipps zur Übung 3 Informatik 1 (D-BAUG) Giuseppe Accaputo 2 Nachbesprechung
MehrKontextfreie Grammatiken
Kontextfreie Grammatiken Bisher haben wir verschiedene Automatenmodelle kennengelernt. Diesen Automaten können Wörter vorgelegt werden, die von den Automaten gelesen und dann akzeptiert oder abgelehnt
MehrFormale Sprachen. Anwendungen formaler Sprachen Adressen, Kaffeeautomaten, Programmiersprachen. Rudolf Freund, Marian Kogler
Formale Sprachen Anwendungen formaler Sprachen Adressen, Kaffeeautomaten, Programmiersprachen Rudolf Freund, Marian Kogler (http://xkcd.com/208) Gültige Adressen: Favoritenstraße 9, 1040 Wien Reumannplatz
MehrKapitel 2 MENGENLEHRE
Kapitel 2 MENGENLEHRE In diesem Kapitel geben wir eine kurze Einführung in die Mengenlehre, mit der man die ganze Mathematik begründen kann. Wir werden sehen, daßjedes mathematische Objekt eine Menge ist.
MehrInhalt. Vorwort Mittelwertsatz der Integralrechnung... 31
Inhalt Vorwort... 5 1 Stammfunktionen... 7 1.1 Erklärung der Stammfunktionen........................................... 7 1.2 Eigenschaften der Stammfunktionen.................................... 10 1.3
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 7 15. Juni 2010 Einführung in die Theoretische
MehrGrundbegriffe 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
MehrKapitel 5 KONVERGENZ
Kapitel 5 KONVERGENZ Fassung vom 21. April 2002 Claude Portenier ANALYSIS 75 5.1 Metrische Räume 5.1 Metrische Räume DEFINITION 1 Sei X eine Menge. Eine Abbildung d : X X! R + heißt Metrik oder Distanz
MehrGrundlagen 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
MehrLösungsvorschläge Blatt 4
Theoretische Informatik Departement Informatik Prof. Dr. Juraj Hromkovič http://www.ita.inf.ethz.ch/theoinf16 Lösungsvorschläge Blatt 4 Zürich, 21. Oktober 2016 Lösung zu Aufgabe 10 (a) Wir zeigen mit
MehrStudientag zur Algorithmischen Mathematik
Studientag zur Algorithmischen Mathematik Eulertouren, 2-Zusammenhang, Bäume und Baumisomorphismen Winfried Hochstättler Diskrete Mathematik und Optimierung FernUniversität in Hagen 22. Mai 2011 Outline
MehrMächtigkeit von WHILE-Programmen
Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrAffine Geometrie (Einfachere, konstruktive Version)
Affine Geometrie (Einfachere, konstruktive Version) Def. Affiner Raum der Dimension n über Körper K ist nach Definition K n. Bemerkung. Man könnte Theorie von affinen Raumen auch axiomatisch aufbauen mit
MehrDeterministische endliche Automaten - Wiederholung
Deterministische endliche Automaten - Wiederholung Die folgende Klasse Zahl stellt einen endlichen Automaten dar. Ermittle die Größen des Automaten und zeichne den Zustandsgraphen. Gib Zeichenfolgen an,
MehrDefinition: Euklidischer Raum mit Skalarprodukt. Die kanonische Basis von Einheitsvektoren sind paarweise orthogonal zueinander:
Definition: Euklidischer Raum mit Skalarprodukt Einsteinsche Summenkonvention (ES): über doppelt vorkommende Indizes wird summiert. Die kanonische Basis von Einheitsvektoren sind paarweise orthogonal zueinander:
MehrBerechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion
Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 26. November 2007 Semi-Entscheidbarkeit
MehrVorlesung 4. Tilman Bauer. 13. September Wir befassen uns in dieser Vorlesung noch einmal mit Mengen.
Vorlesung 4 Universität Münster 13. September 2007 1 Kartesische Wir befassen uns in dieser Vorlesung noch einmal mit Mengen. Seien M und N zwei Mengen. Dann bezeichnen wir mit M N das (kartesische) Produkt
MehrAlgorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration
Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if
MehrSatz 18 (Satz von der totalen Wahrscheinlichkeit)
Ausgehend von der Darstellung der bedingten Wahrscheinlichkeit in Gleichung 1 zeigen wir: Satz 18 (Satz von der totalen Wahrscheinlichkeit) Die Ereignisse A 1,..., A n seien paarweise disjunkt und es gelte
MehrSemantische Bewertung und personalisierte Erzeugung von Übungsaufgaben zu Mathematik, Logik, Informatik
Semantische Bewertung und personalisierte Erzeugung von Übungsaufgaben zu Mathematik, Logik, Informatik Johannes Waldmann (HTWK Leipzig) September 2, 2014 Beispiel (Sicht des Studenten) Gesucht ist ein
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 3 14. Mai 2010 Einführung in die Theoretische
Mehr1.2 Mengenlehre-Einführung in die reellen Zahlen
.2 Mengenlehre-Einführung in die reellen Zahlen Inhaltsverzeichnis Repetition 2 2 Dezimalzahlen 3 3 weitere irrationale Zahlen 4 3. Zusatz: Der Beweis, dass 2 irrational ist.......................... 5
MehrFormale Sprachen und Automaten
Formale Sprachen und Automaten Kapitel 1: Grundlagen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Ziel Einführung der wichtigsten
MehrInstitut fu r Informatik
Technische Universita t Mu nchen Institut fu r Informatik Lehrstuhl fu r Bioinformatik Einfu hrung in die Programmierung fu r Bioinformatiker Prof. B. Rost, L. Richter WS 2016/17 Aufgabenblatt 2 31.10.2016
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Mathematische Grundbegriffe Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr,
MehrWerkzeuge zur Programmentwicklung
Werkzeuge zur Programmentwicklung B-15 Bibliothek Modulschnittstellen vorübersetzte Module Eingabe Editor Übersetzer (Compiler) Binder (Linker) Rechner mit Systemsoftware Quellmodul (Source) Zielmodul
MehrKlausur zur Vorlesung Mathematische Logik
Universität Heidelberg 13. Februar 2014 Institut für Informatik Prof. Dr. Klaus Ambos-Spies Dipl.-Math. Thorsten Kräling Klausur zur Vorlesung Mathematische Logik Musterlösung Aufgabe 1 (Aussagenlogik
MehrAlgorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck
Lemma 15 KLP 1 ist genau dann lösbar, wenn das dazugehörige LP KLP 2 eine Lösung mit dem Wert Z = 0 besitzt. Ist Z = 0 für x 0, x 0, dann ist x eine zulässige Lösung von KLP 1. Beweis von Lemma 15: Nach
MehrElementare Konzepte von
Elementare Konzepte von Programmiersprachen Teil 1: Bezeichner, Elementare Datentypen, Variablen, Referenzen, Zuweisungen, Ausdrücke Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Bezeichner
MehrDie Folgerungsbeziehung
Kapitel 2: Aussagenlogik Abschnitt 2.1: Syntax und Semantik Die Folgerungsbeziehung Definition 2.15 Eine Formel ψ AL folgt aus einer Formelmenge Φ AL (wir schreiben: Φ = ψ), wenn für jede Interpretation
MehrKapitel 1.0. Aussagenlogik: Einführung. Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1
Kapitel 1.0 Aussagenlogik: Einführung Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1 Ziele der Aussagenlogik In der Aussagenlogik analysiert man die Wahrheitswerte zusammengesetzter
MehrMusterlö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
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Tutorium 4 26..25 INSTITUT FÜR THEORETISCHE INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrTheorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie
Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung
MehrSatz 16 (Multiplikationssatz)
Häufig verwendet man die Definition der bedingten Wahrscheinlichkeit in der Form Damit: Pr[A B] = Pr[B A] Pr[A] = Pr[A B] Pr[B]. (1) Satz 16 (Multiplikationssatz) Seien die Ereignisse A 1,..., A n gegeben.
MehrMotivation. 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
MehrMengenlehre. ALGEBRA Kapitel 1 MNProfil - Mittelstufe KZN. Ronald Balestra CH Zürich Name: Vorname:
Mengenlehre ALGEBRA Kapitel 1 MNProfil - Mittelstufe KZN Ronald Balestra CH - 8046 Zürich www.ronaldbalestra.ch Name: Vorname: 21. August 2016 Inhaltsverzeichnis 1 Mengenlehre 1 1.1 Die Menge im mathematischen
MehrSprachen/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