Informatik II - Übung 01

Ähnliche Dokumente
Informatik II Übung 1 Gruppe 7. Leyna Sadamori

Informatik II Übung 1 Gruppe 7

Java-Einführungskurs Informatik II (D-ITET) Vincent Becker,

Einführung zu den Übungen aus Softwareentwicklung 1

Java für C++ Programmierer

Erste Schritte mit Eclipse

Einführung zu den Übungen aus Softwareentwicklung 1

Grundlagen der Informatik für Ingenieure I

Grundlagen der Informatik Übungen 1.Termin

Kurzanleitung Eclipse

Einheit 06: Debugging in Eclipse

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder

Micro Focus Unit Testing Framework in Visual COBOL 3.0. Rolf Becking 29.August 2017

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Installationsanleitung

Java für Anfänger Teil 1: Intro. Programmierkurs Manfred Jackel

Übung Softwareentwicklung 1, WS0910 Gemeinsame Einführung

Programmieren I. Administratives / Java Installation. Thomas Vetter, Brian Amberg, Andreas Forster. 21. September 2010 UNIVERSITÄT BASEL

Vorkurs Informatik WiSe 16/17

Programmierkurs. Manfred Jackel

Programmierung für Mathematik (HS13)

JAVA. Ein kurzer Überblick. Thomas Karp

Technische Informatik für Ingenieure Winter 2005/2006 Übungsblatt Nr. 3

Java-Einführungskurs Informatik II für D-ITET FS 2017, ETH Zürich

Eclipse Tutorial.doc

Python SVN-Revision 12

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Einführung in Eclipse und Java

Java-Einführungskurs Informatik II für D-ITET FS 2015, ETH Zürich

Einführung in JAVA. Viele Höhen und Tiefen Java war schon einmal nahezu tot. Heute extrem weit verbreitet vom Supercomputer bis hin zum Handy.

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Java Einführung Programmcode

Eclipse und Java Einheit 01: Einführung in Eclipse

Vorkurs Informatik WiSe 17/18

II.1.1. Erste Schritte - 1 -

Technische Informatik für Ingenieure WS 2010/2011 Übungsblatt Nr. 3

Java-Tutorium WS 09/10

B) Klassenbibliotheken Turtle und Util (GPanel, Console) installieren Ein Unterverzeichnis classes auf der Festplatte erstellen, z.b.

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Hello World in Java. Der Weg zum ersten Java-Programm

B) Klassenbibliotheken Turtle und Util (GPanel, Console) installieren Ein Unterverzeichnis classes auf der Festplatte erstellen, z.b.

Erste Schritte zum lauffähigen Java Programm

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung

Java Übung. Einführung. 12. April Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Vorbereitendes.

Einführung in eclipse

Java und Eclipse Installation, erstes Beispielprogramm

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Kapitel 02. Java was, wann, warum, wieso. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Übungen zur Vorlesung. Maschinelles Lernen. Wintersemester 2011/2012

Einführung in das Programmieren

Hinweise zu Eclise. Überblick: 1. Vorbermerkungen. 2. Einstieg in Eclipse. 3. Importieren des Praktikumsprojekts

Programmieren I. Entwicklungsumgebungen Eclipse, NetBeans und IntelliJ IDEA. Institut für Angewandte Informatik

Eclipse 3.0 (Windows)

Übungsblatt 1. Java Vorkurs (WS 2017)

Kurzanleitung Installation der Zend Studio Sprachpakete

Vorkurs Informatik WiSe 15/16

1. Java Grundbegriffe

Installation & Anwendung Xdebug für Eclipse

Programmieren I. Entwicklungsumgebungen Eclipse und NetBeans. Institut für Angewandte Informatik

Exceptions. CoMa-Übung VII TU Berlin. CoMa-Übung VII (TU Berlin) Exceptions / 1

Programmieren I. Entwicklungsumgebungen Eclipse, NetBeans und IntelliJ IDEA. Institut für Angewandte Informatik

GameGrid mit BlueJ Seite 1

LEHRSTUHL FÜR DATENBANKEN

Java. CoMa-Übung II TU Berlin. CoMa-Übung II (TU Berlin) Java / 28

Hochschule Niederrhein Grundlagen der Prof. Dr. Nitsche Fachbereich 03 Java Programmierung Bachelor Informatik SS 2015 Übung 1. Grundlagen von Java

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

Informatik II Übung 2

SAP -Schnelleinstieg: ABAP-Entwicklung in Eclipse. Christoph Lordieck

Besprechung. Übung 1 Software Engineering

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

1 Organisatorisches. 2 Compilezeit- und Laufzeitfehler. 3 Exceptions. 4 Try-Catch-Finally

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Programmierkurs Java. Grundlagen. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck

1.3.1 Java-Compiler installieren

Abschnitt 11: Korrektheit von imperativen Programmen

cs106 Informatiklabor Teil 1: Java-Installation

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

Open Source IDE - eclipse ETIS SS04

Für die Erstellung von Javaprogrammen sind eventuell zwei Komponenten nötig. 1. Das Java-Develepment-Kit (JDK) und die 2. Java Runtime Engine (JRE)

Grundlagen der Programmierung UE

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Modellierung und Programmierung 1

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

Grundlagen der Programmierung UE

Java Programmierung auf der Konsole / unter Eclipse

Einrichten einer Debug- Umgebung in Eclipse

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013

Unit Tests. Programmiermethodik. Eva Zangerle Universität Innsbruck

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Diskrete Strukturen Tutorium I 29. Oktober Tim Weißker

Transkript:

Informatik II - Übung 01 Raphael Fischer (Folien basierend auf denen von Christian Beckel) fischrap@student.ethz.ch 01.03.2017

Wie sieht eine Übungsstunde aus? 1) Fragen aus der Vorlesung! 2) Praktische Dinge: Demo, Eclipse Tipps & Tricks, Coding style, Debugging, Java-Features 3) Besprechung Blatt n-1 (heute: n=1) 4) Ausblick Blatt n und Theorierepetition Wichtig: Seid aktiv! Raphael Fischer 01.03.2017 2

Abgabe der Übungen Abgabe per Codeboard bis Mittwoch, 13 Uhr Falls Ihr den Code überhaupt nicht zum compilieren bringt: auskommentieren und Kommentar zuoberst Raphael Fischer 01.03.2017 3

Java-Installation http://www.oracle.com/technetwork/java/javase/download s/index.html J2SE Java 2 Platform, Standard Edition Java SE 8 JDK (Java Development Kit): dieses Paket enthält auch das JRE (Java Runtime Environment) Test, ob JRE installiert ist (und Angabe der Version): java version Test, ob JDK installiert ist (und Angabe der Version): javac version Falls Probleme unter Windows: http://stackoverflow.com/questions /1678520/javac-not-working-in-windows-command-prompt Raphael Fischer 01.03.2017 4

Java files.java files sind Quellcode.class (Bytecode) files werden aus.java files von den Compiler erzeugt.jar files sind Bibliotheken Java source code Java bytecode Bytecode wird in einer virtuellen Machine (VM) interpretiert Plattformunabhängigkeit (PC, Server, Mobiltelefon, Linux, Windows, etc..) Browser mit integrierter VM Betriebssystem mit VM VM in speziellen VLSI-chip Internet-PC Spiel-Konsole Mobiltelefon Waschmaschine Kreditkarte Raphael Fischer 01.03.2017 5

Eclipse www.eclipse.org Raphael Fischer 01.03.2017 6

Neues Java-Projekt 1 Bsp.: Entpacken von u0.zip nach D:\projects\U00_G01 2 5 3 files in D:\projects\u0 wurden automatisch hinzugefügt 4 Raphael Fischer 01.03.2017 7

Neues Java-Projekt 6 7 8 JUnit 4 muss ausgewählt werden! 9 Raphael Fischer 01.03.2017 8

Eclipse-View Run as Java Application Java perspective für Java Entwicklung Editor Mit CTRL+SHIFT+F kann man autoformattieren Konsole Raphael Fischer 01.03.2017 9

Debugging (lohnt sich!) Debug as Java Application Debug perspective für Debugging Breakpoint (Double click) Konsole Raphael Fischer 01.03.2017 10

Debugging (lohnt sich!) Step into (F5) Step return (F7): verlasse aktuelle Funktion Step over (F6): Gehe zu nächster Zeile Raphael Fischer 01.03.2017 11

Testing (lohnt sich ebenfalls!) Click Run while Tests.java is open All tests passed Junit test methods Raphael Fischer 01.03.2017 12

Javadoc Mit ALT+SHIFT+J kann man Javadoc hinzufügen Javadoc description Javadoc tab Raphael Fischer 01.03.2017 13

Eclipse-Tipps Save Actions (Window Preferences Java Editor Save Actions) Organize Imports : Fügt automatisch nötige Imports hinzu Format Source Code : Führt automatisch Ctrl+shift+F aus... Debugging Quick Fixes Raphael Fischer 02.03.2017 14

Übungsblatt 0 Raphael Fischer 01.03.2017 15

Übungsblatt 0 Aufgabe 1: HelloWorld.java Programm auf Kommandozeile kompilieren und ausführen (Muss in Ordner u0a1 sein) Aufgabe 2: Das erste Java-Programm Eclipse-Setup und (simple) Signum-Funktion Raphael Fischer 01.03.2017 16

Übungsblatt 0 Aufgabe 3: Automatisiertes Testen Setup von JUnit4 (Kommandozeile und in Eclipse), Tests für Signum-Funktion Aufgabe 4: Gerichtete Graphen 3 Kannen unterschiedlicher Größe (8l, 5l, 2l) Wein von einer Kanne in die andere Graph zeichnen, Zahl der nötigen Umschüttungen herausfinden Raphael Fischer 01.03.2017 17

Aufgabe 4 Raphael Fischer 01.03.2017 18

Aufgabe 4c) Maximale Anzahl von Umschüttungen: 6 (siehe Graph) Mittlere Anzahl von Umschüttungen: Raphael Fischer 01.03.2017 19

Übungsblatt 1 Raphael Fischer 01.03.2017 20

Übungsblatt 1 Aufgabe 1: Altägyptische Multiplikation Rekursiver Algorithmus für Berechnung von f(a,b) = a*b (a,b: positive ganze Zahlen) Raphael Fischer 01.03.2017 21

Übungsblatt 1 Altägyptische Multiplikation: Induktionsbeweis: IV: Für den Basisfall gilt: f(a,1) = a*1 IA: Sei b = n+1. Dann nehmen wir an dass gilt f(a,b) = a*b IS: zu zeigen, falls die IA stimmt: f(a,b) = a*b: b gerade: f(a,b) = f(2a,b/2) = (IA!!) = 2a * b/2 b ungerade: f(a,b) = f(2a,(b-1)/2)+a = (IA!!) = a * b Raphael Fischer 02.03.2017 22

Übungsblatt 1 Aufgabe 1: Altägyptische Multiplikation a) Induktion über a (anstatt b) möglich? b) Terminiert der Algorithmus? Beweis? c) Nachdenken mit kleinstem Fall b=0 (anstatt b=1) Raphael Fischer 01.03.2017 23

Übungsblatt 1 Aufgabe 2: Laufzeitkomplexität a) Implementierung der AM gegeben. Aufrufe von gerade, verdopple, halbiere zählen b) Aufwandabschätzung einer einzigen Instanz von f(int a, int b) Resultat soll ein Ausdruck von a und b sein c) Gesamtzahl aller Methodenaufrufe von f(int a, int b) unter Verwendung der Resultate aus Aufgabe b). Wichtig: Wie oft wird die Rekursion aufgerufen? Raphael Fischer 01.03.2017 24

Übungsblatt 1 Aufgabe 3: Überprüfung von Benutzereingaben Implementierung der AM gegeben Falsche Eingaben sollen Exceptions hervorrufen Fehler sollen mit Hilfe von UnitTests gefunden werden Einführung in JavaDoc (Hinweis, dass JavaDoc mit Eclipse ganz einfach ist: /** + Enter In mult Methode throw new IllegalArgumentException(String message) Raphael Fischer 01.03.2017 25

Danke Fragen?