Allgemeine Hinweise:

Größe: px
Ab Seite anzeigen:

Download "Allgemeine Hinweise:"

Transkript

1 TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 11/12 Einführung in die Informatik I Probe-Klausur Prof. Dr. Helmut Seidl, M. Schwarz, A. Herz, Dr. M. Petter Name Vorname Studiengang Matrikelnummer Hörsaal Reihe Sitzplatz Unterschrift Allgemeine Hinweise: Bitte füllen Sie die oben angegebenen Felder vollständig aus und unterschreiben Sie! Schreiben Sie nicht mit Bleistift oder in roter/grüner Farbe! Die Arbeitszeit beträgt 120 Minuten. Prüfen Sie, ob Sie alle 16 Seiten erhalten haben. In dieser Klausur können Sie insgesamt 131 Punkte erreichen. Zum Bestehen werden keine von diesen Punkte benötigt. Um auf die vorgesehene Gesamtpunktzahl von 125 zu kommen, werden ihre erzielten Punkte mit dem Faktor 1,25 multipliziert. Es sind keine Hilfsmittel zugelassen.

2 2 Aufgabe 1 [ Punkte] Typen Gegeben seien die folgenden Klassen-Definitionen: class A { public static void p ( Object o ) { System. out. p r i n t l n ( o. t o S t r i n g ( ) ) ; public void m1 (A a ) { p ( m1(a) in A ) ; public void m1 ( ) { m1(new B( ) ) ; private static void m2 (A a ) { p ( m2(a) in A ) ; public void m2 ( ) { m2( this ) ; class B extends A { public void m1 (B b ) { p ( m1(b) in B ) ; public void m2 (A a ) { p ( m2(a) in B ) ; public void m3 ( ) { super.m1( this ) ; class C<T> extends A { public void m1 (C<T> c ) { p ( m(c<t>) in C ) ; a) Welche der folgenden Anweisungen werden vom Java-Compiler ohne Fehler übersetzt? Hinweis: Richtige Antworten bringen 2 Punkte, falsche Antworten kosten 2 Punkte, Enthaltungen bringen 0 Punkte. Für diese Teilaufgabe erhalten Sie als Gesamtpunktzahl keine negativen Punkte. i) A a = new B(); a.m1(new B()); Richtig Falsch ii) A a = new A(); B.m2(a); Richtig Falsch iii) A a = new A(); B b = new B(); ((A)b).m2(a); Richtig Falsch iv) class D extends B { public static void m1(b b){. Richtig Falsch v) A a = new A(); ((B)a).p(a); Richtig Falsch vi) C<A> ca = new C<B>(); Richtig Falsch b) (Bonus) Welche der folgenden Anweisungen werden vom Java-Compiler ohne Fehler übersetzt? Hinweis: Richtige Antworten bringen 2 Punkte, falsche Antworten kosten 2 Punkte, Enthaltungen bringen 0 Punkte. Für diese Teilaufgabe erhalten Sie als Gesamtpunktzahl keine negativen Punkte. i) C<A> ca = new C<A>(); ca.m1(new C<A>()); Richtig Falsch ii) C<A> ca = new C<A>(); ca.m1(new C<B>()); Richtig Falsch iii) C<B> ca = new C<B>(); ca.m1(new C<A>()); Richtig Falsch

3 3 c) Welche Ausgaben und/oder Exceptions produzieren die folgenden Anweisungen? Hinweis: Sie finden die verwendeten Klassen nochmals im Anhang zum Abtrennen. i) B b=new B(); A a =b; a.m1(b); m1(a) in A ii) iii) iv) B b=new B(); B a =b; b.m1(a); m1(b) in B C<A> ca = new C<A>(); ((A)ca).m1(ca); m1(a) in A B b = new B(); b.m1(); m1(a) in A v) B b = new B(); b.m2(); m2(a) in A vi) B b = new B(); b.m3(); m1(a) in A

4 4 Aufgabe 2 [20 Punkte] Paarbäume und Baumpaare Generische Bäume sind nun durch die Klasse Tree gegeben: package maze ; public class Tree<B> { private Tree<B> l e f t = null ; private Tree<B> r i g h t = null ; private B value = null ; public static <B> Tree<B> l e a f (B v ) { Tree<B> r e t = new Tree<B>() ; r e t. value=v ; return r e t ; public static <B> Tree<B> t r e e ( Tree<B> r,b value, Tree<B> l ) { Tree<B> r e t = new Tree<B>() ; r e t. r i g h t=r ; r e t. l e f t=l ; r e t. value=value ; return r e t ; public Tree<B> getright ( ) { return r i g h t ; public Tree<B> g e t L e f t ( ) { return l e f t ; public B getvalue ( ) { return value ; a) Entwickeln Sie eine generische Klasse mit dem Namen Pair. Ein Objekt der Klasse Pair soll zwei Attribute a und b enthalten, deren Typen jeweils als Typparameter der Klasse Pair festgelegt werden können. Statten Sie die Klasse Pair mit einem Konstruktor aus, der a und b mit entsprechenden Parametern initialisiert. b) Entwickeln Sie das Interface PairTreeTool mit den generischen Methoden treeto- Pair und pairtotree, die einen Baum von A/B-Paaren in ein A-Baum/B-Baum-Paar und wieder zurück umwandeln. Achten Sie dabei darauf, die Typparameter dieser beiden Methoden so genau wie möglich zu spezifizieren, ohne dem Interface selbst Typparameter zu verpassen. c) Implementieren Sie die abstrakte Klasse TreeToPair, die das Interface PairTreeTool implementiert. Implementieren Sie die Methode treetopair, die einen Baum von Paaren, die auf spezielle Typen A,B spezialisiert sind in ein Paar von strukturgleichen Bäumen, die auf jeweils A bzw. B spezialisiert sind umwandelt! Achten Sie weiterhin darauf, dass im Rumpf von treetopair keine Typecasts verwendet werden! 2 b 2 b 7 g 5 e treetopair() 7 5 g e 1 a 6 f 9 i pairtotree() a f i 3 c 8 k 4 d c k d Hinweis: treetopair und pairtotree sind inverse Funktionen; daher müssen die folgendem Anweisungen ohne Typfehler compilieren: Tree<Pair<Integer, Double>> t r e e = / eine i n t e r e s s a n t e r Baum / ; PairTreeTool ptt = / v o l l s t a e n d i g implementieres PairTreeTool / ; t r e e = ptt. pairtotree ( ptt. treetopair ( t r e e ) ) ;

5 5 Lösungsvorschlag 2 a) Klasse Pair public boolean i s L e a f ( ) { return value!= null ; class Pair<S,T> { public S a ; public T b ; Pair ( S s, T t ) { a=s ; b) Interface PairTreeTool b=t ; interface PairTreeTool { c) Klasse TreeToPair <S, T> Tree<Pair<S, T>> pairtotree ( Pair<Tree<S>, Tree<T>> p ) ; <S,T> Pair<Tree<S>,Tree<T>> treetopair ( Tree<Pair<S,T>> t ) ; abstract class TreeToPair implements PairTreeTool { public <S,T> Pair<Tree<S>,Tree<T>> treetopair ( Tree<Pair<S,T>> t ) { i f ( t==null ) return null ; i f ( t. i s L e a f ( ) ) return new Pair<Tree<S>,Tree<T>>(Tree. l e a f ( t. getvalue ( ). a ), Tree. l e a f ( t. getvalue ( ). b ) ) ; Pair<Tree<S>,Tree<T>> l e f t = treetopair ( t. g e t L e f t ( ) ) ; Pair<Tree<S>,Tree<T>> r i g h t = treetopair ( t. getright ( ) ) ; i f ( l e f t==null ) return new Pair<Tree<S>,Tree<T>>(Tree. t r e e ( null, t. getvalue ( ). a, r i g h t. a ), Tree. t r e e ( null, t. getvalue ( ). b, r i g h t. b ) ) ; i f ( r i g h t==null ) return new Pair<Tree<S>,Tree<T>>(Tree. t r e e ( l e f t. a, t. getvalue ( ). a, null ), Tree. t r e e ( l e f t. b, t. getvalue ( ). b, null ) ) ; return new Pair<Tree<S>,Tree<T>>(Tree. t r e e ( l e f t. a, t. getvalue ( ). a, r i g h t. a ), Tree. t r e e ( l e f t. b, t. getvalue ( ). b, r i g h t. b ) ) ;

6 6 Aufgabe 3 [20 Punkte] Syntax Zeichnen Sie den Syntax-Baum für das folgende MiniJava-Programm. Benutzen Sie dazu die Vorgabe auf der nächsten Seite. Hinweis: Die Grammatik aus der Vorlesung befindet sich im Anhang. int x, y; y = 10; x = read(); while (1-y <= -x) { y = x * (-y + 5);

7 int x, y ; y = 10 ; x = read() ; while ( 1 - y <= - x ) { y = x * ( - y + 5 ) ; 7

8 ) int type 8 Lösungsvorschlag 3 x y name, name decl ; name y stmt = expr number 10 ; name x program stmt = read ( ) ; while ( cond expr comp expr binop expr <= number - name 1 y stmt expr unop expr - name x ) stmt { stmt name = expr y expr binop expr name * ( expr x expr binop unop expr + - name y expr number 5 ;

9 9 Aufgabe 4 [30 Punkte] Vorlesungsverwaltung Gegeben sei die Klasse Student mit dem privaten Attribut int id. class Student { private int id ; public Student ( int id ) { this. id = id ; public int g e t I d ( ) { return id ; a) Implementieren Sie die Klasse Vorlesung, die maximal n Student-Objekte aufnehmen kann. Die maximale Studentenanzahl soll dabei im Konstruktor übergeben werden. b) Erweitern Sie die Klasse Vorlesung um eine Methode boolean anmelden(student s), die einen Studenten s zu dieser Vorlesung anmeldet. Dabei soll die Methode anmelden den Wert true zurückliefern, wenn ein Student für die Vorlesung erfolgreich angemeldet werden konnte. Die Anmeldung desselben Studenten soll dabei keinen Effekt haben. Ansonsten soll die Methode false zurückgeben. c) Definieren Sie eine Exception BereitsAngemeldetExc, die die ID des bereits angemeldeten Studenten als Exception-Meldung enthält. d) Modifizieren Sie die Methode anmelden so, dass diese eine Exception wirft, falls sich ein bereits für die Vorlesung angemeldeter Student nochmals anmeldet. e) Implementieren Sie zudem in der Klasse Vorlesung eine Methode boolean abmelden(student s), die einen Studenten s von der Vorlesung wieder abmeldet, d.h. der Eintrag des Studenten wird aus der Vorlesung entfernt. Die Methode abmelden soll den Wert true zurückliefern, wenn ein Student für die Vorlesung erfolgreich abgemeldet werden konnte. Ansonsten soll die Methode false zurückgeben. f) Implementieren Sie eine Methode String teilnehmer(), die sowohl die Anzahl als auch die IDs aller an der Vorlesung angemeldeten Teilnehmer als String zurückgibt.

10 10 Lösungsvorschlag 4 class Vorlesung { private Student [ ] t e i l n e h m e r ; public Vorlesung ( int c a p a c i t y ) { this. t e i l n e h m e r = new Student [ c a p a c i t y ] ; public boolean anmelden ( Student s ) { for ( int i = 0 ; i <t e i l n e h m e r. length ; i++){ i f ( t e i l n e h m e r [ i ]!= null && t e i lnehmer [ i ]. getid ( )==s. g etid ( ) ) throw new BereitsAngemeldetExc ( s. getid ( ) ) ; for ( int i = 0 ; i <t e i l n e h m e r. length ; i++){ i f ( t e i l n e h m e r [ i ] == null ) { t e i l n e h m e r [ i ] = s ; return true ; return f a l s e ; public class BereitsAngemeldetExc extends Exception { public BereitsAngemeldetExc ( int id ) { super ( Student +id+ i s t b e r e i t s zur Vorlesung angemeldet ) ; public boolean abmelden ( Student s ) { for ( int i = 0 ; i <t e i l n e h m e r. length ; i++){ i f ( t e i l n e h m e r [ i ]!= null && t e i lnehmer [ i ]. getid ( )==s. g etid ( ) ) { t e i l n e h m e r [ i ]= null ; return true ; return f a l s e ; public void t ( ) { int max=0; for ( int i =0; i <t e i l n e h m e r. length ; i ++){ i f ( t e i l n e h m e r [ i ]!= null ) { System. out. p r i n t l n ( Teilnehmer mit id +teilnehmer [ i ]. g e t I d ( ) ) ; max++; System. out. p r i n t l n ( v orlesung hat +max+ Teilnehmer ) ;

11 11 Aufgabe 5 [ Punkte] Binäre Suchbäume Ein Binärbaum ist ein Baum, in dem alle Knoten einen Wert und maximal 2 Teilbäume haben. Bei einem binären Suchbaum (BSB) gilt für jeden Knoten des Baumes, dass sein Wert: grösser ist als die Werte aller Knoten in seinem linken Teilbaum; kleiner ist als die Werte aller Knoten in seinem rechten Teilbaum; maximal einmal im ganzen BSB vorkommt. Beispiel: In der obigen Zeichnung finden Sie einen BSB für die Zahlen 1, 3, 6, 7, 8, 10, 13, 14. Als Basis für ihren Code soll folgende Klasse dienen: public class BSB { private BSB l e f t ; private BSB r i g h t ; private int value ; public BSB( int v ) { value = v ; public boolean c o n t a i n s ( int n ) { //... Aufgabe a ) public void i n s e r t ( int n ) { //... Aufgabe b ) Ergänzen Sie die Klasse BSB um folgende Methoden: a) boolean contains(int n), die zurückgibt, ob die Zahl n im BSB enthalten ist. b) void insert(int n), die unter Erhalt der obigen Eigenschaften einen neuen Knoten mit dem Wert n in den BSB einfügt, falls dieser Wert im BSB nicht schon vorhanden ist. Beispiel: Die folgende Zeichnung illustriert einen Aufruf von insert(4): insert(4) c) (Bonus) String ascendingintegers(), die einen String zurückgibt mit allen Zahlen des BSBs durch Leerzeichen getrennt, in aufsteigender Reihenfolge sortiert. Beispiel: ascendingintegers() liefert für den obigen BSB die Ausgabe: Lösungsvorschlag 5

12 12 public c l a s s BSB<T extends Comparable> { private BSB l e f t = null ; private BSB r i g h t = null ; private T value = null ; public BSB(T v ) { value = v ; public BSB getright ( ) { return r i g h t ; public BSB g e t L e f t ( ) { return l e f t ; / p r e c o n d i t i o n : node has c o r r e c t order / public void setright (BSB node ) { i f ( value. compareto ( node. getvalue ( ) ) <= 0) r i g h t = node ; else s e t L e f t ( node ) ; / p r e c o n d i t i o n : node has c o r r e c t order / public void s e t L e f t (BSB node ) { i f ( value. compareto ( node. getvalue ( ) )>= 0) l e f t = node ; else setright ( node ) ; public T getvalue ( ) { return value ; / checks i f element n i s in t r e e / public boolean c o n t a i n s (T n ) { i f ( n. e q u a l s ( value ) ) return true ; else i f ( n. compareto ( value )==1 && getright ( )!= null ) return getright ( ). c o n t a i n s ( n ) ; else i f ( n. compareto ( value )== 1 && g e t L e f t ( )!= null ) return g e t L e f t ( ). c o n t a i n s ( n ) ; else return f a l s e ;

13 13 / I n s e r t s a new node with v a l u e n i n t o the BSB / public void i n s e r t (T n ) { i f ( n. compareto ( value )==1) { i f ( getright ( ) == null ) setright (new BSB( n ) ) ; i f ( value. compareto ( node. getvalue ( ) ) <= 0) r i g h t = node ; else s e t L e f t ( node ) ; / p r e c o n d i t i o n : node has c o r r e c t order / public void s e t L e f t (BSB node ) { i f ( value. compareto ( node. getvalue ( ) )>= 0) l e f t = node ; else setright ( node ) ; public T getvalue ( ) { return value ; / checks i f element n i s in t r e e / public boolean c o n t a i n s (T n ) { i f ( n. e q u a l s ( value ) ) return true ; else i f ( n. compareto ( value )==1 && getright ( )!= null ) return getright ( ). c o n t a i n s ( n ) ; else i f ( n. compareto ( value )== 1 && g e t L e f t ( )!= null ) return g e t L e f t ( ). c o n t a i n s ( n ) ; else return f a l s e ; / I n s e r t s a new node with v a l u e n i n t o the BSB / public void i n s e r t (T n ) { i f ( n. compareto ( value )==1) { i f ( getright ( ) == null ) setright (new BSB( n ) ) ; else getright ( ). i n s e r t ( n ) ; else { i f ( g e t L e f t ( ) == null ) s e t L e f t (new BSB( n ) ) ; else

14 14 g e t L e f t ( ). i n s e r t ( n ) ; public S t r i n g t o S t r i n g ( ) { S t r i n g l e f t S t r i n g = ; S t r i n g r i g h t S t r i n g = ; i f ( g e t L e f t ( )!= null ) l e f t S t r i n g = g e t L e f t ( ). t o S t r i n g ( ) ; i f ( getright ( )!= null ) r i g h t S t r i n g = getright ( ). t o S t r i n g ( ) ; return [ +getvalue ( )+ +l e f t S t r i n g + + r i g h t S t r i n g + ] ; public static void main ( S t r i n g [ ] args ) { BSB b = new BSB( 3 ) ; b. i n s e r t ( 1 ) ; b. i n s e r t ( 9 ) ; b. i n s e r t ( 8 ) ; b. i n s e r t (10) ; System. out. p r i n t l n ( b. c o n t a i n s ( 4 ) ) ; System. out. p r i n t l n ( b ) ; BSB t = new BSB( 5 ) ; t. i n s e r t ( 3 ) ; t. i n s e r t ( 7 ) ; t. i n s e r t ( 2 ) ; t. i n s e r t ( 6 ) ; System. out. p r i n t l n ( t ) ; b. s e t L e f t ( t ) ; System. out. p r i n t l n ( b ) ; System. out. p r i n t l n ( b. c o n t a i n s ( 7 ) ) ;

15 15 Anhang Klassendefinitionen aus Aufgabe 1 zum Abtrennen: class A { public static void p ( Object o ) { System. out. p r i n t l n ( o. t o S t r i n g ( ) ) ; public void m1 (A a ) { p ( m1(a) in A ) ; public void m1 ( ) { m1(new B( ) ) ; private static void m2 (A a ) { p ( m2(a) in A ) ; public void m2 ( ) { m2( this ) ; class B extends A { public void m1 (B b ) { p ( m1(b) in B ) ; public void m2 (A a ) { p ( m2(a) in B ) ; public void m3 ( ) { super.m1( this ) ; class C<T> extends A { public void m1 (C<T> c ) { p ( m(c<t>) in C ) ;

16 16 Die Grammatik von MiniJava (aus der Vorlesung): <program> ::= <decl>* <stmt>* <decl> ::= <type> <name> (, <name> )* ; <type> ::= int <stmt> ::= ; { <stmt>* <name> = <expr>; <name> = read(); write(<expr>); if (<cond>) <stmt> if (<cond>) <stmt> else <stmt> while (<cond>) <stmt> <expr> ::= <number> <name> (<expr>) <unop> <expr> <expr> <binop> <expr> <unop> ::= - <binop> ::= - + * / % <cond> ::= true false ( <cond> ) <expr> <comp> <expr> <bunop> <cond> <cond> <bbinop> <cond> <comp> ::= ==!= <= < >= > <bunop> ::=! <bbinop> ::= &&

Allgemeine Hinweise:

Allgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 11/12 Einführung in die Informatik I Probe-Klausur Prof. Dr. Helmut Seidl, M. Schwarz, A. Herz,

Mehr

Allgemeine Hinweise:

Allgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2011 Einführung in die Informatik I Endtermklausur Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,

Mehr

Allgemeine Hinweise:

Allgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2011 Einführung in die Informatik I Midtermklausur Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,

Mehr

Allgemeine Hinweise:

Allgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 12/13 Einführung in die Informatik I Wiederholungsklausur Prof. Dr. Helmut Seidl, A. Lehmann,

Mehr

Allgemeine Hinweise:

Allgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 12/13 Einführung in die Informatik I Wiederholungsklausur Prof. Dr. Helmut Seidl, A. Lehmann,

Mehr

Abgabe: (vor 12 Uhr)

Abgabe: (vor 12 Uhr) TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2011 Einführung in die Informatik I Übungsblatt 7 Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,

Mehr

Technische Universität München WS 2004/2005 Fakultät für Informatik 11. Dezember 2004 Prof. Dr. Seidl

Technische Universität München WS 2004/2005 Fakultät für Informatik 11. Dezember 2004 Prof. Dr. Seidl Name: Vorname: Matr. Nr.: Technische Universität München WS 2004/2005 Fakultät für Informatik 11. Dezember 2004 Prof. Dr. Seidl Zwischenklausur zu Einführung in die Informatik I Hinweis: In dieser Zwischenklausur

Mehr

Allgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN. Name Vorname Studiengang Matrikelnummer. Hörsaal Reihe Sitzplatz Unterschrift

Allgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN. Name Vorname Studiengang Matrikelnummer. Hörsaal Reihe Sitzplatz Unterschrift TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2008/09 Einführung in die Informatik 2 Klausur Prof. Dr. Helmut Seidl, T. M. Gawlitza, S. Pott,

Mehr

Semestralklausur Informatik I - Programmierung

Semestralklausur 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

Mehr

Übungen zum Bioinformatik-Tutorium. Blatt 6

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

Mehr

Abgabe: (vor 24 Uhr) Aufgabe 12.1 (P) Polymorphie Gegeben seien folgende Java-Klassen:

Abgabe: (vor 24 Uhr) Aufgabe 12.1 (P) Polymorphie Gegeben seien folgende Java-Klassen: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 11/12 Einführung in die Informatik I Übungsblatt 12 Prof. Dr. Helmut Seidl, M. Schwarz, A. Herz,

Mehr

Abgabe: keine Pflichtabgabe (vor 12 Uhr) Aufgabe 10.1 (P) Vererbung Gegeben seien folgende Java-Klassen:

Abgabe: keine Pflichtabgabe (vor 12 Uhr) Aufgabe 10.1 (P) Vererbung Gegeben seien folgende Java-Klassen: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2011 Einführung in die Informatik I Übungsblatt 10 Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,

Mehr

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 16. Juli Klausur

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 16. Juli Klausur Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 16. Juli 2001 Stefan Holland Informatik II Hinweise: Klausur Verwenden Sie für Ihre Lösungen ausschließlich den

Mehr

Probeklausur zur Vorlesung

Probeklausur 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

Mehr

Prüfung Softwareentwicklung II (IB)

Prüfung Softwareentwicklung II (IB) Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 2 B, IB 2 C Sommersemester 2013 Prüfung Softwareentwicklung II (IB) Datum : 11.07.2013, 08:30 Uhr

Mehr

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

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

Mehr

Fortgeschrittene Programmiertechnik Klausur WS 2014/15 Angewandte Informatik Bachelor

Fortgeschrittene Programmiertechnik Klausur WS 2014/15 Angewandte Informatik Bachelor Fortgeschrittene Programmiertechnik Klausur WS 2014/15 Angewandte Informatik Bachelor Name Matrikelnummer Aufgabe Punkte Aufgabe Punkte Zwischensumme 1 6 2 8 3 16 4 14 5 12 56 6 16 7 18 8 20 9 10 Summe

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

12 Abstrakte Klassen, finale Klassen und Interfaces 12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,

Mehr

16. Dezember 2004 Dr. M. Schneider, P. Ziewer

16. Dezember 2004 Dr. M. Schneider, P. Ziewer Technische Universität München WS 2004/2005 Fakultät für Informatik Lösungsvorschläge zu Blatt 8 A. Berlea, M. Petter, 16. Dezember 2004 Dr. M. Schneider, P. Ziewer Übungen zu Einführung in die Informatik

Mehr

Einführung in die Programmierung

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

Mehr

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2011 Einführung in die rmatik I Übungsblatt 8 Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz, Dr.

Mehr

ListElement (E i n f o, ListElement<E> prev, ListElement<E> next ) {

ListElement (E i n f o, ListElement<E> prev, ListElement<E> next ) { TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2011 Einführung in die Informatik I Übungsblatt 11 Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,

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

Die Klasse MiniJava ist in der Datei MiniJava.java definiert:

Die Klasse MiniJava ist in der Datei MiniJava.java definiert: Die Klasse MiniJava ist in der Datei MiniJava.java definiert: import javax.swing.joptionpane; import javax.swing.jframe; public class MiniJava { public static int read () { JFrame f = new JFrame (); String

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2006/2007 Praktikum Grundlagen der Programmierung Lösungsvorschläge zu Blatt 8 F. Forster, M.

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

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 II Dr. Werner Struckmann 16. August 2013 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr

Mehr

Abgabe: (vor 24 Uhr)

Abgabe: (vor 24 Uhr) TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 11/12 Einführung in die Informatik I Übungsblatt 8 Prof. Dr. Helmut Seidl, M. Schwarz, A. Herz,

Mehr

14 Abstrakte Klassen, finale Klassen, Interfaces

14 Abstrakte Klassen, finale Klassen, Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse

Mehr

14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen

14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen Auswertung von Ausdrücken Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt.

Mehr

Allgemeine Informatik II SS :30-11:30 Uhr

Allgemeine Informatik II SS :30-11:30 Uhr TU Darmstadt FB Informatik Prof. J. Fürnkranz Semestralklausur - Lösungsvorschlag Allgemeine Informatik II SS 2005 20.07.2005 09:30-11:30 Uhr Hinweise: Als Hilfsmittel ist nur ein schwarzer oder blauer

Mehr

14 Abstrakte Klassen, finale Klassen, Interfaces

14 Abstrakte Klassen, finale Klassen, Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse

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 II Dr. Werner Struckmann 29. August 2014 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr

Mehr

Klausur: Java (Liste P)

Klausur: Java (Liste P) Klausur: Java (Liste P) SS05 Erlaubte Hilfsmittel: Gebundene! Unterlagen (Skript mit Anmerkungen, eigene Mitschrift) und maximal ein Buch. Bitte keine losen Blätter. Lösung ist auf den Klausurbögen anzufertigen.

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK ECHNISCHE UNIVERSIÄ MÜNCHEN FAKULÄ FÜR INFORMAIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2007/2008 Praktikum Grundlagen der Programmierung Lösungsvorschläge zu Blatt 9 F. Forster,. Gawlitza,

Mehr

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12. Heute Nachbetrachtung Wissensüberprüfung Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.2015 IT I - VO 9 1 Organisatorisches Zwischentest findet am 16.12. von 17:30 bis

Mehr

Bäume. Prof. Dr. Christian Böhm. in Zusammenarbeit mit Gefei Zhang. WS 07/08

Bäume. Prof. Dr. Christian Böhm. in Zusammenarbeit mit Gefei Zhang.   WS 07/08 Bäume Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfosw WS 07/08 2 Ziele Standardimplementierungen für Bäume kennen lernen 3 Bäume (abstrakt) Bäume sind

Mehr

Lösungshinweise/-vorschläge zum Übungsblatt 8: Software-Entwicklung 1 (WS 2017/18)

Lösungshinweise/-vorschläge zum Übungsblatt 8: Software-Entwicklung 1 (WS 2017/18) Dr. Annette Bieniusa Mathias Weber, M. Sc. Peter Zeller, M. Sc. TU Kaiserslautern Fachbereich Informatik AG Softwaretechnik Lösungshinweise/-vorschläge zum Übungsblatt 8: Software-Entwicklung 1 (WS 2017/18)

Mehr

Algorithmen und Datenstrukturen. Übersicht. Interfaces und Generics. InsertionSort für Punkte. InsertionSort für Punkte

Algorithmen und Datenstrukturen. Übersicht. Interfaces und Generics. InsertionSort für Punkte. InsertionSort für Punkte Algorithmen und Datenstrukturen Wintersemester 2012/13 21. Vorlesung Übersicht Liste und InsertionSort für e für Objekte beliebiger Klassen für Objekte von Klassen, die ein(e) Nutzer(in) festlegen kann

Mehr

Fortgeschrittene Programmiertechnik Klausur SS 2015 Angewandte Informatik Bachelor

Fortgeschrittene Programmiertechnik Klausur SS 2015 Angewandte Informatik Bachelor Fortgeschrittene Programmiertechnik Klausur SS 2015 Angewandte Informatik Bachelor Name Matrikelnummer Aufgabe Punkte Aufgabe Punkte Zwischensumme 1 6 2 8 3 12 4 18 5 20 64 6 9 7 17 8 18 9 12 Summe 120

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2006/2007 Praktikum Grundlagen der Programmierung Lösungsvorschläge zu Blatt 3 F. Forster, M.

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

Technische Universität Braunschweig

Technische Universität Braunschweig Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren II Dr. Werner Struckmann 28. August 2015 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr

Mehr

Institut für Informatik. Endterm Klausur zu Informatik I 20. Februar 2010

Institut für Informatik. Endterm Klausur zu Informatik I 20. Februar 2010 Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung Prof. R. Westermann Endterm Klausur zu Informatik I 20. Februar 2010 ˆ Die Arbeitszeit beträgt 120

Mehr

Präsenzübung Programmierung WS 2016/2017

Prä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

Programmieren in Java -Eingangstest-

Programmieren 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

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Programmieren 2 Java Überblick

Programmieren 2 Java Überblick Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 4 Innere Klassen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10

Mehr

Prof. Dr. Uwe Schmidt. 30. Januar 2017

Prof. Dr. Uwe Schmidt. 30. Januar 2017 Prof. Dr. Uwe Schmidt 30. Januar 2017 Aufgaben zur Klausur Algorithmen und Datenstrukturen im WS 2016/17 ( B Inf, B TInf, B MInf, B CGT, B WInf, B Ecom, B ITE) Zeit: 75 Minuten erlaubte Hilfsmittel: keine

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Lernziele Die Definition wichtiger Begriffe im Zusammenhand mit Bäumen zu kennen. Markierte Bäumen, insbesondere Suchbäume,

Mehr

Abschlussklausur Lösung. Bitte in Druckschrift leserlich ausfüllen!

Abschlussklausur Lösung. Bitte in Druckschrift leserlich ausfüllen! Informatik für Informationsmanager II SS 2006 Universität Koblenz-Landau Institut für Informatik Prof. Dr. Steffen Staab Dr. Manfred Jackel Abschlussklausur 04.08.2006 Lösung Bitte in Druckschrift leserlich

Mehr

Programmierung WS12/13 Lösung - Präsenzübung M. Brockschmidt, F. Emmes, C. Otto, T. Ströder

Programmierung WS12/13 Lösung - Präsenzübung M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Prof. aa Dr. J. Giesl M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Aufgabe 1 (Programmanalyse): (9 + 1 = 10 Punkte) a) Geben Sie die Ausgabe des Programms für den Aufruf java M an. Tragen Sie hierzu

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

II.4.5 Generische Datentypen - 1 -

II.4.5 Generische Datentypen - 1 - 1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.5 Generische Datentypen - 1 - Ähnliche

Mehr

Nachholklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415

Nachholklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415 Nachholklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415 Alexander Bazo 10. April 2015 Allgemeine Hinweise 1. Die Bearbeitungszeit beträgt 60 Minuten. Sie könne

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

int x = 3; int y = 11; public A () { this.x = z; y *= z;

int x = 3; int y = 11; public A () { this.x = z; y *= z; Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Aufgabe 1 (Programmanalyse): (13 + 6 = 19 Punkte) a) Geben Sie die Ausgabe des Programms für den Aufruf java M an. Tragen

Mehr

Matrikelnummer: 1 Aufgabe 1: Quickies (30 Punkte) a) Wird das folgende Programm von einem Java-Übersetzer ohne Beanstandungen übersetzt? Falls nicht,

Matrikelnummer: 1 Aufgabe 1: Quickies (30 Punkte) a) Wird das folgende Programm von einem Java-Übersetzer ohne Beanstandungen übersetzt? Falls nicht, Wir begrüßen Sie zur Klausur zum Kurs 1618 " Einführung in die objektorientierte Programmierung. Beachten Sie: Dies ist NICHT die Klausur zum Kurs 1814. Bitte lesen Sie die folgenden Hinweise sorgfältig

Mehr

II.4.2 Abstrakte Klassen und Interfaces - 1 -

II.4.2 Abstrakte Klassen und Interfaces - 1 - 1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.2 Abstrakte Klassen und Interfaces - 1

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 II Dr. Werner Struckmann 31. März 2014 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr Studiengang:

Mehr

Programmiermethodik 1. Klausur

Programmiermethodik 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

Mehr

Tutoraufgabe 1 (Implementierung eines ADTs):

Tutoraufgabe 1 (Implementierung eines ADTs): Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Tutoriumslösung - Übung (Abgabe.05.0) F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe (Implementierung eines ADTs): Wir spezifizieren den ADT

Mehr

Aufgabe 1 (Programmanalyse, Punkte)

Aufgabe 1 (Programmanalyse, Punkte) 2 Aufgabe 1 (Programmanalyse, 8 + 6 Punkte) a) Geben Sie die Ausgabe des Programms für den Aufruf java M an. Schreiben Sie hierzu jeweils die ausgegebenen Zeichen hinter den Kommentar OUT:. public class

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 5 Objektorientierte Programmierung 22. 05. 2006 Aufgabe 9 (SMS-Eingabe am Handy mit Tries)

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Datenstruktur Liste Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 42 Formale Definition

Mehr

Dies ist eine Probeklausur, die keine formalen Schlüsse auf die Form, die Struktur oder den Inhalt der endgültigen Klausur zulässt.

Dies ist eine Probeklausur, die keine formalen Schlüsse auf die Form, die Struktur oder den Inhalt der endgültigen Klausur zulässt. Thema: Grundlagen Programmierung Dozent: Prof. Dr. Stephan Kleuker Seitennummer: Seite 1 von 12 Studiengang: Informatik Technische Informatik Studiensemester: 1 Datum: 26.11.2018 Bearbeitungszeit: 120

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Generics Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Überblick Generics 2 Generische Klassen 3 Generische Methoden 4

Mehr

Einführung in die Informatik 1

Einführung in die Informatik 1 Einführung in die Informatik 1 Prof. Dr. Harald Räcke, R. Palenta, A. Reuss, S. Schulze Frielinghaus 21.02.2017 Klausur Vorname Nachname Matrikelnummer Unterschrift Füllen Sie die oben angegebenen Felder

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 09: Generics and Comparison Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 /

Mehr

Einführung in die Informatik 1

Einführung in die Informatik 1 Einführung in die Informatik 1 Prof. Dr. Harald Räcke, R. Palenta, A. Reuss, S. Schulze Frielinghaus 18.04.2017 Wiederholungsklausur Vorname Nachname Matrikelnummer Unterschrift Füllen Sie die oben angegebenen

Mehr

Bäume. Martin Wirsing. Ziele. Implementierung von Knoten. Bäume (abstrakt) Standardimplementierungen für Bäume kennen lernen

Bäume. Martin Wirsing. Ziele. Implementierung von Knoten. Bäume (abstrakt) Standardimplementierungen für Bäume kennen lernen 2 Ziele Bäume Standardimplementierungen für Bäume kennen lernen Martin Wirsing in Zusammenarbeit mit Michael Barth, Philipp Meier und Gefei Zhang 02/0 4 Bäume (abstrakt) Implementierung von Knoten Bäume

Mehr

Tutoraufgabe 1 (Implementierung eines ADTs):

Tutoraufgabe 1 (Implementierung eines ADTs): Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Übungsblatt (Abgabe.05.0) F. Corzilius, S. Schupp, T. Ströder Allgemeine Hinweise: Die Hausaufgaben sollen in Gruppen von je bis Studierenden

Mehr

Matrikelnummer:

Matrikelnummer: Übungen zur Informatik A Hauptklausur 20.02.2003 Universität Koblenz-Landau Institut für Informatik WS 2002/3 Prof. Dr. Dietrich Paulus Dr. Manfred Jackel Bitte lösen Sie jede Aufgabe auf dem jeweiligen

Mehr

Institut für Programmierung und Reaktive Systeme 6. Juli Programmieren II. Übungsklausur

Institut für Programmierung und Reaktive Systeme 6. Juli Programmieren II. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 6. Juli 2018 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 27. August

Mehr

Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur

Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 17. Juli 2015 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 7. September

Mehr

Programmiertechnik II Klausur WS 2017/18 Angewandte Informatik Bachelor

Programmiertechnik II Klausur WS 2017/18 Angewandte Informatik Bachelor Programmiertechnik II Klausur WS 2017/18 Angewandte Informatik Bachelor Name Matrikelnummer Aufgabe Punkte Aufgabe Punkte Zwischensumme 1 10 2 8 3 12 4 20 5 8 58 6 14 7 20 8 12 9 16 Summe 120 Note Prof.

Mehr

Technische Universität Braunschweig

Technische Universität Braunschweig Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren II Dr. Werner Struckmann 19. August 2016 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann

Mehr

Beispielprüfung CuP WS 2015/2016

Beispielprü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

Mehr

Die abstrakte Klasse Expression:

Die abstrakte Klasse Expression: Die abstrakte Klasse Expression: Expression abstract evaluate() Add Neg Const 501 Die abstrakte Klasse Expression: Expression abstract evaluate() Add Neg Const Leider (zum Glück?) lässt sich nicht die

Mehr

Bäume. Martin Wirsing. Ziele. Baumknoten. Bäume - 2-dimensionale Listen. Standardimplementierungen für Bäume kennenlernen

Bäume. Martin Wirsing. Ziele. Baumknoten. Bäume - 2-dimensionale Listen. Standardimplementierungen für Bäume kennenlernen 2 Ziele Bäume Standardimplementierungen für Bäume kennenlernen Das Composite-Muster kennenlernen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Piotr Kosiuczenko, Dirk Pattinson 06/03 3 4 Bäume -

Mehr

Prüfung Softwareentwicklung II (IB)

Prüfung Softwareentwicklung II (IB) Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 2 B Sommersemester 2016 Prüfung Softwareentwicklung II (IB) Datum : 11.07.2016, 16:30 Uhr Bearbeitungszeit

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 3 B, IB 3 C Wintersemester 2013/14 Prüfung Softwareentwicklung I (IB) Datum : 03.02.2014, 08:30

Mehr

Klausur Software-Entwicklung März 01

Klausur Software-Entwicklung März 01 Aufgabe 1: minimaler Punktabstand ( 2+5 Punkte ) Matrikelnr : In einem Array punkte sind Koordinaten von Punkten gespeichert. Ergänzen Sie in der Klasse Punkt eine Klassen-Methode (=static Funktion) punktabstand,

Mehr

Allgemeine Informatik II SS :30-13:30 Uhr

Allgemeine Informatik II SS :30-13:30 Uhr TU Darmstadt FB Informatik Prof. J. Fürnkranz Vordiplomsklausur - Lösungsvorschlag Allgemeine Informatik II SS 2005 15.09.2005 11:30-13:30 Uhr Hinweise: Als Hilfsmittel ist nur ein schwarzer oder blauer

Mehr

Interfaces und Generics

Interfaces und Generics Algorithmen und Datenstrukturen Wintersemester 2012/13 21. Vorlesung Interfaces und Generics Jan-Henrik Haunert Lehrstuhl für Informatik I Übersicht Liste und InsertionSort für Punkte für Objekte beliebiger

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

3.1 Reservierte Wörter

3.1 Reservierte Wörter 3.1 Reservierte Wörter int Bezeichner für Basis-Typen; if, else, while Schlüsselwörter aus Programm-Konstrukten; (,), ",, {,},,,; Sonderzeichen. 62 3.2 Was ist ein erlaubter Name? Schritt 1: Angabe der

Mehr

5.14 Generics. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

5.14 Generics. Xiaoyi Jiang Informatik I Grundlagen der Programmierung Motivation für Generics: Containertypen speichern eine Anzahl von Elementen anderer Typen Wie definiert man die Containerklasse ArrayList? In der Definition könnte man als Elementtyp Object angeben maximale

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

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

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

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Übung 3: Die generische Klasse BinärerSuchbaum in Java 1 Datenelemente der Klasse BinaererSuchbaum Das einzige Datenelelement in dieser Klasse ist die Wurzel vom Typ BinaerBaumknoten. Die Klasse BinaerBaumknoten

Mehr

Einführung in die Informatik 2

Einführung in die Informatik 2 Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Lars Hupel, Lars Noschinski, Dr. Jasmin Blanchette Wintersemester 2013/14 Wiederholungsklausur 24. März 2014 Einführung

Mehr

Klausur Programmierung WS 2017/2018

Klausur Programmierung WS 2017/2018 Prof. aa Dr. J. Giesl M. Hark, J. Hensel, D. Korzeniewski Vorname: Klausur Programmierung WS 2017/2018 Nachname: Studiengang (bitte genau einen markieren): Informatik Bachelor Informatik Lehramt (Bachelor)

Mehr