Blocktutorium EidP. -Theorie II. EBNF Syntaxdiagramm Methodenüberladung
|
|
- Eduard Hofmeister
- vor 6 Jahren
- Abrufe
Transkript
1 Blocktutorium EidP. -Theorie II EBNF Syntaxdiagramm Methodenüberladung
2 <Nichtterminal> ::= bla blubb [ 0 oder ein mal] { beliebig oft (0.. N) } Klammern (sind auch) möglich
3
4 Aufgabe 1 Geben Sie eine Grammatik mit Regeln in EBNF für die Signaturen des Buchbestandes der Bibliothek an. Eine solche Signatur besteht aus 1-3 Großbuchstaben, einer maximal 4-stelligen Ziffernfolge ohne führende Nullen, einer optionalen Angabe über die Auflage und einer ebenfalls optionalen Angabe über die Anzahl der Exemplare. Die Auflage wird als Ziffernfolge (ohne führende Nullen) in runden Klammern angegeben, die Exemplaranzahldurch ein + Zeichen und eine Ziffernfolge (ohne führende Nullen). Beispiel: TVI TYD 27 (2) TVA 16 (2) +10 und TZU 87 sind korrekte Signaturen.
5 Geben Sie eine Grammatik mit Regeln in EBNF für die Signaturen des Buchbestandes der Bibliothek an. Eine solche Signatur besteht aus 1-3 Großbuchstaben, einer maximal 4-stelligen Ziffernfolge ohne führende Nullen, einer optionalen Angabe über die Auflage und einer ebenfalls optionalen Angabe über die Anzahl der Exemplare. Die Auflage wird als Ziffernfolge (ohne führende Nullen) in runden Klammern angegeben, die Exemplaranzahldurch ein + Zeichen und eine Ziffernfolge (ohne führende Nullen). Methodik: 1.: G = (Σ, N, P, <Startsymbol>) //Startsymbol aus Text leicht ersichtlich: Hauptgegenstand, den wir beschreiben wollen
6 Eine solche Signatur besteht aus 1-3 Großbuchstaben, einer maximal 4-stelligen Ziffernfolge ohne führende Nullen, einer optionalen Angabe über die Auflage und einer ebenfalls optionalen Angabe über die Anzahl der Exemplare. Die Auflage wird als Ziffernfolge (ohne führende Nullen) in runden Klammern angegeben, die Exemplaranzahldurch ein + Zeichen und eine Ziffernfolge (ohne führende Nullen). Methodik: 2.: Text von links nach rechts durchgehen und P schrittweise aufbauen
7 Beispiel: TVI TYD 27 (2) TVA 16 (2) +10 und TZU 87 sind korrekte Signaturen. Methodik: 3.: Plausibilitäts-& Terminierungscheck
8 1.: G = (Σ, N, P, <Startsymbol>) //Startsymbol aus Text leicht ersichtlich: Hauptgegenstand, den wir beschreiben wollen 2.: Text von links nach rechts durchgehen und P aufbauen 3.: Plausibilitäts-& Terminierungscheck 4.: Verwendete Symbole in Σ={ } und N={ } Fertig Methodik:
9 Aufgabe 1 b) TVA 16 (2) +10 und TZU 87 Aus Grammatik ableiten
10 => Syntaxdiagramm Aufgabe 1 c)
11 Aufgabe 2 In einem Backrezept wollen wir beschreiben können, welche Zutaten und wie viel davon für ein Gebäck gebraucht werden. Dazu geben wir an, wie viele Teelöffel "TL" oder Esslöffel "EL einer Zutat benötigt werden. Die Anzahl der Tee-oder Esslöffel muss eine positive ganze Zahl ungleich 0 sein. Als Zutaten können wir "Salz", "Zucker", "Mehl" und "Milch" verwenden. Ein Backrezept besteht dann aus beliebig vielen, aber mindestens einer solchen Mengenangabe. Q.:
12 Aufgabe 2 Beispiele für gültige Backrezepte sind also: 5 EL Zucker 10 EL Mehl 20 TL Milch 1 TL Salz 1 TL Salz Ungültig sind beispielsweise folgende Konstruktionen: 0 TL Salz 5 TL 3 EL Milch 10 EL Mehl Zucker Q.:
13 Aufgabe 2 a) Denieren Sie eine EBNF-Grammatik für die oben beschriebene Sprache. b) Leiten Sie mit der oben deniertenebnf-grammatik folgenden Ausdruck ab: 1 TL Zucker 3 EL Mehl c) Erstellen Sie zu der oben deniertenebfn-grammatik ein äquivalentes Syntaxdiagramm. Q.:
14 Aufgabe 2 Struktur? In einem Backrezept wollen wir beschreiben können, welche Zutaten und wie viel davon für ein Gebäck gebraucht werden. Dazu geben wir an, wie viele Teelöffel "TL" oder Esslöffel "EL einer Zutat benötigt werden. Die Anzahl der Tee-oder Esslöffel muss eine positive ganze Zahl ungleich 0 sein. Als Zutaten können wir "Salz","Zucker", "Mehl" und "Milch" verwenden. Ein Backrezept besteht dann aus beliebig vielen, aber mindestens einer solchen Mengenangabe. Q.:
15 Aufgabe 2 Struktur! In einem Backrezeptwollen wir beschreiben können, welche Zutaten und wie viel davon für ein Gebäck gebraucht werden. Dazu geben wir an, wie viele Teelöffel "TL" oderesslöffel "EL einer Zutatbenötigt werden. Die Anzahl der Tee- oder Esslöffel muss eine positive ganze Zahl ungleich 0 sein. Als Zutaten können wir "Salz","Zucker", "Mehl" und "Milch" verwenden. Ein Backrezept besteht dann aus beliebig vielen, aber mindestens einer solchen Mengenangabe. Q.:
16 Aufgabe 2 In einem Backrezeptwollen wir beschreiben können, welche Zutaten und wie viel davon für ein Gebäck gebraucht werden. Dazu geben wir an, wie viele Teelöffel "TL" oderesslöffel "EL einer Zutatbenötigt werden. Die Anzahl der Tee- oder Esslöffel muss eine positive ganze Zahl ungleich 0 sein. Als Zutaten können wir "Salz","Zucker", "Mehl" und "Milch" verwenden. Ein Backrezept besteht dann aus beliebig vielen, aber mindestens einer solchen Mengenangabe. Q.:
17 Aufgabe 2 b) leiten Sie mit der oben denierten EBNF-Grammatik folgenden Ausdruck ab: 1 TL Zucker 3 EL Mehl c) Erstellen Sie zu der oben deniertenebfn-grammatik ein äquivalentes Syntaxdiagramm. Q.:
18 Aufgabe 2 Lösung a) <Backrezept> ::= <Mengenangabe> {<Mengenangabe>} <Mengenangabe> ::= <Anzahl> <Einheit> <Zutat> <Anzahl> ::= <ZoN> {<Z>} <ZoN> ::= <Z> ::= 0 <ZoN> <Einheit> ::= TL EL <Zutat> ::= SALZ ZUCKER MEHL MILCH
19 Aufgabe 2 Lösung b) <Backrezept> ::= <Mengenangabe> {<Mengenangabe>} <Mengenangabe> ::= <Anzahl> <Einheit> <Zutat> <Anzahl> ::= <ZoN> {<Z>} <ZoN> ::= <Z> ::= 0 <ZoN> <Einheit> ::= TL EL <Zutat> ::= SALZ ZUCKER MEHL MILCH <Backrezept> - <Mengenangabe><Mengenangabe> -<Anzahl> <Einheit> <Zutat> <Anzahl> <Einheit> <Zutat> -<ZoN> TL Zucker <ZoN> EL Mehl -1 TL Zucker 3 EL Mehl
20 Aufgabe 3 Geben Sie EBNF-Regeln für die Beschreibung einer Musik-CD an. Solch eine Beschreibung besteht aus einem Interpretennamen(Folge von Buchstaben, Ziffern und Leerzeichen; auch leere Folgen sind möglich z.b. bei Samplern), einem CD-Titel (nichtleere Folge von Buchstaben, Ziffern und Leerzeichen) und einer Beschreibung des Inhalts. Diese Inhaltsbeschreibung besteht aus Angeben zu Musikstücken (mindestens einer), die jeweils aus einem Musiktitel (nichtleere Folge von Buchstaben, Ziffern und Leerzeichen ) und der Länge des Titels in der Form Minuten : Sekundenbesteht, wobei die Sekunden (< 60) immer genau zweistellig angegeben werden müssen und die Minuten mindestens einstellig (Beispiel: 4:03). Berücksichtigen Sie in ihrer EBNF alle Einschränkungen, die in der Aufgabenstellung formuliert wurden (z.b. Sekunden < 60).
21 Aufgabe 3 jetzt mal jeder für sich! 12 Minuten! Bei Fragen und Problemen melden! Geben Sie EBNF-Regeln für die Beschreibung einer Musik-CD an. Solch eine Beschreibung besteht aus einem Interpretennamen(Folge von Buchstaben, Ziffern und Leerzeichen; auch leere Folgen sind möglich z.b. bei Samplern), einem CD-Titel (nichtleere Folge von Buchstaben, Ziffern und Leerzeichen) und einer Beschreibung des Inhalts. Diese Inhaltsbeschreibung besteht aus Angeben zu Musikstücken (mindestens einer), die jeweils aus einem Musiktitel (nichtleere Folge von Buchstaben, Ziffern und Leerzeichen ) und der Länge des Titels in der Form Minuten : Sekundenbesteht, wobei die Sekunden (< 60) immer genau zweistellig angegeben werden müssen und die Minuten mindestens einstellig (Beispiel: 4:03). Berücksichtigen Sie in ihrer EBNF alle Einschränkungen, die in der Aufgabenstellung formuliert wurden (z.b. Sekunden < 60).
22 Aufgabe 3 Lösung <CD> ::= <Interpret> <Titel> <Beschr> <Interpret> ::={<B> <Z> _} <B> ::= a.. z A.. Z <Z> ::= <Titel> ::=(<B> <Z> _){<B> <Z> _} <Beschr> ::= <MusikStk> {<MusikStk>} <MusikStk> ::= <Titel><Länge> <Länge> ::= <Minuten>:<Sekunden> <Minuten> ::= <Z> {<Z>} <Sekunden> ::= <Zkleiner6><Z> <Zkleiner6> ::= 0.. 5
23 Methodenüberladung
24 Methoden überladen Methodensignatur = Name + Parameter (Anzahl und Typ, inklusive Reihenfolge) Methodensignaturen müssen eindeutig sein! int foo(double x, double y) { } sei gegeben intfoo(floatx, floaty) { } void foo(float x, double y) { } void foo(double x, float y) { } voidfoo(floatx, floaty) { }
25 Überladene Methoden aufrufen Gegeben: voidfoo(floatx, doubley) { }//1) voidfoo(doublex, floaty) { }//2) Aufruf: foo(2.5, 4.2f); //ruft 2) auf foo(2.5f, 4.2); //ruft 1) auf
26 Überladene Methoden aufrufen Angenomme, folgendes wäre erlaubt: intfoo(floatx, doubley) { } //1) voidfoo(floatx, doubley) { } //2) Aufruf: foo(2.5f, 4.2); Wie sollte Java hier entscheiden? automatisch 2) annehmen, weil wir das Ergebnis keiner Variable zuweisen => void? Was wenn wir 1) wollen, aber den Ergebnistyp nicht brauchen? => daher verboten!
Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2016/17 Institut für Informatik Übungsblatt 2 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
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
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE3-Syntaxdiagramme (Stand 05.11.2010) Aufgabe 1: Entwickeln Sie Regeln zur Übersetzung von EBNF in Syntaxdiagramme. Aufgabe 2: Eine Zahl ist entweder
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
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
MehrEinführung in die Programmierung für NF. Rückgabewerte, EBNF, Fallunterscheidung, Schleifen
Einführung in die Programmierung für NF Rückgabewerte, EBNF, Fallunterscheidung, Schleifen FUNKTIONEN UND PROZEDUREN 3 Rückgabewerte, EBNF, Fallunterscheidung, Schleifen 2 Funk@on und Prozedur Methoden
MehrSyntax 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
Mehr1. 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
MehrProgrammierpraktikum
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Praktikum: Grundlagen der Programmierung Programmierpraktikum Woche 04 (17.11.2016) Stefan Berktold s.berktold@tum.de PRÄSENZAUFGABEN Heutige Übersicht
MehrKapitel 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
MehrSprachen 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
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.
MehrMethoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
MehrGrundlagen der theoretischen Informatik
Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 09.04.2013 Inhalt der Vorlesung Teil I: Automaten und formale Sprachen (Kurt Sieber)
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.
MehrEinführung in die Programmierung I. 1.0 EBNF 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung I 1.0 EBNF 2.0 Einfache Java Programme Thomas R. Gross Department Informatik ETH Zürich Graphische Darstellung von EBNF Regeln Syntax Graph: graphische Darstellung
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrFormale 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
MehrEinstieg in die Informatik mit Java
1 / 26 Einstieg in die Informatik mit Java Methoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Methoden 2 Methodendefinition 3 Parameterübergabe, Methodenaufruf
MehrInformatik 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Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2016/17 Institut für Informatik Übungsblatt 3 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrFormale 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
MehrDer Datentyp String. Stringvariable und -vergleiche
Informatik 12 mit Java: Gierhardt Zeichenketten bzw. Strings Der Datentyp String Zeichenketten bzw. Strings sind eine häufig benutzte Datenstruktur. Man könnte auch mit Arrays aus Zeichen arbeiten. Da
MehrVorname:... Matrikel-Nr.:... Unterschrift:...
Fachhochschule Mannheim Hochschule für Technik und Gestaltung Fachbereich Informatik Studiengang Bachelor of Computer Science Klausur Algorithmen und Datenstrukturen Wintersemester 2002 / 2003 Name:...
MehrEinstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden
Mehr1 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
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
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
MehrSyntax. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik
Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Organisatorisches CIP-Kennungen: Hat jeder eine CIP-Kennung? Weiterleitung der Emails
MehrNachholklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415
Nachholklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415 Alexander Bazo 10. April 2015 Allgemeine Hinweise 1. Die Bearbeitungszeit beträgt 60 Minuten. Sie könne
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Generics Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Überblick Generics 2 Generische Klassen 3 Generische Methoden 4
MehrÜbung Praktische Informatik I
Übung Praktische Informatik I HWS 2008/2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 24.10.08 6-1 Heutige große Übung Hinweise
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.
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 /
MehrFormale Sprachen. Inhalte. Lehrplan. Hinweis
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
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
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.,...)
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),
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
MehrEinstieg in die Informatik mit Java
1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren
MehrFunktionen nur wenn dann
Funktionen nur wenn dann Funktionen können auch nur in bestimmten Fällen angewendet werden. Code wird nur in einem bestimmten Fall ausgeführt Code Ja Code Block wahr if wahr? Nein else Code Block Alternative
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable
1 Kapitel 3 Grunddatentypen, Ausdrücke und Variable 2 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen Datenstrukturen werden mit einem
MehrSyntax. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-16-17/infoeinf WS16/17 Organisatorisches Wir werden socrative nutzen, um während der Zentralübung
MehrEidP. Blocktutorium SS 2014
EidP. Blocktutorium SS 2014 Praktischer Teil //Programmieren = Theoriewissen + Handwerk; Bücher, Folien, Videos, Vorträge,... Können Theorie vermitteln. Der Rest ist ÜBUNG! Beste Vorbereitung: Programmieren
MehrTheoretische Informatik I
Theoretische Informatik I Rückblick Theoretische Informatik I 1. Mathematische Methoden 2. Reguläre Sprachen 3. Kontextfreie Sprachen Themen der Theoretischen Informatik I & II Mathematische Methodik in
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
MehrEinführung in die Programmierung EBNF. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung EBNF Thomas R. Gross Department Informatik ETH Zürich Übersicht Es gibt vier elementare Ausdrucksmöglichkeiten in EBNF Sie lernen EBNF Beschreibungen zu lesen
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
MehrFunktionen nur wenn dann
Funktionen nur wenn dann Funktionen können auch nur in bestimmten Fällen angewendet werden. Code wird nur in einem bestimmten Fall ausgeführt Code Ja Code Block wahr if wahr? Nein else Code Block Alternative
MehrTechnische Informatik für Ingenieure WS 2010/2011 Musterlösung Übungsblatt Nr. 4
Technische Informatik für Ingenieure WS 2010/2011 Musterlösung Übungsblatt Nr. 4 1. November 2010 Übungsgruppenleiter: Matthias Fischer Mouns Almarrani Rafał Dorociak Michael Feldmann Thomas Gewering Benjamin
MehrTheorie 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
MehrString s1, s2; Eine Zuweisung geschieht am einfachsten direkt durch Angabe des Strings eingeschlossen in doppelte Hochkommata:
Informatik mit Java: Gierhardt Zeichenketten bzw. Strings Der Datentyp String Zeichenketten bzw. Strings sind eine häufig benutzte Datenstruktur. Man könnte auch mit Arrays aus Zeichen arbeiten. Da aber
MehrProgrammierung mit C Zeiger
Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch
MehrVererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1
MehrProf. Dr. Wolfgang Schramm. Vorname:... Matrikel-Nr.:... Unterschrift:...
Compilerbau Prof. Dr. Wolfgang Schramm Sommersemester 2006 Name:... Vorname:... Matrikel-Nr.:... Unterschrift:... Hinweise: 1.) Schreiben Sie Ihren Namen und Ihre Matrikelnummer zu Beginn auf das Deckblatt
MehrName: Klasse: Datum: a) Welche 3-stelligen Zahlen kannst du mit 5 Plättchen legen? Schreibe alle Möglichkeiten auf.
Zahlen bis a) Welche -stelligen Zahlen kannst du mit 5 Plättchen legen? Schreibe alle Möglichkeiten auf. 5, 4, 4,,,,,,,, 4, 4,,,. b) Welche -stelligen Zahlen kannst du mit 5 Plättchen legen, wenn mindestens
Mehr7. Syntax: Grammatiken, EBNF
7. Syntax: Grammatiken, EBNF Teil 1 Sehr schönes Beispiel für Notwendigkeit der Theoretischen Informatik für Belange der Praktischen Informatik Vertiefung in: Einführung in die Theoretische Informatik
MehrÜbungsblatt 1 - Lösung
Formale Sprachen und Automaten Übungsblatt 1 - Lösung 24. April 2013 1 Wiederholung: Relationen 1. Was ist eine Relation? Definiere (auf grundlegende Begriffe der Mengenlehre kannst du dabei zurückgreifen).
MehrObjektorientierte 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/
MehrKapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14
Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen
MehrEinstieg in die Informatik mit Java
1 / 24 Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Lokale Variablen 2 Lokale Variablen in Blocks 3 Lokale Variablen
Mehr2.5 Primitive Datentypen
2.5 Primitive Datentypen Wir unterscheiden 5 primitive Datentypen: ganze Zahlen -2, -1, -0, -1, -2,... reelle Zahlen 0.3, 0.3333..., π, 2.7 10 4 Zeichen a, b, c,... Zeichenreihen "Hello World", "TIFI",
MehrWird in Java zwischen Gross- und Kleinschreibung unterschieden?
Wird in Java zwischen Gross- und Kleinschreibung unterschieden? Ja, es wird zwischen Gross- und Kleinschreibung unterschieden Dh deklariere ich in einem Objekt ein Objektfeld int meintollerzähler; muss
MehrDer eigentliche Inhalt (z.b. arithmetisch, algebraisch) wird ignoriert:
Überprüfung von Klammerausdrücken Der eigentliche Inhalt z.b. arithmetisch, algebraisch) wird ignoriert: a/b+c)-a c-b))) )))) Hier: nichtleere Klammerausdrücke, also nicht b+c ε. Geht aber auch ähnlich
MehrAuD-Tafelübung T-B5b
6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit
MehrBeuth Hochschule Einführende Gentle-Programme WS12/13, S. 1
Beuth Hochschule Einführende Gentle-Programme WS12/13, S. 1 Einführende Gentle-Programme Dieses Papier soll die Syntax und Semantik (die Schreibweise und Bedeutung) von einfachen Gentle Programmen anhand
MehrAufgabensammlung Theo Inf I 1
Aufgabensammlung Theo Inf I 1 1 Grundlagen Aufgabe 1.1 Bestimmen Sie w und w b für w = abacbba. Aufgabe 1.2 Bestimmen Sie alle a) Teilworte der Länge 3 b) Präfixe c) Suffixe des Wortes w = abacbba. Aufgabe
MehrTHIA - Ü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
MehrEinführung in die Informatik. Programming Languages
Einführung in die Informatik Programming Languages Beschreibung von Programmiersprachen Wolfram Burgard Motivation und Einleitung Wir haben in den vorangehenden Kapiteln meistens vollständige Java- Programme
MehrEinstieg in die Informatik mit Java
1 / 28 Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 28 1 Überblick: Variablenarten 2 Lokale Variablen 3 Lokale Variablen
MehrIT-Basics 2. DI Gerhard Fließ
IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte
MehrAm Anfang werden die Attribute deklariert public class Kreis {
Klassendiagramm Kreis Entwerfen Sie ein Klassendiagramm der Klasse Kreis mit allen Attributen und min. drei Methoden. public class Kreis { sichtbar Platz für Atributeund Methoden protected int xposition;
MehrEinführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung I 2.0 Einfache Java Programme Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.0 Einfache Java Programme Struktur Namen Output 2 Graphische Darstellung
MehrVariablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15
Variablen CoMa-Übung VIII TU Berlin 4.12.2013 CoMa-Übung VIII (TU Berlin) Variablen 4.12.2013 1 / 15 Themen der Übung 1 Typanpassungen 2 Operatoren 3 Variablen-Gültigkeit CoMa-Übung VIII (TU Berlin) Variablen
MehrProgrammieren I + II Regeln der Code-Formatierung
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2012/2013, SS 2013 Programmieren I + II Regeln der Code-Formatierung Die hier vorgestellten
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,
MehrScala: Klassen, Methoden und Objekte. von Simon Lerch
Scala: Klassen, Methoden und Objekte von Simon Lerch Überblick Methoden Klassen Objekte Basis Typen Prefixes Java's == vs. Scala's == Assoziativität von Operatoren Rich Wrapper 30.03.10 Klassen, Methoden
MehrFormale 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
MehrPräzedenz von Operatoren
Präzedenz von Operatoren SWE-30 Die Präzedenz von Operatoren bestimmt die Struktur von Ausdrücken. Ein Operator höherer Präzedenz bindet die Operanden stärker als ein Operator geringerer Präzedenz. Mit
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 15.01.2015 INSTITUT FÜR THEORETISCHE 0 KIT 15.01.2015 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
MehrGrundlagen der Informatik I (Studiengang Medieninformatik)
Grundlagen der Informatik I (Studiengang Medieninformatik) Thema: 3. Datentypen, Datenstrukturen und imperative Programme Prof. Dr. S. Kühn Fachbereich Informatik/Mathematik Email: skuehn@informatik.htw-dresden.de
MehrLR-Parser, Shift-Reduce-Verfahren
LR-Parser, Shift-Reduce-Verfahren Bottom-Up-Syntaxanalyse LR-Parser L: Eingabe von links nach rechts; R: Rechtsherleitung Shift-Reduce-Verfahren Beachte: Kein Backtracking nicht auf jede Grammatik anwendbar
MehrÜbungsblatt 3: Algorithmen in Java & Grammatiken
Humboldt-Universität zu Berlin Grundlagen der Programmierung (Vorlesung von Prof. Bothe) Institut für Informatik WS 15/16 Übungsblatt 3: Algorithmen in Java & Grammatiken Abgabe: bis 9:00 Uhr am 30.11.2015
MehrKapitel 3. Grunddatentypen, Ausdrücke und Variable
Kapitel 3 Grunddatentypen, Ausdrücke und Variable Grunddatentypen, Ausdrücke und Variable 1 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen
MehrC-Deklarationen lesen und schreiben
C-Deklarationen lesen und schreiben Version 1.2 6.7.2009 email: tb@ostc.de Web: www.ostc.de Die Informationen in diesem Skript wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig
MehrAlgorithmen und Datenstrukturen I - Exkurs Formale Sprachen -
Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Thies Pfeiffer Technische Fakultät tpfeiffe@techfak.uni-bielefeld.de Vorlesung, Universität Bielefeld, Winter 2012/2013 1 / 1 Exkurs: Formale
MehrProgrammieren in C++ Überladen von Methoden und Operatoren
Programmieren in C++ Überladen von Methoden und Operatoren Inhalt Überladen von Methoden Überladen von Operatoren Implizite und explizite Konvertierungsoperatoren 7-2 Überladen von Methoden Signatur einer
MehrVererbung, Polymorphie
Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08
MehrProjekt 3 Variablen und Operatoren
Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.
MehrJava: Eine kurze Einführung an Beispielen
Java: Eine kurze Einführung an Beispielen Quellcode, javac und die JVM Der Quellcode eines einfachen Java-Programms besteht aus einer Datei mit dem Suffix.java. In einer solchen Datei wird eine Klasse
MehrAbschnitt 2: Daten und Algorithmen
Abschnitt 2: Daten und Algorithmen 2. Daten und Algorithmen 2.1 Zeichenreihen 2.2 Datendarstellung durch Zeichenreihen 2.3 Syntaxdefinitionen 2.4 Algorithmen 2 Daten und Algorithmen Einf. Progr. (WS 08/09)
MehrFormale Sprachen und endliche Automaten
Formale Sprachen und endliche Automaten Formale Sprachen Definition: 1 (Alphabet) Ein Alphabet Σ ist eine endliche, nichtleere Menge von Zeichen oder Symbolen. Ein Wort über dem Alphabet Σ ist eine endliche
MehrMethoden und Wrapperklassen
Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)
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
MehrKonstruktor. Grundlagen der Programmierung. Stephan Kleuker 90
Konstruktor Stephan Kleuker 90 Wie erstellt man Objekte mit den bisher erstellten Code kann man genau genommen nichts anfangen, da Klassen nur Rahmen sind zur Erzeugung eines Objektes muss es die Möglichkeit
MehrKapitel 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