Programmierpraktikum

Ähnliche Dokumente
Programmierpraktikum

Programmierpraktikum

Institut fu r Informatik

3.4 Struktur von Programmen

Kurze Einführung in die Programmiersprache C++ und in Root

FAKULTÄT FÜR INFORMATIK

Elementare Konzepte von

Algorithmen und ihre Programmierung -Teil 2-

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe

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

Technische Universität München WS 2004/2005 Fakultät für Informatik 11. Dezember 2004 Prof. Dr. Seidl

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15

Einführung in die Programmierung für NF. Rückgabewerte, EBNF, Fallunterscheidung, Schleifen

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Einführung in die Programmierung I. 1.0 EBNF 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich

Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder

Einführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich

Programmierkurs Java

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren

Sprachen sind durch folgenden Aufbau gekennzeichnet:

Tutoraufgabe 1 (Hoare-Kalkül):

Lexikalische Programmanalyse der Scanner

Programmieren I. Kapitel 5. Kontrollfluss

2 Eine einfache Programmiersprache

Arithmetik in der tcsh

Übersicht Shell-Scripten

1 Syntax von Programmiersprachen

Programmierkurs Python I

Programmieren I + II Regeln der Code-Formatierung

Übung Praktische Informatik I

Übungs- und Praktikumsaufgaben zur Systemprogrammierung Dipl.-Ing. H. Büchter (Lehrbeauftragter) FH-Dortmund WS 2001/2002 / SS 2002

Intensivübung zu Algorithmen und Datenstrukturen

FAKULTÄT FÜR INFORMATIK

Programmieren in Java

Vorlesung Objektorientierte Programmierung Klausur

Programmierkurs Python I

Vorlesung Programmieren

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

6. Iteration (Schleifenanweisungen)

Praktische Eine Einführung

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

Programmierkurs Java

Vorlesung Programmieren

Programmieren I + II Regeln der Code-Formatierung

C für Java-Programmierer

Grundlagen der theoretischen Informatik

Programmieren lernen mit Groovy Rekursion Rekursion und Iteration

Übung zu Einführung in die Informatik # 11

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

Einstieg in die Informatik mit Java

Grundlagen der Programmierung

Methodische Grundlagen des Software Engineering - Übung 9

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Operatoren (1) Operatoren (2)

2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung:

6. Grundlagen der Programmierung

Abgabe: (vor 12 Uhr)

JAVA - Methoden

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden

Einführung in die Programmierung EBNF. Thomas R. Gross. Department Informatik ETH Zürich

Von der Chomsky-Hierarchie

Funktionale Programmierung ALP I. µ-rekursive Funktionen WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda

Programmierkurs I. Gliederung: Deklarationsteil als BNF 2. Blöcke in Ada95 (Lebenszeit, Sichtbarkeit von Variablen)

{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel

Technische Informatik für Ingenieure WS 2010/2011 Musterlösung Übungsblatt Nr. 4

PostScript -Sprache. Frank Richter

Abgabe: keine Pflichtabgabe (vor 12 Uhr) Aufgabe 10.1 (P) Vererbung Gegeben seien folgende Java-Klassen:

Grundlagen der Informatik I (Studiengang Medieninformatik)

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

Roboterprogrammierung

4.Grundsätzliche Programmentwicklungsmethoden

6. Iteration (Schleifenanweisungen)

Modellierung und Programmierung 1

Bei der Und-Verknüpfung müssen beide Ausdrücke wahr sein, dass der gesamte Ausdruck wahr wird. a=1; b=2; a=1; b=3; else. endif

Informatik I - Einstiegskurs

Grundlagen der Fortran Sprache

Einstieg in die Informatik mit Java

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java

System.out.println("TEXT");

Präzedenz von Operatoren

Vorbereitende Aufgaben

Selbsteinstufungstest Vorkurs Programmieren

5. Elementare Befehle und Struktogramme

C.3 Funktionen und Prozeduren

Abgabe: (vor 12 Uhr)

Die for -Schleife HEUTE. Schleifen. Arrays. Schleifen in JAVA. while, do reichen aus, um alle iterativen Algorithmen zu beschreiben

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

Inhaltsverzeichnis. 1 Grundlagen 1. 2 Einfache Programme 21

Transkript:

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Praktikum: Grundlagen der Programmierung Programmierpraktikum Woche 02 (03.11.2017) Leo Glavinić (leo.glavinic@tum.de) Cyprian Manthey (cyprian.manthey@tum.de) Maximillian Holzvoigt (maximillian.holzvoigt@tum.de) Stefan Berktold (s.berktold@tum.de)

ORGANISATORISCHES Moodle-Abgabe, Hausaufgabenbesprechung Ab sofort erfolgt die Abgabe der Hausaufgaben für alle Studierenden über die Hauptseite des Programmierpraktikums auf Moodle: moodle.tum.de/course/view.php?id=35284 Die beiden zusätzlichen Moodle-Instanzen sind nun nicht mehr von Bedeutung. Ab nächster Woche (11.11.2017) wird zusätzlich zum Praktikum eine wöchentliche Wiederholung der vergangenen Hausaufgaben im MI HS 3 von 12:30 bis 16:30 Uhr angeboten. Die Teilnahme ist freiwillig.

PRÄSENZAUFGABEN Heutige Übersicht Aufgabe 2.1 Kontextfreie Grammatiken Grammatik für ganze Zahlen (mit Unterstrichen, ohne führende Nullen) Aufgabe 2.2 Reguläre Ausdrücke Erkennung bestimmter Textmuster Aufgabe 2.3 Programmieraufgabe (MiniJava) Würfelspiel: Mäxchen / Meiern (21) Aufgabe 2.4 Programmieraufgabe (MiniJava) Würfelspiel: Lustige Sieben

HAUSAUFGABEN Abgabefrist: 06.11.2017 05:00 Uhr Aufgabe 2.5 [4] Kontextfreie Grammatiken Grammatik für Telefonnummern und E-Mail-Adressen Aufgabe 2.6 [4] Reguläre Ausdrücke Erkennung bestimmter Textmuster Aufgabe 2.7 [4] Programmieraufgabe (MiniJava) Berechnung der Summe aller durch 3 oder 7 teilbaren Zahlen (bei geg. Maximum) Aufgabe 2.8 [4] Programmieraufgabe (MiniJava) Primzahl-Prüfer Aufgabe 2.9 [4] Programmieraufgabe (MiniJava) Generierung Latex-formatierter Tabellen von Potenzzahlen

WIEDERHOLUNG Kontextfreie Grammatiken (EBNF) / Reguläre Ausdrücke Bekannte Operatoren: Alternative: (entweder links oder rechts) Konkatenation: (<kein Zeichen> direkte Verknüpfung) Option:? (direkter Vorgänger keinmal oder einmal) Iteration: * (direkter Vorgänger keinmal, einmal oder beliebig oft) niedrig/schwach Bindungsstärke Alternative Konkatenation Iteration/Option hoch/stark Ganze Zahlen (mit führenden Nullen): Ziffer ::= 0 9 Zahl ::= (+ -)? Ziffer Ziffer*

AUFGABE 2.1 Grammatik Integer

AUFGABE 2.1 LÖSUNG Grammatik Integer NZiffer ::= 1... 9 // natürliche Ziffer Ziffer ::= 0 NZiffer Unterstrich ::= _* // beliebige Länge (auch 0) Zahl ::= (+ -)? NZiffer (Unterstrich Ziffer)* 0

AUFGABE 2.2 Reguläre Ausdrücke

AUFGABE 2.2 LÖSUNG Reguläre Ausdrücke Regulärer Ausdruck für a+ : a a* 1. (a c... z)* 2. (a b) letter* c 3. (a letter* b) (b letter* a)

WIEDERHOLUNG Java-Konstrukte Variablendeklaration: <Typ> <Variablenname>; Zuweisung: <Variablenname> = <Ausdruck>; Bedingte Anweisung: if (<Bedingung>) { <Statements> } else if (<Bedingung>) { <Statements> } else { <Statements> } while-schleifen: while (<Bedingung>) { <Statements> } Speziell für MiniJava: read(); und write(<text / Ausdruck>); Eine genaue Beschreibung zur Grammatik/Syntax von MiniJava gibt es auf Moodle.

AUFGABE 2.3 Meiern (Auszug) Die Spielregeln und weitere Schritte der Realisierung finden Sie in der Angabe auf Moodle!

AUFGABE 2.3 LÖSUNG Meiern (Auszug) Die offiziellen Lösungen zu allen Präsenzaufgaben sind auf Moodle verfügbar. Einen weiteren Lösungsvorschlag gibt es unter http://tutor17.stecrz.de.

AUFGABE 2.4 Lustige Sieben (Auszug) Weitere Informationen entnehmen Sie bitte der offiziellen Angabe auf Moodle!

AUFGABE 2.4 LÖSUNG Lustige Sieben (Auszug) Die offiziellen Lösungen zu allen Präsenzaufgaben sind auf Moodle verfügbar. Einen weiteren Lösungsvorschlag gibt es unter http://tutor17.stecrz.de.