Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Betty Álvares Veiga Geändert vor über 5 Jahren
1
Informatik II - Übung 01 Raphael Fischer (Folien basierend auf denen von Christian Beckel)
2
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
3
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
4
Java-Installation 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: / /javac-not-working-in-windows-command-prompt Raphael Fischer
5
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
6
Eclipse Raphael Fischer
7
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
8
JUnit 4 muss ausgewählt werden!
Neues Java-Projekt 6 8 7 JUnit 4 muss ausgewählt werden! 9 Raphael Fischer
9
Eclipse-View Run as Java Application
Java „perspective” für Java Entwicklung Editor Mit CTRL+SHIFT+F kann man autoformattieren Konsole Raphael Fischer
10
Debugging (lohnt sich!)
Debug „perspective” für Debugging Debug as Java Application Breakpoint (Double click) Konsole Raphael Fischer
11
Debugging (lohnt sich!)
Step into (F5) Step return (F7): verlasse aktuelle Funktion Step over (F6): Gehe zu nächster Zeile Raphael Fischer
12
Testing (lohnt sich ebenfalls!)
Click Run while Tests.java is open All tests passed Junit test methods Raphael Fischer
13
Mit ALT+SHIFT+J kann man Javadoc hinzufügen
Javadoc description Javadoc tab Raphael Fischer
14
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
15
Übungsblatt 0 Raphael Fischer
16
Ü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
17
Ü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
18
Aufgabe 4 Raphael Fischer
19
Aufgabe 4c) Maximale Anzahl von Umschüttungen: 6 (siehe Graph)
Mittlere Anzahl von Umschüttungen: Raphael Fischer
20
Übungsblatt 1 Raphael Fischer
21
Ü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
22
Ü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
23
Ü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
24
Ü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
25
Ü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
26
Danke Fragen?
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.