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

Ähnliche Dokumente
Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Kapitel 2. Methoden zur Beschreibung von Syntax

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

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Suchbäume. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

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

7. Formale Sprachen und Grammatiken

Informatik I Tutorium WS 07/08

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Informatik I WS 07/08 Tutorium 24

Theoretische Grundlagen der Informatik

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

Einführung in die Informatik Grammars & Parsers

6 Kontextfreie Grammatiken

Was ist ein Compiler?

Syntaxanalyse Ausgangspunkt und Ziel

Programmierkurs II. C und Assembler

Automaten und Formale Sprachen

2.11 Kontextfreie Grammatiken und Parsebäume

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

Grammatiken und ANTLR

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

Quick Start Guide. Sehen Sie, wie Sie mit dem KnowledgePulse effektiver lernen können! knowledgepulse für windows phone

Formale Sprachen, reguläre und kontextfreie Grammatiken

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

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Berechenbarkeit und Komplexität

Notation um Grammatik G hervorzuheben: Eine kontextfreie Grammatik erzeugt eine kontextfreie Sprache. Informatik I -1- WS 2005/2006

TELIS FINANZ Login App

Compiler, Übersetzer. Allgemeine Erklärung / Definition

Informatik I WS 07/08 Tutorium 24

Grammatiken in Prolog

Sprachtheorie. Formale Sprachen und Grammatiken, deren Klassifikation und der Zusammenhang mit Automaten

4. 4. Algorithmen und Datenstrukturen in deskriptiven Programmiersprachen

Kurzeinführung Moodle

Einmalige Einbindung in Ihre Netzwerkumgebung

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

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

Installation und Lizenzierung Avira Antivirus Premium 2012 / Avira Internet Security 2012

Erstinstallation und Verwendung der Software Citrix GoToMeeting für Organisatoren/-innen von virtuellen Besprechungen

Kontextsensitive Sprachen

Computer Zeichnen Lernen. Regeln. Gesundheit

Installation und Sicherung von AdmiCash mit airbackup


Grammatiken. Einführung

Theoretische Informatik I

DOK. ART GD1. Citrix Portal

Parsing-EinfŸhrung Ð 1

Grundbegriffe der Informatik

Einführung in die Computerlinguistik

WLAN manuell einrichten

Formale Sprachen und Grammatiken

Inhaltsverzeichnis. 1. Remote Access mit SSL VPN

Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 12 LÖSUNGEN

Teil IX. Eine kleine Programmiersprache

Kurzanleitung OLB-App Mobiles OnlineBanking für Smartphones und Tablets.

Einblick in formale Sprachen und Automaten

Formale Sprachen und Automaten

Schwach kontextsensitive Grammatikformalismen

Zentrale Dienste Fabrikstrasse 2 CH-3012 Bern T EDUROAM. Installationsanleitung

Kurzanleitung. TSE Verwaltungssoftware Installation

SWE1 / Übung 2 ( )

Anhang 5 Auswertung der Fragebögen der Notebook-Klasse

Multimedia Technologie II

Microsoft Office 365 ProPlus

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen

Benutzeranleitung Remote-Office

Syntax (= Satzgefüge), vgl. auch Grammatik

VIP-Programm. Herzlich Willkommen!

1 Syntax von Programmiersprachen

Convision IP-Videoserver und die Sicherheitseinstellungen von Windows XP (SP2)

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

Einführung in Berechenbarkeit, Komplexität und formale Sprachen

skillpipe User Guide, Version 3.0, skillpipe User Guide 1

phase6 hallo-app Die Sprachlern-App für Menschen mit Migrationshintergrund ohne deutsche Sprachkenntnisse

Was bisher geschah. Darstellung von Sprachen Ausführen von Berechnungen

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Remote Update User-Anleitung

Einrichtungshilfe für das IP-Telefon Snom xx0

Empfehlenswerte Referenzen

Kapitel 2: Programmfluss steuern

Bitte beachten Sie. Nur für Kabelmodem! - 2 -

Benutzerhandbuch EA Administratoren

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie.

Anleitung Virtual Classroom für Teilnehmer

Induktive Beweise und rekursive Definitionen

FAQ s für adevital ACTIVITY AM 1400 (Aktivitätsmesser) mit der adevital plus App

Daten am USB Stick mit TrueCrypt schützen

E-Learning -- Onlineaufgaben. Anmeldung

Äquivalente Grammatiken / attributierte Grammatik

Kurzbeschreibung: Sozialformen: EA PA GA alle. Dauer: 2 Lektionen Kompetenzbereich Medien und Informatik Kompetenz Medien und Informatik

Hilbert-Kalkül (Einführung)

8. Turingmaschinen und kontextsensitive Sprachen

Anleitung zum Erstellen von Moodle-Quizfragen in Word

Qualifiziertes Feedback für Modul III WHRPO Hauptseminar. Name: Matrikelnummer: HF/NF. Veranstaltung (Titel): Lehrperson: LP/ECTS:

Kurzanleitung. Webmail

Anleitung Elektronischer Rechtsverkehr des Kantons Thurgau

Cisco AnyConnect VPN Client - Anleitung für Windows XP

Konfigurationsanleitung. Microsoft Windows Live Mail 2009

Transkript:

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 Multiple-Choice-Fragen zu stellen: Jeder Teilnehmer mit Internetzugang kann die Fragen live per App oder Browser beantworten (oder für sich auf dem Papier). Wir bekommen live Feedback. Action required now: 1. Smartphone: installiere die App "Socrative Student" oder Laptop: öffne im Browser b.socrative.com/login/student 2. Betrete den Raum InfoEinf. 3. Beantworte die erste Frage sofort! 2

EBNF-Grammatik: Wozu? Beschreibung von gültigen Worten (und Sätzen) einer Sprache Deutsche Sprache Bestimmte Teile der deutschen Sprache z.b. Palindrome, Uhrzeit Programmiersprache 3

Multiple-Choice-Frage Raum: InfoEinf Was kann mit einer EBNF-Grammatik nicht beschrieben werden? a) syntaktisch korrekte Worte b) sinnvolle Worte c) syntaktisch korrekte Sätze d) sinnvolle Sätze 4

EBNF-Grammatik: Wie? Terminalsymbole: Buchstaben in der Sprache Nichtterminalsymbole: Hilfsbegriffe, um mehrere Buchstaben oder Buchstabenfolgen der Sprache zusammenzufassen Regeln der Form A = Ausdruck A: Nichtterminalsymbol Ausdruck: Nichtterminal- und Terminalsymbole verbunden durch Operatoren E1 E2 E1 E2 [E1] (= ein E1 oder kein E1) {E1} (= beliebig viele E1, auch kein E1) Startsymbol 5

EBNF-Grammatik: Beispiel für Uhrzeiten (I) Eine Uhrzeit wird angegeben durch Angabe der Stunde, gefolgt von einem Doppelpunkt und der Angabe der Minuten. ACHTUNG: Korrekte Uhrzeiten gehen von 00:00 bis 23:59 Nichtterminalzeichen Terminalzeichen EBNF-Grammatik Uhrzeit = Stunde ":" Minute Stunde = "00" "01" "23" Minute = "00" "01" "59" Doppeltes Vorkommen 6

EBNF-Grammatik: Beispiel für Uhrzeiten (II) Eine Uhrzeit wird angegeben durch Angabe der Stunde, gefolgt von einem Doppelpunkt und der Angabe der Minuten. ACHTUNG: Korrekte Uhrzeiten gehen von 00:00 bis 23:59 EBNF-Grammatik Uhrzeit = Stunde ":" Minute Stunde = ("0" NullBisNeun) ("1" NullBisNeun) ("2" NullBisDrei) Minute = NullBisFünf NullBisNeun NullBisDrei = "0" "1" "2" "3" NullBisFünf = NullBisDrei "4" "5" NullBisNeun = NullBisFünf "6" "7" "8" "9" 7

Multiple-Choice-Frage Raum: InfoEinf Wozu werden EBNF-Grammatiken im Computer verwendet? a) Bilden syntaktisch korrekter Programme b) Überprüfen syntaktisch korrekter Programme c) Ausführen syntaktisch korrekter Programme 8

EBNF-Grammatik - Ableitung: Allgemein Beginne mit Startsymbol Wiederhole, bis gewünschtes Wort da steht : Ersetze ein oder mehrere Nichtterminalsymbole durch die rechte Seite ihrer Regel oder Führe einen oder mehrere Operatoren aus Beginne mit Startsymbol Wiederhole, bis gewünschtes Wort da steht Ersetze ein oder mehrere Nichtterminalsymbole durch die rechte Seite ihrer Regel und Führe anschließend einen oder mehrere Operatoren aus, falls möglich 9

Beispiel: Ableitung einer korrekten Uhrzeit: 17:49 (lang) Uhrzeit Regel -> Stunde ":" Minute Regel Op -> (("0" NullBisNeun) ("1" NullbisNeun) ("2" NullBisDrei)) ":" Minute -> "1" NullbisNeun ":" Minute Regel Op -> "1" (NullBisFünf "6" "7" "8" "9") ":" Minute -> "1" "7" ":" Minute Regel -> "1" "7" ":" NullBisFünf NullBisNeun Regel Op -> "1" "7" ":" (NullBisDrei "4" "5") NullBisNeun -> "1" "7" ":" "4" NullBisNeun Regel Op -> "1" "7" ":" "4"(NullBisFünf "6" "7" "8" "9") -> "1" "7" ":" "4" "9" 10

Multiple-Choice-Frage Uhrzeit = Stunde ":" Minute Einführung in die Informatik Stunde = ("0" NullBisNeun) ("1" NullbisNeun) ("2" NullBisDrei) Minute = NullBisFünf NullBisNeun NullBisDrei = "0" "1" "2" "3" NullBisFünf = NullBisDrei "4" "5" NullBisNeun = NullBisFünf "6" "7" "8" "9" Was ist ein Schritt in einer kurzen Ableitung? a) Stunde -> ("0" NullBisNeun) ("1" NullbisNeun) ("2" NullBisDrei) b) Stunde -> "1" NullbisNeun c) Stunde -> "1" "7" Raum: InfoEinf 11

Beispiel: Ableitung einer korrekten Uhrzeit: 17:49 (kurz) Uhrzeit = Stunde ":" Minute Stunde = ("0" NullBisNeun) ("1" NullbisNeun) ("2" NullBisDrei) Minute = NullBisFünf NullBisNeun NullBisDrei = "0" "1" "2" "3" NullBisFünf = NullBisDrei "4" "5" NullBisNeun = NullBisFünf "6" "7" "8" "9" Uhrzeit -> Stunde ":" Minute -> "1" NullBisNeun ":" NullBisFünf NullBisNeun -> "1" "7" ":" "4" "9" 12

Beispiel: Ableitung einer inkorrekten Uhrzeit: 33:33 Uhrzeit = Stunde ":" Minute Stunde = ("0" NullBisNeun) ("1" NullbisNeun) ("2" NullBisDrei) Minute = NullBisFünf NullBisNeun NullBisDrei = "0" "1" "2" "3" NullBisFünf = NullBisDrei "4" "5" NullBisNeun = NullBisFünf "6" "7" "8" "9" Uhrzeit -> Stunde ":" Minute ->??? es gibt keine Regel, um "3" an erster Stelle der Stunde abzuleiten, d.h. 33:33 nicht ableitbar d.h. 33:33 ist keine korrekte Uhrzeit 13

EBNF-Grammatik diagramm für Uhrzeiten Uhrzeit = Stunde ":" Minute Stunde = "00" "01" "23" Minute = "00" "01" "59" 14

Multiple-Choice-Frage Raum: InfoEinf Wie viel hast du nach der Zentralübung verstanden? a) gar nichts: 0% b) die Idee, aber die Beispiele sind mir unklar: <50% c) die Idee und die Beispiele, aber ich könnte es nicht selbst: < 75% d) ich weiß, wie ich eine Aufgabe lösen müsste: > 75% 15