Übung Informatik I - Programmierung - Blatt 6
|
|
- Dominic Bieber
- vor 5 Jahren
- Abrufe
Transkript
1 RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D Aachen GERMANY LuFG Informatik II Prof. Dr. Jürgen Giesl Peter Schneider-Kamp, René Thiemann, Thomas Weiler Übung Informatik I - Programmierung - Blatt 6 Die Übungsblätter sollen in Gruppen von je 2 Studierenden bearbeitet werden. Diese 2 Studierenden müssen aus derselben Übungsgruppe kommen. Lösungen können bis zum 02. Dezember, 15.00h, in den Kasten für Ihre Übungsgruppe im Foyer in der Ahornstr. 55 eingeworfen werden. Bitte vergessen Sie nicht, die Nummer Ihrer Übungsgruppe sowie die Namen und Matrikelnummern der Mitglieder Ihrer 2er-Gruppe auf Ihre Abgabe zu schreiben. Alle erstellten Java-Programme sind sowohl in gedruckter Form abzugeben als auch per an den jeweiligen Tutor zu senden. Beachten Sie beim Programmieren unbedingt die in der Globalübung vorgestellten Programmierkonventionen, die auch im WWW unter der Rubrik Globalübung zu finden sind. Aufgabe 1 ( Punkte) In dieser Aufgabe soll ein Programm zur Verwaltung von Spielfilmen (Videography) entwickelt werden. Das Programm soll die in der Abbildung gezeigte Struktur haben, die im Folgenden erläutert wird: Videography 1 1 FilmManagement Film Actor 1 * 1 * In der Graphik symbolisiert die Raute eine Komposition, d.h. zum Beispiel: Jeder Film besitzt eine Menge von Schauspielern (Actors). Die Zahlen bezeichnen Kardinalitäten, d.h. zum Beispiel: Genau ein Film kann 0 oder mehrere (symbolisiert durch den *) Schauspieler haben. Ein FilmManagement verwaltet eine Menge von Filmen, an denen wiederum jeweils eine Menge von Schauspielern (Actors) mitwirkt. Die Klasse Videography realisiert dabei die Benutzerschnittstelle, mit deren Hilfe der Benutzer die von der Klasse FilmManagement bereitgestellte Funktionalität nutzen kann.
2 Berücksichtigen Sie im Folgenden, dass Sie nur aus der Vorlesung bekannte Datentypen verwenden. Für die Benutzereingabe können Sie wieder die schon in der letzten Übung bereitgestellte Klasse IO.java verwenden. a) Realisieren Sie zunächst die Klassen Actor und Film. Die Klasse Actor soll folgende Attribute verwalten: String name: Name des Schauspielers int birth: Geburtsjahr des Schauspielers Berücksichtigen Sie dabei die sinnvolle Verwendung der Sichtbarkeitsspezifikation (public, private) für Methoden und Attribute einer Klasse sowie die sinnvolle Verwendung von Zugriffsoperationen (Selektoren) auf die Attribute. Die Klasse Film soll folgende Methoden zur Verfügung stellen: Actor addactor(actor a) fügt einen Schauspieler hinzu. Der Rückgabewert ist der hinzugefügte Schauspieler oder null, falls bereits 10 Schauspieler für diesen Film verwaltet werden. Actor getactor(string name) liefert einen in der Liste gefundenen Schauspieler mit dem angegebenen Namen zurück. Der Rückgabewert ist der gesuchte Schauspieler oder null, falls der Schauspieler nicht gefunden wurde. Actor removeactor(string name) löscht einen in der Liste gefundenen Schauspieler mit dem angegebenen Namen. Der Rückgabewert ist der gelöschte Schauspieler oder null, falls der Schauspieler nicht gefunden wurde. Actor[] getactors() liefert eine Liste der Schauspieler des Films zurück. Darüberhinaus soll die Klasse Film die folgenden Attribute verwalten: String title: Titel des Films int rating: Bewertung des Films int year: Produktionsjahr des Films Berücksichtigen Sie auch hier die sinnvolle Verwendung der Sichtbarkeitsspezifikation für Methoden und Attribute einer Klasse sowie die sinnvolle Verwendung von Zugriffsoperationen (Selektoren) auf die Attribute.
3 b) Realisieren Sie nun die Klasse FilmManagement, die eine Menge von maximal maxfilme Filmen verwaltet. Die Klasse FilmManagement stellt die folgenden Methoden zur Verwaltung einer Liste von Filmen bereit: Film addfilm(film f) fügt einen Film hinzu. Der Rückgabewert ist der hinzugefügte Film oder null, falls bereits maxfilme verwaltet werden. Film getfilm(string title) liefert einen in der Liste gefundenen Film mit dem angegebenen Titel zurück. Der Rückgabewert ist der gesuchte Film oder null, falls der Film nicht gefunden wurde. Film removefilm(string title) löscht einen in der Liste gefundenen Film mit dem angegebenen Titel. Der Rückgabewert ist der gelöschte Film oder null, falls der Film nicht gefunden wurde. Film[] getfilms() liefert eine Liste der Filme zurück. c) Im letzten Schritt implementieren Sie die Klasse Videography, welche die Benutzerschnittstelle zum Zugriff auf die von der Klasse FilmManagement bereitgestellte Funktionalität realisiert. Sie soll folgende Funktionalität bereitstellen: Der Benutzer soll zunächst nach der Anzahl maxfilme zu verwaltender Filme gefragt werden. Danach soll der Benutzer die Möglichkeit haben: Einen Film hinzuzufügen Einen Film zu löschen Einen Film zu bearbeiten Alle Filme anzeigen zu lassen. Für jeden Film sollen der Titel, das Produktionsjahr, die Bewertung sowie Name und Geburtsjahr der Schauspieler ausgegeben werden. Das Programm zu beenden Möchte der Benutzer einen Film bearbeiten, so sollen ihm folgende Möglichkeiten geboten werden: Titel ändern Bewertung ändern Produktionsjahr ändern Schauspieler hinzufügen Schauspieler löschen Schauspieler ändern
4 Alle Daten des Films ausgeben (Titel, Produktionsjahr, Bewertung, Name und Geburtsjahr der Schauspieler) Auswahl beenden Möchte der Benutzer einen Schauspieler bearbeiten, so sollen ihm folgende Möglichkeiten geboten werden: Name ändern Geburtsjahr ändern Alle Daten des Schauspielers ausgeben (Name und Geburtsjahr) Auswahl beenden Bei allen Menüabfragen ist die Eingabe des Benutzers zu überprüfen und im Fehlerfall eine entsprechende Fehlermeldung mit der Aufforderung zur Neueingabe auszugeben. Berücksichtigen Sie auch hier die sinnvolle Verwendung der Sichtbarkeitsspezifikation für Methoden und Attribute einer Klasse sowie die sinnvolle Verwendung von Zugriffsoperationen (Selektoren) auf die Attribute. Verteilen Sie desweiteren die Funktionalität der Klasse Videography, indem sie die Klasse mit geeigneten (statischen) Methoden versehen. Achten Sie insbesondere auf eine saubere Trennung zwischen der Benutzerschnittstelle Videography und den übrigen Klassen zur Datenkapselung, d.h. Benutzereingaben sowie Ausgaben des Systems sollen ausschließlich in der Klasse Videography erfolgen. d) Erzeugen Sie für alle Klassen (Actor, Film, FilmManagement, Videography) eine Dokumentation unter Verwendung von JAVADOC. Dazu soll für jede Klasse und Methode beschrieben werden, was sie leistet (inklusive Parametern und Rückgabewerten). Geben Sie die generierte HTML-Dokumentation per an Ihren Tutor ab. Sie müssen die HTML-Dokumentation nicht zusätzlich in ausgedruckter Form abgeben. Aufgabe 2 (2 Punkte) Ein Singleton (engl. einelementige Menge) ist eine Klasse, von der nur ein einziges Objekt existieren soll. Schreiben Sie eine Methode für eine Klasse Singleton, die bei jedem Aufruf immer das gleiche (und einzige) Objekt der Klasse Singleton zurückliefert. Insbesondere soll es nicht möglich sein, von außen mit Hilfe eines Konstruktoraufrufs ein neues (weiteres) Objekt der Klasse Singleton zu erzeugen.
5 Aufgabe 3 (4 Punkte) Gegeben sei folgende Klasse: public class PrivPubStat { public static int x = 4; private int a = -3; public PrivPubStat(int x) { a = x; x = a; public PrivPubStat(int t, int a) { x++; t = x; a = t; this.a = a; public static void foo() { PrivPubStat p = new PrivPubStat(42); // MARK 1 x = 17; p = new PrivPubStat(3,2); // MARK 2 { int x = 5; PrivPubStat.x = x; x = 2; // MARK 3
6 PrivPubStat.x = x; p.a = x; // MARK 4 Geben Sie für die vier markierten Stellen den Wert von PrivPubStat.x sowie p.a bei Aufruf von PrivPubStat.foo() an. Begründen Sie dabei kurz Ihre Angabe. Berücksichtigen Sie dabei, dass Sie in der Klausur keinen Computer zur Verfügung haben ;-) Aufgabe 4 (2 + 2 Punkte) Gegeben sei die folgende Methode: public void t(int x, int y) (1) a) Geben Sie für die folgenden Methoden an, ob die jeweilige Methode eine gültige Überladung der Methode (1) darstellt, d.h. ob Methode (1) zusammen mit der Methode aus dem jeweiligen Aufgabenteil (a)-(h) gleichzeitig in einer Klasse auftreten kann. Erläutern Sie Ihre Entscheidung jeweils kurz. (a) public void t(int y, int x) (b) public int t(int x, int y) (c) private void t(int x, int y) (d) public void t(float y, float x) (e) public void t(int x, float y) (f) private void t(int x) (g) public void t(double x) (h) public int t() b) Gegeben sei im Folgenden eine Klasse, welche Methode (1), sowie alle Methoden aus Aufgabenteil a) (a)-(h) enthält, die eine gültige Überladung der Methode (1) darstellen. Geben Sie für die folgenden Aufrufe jeweils an, ob eine Methode der so definierten Klasse ausgeführt wird und wenn ja, welche. Begründen Sie jeweils kurz Ihre Antwort.
7 (a) t(3.0) (b) t(3.0f, 3) (c) t(3.0f) (d) t(3.0,3) (e) t(3,3.0) (f) t(3,3) (g) t(3,3.0d) (h) t(3l)
8 Anhang Klasse IO.java import java. i o. ; /* Diese Klasse stellt diverse Eingabemöglichkeiten zur Verfügung. * Autor: Peter Schneider- Kamp, René Thiemann, Thomas Weiler * Erstellt: * Letzte Aenderung: , 16:59 */ public class IO { public static f i n a l int ASK USER = 1; // lese eine Zeile aus der Standardeingabe public static S t r i n g readline ( ) { try { return new BufferedReader (new InputStreamReader ( System. in ) ). readline ( ) ; catch ( IOException i o ) { System. e r r. p r i n t l n ( "IO-Fehler!" ) ; return "" ; // lese ein Array von Integern aus der Standardeingabe public static int [ ] readintarray ( ) { S t r i n g l i n e ; try { l i n e = IO. readline ( ). trim ( ) ; i f ( l i n e. e q u a l s ( "" ) ) { return new int [ 0 ] ; S t r i n g p a r t s [ ] = l i n e. s p l i t ( " +" ) ; int r e s u l t [ ] = new int [ p a r t s. length ] ; for ( int i = 0 ; i <p a r t s. length ; i++) { r e s u l t [ i ] = I n t e g e r. p a r s e I n t ( p a r t s [ i ] ) ; return r e s u l t ; catch ( NumberFormatException e ) { System. e r r. p r i n t l n ( "Keine Zahl!" ) ; return new int [ 0 ] ;
9 /* * Liest einen Double- Wert von der Standardeingabe. * Dabei kann sowohl ein Punkt als auch ein Komma als * Dezimaltrennzeichen verwendet werden. */ public static double readdouble ( ) { double d = 0 ; try { S t r i n g eingabe = IO. readline ( ) ; eingabe = eingabe. r e p l a c e A l l ( ",", "." ) ; d = Double. parsedouble ( eingabe ) ; catch ( NumberFormatException e ) { System. e r r. p r i n t l n ( "Keine Gleitkommazahl!" ) ; return d ; /* * Liest einen Float - Wert von der Standardeingabe. * Dabei kann sowohl ein Punkt als auch ein Komma als * Dezimaltrennzeichen verwendet werden. */ public static float readfloat ( ) { float f = 0 ; try { S t r i n g eingabe = IO. readline ( ) ; eingabe = eingabe. r e p l a c e A l l ( ",", "." ) ; f = Float. p a r s e F l o a t ( eingabe ) ; catch ( NumberFormatException e ) { System. e r r. p r i n t l n ( "Keine Gleitkommazahl!" ) ; return f ; // lese einen Integer aus der Standardeingabe public static int readint ( ) { try { return I n t e g e r. p a r s e I n t ( IO. readline ( ) ) ; catch ( NumberFormatException e ) { System. e r r. p r i n t l n ( "Keine Zahl!" ) ; return 0 ;
10 // für Abwärtskompatibilität mit alter IO. java public static int eingabe ( ) { return IO. readint ( ) ; // gibt eine Matrix von Integer- Zahlen aus public static void p r i n t I n t M a t r i x ( int m [ ] [ ] ) { for ( int i =0; i < m. length ; i ++) { printintarray (m[ i ] ) ; // gibt ein Array von Integer- Zahlen aus public static void printintarray ( int z [ ] ) { for ( int i = 0 ; i < z. length ; i++) { System. out. p r i n t ( z [ i ]+" " ) ; System. out. p r i n t l n ( ) ; /* * Liest eine Matrix der Breite width und der Höhe * height ein. Falls width oder height den Wert IO. ASK_USER * besitzen, wird der Benutzer gefragt. */ public static int [ ] [ ] readintmatrix ( int width, int height ) { while ( width < 0) { System. out. p r i n t ( "Anzahl der Spalten: " ) ; width = IO. readint ( ) ; while ( height < 0) { System. out. p r i n t ( "Anzahl der Zeilen: " ) ; height = IO. readint ( ) ; int [ ] [ ] i n h a l t = new int [ height ] [ width ] ; for ( int i = 0 ; i < height ; i++) { int [ ] eingabe = new int [ 0 ] ; while ( eingabe. length! = width ) { System. out. p r i n t ( "Zeile "+( i +1)+": " ) ; eingabe = IO. readintarray ( ) ; i f ( eingabe. length! = width ) { System. out. p r i n t l n ( "Keine gültige Zeile der Länge " +width+"!" ) ;
11 i n h a l t [ i ] = eingabe ; return i n h a l t ;
Übung Informatik I - Programmierung - Blatt 3
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Übung Programmierung WS 2007/08 - Blatt 6
RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK 2 RWTH Aachen D-52056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.
MehrÜbung Informatik I - Programmierung - Blatt 8
RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D-5056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.
MehrÜbung Informatik I - Programmierung - Blatt 3
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Ü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.
MehrTutoraufgabe 1 (Seiteneekte):
Prof. aa Dr. M. Müller C. Aschermann, J. Hensel, J. Protze, P. Reble Allgemeine Hinweise: Die Hausaufgaben sollen in Gruppen von je 3 Studierenden aus der gleichen Kleingruppenübung (Tutorium) bearbeitet
MehrTutoraufgabe 1 (Programmanalyse):
Prof. aa Dr. M. Müller Programmierung WS15/16 C. Aschermann, J. Hensel, J. Protze, P. Reble Allgemeine Hinweise: Die Hausaufgaben sollen in Gruppen von je 3 Studierenden aus der gleichen Kleingruppenübung
MehrTutoraufgabe 1 (Seiteneekte):
Prof. aa Dr. J. Giesl Programmierung WS14/15 C. Aschermann, F. Frohn, J. Hensel, T. Ströder Allgemeine Hinweise: Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung
MehrProgrammierung
RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK 2 RWTH Aachen D-52056 Aachen GERMANY http://programmierung.rwth-aachen.de/ Prof. Dr. Jürgen Giesl LuFG Informatik
MehrAusdrucksbäume in verschiedenen Darstellungen
Ausdrucksbäume in verschiedenen Darstellungen SWE-42 Infix mit notwendigen Klammern: (a + b) / (c - d) Infix vollständig geklammert: (((a) + (b)) / ((c) - (d))) Postfix a b + c d - / Präfix / + a b - c
MehrTutoraufgabe 1 (Code-Analyse):
Prof. aa Dr. J. Giesl M. Brockschmidt, F. Emmes, C. Fuhs, C. Otto, T. Ströder Allgemeine Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung bearbeitet werden. Namen
MehrÜ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
MehrFakultä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)
MehrTutoraufgabe 1 (Überladen von Methoden):
Prof. aa Dr. J. Giesl Programmierung WS12/13 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Allgemeine Hinweise: Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung
MehrÜbung Informatik I - Programmierung - Blatt 8
RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D-52056 Aachen GERMANY http://www-i2.informatik.rwth-aachen.de/lufgi2 LuFG Informatik II Prof.
MehrSemestralklausur Informatik I - Programmierung
RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D-52056 Aachen GERMANY http://www-i2.informatik.rwth-aachen.de/lufgi2 Prof. Dr. Jürgen Giesl LuFG
MehrTutoraufgabe 1 (Casting): Programmierung WS17/18 Übungsblatt 2 (Abgabe ) Allgemeine Hinweise:
Prof. aa Dr. J. Giesl Programmierung WS17/18 M. Hark, J. Hensel, D. Korzeniewski Allgemeine Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung (Tutorium) bearbeitet
MehrProgrammieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
MehrJava Ü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
MehrTutoraufgabe 1 (Programmanalyse): Programmierung WS17/18 Übungsblatt 5 (Abgabe ) Allgemeine Hinweise:
Prof. aa Dr. J. Giesl M. Hark, J. Hensel, D. Korzeniewski Allgemeine Hinweise: Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung (Tutorium) bearbeitet werden.
MehrInstitut für Programmierung und Reaktive Systeme 10. Mai Programmieren II. 11. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 10. Mai 2013 Programmieren II 11. Übungsblatt Hinweis: Dieses Übungsblatt enthält die zweite Pflichtaufgabe.
MehrErste 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/
Mehrhue13 January 30, 2017
hue13 January 30, 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
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:
MehrInstitut für Programmierung und Reaktive Systeme 4. Dezember Programmieren I. 5. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 4. Dezember 2017 Programmieren I 5. Übungsblatt Hinweis: Auf diesem und den folgenden Übungsblättern
MehrÜ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
MehrProgrammierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 8. Blatt Für den 16. und
Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 8. Blatt Für den 16. und 17.6.2008 Organisatorisches Um auf die Mailingliste aufgenommen zu werden schicke einfach eine
MehrTutoraufgabe 1 (Programmanalyse):
Prof. aa Dr. J. Giesl Programmierung WS14/15 C. Aschermann, F. Frohn, J. Hensel, T. Ströder Allgemeine Hinweise: Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung
MehrMusterlö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)
MehrTutoraufgabe 1 (2 3 4 Bäume):
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Übungsblatt (Abgabe.0.0) F. Corzilius, S. Schupp, T. Ströder Allgemeine Hinweise: Die Hausaufgaben sollen in Gruppen von je bis Studierenden aus
Mehr! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.
! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.4 Exceptions - 1 - Ausnahmen (Exceptions( Exceptions) Treten auf, wenn zur
MehrProbeklausur 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
MehrInstitut für Programmierung und Reaktive Systeme 5. Dezember Programmieren I. 5. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 5. Dezember 2016 Programmieren I 5. Übungsblatt Hinweis: Auf diesem und den folgenden Übungsblättern
MehrPunkte. Teil 1. Teil 2. Summe. 1. Zeigen Sie, dass der untenstehende Suchbaum die AVL-Bedingung verletzt und überführen Sie ihn in einen AVL-Baum.
Hochschule der Medien Prof Uwe Schulz 1 Februar 2007 Stuttgart Klausur Informatik 2, EDV-Nr 40303/42022 Seite 1 von 2 Name: Matr Nr: Teil 1: Keine Hilfsmittel Bearbeitungszeit: 20 Minuten Teil 1 Teil 2
MehrInstitut für Programmierung und Reaktive Systeme 7. Mai Programmieren II. 11. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 7. Mai 2018 Programmieren II 11. Übungsblatt Hinweis: Auf diesem und den folgenden Übungsblättern
MehrTutoraufgabe 1 (Programmanalyse):
Prof. aa Dr. J. Giesl F. Frohn, J. Hensel, D. Korzeniewski Allgemeine Hinweise: Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung (Tutorium) bearbeitet werden.
MehrTutoraufgabe 1 (Verifikation):
Prof. aa Dr. M. Müller C. Aschermann, J. Hensel, J. Protze, P. Reble Allgemeine Die Hausaufgaben sollen in Gruppen von je 3 Studierenden aus der gleichen Kleingruppenübung (Tutorium) bearbeitet werden.
MehrProbeklausur zur Vorlesung
Dr. Jochen Hoenicke Alexander Nutz Probeklausur zur Vorlesung Einführung in die Informatik Sommersemester 2014 Die Klausur besteht aus diesem Deckblatt und elf Blättern mit den Aufgaben, sowie einem Blatt
Mehr1 Klassen anlegen und Objekte erzeugen
Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a
Mehr1 Klassen anlegen und Objekte erzeugen
Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 04: Variablenzugriff und Eingaben Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Zugriff auf Instanzvariablen Praktisches Beispiel: Student
MehrName: Matrikelnr : Aufgabe 1: (ca. 8 Punkte )
Name: Aufgabe 1: (ca. 8 Punkte ) Matrikelnr : In einem Array int a = new int[1000] ; befinden sich 1000 verschiedene Zahlen. Schreiben Sie eine Funktion, die das Array als Parameter übergeben bekommt und
MehrInstitut für Programmierung und Reaktive Systeme 22. Mai Programmieren II. 11. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 22. Mai 2015 Programmieren II 11. Übungsblatt Hinweis: Auf diesem und den folgenden Übungsblättern
MehrProgrammierung 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
Mehrhue12 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
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 03: Wiederholung und Nutzereingaben Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Wiederholung Klassen, Objekte, Attribute und Methoden
MehrStädtisches Gymnasium Olpe Java Ht Informatik - Q1 Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode
Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode folgt im Anschluss. Beispielcode Es gibt eine Klasse Benutzerverwaltung, welche eine Liste mit Benutzern
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)
MehrProgrammieren I + II Regeln der Code-Formatierung
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2012/2013, SS 2013 Programmieren I + II Regeln der Code-Formatierung Die hier vorgestellten
MehrÜbung Programmierung WS 2007/08 - Blatt 5
RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK 2 RWTH Aachen D-52056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.
MehrAusnahmen. 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/ Fehlerarten Bei der Programmierung
MehrKlausur Kompaktkurs Einführung in die Programmierung Dr. T. Weinzierl & M. Sedlacek 25. März 2011
Kompaktkurs Einführung in die Programmierung Klausur Seite 1/10 Name, Vorname, Unterschrift: Matrikelnummer: Wichtig: Klausur Kompaktkurs Einführung in die Programmierung Dr. T. Weinzierl & M. Sedlacek
MehrPräsenzübung Programmierung WS 2017/2018
Prof. aa Dr. J. Giesl M. Hark, J. Hensel, D. Korzeniewski Vorname: Präsenzübung Programmierung WS 2017/2018 Nachname: Studiengang (bitte genau einen markieren): Informatik Bachelor Informatik Lehramt (Bachelor)
MehrRückgabewerte von Methoden
OOP Rückgabewerte von Methoden Henrik Horstmann 14. September 2014 Inhaltsverzeichnis Inhaltsverzeichnis 1 Bedeutung der Symbole...1 2 Rückgabewerte von Methoden...2 3 Der freundliche Computer...2 3.1
MehrAusnahmen. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung
Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung https://www.sosy-lab.org/teaching/2017-ws-infoeinf/ WS17/18 Fehlerarten Bei der Programmierung
MehrAusnahmen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 27.6.
Ausnahmen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 27.6.07 G. Bohlender (IANM UNI Karlsruhe) Ausnahmen 27.6.07 1 / 8 Übersicht 1 Einführung
MehrHandbuch konsultieren!
Zeichenketten Klasse String Enthält zahlreiche Methoden z.b.: int length(): Anzahl der Zeichen in Zeichenkette String substring(int start): Unterzeichenkette ab Position start boolean equalsignorecase(string
MehrAlgorithmen 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
MehrInformatik 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
MehrBasispruefung Herbst 2016/ Einführung in die Programmierung
Basispruefung Herbst 2016/17 0027 Einführung in die Programmierung Departement Informatik ETH Zürich Nachname: Vorname: Stud.number: Mit Ihrer Unterschrift bestätigen Sie, dass Sie folgenden Hinweise zur
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
MehrÜbung zur Vorlesung Programmierung
RWTH Aachen Lehrgebiet Theoretische Informatik Frohn Reidl Rossmanith Sánchez Ströder WS 2013/14 Übungsblatt 8 16.12.2013 Übung zur Vorlesung Programmierung Aufgabe T15 Betrachten Sie folgende Klassen:
Mehr1. Aufgabe (6 Punkte): Java-Programmierung (Arrays)
Der folgende Mitschrieb wurde von Prof. Alexa am 16.07.2008 als Probeklausur in der MPGI2 Vorlesung gezeigt und wurde auf http://www.basicinside.de/2008/node/94 veröffentlicht. Die Abschrift ist unter
MehrAlgorithmen und Datenstrukturen
Prof. Dr. V. Linnemann Lübeck, den 12. Mai 2010 Universität zu Lübeck Institut für Informationssysteme Algorithmen und Datenstrukturen Sommersemester 2010 6. Übungsblatt Lösungen Lösung 1: Optimale Matrixmultiplikation
MehrTutoraufgabe 1 (Listen):
Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Allgemeine Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung (Tutorium) bearbeitet
MehrEinstieg in die Informatik mit Java
1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung
MehrPrüfungsklausur Programmierung
RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK 2 RWTH Aachen D-52056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de/ Prof. Dr. Jürgen Giesl LuFG
MehrProbeklausur 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
MehrDiplomvorprüfung / Zwischenprüfung Informatik I - Programmierung
RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D-52056 Aachen GERMANY http://www-i2.informatik.rwth-aachen.de/lufgi2 Prof. Dr. Jürgen Giesl LuFG
Mehr1 Organisatorisches. 2 Compilezeit- und Laufzeitfehler. 3 Exceptions. 4 Try-Catch-Finally
Themen der Übung CoMa-Übung VI 1 Organisatorisches Compilezeit- und Laufzeitfehler 3 Try-Catch-Finally TU Berlin 8.11.01 Bewertung der OA 5 fehlerhaft, Madeleine arbeitet dran CoMa-Übung VI (TU Berlin)
Mehr1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen
1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.3 Datenabstraktion - 1 - Selektoren public class Rechteck
MehrProgrammiermethodik 1. Klausur
Programmiermethodik 1. Klausur 27. 6. 2013 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 21 2 20 3 19 4 19 5 21 6 20 Gesamt 120 1 Seite 2 von 18 Aufgabe 1) Objekt-Orientierung und Vererbung
MehrGrundlagen der Informatik
Grundlagen der Informatik Klausur 1. August 2008 1. Dynamische Datenstrukturen und objektorientierte Programmierung (45 Punkte) Gegeben sei eine Datenstruktur mit folgendem Aufbau struct lelem { int w;
MehrAusnahmen. Dr. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Dr. Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-16-17/infoeinf WS16/17 Action required now 1. Smartphone: installiere die App "socrative
MehrExceptions. CoMa-Übung VI TU Berlin. CoMa-Übung VI (TU Berlin) Exceptions / 19
Exceptions CoMa-Übung VI TU Berlin 8.11.01 CoMa-Übung VI (TU Berlin) Exceptions 8.11.01 1 / 19 Themen der Übung 1 Organisatorisches Compilezeit- und Laufzeitfehler 3 Exceptions 4 Try-Catch-Finally Bewertung
MehrInstitut für Programmierung und Reaktive Systeme 24. April Programmieren II. 10. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 24. April 2018 Programmieren II 10. Übungsblatt Hinweis: Auf diesem und den folgenden Übungsblättern
MehrProbeklausur 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Ü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
MehrTutoraufgabe 1 (Hoare-Kalkül):
Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Allgemeine Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung (Tutorium) bearbeitet
MehrProgrammiertechnik Klassenvariablen & Instantiierung
Programmiertechnik Klassenvariablen & Instantiierung Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Klassenvariablen Zur Erinnerung: Klassen bestehen aus Variablen und Methoden; beide zusammen
MehrEinführung in die Programmierung für NF MI. Übung 04
Einführung in die Programmierung für NF MI Übung 04 Inhalt Arrays Einführung in Objekte Einführung in die Programmierung für NF Übung 04 2 Arrays Arrays repräsentieren Reihungen von Objekten, z.b. Variablen
MehrProgrammieren 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
MehrErste Java-Programme (Arrays und Schleifen)
Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Arrays und Schleifen) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
MehrInstitut für Programmierung und Reaktive Systeme 24. Juni Programmieren II. 14. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 2. Juni 2016 Programmieren II 1. Übungsblatt Hinweis: Auf diesem Übungsblatt finden Sie die fünfte,
MehrPräsenzübung Programmierung WS 2016/2017
Prof. aa Dr. J. Giesl F. Frohn, J. Hensel, D. Korzeniewski Vorname: Präsenzübung Programmierung WS 2016/2017 Nachname: Studiengang (bitte genau einen markieren): Informatik Bachelor Informatik Lehramt
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung
Ludwig-Maximilians-Universität München WS 2013/14 Institut für Informatik Übungsblatt 10 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung
MehrExceptions. CoMa-Übung VII TU Berlin. CoMa-Übung VII (TU Berlin) Exceptions / 1
Exceptions CoMa-Übung VII TU Berlin 7.11.013 CoMa-Übung VII (TU Berlin) Exceptions 7.11.013 1 / 1 Themen der Übung 1 Compilezeit- und Laufzeitfehler Exceptions 3 Try-Catch-Finally CoMa-Übung VII (TU Berlin)
MehrÜbungsblatt 1. Java Vorkurs (WS 2017)
Übungsblatt 1 Java Vorkurs (WS 2017) Aufgabe 1 Hallo-Welt Erstelle ein neues Projekt mit dem Namen HelloJava. Erzeuge in diesem Projekt eine neue Klasse HelloJava. (a) Schreibe die main-methode in die
MehrInstitut für Programmierung und Reaktive Systeme 20. November Programmieren I. 4. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 20. November 2017 Programmieren I 4. Übungsblatt Hinweis: Auf diesem und den folgenden Übungsblättern
MehrBeispielprüfung CuP WS 2015/2016
Beispielprüfung CuP WS 2015/2016 Univ.-Prof. Dr. Peter Auer 23. Dezember 2015 Informationen zur Prüfung Die Prüfung wird als Multiple-Choice-Test mit 10 Fragen am Computer abgehalten. (Bei manchen Fragen
Mehrpue13 January 28, 2017
pue13 January 28, 2017 1 Aufgabe 1 (Klammern und Anweisungsblöcke) Wie Sie in der Vorlesung gelernt haben, werden Anweisungsblöcke in Java nicht durch Einrückung, sondern mithilfe von geschweiften Klammern
MehrProbeklausur 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
MehrEPROG 2.Teilprüfung. Aufgabe 1:
EPROG 2.Teilprüfung Dauer 50min. Keine Unterlagen erlaubt. Loginname ist q (also x.b. q0697801). Passwort ist Ihre Matrikelnummer. Speichern Sie Ihre Lösungen in den dafür vorgesehenen
MehrÜbungsblatt 9. Thema: Methoden-Dispatching, Datenstrukturen, Abstrakte Datentypen
Informatik I WS 05/06 Prof. Dr. W. May Dipl.-Inform. Oliver Fritzen Dipl.-Inform. Christian Kubczak Übungsblatt 9 Ausgegeben am: Abgabe bis: 06.01.2006 17.1.2006 (Theorie) 20.1.2006 (Praktisch) Thema:
MehrEinfache 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
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
MehrII.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
MehrTutoraufgabe 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