Aufgabenblatt 5. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt:

Größe: px
Ab Seite anzeigen:

Download "Aufgabenblatt 5. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt:"

Transkript

1 Aufgabenblatt 5 Kompetenzstufe 1 Allgemeine Informationen zum Aufgabenblatt: Die Abgabe erfolgt in TUWEL. Bitte laden Sie Ihr IntelliJ-Projekt bis spätestens Freitag, :00 Uhr in TUWEL hoch. Zusätzlich müssen Sie in TUWEL ankreuzen, welche Aufgaben Sie gelöst haben und während der Übung präsentieren können. Ihre Programme müssen kompilierbar und ausführbar sein. Ändern Sie bitte nicht die Dateinamen und die vorhandene Ordnerstruktur. Bei manchen Aufgaben finden Sie Zusatzfragen. Diese Zusatzfragen beziehen sich thematisch auf das erstellte Programm. Sie müssen diese Zusatzfragen in der Übung beantworten können. Verwenden Sie, falls nicht anders angegeben, für alle Ausgaben System.out.println() bzw. System.out.print(). Verwenden Sie für die Lösung der Aufgaben keine speziellen Aufrufe (Klassen) aus der Java-API, außer diese sind ausdrücklich erlaubt, wie z.b. die Klassen StdDraw und Scanner oder Klassen, die in den Hinweisen zu den einzelnen Aufgaben aufscheinen. 8. Dezember 2017 Seite 1

2 Aufgabe 1 Gegeben ist das Programm Aufgabe1.java (siehe Listing 1). Vervollständigen Sie die fehlenden Teile. Die Methode isvalid soll genau dann true liefern, wenn die 9 9 Matrix, die als int[][]- Array übergeben wird, einer gültigen Sudoku-Lösung entspricht. Eine gültige Sudoku-Lösung muss folgende Kriterien erfüllen: 1. Jede Zeile der Matrix enthält jede Zahl von 1 bis 9 genau einmal, ist also eine Permutation der Zahlen von 1 bis Jede Spalte der Matrix enthält jede Zahl von 1 bis 9 genau einmal, ist also eine Permutation der Zahlen von 1 bis Jeder der neun 3 3-Unterblöcke (siehe Tabelle 1) enthält jede Zahl von 1 bis 9 genau einmal, ist also eine Permutation der Zahlen von 1 bis 9. Ein Beispiel für eine gültige Sudoku-Lösung ist in Tabelle 1 dargestellt Tabelle 1: Beispiel einer gültigen Sudoku-Lösung. 8. Dezember 2017 Seite 2

3 1 /* Listing 1: Vorgegebener Programmcode: Die Methode isvalid ist zu vervollständigen. 2 Aufgabe 1: Umgang mit mehrdimensionalen Arrays. 3 */ 4 import java.util.arrays; 5 6 public class Aufgabe1 { 7 8 //Liefert true, wenn die angegebene 9x9 Matrix eine gueltige Sudokuloesung ist. 9 private static boolean isvalid(int[][] sudokuarray){ 10 int[] temp; //Teil 1: Pruefe alle Zeilen 13 for (int row = 0; row < 9; row++) { 14 //TODO: Hier einfuegen! 15 } //Teil 2: Pruefe alle Spalten 18 for (int col = 0; col < 9; col++) { 19 //TODO: Hier einfuegen! 20 } //Teil 3: Pruefe alle 3 x 3 Unterbloecke des Arrays. 23 for (int blockrow = 0; blockrow < 3; blockrow++) { 24 for (int blockcol = 0; blockcol < 3; blockcol++) { 25 //TODO: Hier einfuegen! 26 } 27 } return true; 30 } // Ueberprueft, ob das angegebene Array eine Permutation der Zahlen 1 bis 9 enthaelt. 33 private static boolean contains1to9(int[] temp) { 34 temp = temp.clone(); 35 Arrays.sort(temp); for(int i = 0; i < 9; ++i) { 38 if(temp[i]!= i+1) { 39 return false; 40 } 41 } return true; 44 } 8. Dezember 2017 Seite 3

4 45 46 public static void main(string[] args) { int[][] sudoku = new int[][]{ {2, 9, 5, 7, 4, 3, 8, 6, 1}, 49 {4, 3, 1, 8, 6, 5, 9, 2, 7}, 50 {8, 7, 6, 1, 9, 2, 5, 4, 3}, 51 {7, 6, 3, 5, 2, 4, 1, 8, 9}, 52 {9, 2, 8, 6, 7, 1, 3, 5, 4}, 53 {1, 5, 4, 9, 3, 8, 6, 7, 2}, 54 {3, 8, 7, 4, 5, 9, 2, 1, 6}, 55 {6, 1, 2, 3, 8, 7, 4, 9, 5}, 56 {5, 4, 9, 2, 1, 6, 7, 3, 8}, }; 59 System.out.println(isValid(sudoku)); 60 } 61 } 8. Dezember 2017 Seite 4

5 Aufgabe 2 Gegeben sei der Programmcode aus Listing 2. Verändern Sie das Programm wie unten angegeben. Alle gefragten Methoden sollen ohne Schleife auskommen. Stattdessen soll jede gefragte Methode sich selbst aufrufen (Rekursion). Die gefragten Methoden dürfen keine anderen gefragten Methoden aufrufen, außer sich selbst. Ausnahme ist die Methode main, die zum Testen alle gefragten Methoden mit entsprechenden Testwerten aufrufen soll. 1. Ändern Sie die Methode printnumbers100 so, dass sie zur Laufzeit nach Ausgabe der Zahl 100 beendet wird und kein weiterer rekursiver Aufruf erfolgt. Der Methodenaufruf darf dann nicht mehr zu einem Laufzeitfehler führen. 2. Schreiben Sie eine Methode printnumbersdescending100, die sich verhält wie printnumbers100, mit dem Unterschied, dass die Reihenfolge der Zahlen bei der Ausgabe umgekehrt ist. In der Methode main soll printnumbersdescending100(1) aufgerufen werden, um die Ausgabe der absteigenden Zahlenfolge von 100 bis inklusive 1 zu erzeugen. 3. Schreiben Sie eine Methode printnumbers(int n), die die ganzen Zahlen von 1 bis inklusive n aufsteigend ausgibt. Vorbedingung ist n Schreiben Sie eine Methode printnumbers(int a, int b), die die ganzen Zahlen von a bis inklusive b aufsteigend ausgibt. Vorbedingung ist a b. 5. Schreiben Sie eine weitere Methode printnumbersdescending(int a, int b), die die ganzen Zahlen von b bis inklusive a absteigend ausgibt. Vorbedingung ist a b. Zusatzfragen: 1. Was ist Fundiertheit im Zusammenhang mit der Rekursion? 2. Was ist Fortschritt im Zusammenhang mit der Rekursion? 8. Dezember 2017 Seite 5

6 1 /* Listing 2: Vorgegebener Programmcode in Aufgabe2.java 2 Aufgabe 2) Rekursion: Methoden ohne Rueckgabe mit Ausgabe 3 */ 4 public class Aufgabe2 { 5 6 public static void main(string[] args) { 7 8 printnumbers100(1); 9 } public static void printnumbers100(int i) { 12 System.out.println(i); 13 printnumbers100(i+1); } 16 } 8. Dezember 2017 Seite 6

7 Aufgabe 3 Schreiben Sie die unten gefragten Methoden. Alle gefragten Methoden sollen ohne Schleife auskommen. Stattdessen soll jede gefragte Methode sich selbst aufrufen (Rekursion). Die gefragten Methoden dürfen keine anderen gefragten Methoden aufrufen, außer sich selbst. Ausnahme ist die Methode main, die zum Testen alle gefragten Methoden mit entsprechenden Testwerten aufrufen soll. 1. Schreiben Sie eine String-Methode tostring(int[] arr, int i), die alle Elemente von arr, ab dem Index i aufwärts in Reihenfolge ihres Index in einem String durch, getrennt zurückliefert. Beispiel: Der Aufruf tostring(new int[]{7,11,3,-12,5}, 2) liefert den String 3,-12,5. Vorbedingung: i ist ein gültiger Index von arr. 2. Schreiben Sie eine int-methode max(int[] arr, int i), die das Maximum aller Elemente von arr liefert, die einen Index kleiner oder gleich i haben. Vorbedingung: i ist ein gültiger Index von arr. 3. Schreiben Sie eine boolean-methode containsvalue(int[] arr, int val), die true liefert, wenn eines der Elemente von arr dem Wert val entspricht. Die Methode soll in Ihrem Methodenrumpf zwei rekursive Aufrufe haben, wobei ein rekursiver Aufruf die erste Hälfte des Arrays durchsucht und der zweite die zweite Hälfte. Hinweis: Sie können die Methode Arrays.copyOfRange(...) nutzen. Zusatzfragen: 1. Wie könnte man containsvalue(int[] arr, int val) optimieren, wenn die Vorbedingung ist, dass arr aufsteigend sortiert ist? 8. Dezember 2017 Seite 7

8 Aufgabe 4 Gegeben ist eine Methode rotatepoint (siehe Listing 3) sowie die Methode squarerotated (siehe Listing 4). 1. Schreiben Sie eine Methode boxed mit den Parametern center und radius, die eine Figur wie in Abbildung 1 zeichnet. center ist vom Typ double[] und gibt die beiden Koordinaten des Mittelpunktes an. radius gibt die halbe Seitenlänge des äußersten Quadrates an. In dieses äußere Quadrat wird ein um 45 Grad gedrehtes Quadrat eingeschrieben, dessen Eckpunkte auf den Seiten des äußeren Quadrates liegen. In dieses Quadrat wird wiederum ein um weitere 45 Grad gedrehtes Quadrat eingeschrieben, u.s.w. Der Mittelpunkt aller Quadrate ist center. Die Methode soll ohne Schleife auskommen. Stattdessen soll die Methode sich selbst aufrufen, also rekursiv implementiert werden. Quadrate, deren Seitenlänge kleiner als ein Pixel ist, werden nicht mehr gezeichnet (Abbruchbedingung). 2. Schreiben Sie eine Methode rotatepointmutating als Variante der vorgegebenen Methode rotatepoint. Der einzige Unterschied zwischen rotatepoint und rotatepointmutating soll sein, dass rotatepointmutating keine Rückgabe liefert (void), sondern stattdessen direkt point verändert (Methode mit Seiteneffekt). Abbildung 1: Beispiel für die gewünschte graphischen Ausgabe, wenn die voreingestellte Strichstärke und Bildgröße ( ) verwendet wird. Sie sollten durch entsprechend gewählte aktuelle Parameterwerte beim Aufruf Ihrer Methode eine solche Figur erzeugen können. Das äußere Quadrat ist der Bildrand und muss nicht erzeugt werden! Zusatzfragen: 1. Wie müsste man das gesamte Programm verändern, wenn anstelle von rotatepoint ausschließlich rotatepointmutating benutzt werden soll? Abgegeben werden soll die Version Ihres Programms mit rotatepoint. Schreiben Sie aber in den Programmcode entsprechende Kommentare, die zeigen, an welcher Stelle welche Änderungen notwendig sind, wenn stattdessen rotatepointmutating genutzt werden soll. 8. Dezember 2017 Seite 8

9 Listing 3: Vorgegebener Programmcode: Methode rotatepoint 1 // Vorgegebene Hilfsmethode zum Rotieren eines Punktes in 2-D. Diese Methode wird von 2 // squarerotated benutzt. 3 // rotatepoint fuehrt eine Rotation des angegebenen Punktes point 4 // um den Ursprung aus. Der Rotationswinkel ist angle. 5 // point muss ein Array mit zwei Eintraegen sein. point[0] ist die 6 // x-koordinate. point[1] ist die y-koordinate. 7 // Die Methode laesst point unveraendert. Der rotierte Punkt wird als 8 // Array mit zwei Eintraegen (x- und y-koordinate) zurueckgeliefert. 9 private static double[] rotatepoint(double[] point, double angle) { 10 double[] result = new double[2]; 11 result[0] = point[0]*math.cos(angle) - point[1]*math.sin(angle); 12 result[1] = point[0]*math.sin(angle) + point[1]*math.cos(angle); 13 return result; 14 } 15 } Listing 4: Vorgegebener Programmcode: Methode squarerotated 1 // Vorgegebene Methode zum Zeichnen eines rotierten Quadrates. Das Zentrum des Quadrates 2 // wird mit einem Array angegeben, wobei die x-koordinate dem Wert center[0] entspricht und 3 // die y-koordinate dem Wert center[1]. 4 private static void squarerotated(double[] center, double radius, double angle) { 5 6 // Bestimmung der 4 Eckpunkte (dabei den Mittelpunkt nicht beruecksichtigen): 7 double[] upperleft = {-radius, radius}; 8 double[] upperright = {radius, radius}; 9 double[] lowerleft = {-radius, -radius}; 10 double[] lowerright = {radius, -radius}; // Jeden Eckpunkt jeweils mittels Rotationsformel drehen (um den Ursprung). 13 double[] rotupperleft = rotatepoint(upperleft,angle); 14 double[] rotupperright = rotatepoint(upperright,angle); 15 double[] rotlowerleft = rotatepoint(lowerleft,angle); 16 double[] rotlowerright = rotatepoint(lowerright,angle); // Gedrehtes Quadrat um seinen Mittelpunkt (center[0],center[1]) zeichnen. 19 StdDraw.polygon(new double[]{rotupperleft[0]+center[0],rotupperright[0]+center[0], 20 rotlowerright[0]+center[0],rotlowerleft[0]+center[0]}, 21 new double[]{rotupperleft[1]+center[1],rotupperright[1]+center[1], 22 rotlowerright[1]+center[1],rotlowerleft[1]+center[1]}); 23 } 8. Dezember 2017 Seite 9

10 Aufgabe 5 Gegeben ist die Methode filledsquares3 (siehe Listing 5), die Figuren wie in Abbildung 2 erzeugt. Abbildung 2: Die vorgegebene Methode filledsquares3 kann solche Figuren erzeugen. (a) (b) Abbildung 3: Beispiele für die gewünschte graphischen Ausgabe, wenn die voreingestellte Bildgröße ( ) verwendet wird. Sie sollten durch entsprechend gewählte aktuelle Parameterwerte beim Aufruf Ihrer Methode eine solche Figur erzeugen können. 3a ist beispielsweise durch squaretree(new double[]{0.4, 0.1}, 0.1, 0, 0.5, 0.7) entstanden, 3b durch squaretree(new double[]{0.6, 0.1}, 0.1, 0, 0.7, 0.2) 1. Machen Sie aus der gegebenen Methode filledsquares3 eine Methode squaretree, die Figuren wie in Abbildung 3 erzeugen kann. Jedes Quadrat hat zwei unmittelbare, relativ zu ihm um 45 Grad gedrehte, Nachfolgerquadrate, die so platziert werden wie die beiden kleineren Quadrate in filledsquares3 relativ zum großen Quadrat (Eckpunkt an Eckpunkt). Die Parameter center, radius und angle geben die Eigenschaften des größten Quadrates an. Zusätzlich soll es zwei double-parameter leftfactor und rightfactor geben, die die Seitenlänge der beiden unmittelbaren Nachfolgerquadrate bestimmen. Diese müssen beide kleiner als 1 sein, damit ein Baum entsteht. Unter einer bestimmten Größe (z.b. bei radius kleiner 0.01) sollen alle Quadrate grün gezeichnet werden. Diese Größe soll im Programmcode fix gesetzt werden. Die Methode soll ohne Schleife auskommen. Stattdessen soll die Methode sich selbst aufrufen, also rekursiv implementiert werden. Quadrate, deren Seitenlänge kleiner als ein Pixel ist, werden nicht mehr gezeichnet (Abbruchbedingung). 8. Dezember 2017 Seite 10

11 Listing 5: Vorgegebener Programmcode: Methode filledsquares3 und filledsquarerotated 1 // Vorgegebene Methode zum Zeichnen eines rotierten gefuellten Quadrates 2 private static void filledsquarerotated(double[] center, double radius, double angle) { 3 4 // Bestimmung der 4 Eckpunkte (dabei den Mittelpunkt nicht beruecksichtigen): 5 double[] upperleft = {-radius, radius}; 6 double[] upperright = {radius, radius}; 7 double[] lowerleft = {-radius, -radius}; 8 double[] lowerright = {radius, -radius}; 9 10 // Jeden Eckpunkt jeweils mittels Rotationsformel drehen (um den Ursprung). 11 double[] rotupperleft = rotatepoint(upperleft,angle); 12 double[] rotupperright = rotatepoint(upperright,angle); 13 double[] rotlowerleft = rotatepoint(lowerleft,angle); 14 double[] rotlowerright = rotatepoint(lowerright,angle); // Gedrehtes Quadrat um seinen Mittelpunkt (center[0],center[1]) zeichnen. 17 StdDraw.filledPolygon(new double[]{rotupperleft[0]+center[0],rotupperright[0]+center[0], 18 rotlowerright[0]+center[0],rotlowerleft[0]+center[0]}, 19 new double[]{rotupperleft[1]+center[1],rotupperright[1]+center[1], 20 rotlowerright[1]+center[1],rotlowerleft[1]+center[1]}); 21 } // Vorgegeben: Zeichne die gegebene Figur mit drei Quadraten 24 public static void filledsquares3(double[] center, double radius, double angle) { 25 filledsquarerotated(center, radius, angle); double[] delta = {radius,radius+0.5*radius*math.sqrt(2)}; 28 delta = rotatepoint(delta, angle); filledsquarerotated(new double[]{center[0] + delta[0], center[1] + delta[1]}, 0.5*radius, angle - Math.PI/4); delta = new double[]{-radius,radius+0.2*radius*math.sqrt(2)}; 33 delta = rotatepoint(delta, angle); filledsquarerotated(new double[]{center[0] + delta[0], center[1] + delta[1]}, 0.2*radius, angle + Math.PI/4); } 8. Dezember 2017 Seite 11

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung Wiederholung Wozu? Schreiben Benutzen Rekursion?! Javakurs 2012, 3. Vorlesung maggyrz@freitagsrunde.org 5. März 2013 Wiederholung Wozu? Schreiben Benutzen Rekursion?! 1 Wiederholung 2 Wozu? 3 Schreiben

Mehr

Java Einführung Klassendefinitionen

Java Einführung Klassendefinitionen Java Einführung Klassendefinitionen Inhalt dieser Einheit Java-Syntax Klassen definieren Objekte instanziieren Instanzvariable deklarieren Klassenvariable deklarieren 2 Klassen definieren In der Problemanalyse

Mehr

Java Einführung Collections

Java Einführung Collections Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...

Mehr

1. Typen und Literale (6 Punkte) 2. Zuweisungen (6 = Punkte)

1. Typen und Literale (6 Punkte) 2. Zuweisungen (6 = Punkte) Praktische Informatik (Software) Vorlesung Softwareentwicklung 1 Prof. Dr. A. Ferscha Hauptklausur am 01. 02. 2001 Zuname Vorname Matr. Nr. Stud. Kennz. Sitzplatz HS / / / Punkte Note korr. Fügen Sie fehlende

Mehr

Sie müssen den Test bis 20:00 Uhr am Abgabetag dieses Übungszettels absolviert haben.

Sie müssen den Test bis 20:00 Uhr am Abgabetag dieses Übungszettels absolviert haben. Informatik I Wintersemester 2013/14 Prof. Dr. Carsten Damm Georg-August-Universität Göttingen Dr. Henrik Brosenne Institut für Informatik Übung 6 Abgabe bis Dienstag, 10.12., 18:00 Uhr. Werfen Sie Ihre

Mehr

JAVA - Methoden

JAVA - Methoden Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 sind eine Zusammenfassung von Deklarationen und Anweisungen haben einen Namen und können

Mehr

Selbsteinstufungstest Vorkurs Programmieren

Selbsteinstufungstest Vorkurs Programmieren VPR Selbsteinstufungstest Vorkurs Programmieren Zeit 90 Minuten Aufgabe 1: Einzigartig (10 Punkte) Schreiben Sie eine Methode die angibt, ob ein String str1 in einem zweiten String str2 genau einmal vorkommt.

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E

Mehr

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

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

Informatik II Musterlösung

Informatik II Musterlösung Ludwig-Maximilians-Universität München SS 2006 Institut für Informatik Übungsblatt 4 Prof. Dr. M. Wirsing, M. Hammer, A. Rauschmayer Informatik II Musterlösung Zu jeder Aufgabe ist eine Datei abzugeben,

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Programmiertechnik Klassenmethoden

Programmiertechnik Klassenmethoden Programmiertechnik Klassenmethoden Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Motivation Programm zur Berechung von public class Eval1 { public static void main(string[] args) { java.util.scanner

Mehr

188.154 Einführung in die Programmierung für Wirtschaftsinformatik

188.154 Einführung in die Programmierung für Wirtschaftsinformatik Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

Inf 12 Aufgaben 14.02.2008

Inf 12 Aufgaben 14.02.2008 Inf 12 Aufgaben 14.02.2008 Übung 1 (6 Punkte) Ermitteln Sie eine mathematische Formel, die die Abhängigkeit der Suchzeit von der Anzahl der Zahlen N angibt und berechnen Sie mit Ihrer Formel die durchschnittliche

Mehr

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

620.900 Propädeutikum zur Programmierung

620.900 Propädeutikum zur Programmierung 620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Arrays Wiederholung (1/5) Array = GEORDNETE

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

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

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Rekursion Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Aufgabe 1: Potenzfunktion Schreiben Sie eine Methode, die

Mehr

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 - ! 1. Grundelemente der Programmierung! 2. Objekte, Klassen und Methoden! 3. Rekursion und dynamische Datenstrukturen! 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden Grundlagen der Programmierung Prof. H. Mössenböck 6. Methoden Parameterlose Methoden Beispiel: Ausgabe einer Überschrift class Sample { static void printheader() { // Methodenkopf Out.println("Artikelliste");

Mehr

Objektorientierte Programmierung OOP Programmieren mit Java

Objektorientierte Programmierung OOP Programmieren mit Java Übungen: 6 Schleifen Objektorientierte Programmierung OOP Programmieren mit Java 1. do-schleife 2. while-schleife 3. a) c) Verschiedene for-schleifen 6 Schleifen Übungen 4. for-schleife: halber Tannenbaum

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Programmiervorkurs WS 2012/2013. Schleifen und Methoden

Programmiervorkurs WS 2012/2013. Schleifen und Methoden Programmiervorkurs WS 2012/2013 Schleifen und Methoden Ein Befehl soll mehrfach ausgeführt werden, z.b.: public class MyCounter { System.out.println(1); Ein Befehl soll mehrfach ausgeführt werden, z.b.:

Mehr

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollsttukturen - 1 - 3. Anweisungen und Kontrollstrukturen

Mehr

public class SternchenRechteckGefuellt {

public class SternchenRechteckGefuellt { Java programmieren: Musterlösungen Konsolen-Aufgaben Aufgabe 1: Gefüllte Rechtecke zeichnen Schreiben Sie ein Programm, das ein durch Sternchen gefülltes Rechteck zeichnet. Der Benutzer soll Breite und

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

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

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

Ein erstes Java-Programm

Ein erstes Java-Programm Ein erstes Java-Programm public class Rechnung { public static void main (String [] arguments) { int x, y; x = 10; y = -1 + 23 * 33 + 3 * 7 * (5 + 6); System.out.print ("Das Resultat ist "); System.out.println

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Java Einführung Methoden. Kapitel 6

Java Einführung Methoden. Kapitel 6 Java Einführung Methoden Kapitel 6 Inhalt Deklaration und Aufruf von Methoden Lokale und globale Namen (Bezeichner) Sichtbarkeit und Lebensdauer von Variablen in Methoden Überladen von Methoden 2 Methoden

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Musterlösungen zur Klausur Informatik 3

Musterlösungen zur Klausur Informatik 3 Musterlösungen zur Klausur Informatik 3 Justus-Liebig-Universität Gießen Wintersemester 2003/2004 Aufgabe 1 (6 Punkte) Man kreuze bei den folgenden Deklarationen und Definitionen jeweils an, ob sie aus

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Distributed Computing Group

Distributed Computing Group JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird

Mehr

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

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt

Mehr

Beispiel: Methode mit einem Fehler. Diese Methode wird problematisch, wenn von außen eine Dauer von 0 Sekunden angegeben wird, etwa im Aufruf

Beispiel: Methode mit einem Fehler. Diese Methode wird problematisch, wenn von außen eine Dauer von 0 Sekunden angegeben wird, etwa im Aufruf 16 Exceptions Zur Behandlung unerwarteter Situationen bietet Java Unterstützung in Form von Exceptions oder Ausnahmen. Den Sinn von Exceptions können wir Ihnen an einem kleinen Beispiel klarmachen. Nehmen

Mehr

Aufgabenblatt Nr. 5 Generizität und TicTacToe

Aufgabenblatt Nr. 5 Generizität und TicTacToe Aufgabenblatt Nr. 5 Generizität und TicTacToe 1 Generische Sortier-Methode 1.1 Aufgabe: Entwickeln einer generischen Sortiermethode für Objekte mit der Schnittstelle Comparable Ihnen ist aus der Vorlesung

Mehr

Institut fu r Informatik

Institut fu r Informatik Technische Universita t Mu nchen Institut fu r Informatik Lehrstuhl fu r Bioinformatik Einfu hrung in die Programmierung fu r Bioinformatiker Prof. B. Rost, L. Richter WS 2013 Aufgabenblatt 3 18. November

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005 Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 5 Lösungsvorschlag Objektorientierte Programmierung 22. 05. 2006 Lösung 9 (SMS-Eingabe am

Mehr

Letztes Mal. static int ggt(int a, int b) { if (a == b) return a; else if (a > b) return ggt(a-b,b); else if (a < b) return ggt(a,b-a);

Letztes Mal. static int ggt(int a, int b) { if (a == b) return a; else if (a > b) return ggt(a-b,b); else if (a < b) return ggt(a,b-a); Letztes Mal static int ggt(int a, int b) { if (a == b) return a; else if (a > b) } return ggt(a-b,b); else if (a < b) return ggt(a,b-a); Darf hier nicht stehen! Compiler sagt: Missing return statement

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung SS 2011 Fakultät für Angewandte Informatik Lehrprofessur für Informatik 15.06.2011 Prof. Dr. Robert Lorenz Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung Programmieraufwand für geübte

Mehr

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

Liebe Leserin, lieber Leser, in der ersten Auflage von Programmieren lernen mit Java von Hans- Peter Habelitz sind einige Fehler zu korrigieren.

Liebe Leserin, lieber Leser, in der ersten Auflage von Programmieren lernen mit Java von Hans- Peter Habelitz sind einige Fehler zu korrigieren. Liebe Leserin, lieber Leser, in der ersten Auflage von Programmieren lernen mit Java von Hans- Peter Habelitz sind einige Fehler zu korrigieren. Niemand bedauert diese Fehler mehr als der Autor selbst.

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin

Mehr

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die

Mehr

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

Hochschule Niederrhein Grundlagen der Prof. Dr. Nitsche Fachbereich 03 Java Programmierung Bachelor Informatik SS 2015 Übung 1. Grundlagen von Java Grundlagen von Java Aufgabe 1: Typen und Zuweisungen in Java Welche der folgenden Java-Anweisungen sind fehlerhaft? Handelt es sich um einen Compiler- oder einen Laufzeitfehler? Anmerkung: Folgefehler

Mehr

Programmiervorkurs WS 2013/2014. Instanzmethoden. Termin 6

Programmiervorkurs WS 2013/2014. Instanzmethoden. Termin 6 Programmiervorkurs WS 2013/2014 Instanzmethoden Termin 6 double f = flaeche(p); public static double flaeche(polygon p) { Punkt[] pkt = p.punkte; double f = Polygon.flaeche(p); Besser: Methode in der Klasse

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Übungsblatt 3: Algorithmen in Java & Grammatiken

Übungsblatt 3: Algorithmen in Java & Grammatiken Humboldt-Universität zu Berlin Grundlagen der Programmierung (Vorlesung von Prof. Bothe) Institut für Informatik WS 15/16 Übungsblatt 3: Algorithmen in Java & Grammatiken Abgabe: bis 9:00 Uhr am 30.11.2015

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE22-NutzungVonKlassen (Stand 28.09.2012) Aufgabe 1: Entwickeln Sie in Eclipse auf der Basis der vorgestellten Java-GUI-Klassen ein Java- Programm, das

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015 Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Grafik-Programmierung

Grafik-Programmierung Grafik-Programmierung In dieser Übung beschäftigen wir uns zunächst mit elementaren Grundlagen der Grafikprogrammierung. In der nächsten Übung werden wir dies auf Spiele anwenden. Aufgabe 1: Einfache Grafik:

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 1 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2015 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello! 12.10.2015 Dr. Werner Struckmann / Stephan

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

Programmentwicklung I für Hörer anderer Fachrichtungen -Wintersemester 2003/04- Abschlussklausur 20.02.2004

Programmentwicklung I für Hörer anderer Fachrichtungen -Wintersemester 2003/04- Abschlussklausur 20.02.2004 Programmentwicklung I für Hörer anderer Fachrichtungen -Wintersemester 2003/04- Abschlussklausur 20.02.2004 Name : Vorname : Matrikelnummer : Hauptfach : Nebenfach/Fachrichtung Hinweise : 1. Überprüfen

Mehr

1. Grundlegende Konzepte in Java (6 Punkte)

1. Grundlegende Konzepte in Java (6 Punkte) 1. Grundlegende Konzepte in Java (6 Punkte) a) Welches der folgenden Literale ist korrekt und wenn ja, von welchem Typ ist es? "true" nicht korrekt X korrekt vom Typ String 'true' X nicht korrekt korrekt

Mehr

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

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang

Mehr

2. Methoden. n Generelles zum Aufruf von Methoden. n Parameterübergabemechanismen (call by value, call by reference)

2. Methoden. n Generelles zum Aufruf von Methoden. n Parameterübergabemechanismen (call by value, call by reference) 2. Methoden n Generelles zum Aufruf von Methoden n Parameterübergabemechanismen (call by value, call by reference) n Speicherorganisation bei Methodenaufruf und Parameterübergabe (Laufzeitkeller) n vararg

Mehr

Studentische Lösung zum Übungsblatt Nr. 7

Studentische Lösung zum Übungsblatt Nr. 7 Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int

Mehr

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08

Mehr

Grundlagen Programmierung

Grundlagen Programmierung 13. Aufgabe (13 Punkte) Schreiben Sie eine neue Klasse Zahlenanalyse, mit der Integer-Objekte genauer betrachtet werden können. Bei den zu entwickelnden Methoden kann es immer sinnvoll sein, sich den Ablauf

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Rückblick Datentypen (int, long, double, boolean, String) Variablen und Variablendeklarationen

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel. Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,

Mehr

Bearbeitungszeit: 120 Minuten. Kommentare kosten Zeit; kommentieren Sie ihr Programm nur da, wo der Code alleine nicht verständlich wäre.

Bearbeitungszeit: 120 Minuten. Kommentare kosten Zeit; kommentieren Sie ihr Programm nur da, wo der Code alleine nicht verständlich wäre. Fakultät IV Elektrotechnik/Informatik Klausur Einführung in die Informatik I für Elektrotechniker Name:... Matr.-Nr.... Bearbeitungszeit: 120 Minuten Bewertung (bitte offenlassen : ) Aufgabe Punkte Erreichte

Mehr

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

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013 Programmiervorkurs Wintersemester 2012/2013 Organisation: Steffen Gebert, Alexander Wolff Tutoren: Jürgen Zöller, Jonathan Stoll Kontakt (für Organisatorisches, Fehler auf Folien...): Steffen Gebert steffen.gebert@informatik.uni-wuerzburg.de

Mehr

4 Codierung nach Viginere (Lösung)

4 Codierung nach Viginere (Lösung) Kapitel 4 Codierung nach Viginere (Lösung) Seite 1/14 4 Codierung nach Viginere (Lösung) 4.1 Einführung Blaise de Vigenère lebte von 1523 bis 1596 in Frankreich und war nach dem Studium bei verschiedenen

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 8 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Vererbung Vererbung Statischer Typ Dynamischer Typ 2 Polymorphie Overloading: Methoden überladen Overriding:

Mehr

Höhere Programmierkonzepte Testklausur

Höhere Programmierkonzepte Testklausur Höhere Programmierkonzepte Testklausur Prof. Dr. Nikolaus Wulff Zum 15. Januar 2016 1 Ein Google-Map Algorithmus (5 Punkte) 1 2 typedef void X; 3 typedef void Y; 4 5 void map(unsigned int n / tuple length

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Software-Engineering Software-Management

Software-Engineering Software-Management Software-Engineering Software-Management 12.3 Unit-Tests mit JUnit - Wissen, was der Sourcecode macht! Lösung Prof. Dr. Rolf Dornberger Software-Engineering: 12.3 Unit-Tests mit JUnit 30.04.2006 1 12.3

Mehr

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

1.2 Attribute und Methoden Aufbau einer Java-Klasse: Aufbau einer Java-Klasse: public class Quadrat { int groesse; int xposition; String farbe; boolean istsichtbar; public void sichtbarmachen() { istsichtbar = true; public void horizontalbewegen(int distance){

Mehr

Gliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions

Gliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions try-catch Schlüsselworte try-catch e Schlüsselwort Schlüsselwort selbst erstellte ermöglichen die Behandlung von Fehlern, die zur Laufzeit entstehen. try-catch in C: Fehler führt immer zum Abbruch des

Mehr

Nachklausur zu Einführung in die Programmierung 14. Oktober 2008 (SS 2008) Prof. Dr. Franz Schweiggert / Christoph Ott

Nachklausur zu Einführung in die Programmierung 14. Oktober 2008 (SS 2008) Prof. Dr. Franz Schweiggert / Christoph Ott Nachklausur zu Einführung in die Programmierung 14. Oktober 2008 (SS 2008) Prof. Dr. Franz Schweiggert / Christoph Ott Bearbeitungszeit: 120 Minuten Nicht mit Bleistift oder Rotstift schreiben! Name: Vorname:

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen

Mehr

Java-Schulung Grundlagen

Java-Schulung Grundlagen Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings

Mehr

Java - Programmierung - Objektorientierte Programmierung 1

Java - Programmierung - Objektorientierte Programmierung 1 Java - Programmierung - Objektorientierte Programmierung 1 // Klassen und Objekte public class KlaObj public static void main(string args []) Klasse1 a; a = new Klasse1("heute", 47); Klasse1 b = new Klasse1

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

Sortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block

Sortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block Inhalt: InsertionSort BubbleSort QuickSort Block M.: "Java-Intensivkurs - In 14 Tagen lernen Projekte erfolgreich zu realisieren", Springer-Verlag 2007 InsertionSort I Das Problem unsortierte Daten in

Mehr

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe

Mehr

3. Grundlegende Sprachkonstruktionen imperativer Programme

3. Grundlegende Sprachkonstruktionen imperativer Programme 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 4. Nov. 2015 2 Schwerpunkte

Mehr

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Carla Delgado-Battenfeld Fatih Gedikli Tobias Marschall Benjamin Schowe

Mehr

Teil 1: Grundeigenschaften von Rechnern und Software

Teil 1: Grundeigenschaften von Rechnern und Software Blatt Nummer: 1 Teil 1: Grundeigenschaften von Rechnern und Software Aufgabe 1.1 [2P] Welcher fundamentale Unterschied besteht zwischen dem Zweck eines Computer von dem Zweck anderer Maschinen (etwa einer

Mehr