Übungen zu Algorithmen

Größe: px
Ab Seite anzeigen:

Download "Übungen zu Algorithmen"

Transkript

1 Institut für Informatik Universität Osnabrück, Prof. Dr. Oliver Vornberger Lukas Kalbertodt, B.Sc. Testat bis , 14:00 Uhr Nils Haldenwang, M.Sc. Übungen zu Algorithmen Wintersemester 2016/2017 Blatt 5: Rekursion und Sichtbarkeit Aufgabe 5.1: JavaDoc (0 Punkte) Benutzen Sie fortan in jedem Programm immer Javadoc-Kommentare. Ein Javadoc-Kommentar sieht folgendermaßen aus: Berechnet die Anzahl der Iterationen des Collatz - Algorithmus fuer die Zahl zahl natuerliche Zahl, an der der Algorithmus ausgefuehrt werden Anzahl der RuntimeExceptionen wenn <tt>zahl</tt> negativ ist public static int collatz(int zahl){... Sie haben bisher nur Javadoc-Kommentare benutzt, um die jeweilige Klasse zu beschreiben. Nutzen Sie diese jetzt zusätzlich, um jede Methode wie im Beispiel oben zu dokumentieren. Soweit vorhanden, dokumentieren Sie Übergabeparameter, Rückgabeparameter und mögliche RuntimeExceptions mit analog zum Beispiel. Wenn die Kommentierung im Quellcode abgeschlossen ist, können Sie mit dem Kommando javadoc -author -version -d doku.java automatisch alle Javadoc-Seiten zu allen.java-dateien im aktuellen Ordner erzeugen und im Ordner doku ablegen. Erzeugen Sie ab sofort für jede Programmieraufgabe die entsprechende Dokumentation. Aufgabe 5.2: Fragen (30 Punkte) Beantworten Sie Ihrer Tutorin beziehungsweise Ihrem Tutor Fragen zu den Inhalten der Veranstaltung. Aufgabe 5.3: Rekursive Berechnungen (20 Punkte) Implementieren Sie in einer Klasse folgende, rekursive Methoden: a) public static int ackermann(int n, int m) Berechnet rekursiv die Ackermann Funktion. Diese mathematische Funktion mit zwei natürlichen Zahlen als Parametern ist eine extrem schnell wachsende Funktion, die in der theoretischen

2 Informatik und Mathematik von Bedeutung ist. Sie ist definiert wie folgt: a(0,m) = m + 1 a(n,0) = a(n 1,1) a(n,m) = a(n 1,a(n,m 1)) Testen Sie Ihre Funktion zuerst mit sehr kleinen Werten! b) public static boolean istpalindrom(char[] wort) Berechnet rekursiv, ob wort ein Palindrom ist, also ob das Wort rückwärts gelesen dem originalen Wort entspricht (wie anna oder lagerregal). In Ihrer Implementation sollen sie Groß- und Kleinbuchstaben als unterschiedlich ansehen Anna wäre also kein Palindrom. c) public static double potenz(double basis, int exponent) Berechnet rekursiv basis exponent. Schreiben Sie in der main-methode ein Programm, das dem Benutzer ermöglicht, alle implementierten Methoden zu testen. Dazu soll zunächst eingelesen werden, welche Methode benutzt werden soll. Dann sollen die dazu nötigen Parameter eingelesen und der Rückgabewert der Methode ausgegeben werden. Achten Sie auf geeignete Fehlerbehandlung und eine sinnvolle Benutzerführung. Wenn eine Methode mit ungeeigneten Werten aufgerufen wird, soll eine RuntimeException geworfen werden. Zusätzlich sollen die Parameter sicher eingelesen werden, sodass der Benutzer nie direkt Exceptions sieht. Musterlösung: AlgoMath.java import AlgoTools.IO; Implementation verschiedener Hilfs-Methoden. Die Methoden koennen von aussen angesprochen werden, oder mit diesem Programm getestet werden. public class AlgoMath { Berechnet die Ackermann n Erster Parameter in der Definition von m Zweiter Parameter in der Definition von Ergebnis der Funktion public static int ackermann(int n, int m) { if(n < 0 m < 0) { throw new RuntimeException("Die Parameter der Ackermann Funktion " 2

3 + "müssen positiv sein!"); return ackerrek(n, #ackermann(int, int) public static int ackerrek(int n, int m) { if(n == 0) { return m + 1; if(m == 0) { return ackerrek(n - 1, 1); return ackerrek(n - 1, ackerrek(n, m - 1)); Berechnet, ob eine Zeichenkette ein Palindrom wort die zu prüfende <tt>true</tt>, wenn <tt>wort</tt> ein Palindrom ist public static boolean istpalindrom(char[] wort) { if(wort.length <= 1) { return true; char[] mitte = new char[wort.length - 2]; for(int i = 0; i < mitte.length; ++i) { mitte[i] = wort[i + 1]; return wort[0] == wort[wort.length - 1] && istpalindrom(mitte); Berechnet die Potenz einer basis natuerliche Zahl als exponent natuerliche Zahl als <tt>basis</tt> hoch <tt>exponent</tt> 3

4 @throws RuntimeException basis=exponent=0 public static double potenz(double basis, int exponent) { if(basis == 0) { if(exponent <= 0) { throw new RuntimeException("0^" + exponent + " ist nicht definiert"); else { return 0; return (exponent < 0)? (1f / potenzrek(basis, -exponent)) : potenzrek(basis, #potenz(double, int) private static double potenzrek(double basis, int exponent) { if (exponent == 0) { return 1; return potenzrek(basis, exponent - 1) basis; Gibt das Menue fuer die Benutzung aller Methoden auf der Konsole aus. public static void menue() { IO.println(" "); IO.println(" Folgende Optionen stehen zur Wahl "); IO.println(" a - berechnet die Ackermann Funktion "); IO.println(" p - prüft, ob ein Wort ein Palindrom ist "); IO.println(" e - berechnet Potenz mit ganzzahligem Exponenten "); IO.println(" RETURN - beenden "); IO.println(" "); Das Programm, fragt beim Benutzer ab welche Methode gewaehlt werden soll, dann die dazu passenden Parameter und schliesslich wird das Ergebnis der 4

5 Methode ausgegeben. Da keine RuntimeException an den Benutzer gelangen soll, wird auch hier Fehlerbehandlung gemacht. public static void main(string[] args) { IO.println(" Willkommen "); char option; do { menue(); option = IO.readChar("Was moechten sie tun? "); switch (option) { case a : case A : IO.println(">>> Ackermann <<<"); int n, m; do { n = IO.readInt("Bitte ersten Parameter n eingeben: "); m = IO.readInt("Bitte zweiten Parameter m eingeben: "); while(n < 0 m < 0); IO.println("Ackermann(" + n + ", " + m + ") = " + ackermann(n, m)); break; case p : case P : IO.println(">>> Palindrom <<<"); char[] wort = IO.readChars("Bitte einen String eingeben: "); if(istpalindrom(wort)) { IO.println("Das eingegebene Wort ist ein Palindrom! :-)"); else { IO.println("Das eingegebene Wort ist kein Palindrom! : ("); break; case e : case E : IO.println(">>> Potenz <<<"); double basis; int exponent; do { IO.println("Beachte: 0^e ist undefiniert, falls e <= 0!"); basis = IO.readDouble("Bitte eine Zahl als Basis eingeben: "); exponent = IO.readInt("Bitte eine ganze Zahl " + "als Exponent eingeben: "); while(basis == 0 && exponent <= 0); IO.println(basis + "^" + exponent + " = " + potenz(basis,exponent)); 5

6 break; case \n : IO.println("Auf Wiedersehen!"); break; default: IO.println("Falsche Eingabe, bitte nochmal versuchen"); while (option!= \n ); Aufgabe 5.4: Determinante (35 Punkte) Schreiben Sie ein Java-Programm, welches eine ganzzahlige quadratische Matrix in ein zweidimensionales int-array einliest und nach geeigneter Fehlerbehandlung rekursiv die Determinante der Matrix berechnet und auf der Konsole ausgibt. Benutzen Sie folgende Formel für die Berechnung der Determinate einer Matrix A = (a i j ) der Dimension n: Für n = 1 ist det(a) = a 11. Für n > 1 definieren wir det(a) := n j=1 ( 1) j+1 a 1 j det(a 1 j ). Hierbei bezeichnet a i j den Eintrag in der i-ten Zeile und j-ten Spalte. Weiter ist A i j die Matrix, welche aus A entsteht, wenn man die i-te Zeile und j-te Spalte weglässt. Musterlösung: Determinante.java import AlgoTools.IO; Programm berechnet Determinante einer gegebenen Matrix public class Determinante { Bestimmt die Untermatrix nach Streichen von Zeile zeilex und Spalte zeilex die zu streichende spaltex die zu streichende matrix die Ausgangsmatrix 6

7 @return die Untermatrix private static int[][] untermatrix(int zeilex, int spaltex, int[][] matrix) { int[][] unterm = new int[matrix.length - 1][matrix.length - 1]; int zeilenschieber = 0; int spaltenschieber = 0; // neue Matrix füllen, ggf. Zeile/Spalte mit Schieber überspringen for(int zeile = 0; zeile < unterm.length; zeile++) { if(zeile == zeilex) { zeilenschieber = 1; spaltenschieber = 0; for(int spalte = 0; spalte < unterm.length; spalte++) { if(spalte == spaltex) { spaltenschieber = 1; unterm[zeile][spalte] = matrix[zeile + zeilenschieber][spalte + spaltenschieber]; return unterm; Berechnet der Determinante der übergebenen Matrix per Entwicklung nach erster Zeile mit vorangegangener RuntimeException falls Matrix nicht matrix die die Determinante public static int determinante(int[][] matrix) { int dimension = matrix.length; int index = 0; // ist jede Spalte so lang wie die Zeilen? while(index < dimension){ if(matrix[index].length!= dimension) { throw new RuntimeException("Keine quadratische Matrix eingegeben!"); index++; 7

8 return det(matrix); Berechnet der Determinante der übergebenen Matrix per Entwicklung nach erster matrix die die Determinante private static int det(int[][] matrix) { // Rekursionsanker: berechne Determinante von 1x1 Matrix if(matrix.length == 1) { return matrix[0][0]; int determinante = 0; // in erster Zeile jede Spalte durchgehen for(int spalte = 0; spalte < matrix.length; spalte++) { int vorzeichen = (spalte % 2 == 0)? 1 : -1; // rekursiv Unterdeterminante berechnen determinante += vorzeichen matrix[0][spalte] det(untermatrix(0, spalte, matrix)); return determinante; Gibt Matrix auf Konsole matrix die Ausgangsmatrix private static void printm(int[][] matrix) { for(int zeile = 0; zeile < matrix.length; zeile++) { IO.print(" "); for(int spalte = 0; spalte < matrix[zeile].length; spalte++) { IO.print(" "+matrix[zeile][spalte],5); IO.println(" "); 8

9 public static void main(string[] argv) { int[][] matrix; int dimension=0; do { dimension = IO.readInt("Welche Größe soll die Matrix haben? "); while(dimension < 1); matrix = new int[dimension][dimension]; // Matrixeintraege einlesen for(int zeile = 0; zeile < dimension; zeile++) { for(int spalte = 0; spalte < dimension; spalte++) { matrix[zeile][spalte] = IO.readInt( "A["+ (zeile + 1) + "][" + (spalte + 1) + "]=" ); printm(matrix); // Determinante berechnen und ausgeben IO.println("Det = " + determinante(matrix)); Aufgabe 5.5: Sichtbarkeit (15 Punkte) Betrachten Sie die im Anhang befindliche Klasse Sichtbarkeit.java. Geben Sie die aktuellen Werte der Variablen a, b und c an den Stellen 1 bis 15 an. Machen Sie sich und Ihrem Tutor klar, welche Variable wo mit welchem Wert sichtbar ist und warum. Schreiben Sie die Werte und die Begründungen auf! Musterlösung: Stelle a= b= c= ; 12; 2; ; 12; 2; ; 12; 2; ; 10; 2;

10 ; 10; 2; ; 10; 2; ; 10; 2; ; 0; 0; ; 10; 2; ; 0; 0; ; 10; 2; 4 SichtbarkeitLoesung.java import AlgoTools.IO; Hier geht es um die Sichtbarkeit von Variablen public class SichtbarkeitLoesung { static int a; static int i = 1; // Zaehler fuer Ausgabe "Stelle" public static void main(string argv[]) { kopf(); // Ausgabe des Tabellenkopfs int a = 6; int [] c = {38, 12, 2, 6; Stelle 1 write(a, c); // Ausgabe von a,c (b ist undefiniert) initialize(); Stelle 3 write(a, c); // Ausgabe von a,c (b ist undefiniert) for (int b = 0; b < 1; b++) { Stelle 4 write(a, b, c); //Ausgabe von a,b,c a /= 3; c[b+1] -= c[b+2]; Stelle 5 write(a, c); // Ausgabe von a,c (b ist undefiniert) 10

11 int b = method1(a + c[a-2]); Stelle 7 write(a, b, c); // Ausgabe von a, b, c for (a = 3; a < 5; a += 2) { b = 2; c[a] -= c[b]; Stelle 8 write(a, b, c); // Ausgabe von a,b,c Stelle 9 write(a, b, c); // Ausgabe von a,b,c b = 7 + method2(++a, c); Stelle 11 write(a, b, c); // Ausgabe von a,b,c a = method1(method2(method1(a), c)); Stelle 15 write(a, b, c); // Ausgabe von a,b,c static void initialize() { int b = 4; a = 3; Stelle 2 write(a, b); // Ausgabe von a und b static int method1(int b) { Stelle 6, 12 bzw. 14 write(a, b); // Ausgabe von a und b return a; static int method2(int a, int[] c) { a++; c[0] /= 2; c = new int[4]; Stelle 10 bzw. 13 write(a, c); // Ausgabe von a,c (b undefiniert 11

12 return a; static void kopf() { // Ausgabe Tabellenkopf IO.println("Stelle a= b= c="); IO.println(" "); static void write(int a, int[] c) { // Ausgabe von a,c;b undefiniert IO.print(i++, 2); IO.print(". "); IO.print(a, 3); IO.print(" "); for (int j = 0; j < c.length - 1; j++) IO.print(c[j] + "; "); IO.println(c[c.length - 1]); static void write(int a, int b) { // Ausgabe von a,b IO.print(i++, 2); IO.print(". "); IO.print(a, 3); IO.print(" "); IO.print(b, 3); IO.println(" "); static void write(int a, int b, int[] c) { // Ausgabe von a,b,c IO.print(i++, 2); IO.print(". "); IO.print(a, 3); IO.print(" "); IO.print(b, 3); IO.print(" "); for(int j = 0; j < c.length - 1; j++) IO.print(c[j] + "; "); IO.println(c[c.length - 1]); 12

Übungen zu Algorithmen

Übungen zu Algorithmen Institut für Informatik Universität Osnabrück, 08.11.2016 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/~ainf Lukas Kalbertodt, B.Sc. Testat bis 16.11.2016, 14:00 Uhr Nils Haldenwang, M.Sc. Übungen

Mehr

Übungen zu Algorithmen

Übungen zu Algorithmen Institut für Informatik Universität Osnabrück, 01.11.2016 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/~ainf Lukas Kalbertodt, B.Sc. Testat bis 09.11.2016, 14:00 Uhr Nils Haldenwang, M.Sc. Übungen

Mehr

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

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 7 Besprechung: 4. 8.12.2017 (KW 49) Vorbereitende

Mehr

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

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2016/17. Vorbereitende Aufgaben Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Alexander Lochmann, Iman Kamehkhosh, Marcel Preuß, Dominic Siedhoff Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester

Mehr

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White

Mehr

Java - Programmierung - Prozedurale Programmierung 1

Java - Programmierung - Prozedurale Programmierung 1 Java - Programmierung - Prozedurale Programmierung 1 // elementare Datentypen public class el_dt public static void main(string args []) byte b = 127; short s = 32767; int i = 2147483647; long l = 9223372036854775807L,

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

2 Programmieren in Java I noch ohne Nachbearbeitung

2 Programmieren in Java I noch ohne Nachbearbeitung 1 2 Programmieren in Java I noch ohne Nachbearbeitung 2.1 Was sind Programme? Eingabe = Verarbeitung = Ausgabe Die Eingabe kann sein Konstanten im Quelltext; Kommandozeilenparameter oder interaktive Eingabe

Mehr

Informatik B von Adrian Neumann

Informatik B von Adrian Neumann Musterlösung zum 7. Aufgabenblatt vom Montag, den 25. Mai 2009 zur Vorlesung Informatik B von Adrian Neumann 1. Java I Schreiben Sie ein Java Programm, das alle positiven ganzen Zahlen 0 < a < b < 1000

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 06: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von

Mehr

Java Übung. Übung 3. Werner Gaulke. 2. Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.

Java Übung. Übung 3. Werner Gaulke. 2. Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Java Übung Übung 3 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 2. Mai 2006 (UniDUE) 2. Mai 2006 1 / 17 Aufgabe 1 Umwandeln von do while in for Schleife. Listing 1: aufgabe3 1.java 1 public

Mehr

Erste Java-Programme (Scopes und Rekursion)

Erste Java-Programme (Scopes und Rekursion) Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/

Mehr

Probeklausur Java Einführung in die Informatik. Wintersemester 2014/2015

Probeklausur Java Einführung in die Informatik. Wintersemester 2014/2015 Fakultät IV NI & CV Probeklausur Java Einführung in die Informatik Wintersemester 2014/2015 Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen

Mehr

Delegates. «Delegierter» Methoden Schablone Funktionszeiger. Dr. Beatrice Amrhein

Delegates. «Delegierter» Methoden Schablone Funktionszeiger. Dr. Beatrice Amrhein Delegates «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen 2 Definition 3 Definition Ein Delegat

Mehr

Name: Seite 2. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort.

Name: Seite 2. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort. Name: Seite 2 Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort. Aufgabe 1 (8 Punkte) 1. Wie sieht -5 in der 4Bit 2-er Komplementdarstellung aus? 2. Berechnen Sie

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

Arrays. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik

Arrays. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik Arrays Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Inhalte der heutigen Vorlesung: Arraytypen Speicherdarstellung von Arrays Auswertung

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

Klausur "C#" WS 2012/2013

Klausur C# WS 2012/2013 PD Dr. J. Reischer 13.02.2013 Klausur "C#" WS 2012/2013 Nachname, Vorname Abschluss (BA, MA, FKN etc.) Matrikelnummer, Semester Versuch (1/2/3) Bitte füllen Sie zuerst den Kopf des Angabenblattes aus!

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 04: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von

Mehr

Algorithmen und Programmierung III

Algorithmen und Programmierung III Musterlösung zum 4. Aufgabenblatt zur Vorlesung WS 2006 Algorithmen und Programmierung III von Christian Grümme Aufgabe 1 Amortisierte Analyse 10 Punkte Zu erst betrachte ich wie oft die letzte Ziffer

Mehr

Programmierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom bis zum 22.5.

Programmierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom bis zum 22.5. Programmierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom 18.5. bis zum 22.5.2009 (KW 21) Organisatorisches Die Webseiten zur Veranstaltung sind unter

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

Übungen zum Bioinformatik-Tutorium. Blatt 3

Übungen zum Bioinformatik-Tutorium. Blatt 3 Institut für Informatik Wintersemester 2018/19 Praktische Informatik und Bioinformatik Prof. Dr. Ralf Zimmer Übungen zum Bioinformatik-Tutorium Blatt 3 Termin: Dienstag, 6.11.2018, 11 Uhr 1. Hello World

Mehr

Übung Informatik I - Programmierung - Blatt 2

Übung Informatik I - Programmierung - Blatt 2 RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D-52056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert

Mehr

Prüfung Softwareentwicklung I (IB)

Prüfung Softwareentwicklung I (IB) Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 1 B Wintersemester 2017/18 Prüfung Softwareentwicklung I (IB) Datum : 01022018, 14:30 Uhr Bearbeitungszeit

Mehr

Fakultät IV Elektrotechnik/Informatik

Fakultät IV Elektrotechnik/Informatik Fakultät IV Elektrotechnik/Informatik Probeklausur Einführung in die Informatik I Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der Teilleistung TL 2 (Programmiertest)

Mehr

Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017

Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017 Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2016/2017 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung

Mehr

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

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe Ludwig-Maximilians-Universität München München, 04.12.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt

Mehr

Probeklausur Java Einführung in die Informatik. Wintersemester 2014/2015. Musterlösung

Probeklausur Java Einführung in die Informatik. Wintersemester 2014/2015. Musterlösung Fakultät IV NI & CV Probeklausur Java Einführung in die Informatik Wintersemester 2014/2015 Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen

Mehr

Probeklausur Informatik 2 Sommersemester 2013

Probeklausur Informatik 2 Sommersemester 2013 Probeklausur Informatik 2 Sommersemester 2013 1 Probeklausur Informatik 2 Sommersemester 2013 Name: Matrikelnummer: Hilfsmittel: Es sind alle schriftlichen Unterlagen, aber keine elektronischen Hilfsmittel

Mehr

Selbststudium OOP7 & ALG2 Auftrag

Selbststudium OOP7 & ALG2 Auftrag Selbststudium OOP7 & ALG2 Auftrag Kapitel 5.6 1. zu bearbeitende Aufgaben: 5.24 bis 5.30 5.24: Return Method Set entryset() V get(object key) Set keyset() V put(k key, V value) void

Mehr

Einführung in die Programmierung. (K-)II/Wb17

Einführung in die Programmierung. (K-)II/Wb17 Probeklausur Hochschule Zittau/Görlitz, Prüfer: Prof. Dr. Georg Ringwelski Einführung in die Programmierung (K-)II/Wb17 Matrikelnummer: Punkte: 1 2 3 4 5 6 Gesamt /21 /19 /20 /20 /20 /20 /120 Spielregeln:

Mehr

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018 Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2017/2018 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung

Mehr

Programmiertechnik Übungen zu Klassen & -methoden

Programmiertechnik Übungen zu Klassen & -methoden Programmiertechnik Übungen zu Klassen & -methoden Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Übung 1 Ein Verfahren, den größten gemeinsamen Teiler (ggt) zweier Zahlen a und b, a

Mehr

Klausur "ADP" SS 2013

Klausur ADP SS 2013 PD Dr. J. Reischer 24.07.2013 Klausur "ADP" SS 2013 Nachname, Vorname Abschluss (BA, MA, FKN etc.) Matrikelnummer, Semester Versuch (1/2/3) Bitte füllen Sie zuerst den Kopf des Angabenblattes aus! Die

Mehr

Klausur zur Lehrveranstaltung. Technische Informatik für Ingenieure WS 2008/09

Klausur zur Lehrveranstaltung. Technische Informatik für Ingenieure WS 2008/09 Klausur zur Lehrveranstaltung Technische Informatik für Ingenieure WS 2008/09 23. Februar 2009 Aufgabe 1 2 3 4 5 5 5 Summe mögliche Punkte 10 15 25 20 20 15 15 120 erreichte Punkte Note: Hinweise: Diese

Mehr

Klausur zur Lehrveranstaltung. Technische Informatik für Ingenieure WS 2009/10

Klausur zur Lehrveranstaltung. Technische Informatik für Ingenieure WS 2009/10 Klausur zur Lehrveranstaltung Technische Informatik für Ingenieure WS 2009/10 22. Februar 2010 Aufgabe 1 2 3 4 5 6 7 Summe mögliche Punkte 15 15 20 15 20 20 15 120 erreichte Punkte Note: Hinweise: Diese

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 02: Methoden Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 17 Inhalt Scanner

Mehr

Musterlösung Stand: 5. Februar 2009

Musterlösung Stand: 5. Februar 2009 Fakultät IV Elektrotechnik/Informatik Probeklausur Einführung in die Informatik I Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der Teilleistung TL 2 (Programmiertest)

Mehr

Institut für Programmierung und Reaktive Systeme 25. Januar Programmieren I. Übungsklausur

Institut für Programmierung und Reaktive Systeme 25. Januar Programmieren I. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. Januar 2018 Hinweise: Klausurtermine: Programmieren I Übungsklausur Programmieren I: 17. Februar

Mehr

Programmierung für Mathematik (HS13)

Programmierung für Mathematik (HS13) software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 11 1 Aufgabe: Codeverständnis 1.1 Aufgabenstellung Notieren Sie, was der folgende Code ausgeben würde, wenn er so in einer

Mehr

Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 10. Blatt Für den und

Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 10. Blatt Für den und Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 10. Blatt Für den 30.6. und 1.7.2008 Organisatorisches Um auf die Mailingliste aufgenommen zu werden schicke einfach eine

Mehr

Übungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor

Übungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor Albert-Ludwigs-Universität Freiburg Institut für Informatik Einführung in die Informatik Sommersemester 2013 PD Dr. Cyrill Stachniss Dr. Rainer Kümmerle Übungsblatt 13 Abgabe / Besprechung in Absprache

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

Informatik Praktikum 5

Informatik Praktikum 5 Informatik Praktikum 5 Michael Roth Andreas Behr michael.roth@h-da.de andreas.behr@h-da.de 1 Programmieraufgaben Diese kleinen Aufgaben sollen Ihnen helfen das gelernte noch ein wenig mehr zu vertiefen.

Mehr

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen Teil 5 - Java Programmstruktur Operatoren Schlüsselwörter Datentypen 1 Kommentare in Java In Java gibt es drei Möglichkeiten zur Kommentierung: // Kommentar Alle Zeichen nach dem // werden ignoriert. für

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage

Mehr

Übung 1: Installation + Test von Eclipse. Übung 2: Hello World

Übung 1: Installation + Test von Eclipse. Übung 2: Hello World Übung 1: Installation + Test von Eclipse Es soll die Installation der Entwicklungsumgebung Eclipse durchgeführt werden gemäss Dokument "InstallationTest.Eclipse.15.0.pdf" auf der DVD im Verzeichnis Eclipse.

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Anweisungen mit Variablen Wiederholung Deklaration

Mehr

Selbststudium OOP6 & ALG Programmieren 1 - H1103 Felix Rohrer

Selbststudium OOP6 & ALG Programmieren 1 - H1103 Felix Rohrer Kapitel 5.2 1. zu bearbeitende Aufgabe: 5.1 5.1: done 2. Auf Seite 133 wird in der Methode start()ein while-loop verwendet. Kreieren Sie ein Code-Fragment mit derselben Funktionalität unter Verwendung

Mehr

Übungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor

Übungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor Albert-Ludwigs-Universität Freiburg Institut für Informatik Einführung in die Informatik Sommersemester 2018 Prof. Dr. Wolfram Burgard Andreas Kuhner Daniel Büscher Übungsblatt 13 Abgabe / Besprechung

Mehr

hue12 January 24, 2017

hue12 January 24, 2017 hue12 January 24, 2017 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern

Mehr

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 2. Februar 2017 Hinweise: Klausurtermine: Programmieren I Übungsklausur Programmieren I: 13. März

Mehr

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 6. Blatt Für die Woche vom bis zum 4.6.

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 6. Blatt Für die Woche vom bis zum 4.6. Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 6. Blatt Für die Woche vom 31.5. bis zum 4.6.2010 (KW 22) Organisatorisches Diese Woche führen wir Methoden ein und behandeln

Mehr

Informatik 1 - Translation Studies in Information Technology. Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 18/19

Informatik 1 - Translation Studies in Information Technology. Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 18/19 Informatik 1 - Translation Studies in Information Technology INF1 TSIT MUSTERLÖSUNG: PFLICHTÜBUNG 1 Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 18/19 Praktikum zur Vorlesung

Mehr

Informatik Funktionen

Informatik Funktionen Informatik Seite 1 Funktion Mathematik: Zuordnung Argumentwert(e) => Ergebniswerte Beispiel: f(x,y) = 2*x+y Informatik / Programmierung: Zusammenfassung von Anweisungen die von Argumentwerten abhängen

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 1 - Variablen und Kontrollstrukturen main Methode Startpunkt jeder Java Anwendung String[] args ist ein Array aus Parametern, die beim Aufruf über die Kommandozeile

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

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 05: Programmablauf Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Nutzereingaben EVA Prinzip Eingaben über die Konsole Eingaben über GUI

Mehr

Prüfung Softwareentwicklung I (IB)

Prüfung Softwareentwicklung I (IB) Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 1 B, IB 1 C Wintersemester 2012/13 Prüfung Softwareentwicklung I (IB) Datum : 25.01.2013, 10:30

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/14 Aufgabenblatt 5 2. Dezember

Mehr

Praktische Informatik I WS 1999/2000

Praktische Informatik I WS 1999/2000 Universität Mannheim Lehrstuhl für Praktische Informatik IV Prof. Dr. W. Effelsberg Christoph Kuhmünch, Gerald Kühne Praktische Informatik I WS 999/2 Übungsblatt 2 Ausgabe: Mi, 26.. Abgabe: Di,.2., 8 Uhr

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage

Mehr

Aufgabenblatt: Methoden - rekursiv

Aufgabenblatt: Methoden - rekursiv Aufgabenblatt: Methoden - rekursiv- Seite 1 Aufgabenblatt: Methoden - rekursiv (1.) Wird noch erstellt! Lösen Sie die folgenden Aufgaben indem Sie: - Basis und Rekursive Bedingung formulieren! - die vorgegebene

Mehr

Klausur "ADP" WS 2013/2014

Klausur ADP WS 2013/2014 PD Dr. J. Reischer 4.2.2014 Klausur "ADP" WS 2013/2014 Nachname, Vorname Abschluss (BA, MA, FKN etc.) Matrikelnummer, Semester Versuch (1/2/3) Bitte füllen Sie zuerst den Kopf des Angabenblattes aus! Die

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

Mehr

Programmieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik

Programmieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik Programmieren I Dokumentation mit javadoc Heusch 10.4 Ratz 4.1.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Automatische Dokumentation Java bietet standardmäßig das Dokumentationssystem

Mehr

Grundlagen der Informatik / Algorithmen und Datenstrukturen. Aufgabe 139

Grundlagen der Informatik / Algorithmen und Datenstrukturen. Aufgabe 139 Aufgabe 139 Aufgabe 139 Aufgabenstellung Stellen Sie den folgenden in Feldbaum-Darstellung beschriebenen Binärbaum a) graphisch (welcher Knoten ist die Wurzel?), b) in halbsequentieller Darstellung, c)

Mehr

Java für Anfänger Teil 4: Anweisungen. Programmierkurs Manfred Jackel

Java für Anfänger Teil 4: Anweisungen. Programmierkurs Manfred Jackel Java für Anfänger Teil 4: Anweisungen Programmierkurs 11.-15.10.2010 Manfred Jackel Anweisungen Werzuweisung (hatten wir schon) Verzweigung Fallunterscheidung Schleifen Methodenaufruf Wiederholung: Klassendeklaration

Mehr

Java Übung. Übung Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Werner Gaulke.

Java Übung. Übung Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Werner Gaulke. Java Übung Übung 5 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 9. Mai 2006 (UniDUE) 9. Mai 2006 1 / 20 Beispiel Anforderungen: Klasse Mensch mit Attributen: Name, Alter, Laune, Geschlecht.

Mehr

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

Die for -Schleife HEUTE. Schleifen. Arrays. Schleifen in JAVA. while, do reichen aus, um alle iterativen Algorithmen zu beschreiben 18.11.5 1 HEUTE 18.11.5 3 Schleifen Arrays while, do reichen aus, um alle iterativen Algorithmen zu beschreiben Nachteil: Steuermechanismus ist verteilt Übersicht nicht immer leicht dazu gibt es for (

Mehr

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

Einführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich 252-0027 Einführung in die Programmierung I 2.0 Einfache Java Programme Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.0 Einfache Java Programme Struktur Namen Output 2 Graphische Darstellung

Mehr

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren I Dr. Werner Struckmann 13. März 2017 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr Studiengang:

Mehr

Klausur "ADP" SS 2012

Klausur ADP SS 2012 PD Dr. J. Reischer 26.07.2012 Klausur "ADP" SS 2012 Nachname, Vorname Abschluss (BA, MA, FKN etc.) Matrikelnummer, Semester Versuch (1/2/3) Bitte füllen Sie zuerst den Kopf des Angabenblattes aus! Die

Mehr

Name: Seite 1. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort.

Name: Seite 1. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort. Name: Seite 1 Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort. Aufgabe 1 (8 Punkte) 1. Wie wird bei der Zusicherungsmethode die Zusicherung genannt, die vor Eintritt

Mehr

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018. Musterlösung

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018. Musterlösung Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2017/2018 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung

Mehr

Methoden und Funktionen

Methoden und Funktionen Programmieren mit Java Modul 4 Methoden und Funktionen Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Methoden 3 2.1 Methoden ohne Rückgabewert (Prozeduren)................ 3 2.2 Methoden mit Rückgabewert

Mehr

Programmieren I. Dokumentation mit Javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik

Programmieren I. Dokumentation mit Javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik Programmieren I Dokumentation mit Javadoc Heusch 10.4 Ratz 4.1.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Automatische Dokumentation Java bietet standardmäßig das Dokumentationssystem

Mehr

Ausnahmen. Exceptions. Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten. Dr. Beatrice Amrhein

Ausnahmen. Exceptions. Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten. Dr. Beatrice Amrhein Ausnahmen Exceptions Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten Dr. Beatrice Amrhein Definition 2 Definition: Ausnahme (Exception) In C# werden Fehler, die zur Laufzeit im

Mehr

2 Teil 2: Nassi-Schneiderman

2 Teil 2: Nassi-Schneiderman 2 Teil 2: Nassi-Schneiderman Wie kann man Nassi-Schneiderman in einer objektorientierten Sprache verwenden? Jedes Objekt besitzt Methoden, welche die Attribute des Objektes verändern. Das Verhalten der

Mehr

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2 Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen

Mehr

Einführung in die Programmierung für NF. Zuweisungen, main- Methode und Kommentare

Einführung in die Programmierung für NF. Zuweisungen, main- Methode und Kommentare Einführung in die Programmierung für NF Zuweisungen, main- Methode und Kommentare Wiederholung: Deklara@on lokaler Variablen Eine Deklara'on einer lokalen Variablen (Declara'on) hat die Form Type VarName

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Welche Arten von Anweisungen gibt es? Anweisungen

Mehr

Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung

Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Arrays: Wiederholung Ein

Mehr

Funktionen und Arrays in C

Funktionen und Arrays in C Funktionen und Arrays in C Lernziele: Vertiefen der Kenntnisse über die Verwendung von Funktionen sowie Arrays in C. Aufgabe 1: Quickies a) Welches Schlüsselwort muss verwendet werden, wenn eine Methode

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken 4 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Blöcke Blöcke erweitern einzelne Anweisungen, etwa bei Kontrollstrukturen später Beispiel: Einzelne Anweisung: anweisung; Erweiterung

Mehr

Thomas Gewering Benjamin Koch Dominik Lüke. (geschachtelte Schleifen)

Thomas Gewering Benjamin Koch Dominik Lüke. (geschachtelte Schleifen) Technische Informatik für Ingenieure WS 2010/2011 Musterlösung Übungsblatt Nr. 6 2. November 2010 Übungsgruppenleiter: Matthias Fischer Mouns Almarrani Rafał Dorociak Michael Feldmann Thomas Gewering Benjamin

Mehr

Bachelorprüfung: Objektorientierte Softwareentwicklung

Bachelorprüfung: Objektorientierte Softwareentwicklung Bachelorprüfung: Objektorientierte Softwareentwicklung WS10/11 Erlaubte Hilfsmittel: keine Lösung ist auf den Klausurbögen anzufertigen. (eventuell Rückseiten nehmen) Bitte legen Sie einen Lichtbildausweis

Mehr

JAVA für Nichtinformatiker - Probeklausur -

JAVA für Nichtinformatiker - Probeklausur - JAVA für Nichtinformatiker - Probeklausur - Die folgenden Aufgaben sollten in 150 Minuten bearbeitet werden. Aufgabe 1: Erläutere kurz die Bedeutung der folgenden Java-Schlüsselwörter und gib Sie jeweils

Mehr

Selbststudium OOP6 & ALG1 Auftrag

Selbststudium OOP6 & ALG1 Auftrag Selbststudium OOP6 & ALG1 Auftrag Kapitel 5.2 1. zu bearbeitende Aufgabe: 5.1 done 2. Auf den Seiten 157/158 wird in der Methode start()ein while-loop verwendet. Kreieren Sie ein Code-Fragment mit derselben

Mehr

Schöner Programmieren

Schöner Programmieren Schöner Programmieren Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 20.11.07 G. Bohlender (IANM UNI Karlsruhe) Schöner Programmieren 20.11.07

Mehr

Programmierung für Mathematik HS11

Programmierung für Mathematik HS11 software evolution & architecture lab Programmierung für Mathematik HS11 Übung 8 1 Aufgabe: Codeverständnis (Repetition) 1.1 Lernziele 1. Code verstehen können. 2. Fehler im Code finden und korrigieren

Mehr

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12

Mehr

Einfache Sortierverfahren in Java, 2. Version

Einfache Sortierverfahren in Java, 2. Version Einfache Sortierverfahren in Java, 2. Version http://www.r-krell.de Datei IntSortReihe2.java 1 // Verschiedene einfache Sortierverfahren + BucketSort 2 // Der (Zeit-)Aufwand nimmt mit (reihung.length)^2

Mehr