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

Slides:



Advertisements
Ähnliche Präsentationen
Der Foliensatz ist unter einer Creative Commons-Lizenz lizenziert:
Advertisements

Problemlösen am Beispiel des Rückwärtsarbeitens
? Stichwortverzeichnis … zum Suchen
Stichwortverzeichnis
Heute Mathe, morgen DLR! Dr. Margrit Klitz
Einführung in Web- und Data-Science Grundlagen der Stochastik
gemeinsam.innovativ.nachhaltig.
Wissenschaftliche Methodik
3. Schafft das Internet neue Transaktionsdesign?
Umweltbezogene Entscheidungen - multidimensionale Bewertungsverfahren -
Michael Artin: Geometric Algebra
R What is this R thing, and is it worth some effort?
3 Elektrochemische Wandler
Elektro-Skateboards Teil I Grundlagen
Stichwortverzeichnis
8 Zündung/Motormanagement
Stichwortverzeichnis
2 Elektrische Maschinen in Kraftfahrzeugen
Herstellung von kristallinen Metalloxiden über die Schmelze mit einem Spiegelofen Gruppe 8: Yuki Meier, Vivien Willems, Andrea Scheidegger, Natascha Gray.
Kapitel 4 Traveling Salesman Problem (TSP)
Markus Lips März 2017 ETH-Vorlesung, 6. Sem. Agrarwissenschaft BSc Agrartechnik II.
Einführung in die Wahrscheinlichkeitsrechnung
Motoremissionen mobiler Anlagen – Stand der Technik
Lieber Leser, liebe Leserin,
Inhaltsverzeichnis In der vorliegenden Präsentation finden Sie unter anderem Antworten auf folgende Fragen… warum ist eine Gesetzesinitiative zum Betriebliches.
Einführung in Web- und Data-Science
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
Industrie 4.0 für die Ausbildung 4.0
Entwicklung epistemologischer Überzeugungen
Das Verdauungssystem Präsentiert von Theresa
MasterBAV© Die neue Generation BAV
Algorithmen und Datenstrukturen
Rehwild die richtige Altersbestimmung
PSG II Neuer Pflegebedürftigkeitsbegriff und dessen Begutachtung (NBA)
Medientechnische Infrastrukturen für virtuelle und lokale Lernräume
Wissensmanagement im Zeitalter von Digitaler Transformation
«Wir bereiten uns auf die Deutschlandreise vor»
GABI UND BEN.
Pflege & Finanzierung 01. Juni 2017 Dr. Sonja Unteregger
Das Arbeitgebermodell in Zeiten des
Microsoft® Office PowerPoint® 2007-Schulung
Einführung in Web- und Data-Science
Pensionsrück-stellungen Prof. Dr. Matthias Hendler
Mathematik 10.
Betriebliche Gesundheitsförderung 2
Vorlesung Wasserwirtschaft & Hydrologie I
Liebe BetrachterInnen,
Rosebrock: Geometrische Gruppen
Forschungsmethoden in der Teilchenphysik
Neue Unterrichtsmaterialien zur Teilchenphysik Philipp Lindenau CERN | Herzlich willkommen! Präsentation mit Notizen hinterlegt!
Eröffnungsveranstaltung
Aktuelle Themen aus dem KVJS-Landesjugendamt Referat 44
Roomtour - Podio für Anfänger
175 Jahre UZH Krisenkommunikation
Frauen- Männerriegen KONFERENZ
Schulung für Microsoft® Office SharePoint® 2007
Was ist eigentlich Datenschutz?
Aktuelle Aspekte des Europäischen Zivilprozessrechts
Einführung in die Benutzung des Einkaufportals der Eckelmann AG
Wer wir sind! Ihr S-Campus-Team direkt im Campus Center. Sven Deussing
Non-Standard-Datenbanken
Amand Fäßler 3. Januar 2017; RC Bregenz
Mathematik 11 Analytische Geomerie.
Non-Standard-Datenbanken
Menger-Schwamm Ausgangsfigur in Stufe 0 ist ein Würfel
Sortieren auf Multiprozessorrechnern
Wurzeln und Irrationalität nach U.Wagner, OHG Tuttlingen
Langzeitbelichtung Ein Zugang zur Kinematik in Klassenstufe 7/8
Eine kleine Einführung in das Projekt „Mausefallenauto“
 Präsentation 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? Fragen aus der Vorlesung! Praktische Dinge: Demo, Eclipse Tipps & Tricks, Coding style, Debugging, Java-Features Besprechung Blatt n-1 (heute: n=1) Ausblick Blatt n und Theorierepetition Wichtig: Seid aktiv! Raphael Fischer 13.11.2018

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 13.11.2018

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 13.11.2018

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

Eclipse www.eclipse.org Raphael Fischer 13.11.2018

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

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

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

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

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

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

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

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 13.11.2018

Übungsblatt 0 Raphael Fischer 13.11.2018

Ü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 13.11.2018

Ü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 13.11.2018

Aufgabe 4 Raphael Fischer 13.11.2018

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

Übungsblatt 1 Raphael Fischer 13.11.2018

Ü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 13.11.2018

Übungsblatt 1 Altägyptische Multiplikation: Induktionsbeweis: IV: Für den Basisfall gilt: ∀ a∈ℕ: f(a,1) = a*1 IA: Sei b = n+1. Dann nehmen wir an dass gilt ∀ a∈ℕ, ∀ b∈ 1, …,𝑛 : 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 13.11.2018

Ü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 13.11.2018

Übungsblatt 1 Aufgabe 2: Laufzeitkomplexität Implementierung der AM gegeben. Aufrufe von gerade, verdopple, halbiere zählen Aufwandabschätzung einer einzigen Instanz von f(int a, int b) – Resultat soll ein Ausdruck von a und b sein 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 13.11.2018

Ü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 13.11.2018

Danke Fragen?