Übungen zu Algorithmen
|
|
|
- Monika Fürst
- vor 9 Jahren
- Abrufe
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
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
Ü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
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
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
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
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
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,
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
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
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
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
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
Erste Java-Programme (Scopes und Rekursion)
Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: [email protected] Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
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
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
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
Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung
Wiederholung Wozu? Schreiben Benutzen Rekursion?! Javakurs 2012, 3. Vorlesung [email protected] 5. März 2013 Wiederholung Wozu? Schreiben Benutzen Rekursion?! 1 Wiederholung 2 Wozu? 3 Schreiben
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
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!
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
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
Ü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
Ü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.
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
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
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)
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
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
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
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
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
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:
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
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
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
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
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)
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
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
Ü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
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
Informatik Praktikum 5
Informatik Praktikum 5 Michael Roth Andreas Behr [email protected] [email protected] 1 Programmieraufgaben Diese kleinen Aufgaben sollen Ihnen helfen das gelernte noch ein wenig mehr zu vertiefen.
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
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
Ü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.
Ü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
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
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
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
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
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
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
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
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
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
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
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)
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
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.
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 (
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
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:
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Ü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
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
