Einführung in das Programmieren Probeklausur Lösungen
|
|
- Sigrid Feld
- vor 6 Jahren
- Abrufe
Transkript
1 Einführung in das Programmieren Probeklausur Lösungen Frederik Kanning
2 Aufgabe 1 b/c) void definiert Methode ohne Rückgabewert return beendet aktuellen Methodenaufruf wenn Rückgabetyp nicht void: legt zusätzlich Rückgabewert fest muss angegeben werden
3 Aufgabe 1 b/c) Beispiel Methode ohne Rückgabe 1 void printnum(int num) { 2 if(num < 0) return; 3 Std.out.println(num); 4 } Methode mit Rückgabe 1 int half(int num) { 2 return num / 2; 3 // Compiler-Fehler; wird niemals erreicht: 4 Std.out.println(num); 5 }
4 Aufgabe 1 d) extends definiert Klasse als Unterklasse von bereits vorhandener Klasse Zugriff auf alle Methoden und Variablen der Oberklasse (außer private) Objekte können in Variablen mit Typ der Oberklasse gespeichert werden Unterklasse hat auch den Typ der Oberklasse ( zuweisungskompatibel ) Methoden mit gleicher Signatur (Name, Parameter) werden ersetzt ersetzte Methoden können mit super weiter aufgerufen werden
5 Aufgabe 1 d) Beispiel Vererbung mit extends 1 class Vogel { 2 int alter; 3 void ruf() { 4 Std.out.println("mein alter ist " + alter); 5 } 6 } 7 8 class Ente extends Vogel { 9 // ersetzt ruf(), Zugriff auf Vogel.alter 10 void ruf() { 11 Std.out.println("quak " + alter); 12 } 13 }
6 Aufgabe 1 d) Fortsetzung Beispiel Verwendung von Ente und Vogel 1 Ente e = new Ente(); 2 // Zuweisung möglich, Ente auch vom Typ Vogel 3 Vogel v = e; 4 // Alter der Ente festlegen 5 e.alter = 42; 6 7 // Ausgabe: quak 42 8 // und nicht mein alter ist 42 9 e.ruf(); // Fehler, nicht jeder Vogel ist eine Ente 12 Ente e2 = new Vogel();
7 Aufgabe 2 1 int a = 2, b = 5; 2 boolean g = false;
8 Aufgabe 2 1 int a = 2, b = 5; 2 boolean g = false; 3 4 // g = false ((1 * 5) == 5) 5 g = g (--a * b == b);
9 Aufgabe 2 1 int a = 2, b = 5; 2 boolean g = false; 3 4 // g = false ((1 * 5) == 5) 5 g = g (--a * b == b); 6 // geändert: g = true, a = 1
10 Aufgabe 2 1 int a = 2, b = 5; 2 boolean g = false; 3 4 // g = false ((1 * 5) == 5) 5 g = g (--a * b == b); 6 // geändert: g = true, a = 1 7 // if(true) b = 5 + (1 + 3) 8 if (g) b += a + 3;
11 Aufgabe 2 1 int a = 2, b = 5; 2 boolean g = false; 3 4 // g = false ((1 * 5) == 5) 5 g = g (--a * b == b); 6 // geändert: g = true, a = 1 7 // if(true) b = 5 + (1 + 3) 8 if (g) b += a + 3; 9 // geändert: b = 9
12 Aufgabe 2 1 int a = 2, b = 5; 2 boolean g = false; 3 4 // g = false ((1 * 5) == 5) 5 g = g (--a * b == b); 6 // geändert: g = true, a = 1 7 // if(true) b = 5 + (1 + 3) 8 if (g) b += a + 3; 9 // geändert: b = a = b;
13 Aufgabe 2 1 int a = 2, b = 5; 2 boolean g = false; 3 4 // g = false ((1 * 5) == 5) 5 g = g (--a * b == b); 6 // geändert: g = true, a = 1 7 // if(true) b = 5 + (1 + 3) 8 if (g) b += a + 3; 9 // geändert: b = a = b; 12 // geändert: a = b = a;
14 Aufgabe 2 1 int a = 2, b = 5; 2 boolean g = false; 3 4 // g = false ((1 * 5) == 5) 5 g = g (--a * b == b); 6 // geändert: g = true, a = 1 7 // if(true) b = 5 + (1 + 3) 8 if (g) b += a + 3; 9 // geändert: b = a = b; 12 // geändert: a = b = a; 15 // da b bereits 9, keine Änderung mehr
15 Aufgabe 2 1 int a = 2, b = 5; 2 boolean g = false; 3 4 // g = false ((1 * 5) == 5) 5 g = g (--a * b == b); 6 // geändert: g = true, a = 1 7 // if(true) b = 5 + (1 + 3) 8 if (g) b += a + 3; 9 // geändert: b = a = b; 12 // geändert: a = b = a; 15 // da b bereits 9, keine Änderung mehr 16 // Ergebnis: a = 9, b = 9, g = true
16 Aufgabe 3 1 int [] vec = {1,2,3,4,5}; 2 for (int i = 3; i < 7; i++) { 3 if (i%2 == 0) continue; 4 vec[i - 2] *= vec[i - 3]; 5 } i i % 2 Anweisung vec[i - 2] *= vec[i - 3]
17 Aufgabe 3 1 int [] vec = {1,2,3,4,5}; 2 for (int i = 3; i < 7; i++) { 3 if (i%2 == 0) continue; 4 vec[i - 2] *= vec[i - 3]; 5 } i i % 2 Anweisung vec[i - 2] *= vec[i - 3] 3 1
18 Aufgabe 3 1 int [] vec = {1,2,3,4,5}; 2 for (int i = 3; i < 7; i++) { 3 if (i%2 == 0) continue; 4 vec[i - 2] *= vec[i - 3]; 5 } i i % 2 Anweisung vec[i - 2] *= vec[i - 3] 3 1 vec[1] = vec[1] * vec[0] //=2 Ergebnis:
19 Aufgabe 3 1 int [] vec = {1,2,3,4,5}; 2 for (int i = 3; i < 7; i++) { 3 if (i%2 == 0) continue; 4 vec[i - 2] *= vec[i - 3]; 5 } i i % 2 Anweisung vec[i - 2] *= vec[i - 3] 3 1 vec[1] = vec[1] * vec[0] //=2 Ergebnis: vec = {1,2,3,4,5}
20 Aufgabe 3 1 int [] vec = {1,2,3,4,5}; 2 for (int i = 3; i < 7; i++) { 3 if (i%2 == 0) continue; 4 vec[i - 2] *= vec[i - 3]; 5 } i i % 2 Anweisung vec[i - 2] *= vec[i - 3] 3 1 vec[1] = vec[1] * vec[0] //=2 Ergebnis: vec = {1,2,3,4,5} 4 0
21 Aufgabe 3 1 int [] vec = {1,2,3,4,5}; 2 for (int i = 3; i < 7; i++) { 3 if (i%2 == 0) continue; 4 vec[i - 2] *= vec[i - 3]; 5 } i i % 2 Anweisung vec[i - 2] *= vec[i - 3] 3 1 vec[1] = vec[1] * vec[0] //=2 Ergebnis: vec = {1,2,3,4,5} 4 0 Array unverändert
22 Aufgabe 3 1 int [] vec = {1,2,3,4,5}; 2 for (int i = 3; i < 7; i++) { 3 if (i%2 == 0) continue; 4 vec[i - 2] *= vec[i - 3]; 5 } i i % 2 Anweisung vec[i - 2] *= vec[i - 3] 3 1 vec[1] = vec[1] * vec[0] //=2 Ergebnis: vec = {1,2,3,4,5} 4 0 Array unverändert 5 1
23 Aufgabe 3 1 int [] vec = {1,2,3,4,5}; 2 for (int i = 3; i < 7; i++) { 3 if (i%2 == 0) continue; 4 vec[i - 2] *= vec[i - 3]; 5 } i i % 2 Anweisung vec[i - 2] *= vec[i - 3] 3 1 vec[1] = vec[1] * vec[0] //=2 Ergebnis: vec = {1,2,3,4,5} 4 0 Array unverändert 5 1 vec[3] = vec[3] * vec[2] //=12 Ergebnis:
24 Aufgabe 3 1 int [] vec = {1,2,3,4,5}; 2 for (int i = 3; i < 7; i++) { 3 if (i%2 == 0) continue; 4 vec[i - 2] *= vec[i - 3]; 5 } i i % 2 Anweisung vec[i - 2] *= vec[i - 3] 3 1 vec[1] = vec[1] * vec[0] //=2 Ergebnis: vec = {1,2,3,4,5} 4 0 Array unverändert 5 1 vec[3] = vec[3] * vec[2] //=12 Ergebnis: vec = {1,2,3,12,5}
25 Aufgabe 3 1 int [] vec = {1,2,3,4,5}; 2 for (int i = 3; i < 7; i++) { 3 if (i%2 == 0) continue; 4 vec[i - 2] *= vec[i - 3]; 5 } i i % 2 Anweisung vec[i - 2] *= vec[i - 3] 3 1 vec[1] = vec[1] * vec[0] //=2 Ergebnis: vec = {1,2,3,4,5} 4 0 Array unverändert 5 1 vec[3] = vec[3] * vec[2] //=12 Ergebnis: vec = {1,2,3,12,5} 6 0
26 Aufgabe 3 1 int [] vec = {1,2,3,4,5}; 2 for (int i = 3; i < 7; i++) { 3 if (i%2 == 0) continue; 4 vec[i - 2] *= vec[i - 3]; 5 } i i % 2 Anweisung vec[i - 2] *= vec[i - 3] 3 1 vec[1] = vec[1] * vec[0] //=2 Ergebnis: vec = {1,2,3,4,5} 4 0 Array unverändert 5 1 vec[3] = vec[3] * vec[2] //=12 Ergebnis: vec = {1,2,3,12,5} 6 0 Array unverändert Endergebnis: vec = {1,2,3,12,5}
27 Aufgabe 4 a) 1 public int quadrate() { 2 Std.out.print("Bitte...: n="); 3 int n = Std.in.readInt() 4 Std.out.print("Die... " n " Quadrat...: "); 5 for (i = 0; i < n; i++); 6 Std.out.print(i*i + " "); 7 }
28 Aufgabe 4 b) 1 public void quadrate() { 2 Std.out.print("Bitte...: n="); 3 int n = Std.in.readInt(); 4 Std.out.print("Die... "+n+" Quadrat...: "); 5 for (int i = 1; i <= n; i++) 6 Std.out.print(i*i + " "); 7 }
29 Aufgabe 5 a) For-Schleife for(int i = 1; i <= n; i++) {... } Äquivalente While-Schleife
30 Aufgabe 5 a) For-Schleife for(int i = 1; i <= n; i++) {... } Äquivalente While-Schleife
31 Aufgabe 5 a) For-Schleife for(int i = 1; i <= n; i++) {... } Äquivalente While-Schleife 1 void zahlen_while(int n) { 2 int i = 1; 3 while(i <= n) { 4 Std.out.println(i); 5 i++; 6 } 7 }
32 Aufgabe 5 b) Lösung 1 void zahlen_rek(int n) { 2 if(n > 0) { 3 zahlen_rek(n - 1); 4 Std.out.println(n); 5 } 6 } Beispiel, n = 3
33 Aufgabe 5 b) Lösung 1 void zahlen_rek(int n) { 2 if(n > 0) { 3 zahlen_rek(n - 1); 4 Std.out.println(n); 5 } 6 } Beispiel, n = 3 zahlen_rek(3)
34 Aufgabe 5 b) Lösung 1 void zahlen_rek(int n) { 2 if(n > 0) { 3 zahlen_rek(n - 1); 4 Std.out.println(n); 5 } 6 } Beispiel, n = 3 zahlen_rek(3) zahlen_rek(2)
35 Aufgabe 5 b) Lösung 1 void zahlen_rek(int n) { 2 if(n > 0) { 3 zahlen_rek(n - 1); 4 Std.out.println(n); 5 } 6 } Beispiel, n = 3 zahlen_rek(3) zahlen_rek(2) zahlen_rek(1)
36 Aufgabe 5 b) Lösung 1 void zahlen_rek(int n) { 2 if(n > 0) { 3 zahlen_rek(n - 1); 4 Std.out.println(n); 5 } 6 } Beispiel, n = 3 zahlen_rek(3) zahlen_rek(2) zahlen_rek(1) zahlen_rek(0) -- Abbruch
37 Aufgabe 5 b) Lösung 1 void zahlen_rek(int n) { 2 if(n > 0) { 3 zahlen_rek(n - 1); 4 Std.out.println(n); 5 } 6 } Beispiel, n = 3 zahlen_rek(3) zahlen_rek(2) zahlen_rek(1) -- println(1) zahlen_rek(0) -- Abbruch
38 Aufgabe 5 b) Lösung 1 void zahlen_rek(int n) { 2 if(n > 0) { 3 zahlen_rek(n - 1); 4 Std.out.println(n); 5 } 6 } Beispiel, n = 3 zahlen_rek(3) zahlen_rek(2) -- println(2) zahlen_rek(1) -- println(1) zahlen_rek(0) -- Abbruch
39 Aufgabe 5 b) Lösung 1 void zahlen_rek(int n) { 2 if(n > 0) { 3 zahlen_rek(n - 1); 4 Std.out.println(n); 5 } 6 } Beispiel, n = 3 zahlen_rek(3) -- println(3) zahlen_rek(2) -- println(2) zahlen_rek(1) -- println(1) zahlen_rek(0) -- Abbruch
40 Aufgabe 6 a) Fibonacci-Zahlen f 0 = 0, f 1 = 1, f n = f n 1 + f n 2
41 Aufgabe 6 a) Fibonacci-Zahlen f 0 = 0, f 1 = 1, f n = f n 1 + f n 2 Berechnung von f 6 n f n
42 Aufgabe 6 a) Fibonacci-Zahlen f 0 = 0, f 1 = 1, f n = f n 1 + f n 2 Berechnung von f 6 n f n
43 Aufgabe 6 a) Fibonacci-Zahlen f 0 = 0, f 1 = 1, f n = f n 1 + f n 2 Berechnung von f 6 n f n
44 Aufgabe 6 b) Fibonacci-Zahlen f 0 = 0, f 1 = 1, f n = f n 1 + f n 2 Rekursive Lösung 1 int fib_rek(int n) { 2 if(n == 0) 3 return 0; 4 if(n == 1) 5 return 1; 6 return fib rek(n-1) + fib rek(n-2); 7 }
45 Aufgabe 6 b) Fibonacci-Zahlen f 0 = 0, f 1 = 1, f n = f n 1 + f n 2 Rekursive Lösung 1 int fib_rek(int n) { 2 if(n == 0) 3 return 0; 4 if(n == 1) 5 return 1; 6 return fib rek(n-1) + fib rek(n-2); 7 }
46 Aufgabe 6 c) Iterative Lösung 1 int fib_it(int n) {
47 Aufgabe 6 c) Iterative Lösung 1 int fib_it(int n) { 2 int a = 0; // n int b = 1; // n - 1
48 Aufgabe 6 c) Iterative Lösung 1 int fib_it(int n) { 2 int a = 0; // n int b = 1; // n for(int i = 1; i <= n; i++) { 5 int t = b; // b zwischenspeichern 6 b = a + b; // f n+1 = f n + f n 1
49 Aufgabe 6 c) Iterative Lösung 1 int fib_it(int n) { 2 int a = 0; // n int b = 1; // n for(int i = 1; i <= n; i++) { 5 int t = b; // b zwischenspeichern 6 b = a + b; // f n+1 = f n + f n 1 7 a = t; 8 } 9 return a; 10 }
50 Aufgabe 7 Mögliches Verfahren Integer: direkter Zugriff auf Ziffern nicht möglich
51 Aufgabe 7 Mögliches Verfahren Integer: direkter Zugriff auf Ziffern nicht möglich letzte Ziffer einer Zahl?
52 Aufgabe 7 Mögliches Verfahren Integer: direkter Zugriff auf Ziffern nicht möglich letzte Ziffer einer Zahl? Rest von Divison durch 10, Beispiel: 42 : 10 = 4, Rest 2
53 Aufgabe 7 Mögliches Verfahren Integer: direkter Zugriff auf Ziffern nicht möglich letzte Ziffer einer Zahl? Rest von Divison durch 10, Beispiel: 42 : 10 = 4, Rest 2 in Java: int rest = 42 % 10 (Modulo-Operator)
54 Aufgabe 7 Mögliches Verfahren Integer: direkter Zugriff auf Ziffern nicht möglich letzte Ziffer einer Zahl? Rest von Divison durch 10, Beispiel: 42 : 10 = 4, Rest 2 in Java: int rest = 42 % 10 (Modulo-Operator) immer die zu addierende Ziffer zur letzten Stelle machen
55 Aufgabe 7 Mögliches Verfahren Integer: direkter Zugriff auf Ziffern nicht möglich letzte Ziffer einer Zahl? Rest von Divison durch 10, Beispiel: 42 : 10 = 4, Rest 2 in Java: int rest = 42 % 10 (Modulo-Operator) immer die zu addierende Ziffer zur letzten Stelle machen mittels ganzzahliger Division durch 1, 10, , bis alle Stellen verrechnet
56 Aufgabe 7 Mögliches Verfahren Integer: direkter Zugriff auf Ziffern nicht möglich letzte Ziffer einer Zahl? Rest von Divison durch 10, Beispiel: 42 : 10 = 4, Rest 2 in Java: int rest = 42 % 10 (Modulo-Operator) immer die zu addierende Ziffer zur letzten Stelle machen mittels ganzzahliger Division durch 1, 10, , bis alle Stellen verrechnet ist der Fall, wenn Division nur noch Null ergibt
57 Aufgabe 7 Mögliches Verfahren Integer: direkter Zugriff auf Ziffern nicht möglich letzte Ziffer einer Zahl? Rest von Divison durch 10, Beispiel: 42 : 10 = 4, Rest 2 in Java: int rest = 42 % 10 (Modulo-Operator) immer die zu addierende Ziffer zur letzten Stelle machen mittels ganzzahliger Division durch 1, 10, , bis alle Stellen verrechnet ist der Fall, wenn Division nur noch Null ergibt Beispiel: Quersumme von a = 2634
58 Aufgabe 7 Mögliches Verfahren Integer: direkter Zugriff auf Ziffern nicht möglich letzte Ziffer einer Zahl? Rest von Divison durch 10, Beispiel: 42 : 10 = 4, Rest 2 in Java: int rest = 42 % 10 (Modulo-Operator) immer die zu addierende Ziffer zur letzten Stelle machen mittels ganzzahliger Division durch 1, 10, , bis alle Stellen verrechnet ist der Fall, wenn Division nur noch Null ergibt Beispiel: Quersumme von a = 2634 a : 1 = 2634, 2634 % 10 = 4 Summe: 4
59 Aufgabe 7 Mögliches Verfahren Integer: direkter Zugriff auf Ziffern nicht möglich letzte Ziffer einer Zahl? Rest von Divison durch 10, Beispiel: 42 : 10 = 4, Rest 2 in Java: int rest = 42 % 10 (Modulo-Operator) immer die zu addierende Ziffer zur letzten Stelle machen mittels ganzzahliger Division durch 1, 10, , bis alle Stellen verrechnet ist der Fall, wenn Division nur noch Null ergibt Beispiel: Quersumme von a = 2634 a : 10 = 263, 263 % 10 = 3 Summe: 4 + 3
60 Aufgabe 7 Mögliches Verfahren Integer: direkter Zugriff auf Ziffern nicht möglich letzte Ziffer einer Zahl? Rest von Divison durch 10, Beispiel: 42 : 10 = 4, Rest 2 in Java: int rest = 42 % 10 (Modulo-Operator) immer die zu addierende Ziffer zur letzten Stelle machen mittels ganzzahliger Division durch 1, 10, , bis alle Stellen verrechnet ist der Fall, wenn Division nur noch Null ergibt Beispiel: Quersumme von a = 2634 a : 100 = 26, 26 % 10 = 6 Summe:
61 Aufgabe 7 Mögliches Verfahren Integer: direkter Zugriff auf Ziffern nicht möglich letzte Ziffer einer Zahl? Rest von Divison durch 10, Beispiel: 42 : 10 = 4, Rest 2 in Java: int rest = 42 % 10 (Modulo-Operator) immer die zu addierende Ziffer zur letzten Stelle machen mittels ganzzahliger Division durch 1, 10, , bis alle Stellen verrechnet ist der Fall, wenn Division nur noch Null ergibt Beispiel: Quersumme von a = 2634 a : 1000 = 2, 2 % 10 = 2 Summe:
62 Aufgabe 7 Mögliches Verfahren Integer: direkter Zugriff auf Ziffern nicht möglich letzte Ziffer einer Zahl? Rest von Divison durch 10, Beispiel: 42 : 10 = 4, Rest 2 in Java: int rest = 42 % 10 (Modulo-Operator) immer die zu addierende Ziffer zur letzten Stelle machen mittels ganzzahliger Division durch 1, 10, , bis alle Stellen verrechnet ist der Fall, wenn Division nur noch Null ergibt Beispiel: Quersumme von a = 2634 a : = 0, Abbruch Summe: = 15
63 Aufgabe 7 Code 1 int quersumme(int n) {
64 Aufgabe 7 Code 1 int quersumme(int n) { 2 int sum = 0;
65 Aufgabe 7 Code 1 int quersumme(int n) { 2 int sum = 0; 3 while(n > 0) {
66 Aufgabe 7 Code 1 int quersumme(int n) { 2 int sum = 0; 3 while(n > 0) { 4 sum += n % 10;
67 Aufgabe 7 Code 1 int quersumme(int n) { 2 int sum = 0; 3 while(n > 0) { 4 sum += n % 10; 5 n /= 10; 6 }
68 Aufgabe 7 Code 1 int quersumme(int n) { 2 int sum = 0; 3 while(n > 0) { 4 sum += n % 10; 5 n /= 10; 6 } 7 return sum; 8 }
69 Aufgabe 8 a) Ausgabe: Erzeuge A- Objekt Erzeuge A- Objekt Erzeuge B- Objekt Erzeuge A- Objekt Erzeuge B- Objekt Erzeuge C- Objekt
70 Aufgabe 8 a) Erläuterung I A a = new A(1); ruft Konstruktor von A auf, Ausgabe Erzeuge A- Objekt setzt Objektvariable x auf 1 Konstruktoren haben denselben Namen wie ihre Klasse und keinen Rückgabetyp (auch kein void!)
71 Aufgabe 8 a) Erläuterung I A a = new A(1); ruft Konstruktor von A auf, Ausgabe Erzeuge A- Objekt setzt Objektvariable x auf 1 Konstruktoren haben denselben Namen wie ihre Klasse und keinen Rückgabetyp (auch kein void!) B b = new B(0); ruft Konstruktor von B auf da B von A abgeleitet, wird durch super(x); zuerst Konstruktor von A aufgerufen Ausgabe: Erzeuge A- Objekt Erzeuge B- Objekt
72 Aufgabe 8 a) Erläuterung II C c = new C(5); ruft Konstruktor von C auf da C von B, und B von A abgeleitet, werden analog die Konstruktoren A, B, C nacheinander aufgerufen Verkettung über beliebig viele Vererbungsstufen möglich Ausgabe: Erzeuge A- Objekt Erzeuge B- Objekt Erzeuge C- Objekt
73 Aufgabe 8 a) Erläuterung III b.foo(50); B definiert keine Methode foo(int x) daher wurde A.foo vererbt und wird jetzt ausgeführt: zwei verschachtelte For-Schleifen, jeweils n mal Methode berechnet daher effektiv x = x + n*n Ausgabe: 2500
74 Aufgabe 8 a) Erläuterung IV c.foo(50); foo(int x) wurde in Klasse C neu definiert zählt Objektvariable x so lange runter, bis x-- < 0 Post-Decrement: gibt erst aktuellen Wert zurück und zählt dann runter (bei --x genau umgekehrt) -1 erster Wert, der Bedingung nicht mehr erfüllt danach wird noch einmal runtergezählt: x hat nach Schleife den Wert -2 Ausgabe: -2
75 Aufgabe 8 a) Erläuterung V 1 public static void increment(int y) { 2 y++; 3 } 4 int y = 5; 5 increment(y); b.increment(y);
76 Aufgabe 8 a) Erläuterung V 1 public static void increment(int y) { 2 y++; 3 } 4 int y = 5; 5 increment(y); b.increment(y); zählt die lokale Variable y innerhalb der Methode foo() hoch beide Variablen heißen gleich, existieren aber getrennt voneinander Änderung wirkt sich nicht auf das y in TestABC.main aus! einzige Verbindung: beim Aufruf wird der Wert von main-y nach foo-y kopiert Ausgabe: 5
77 Aufgabe 8 b) B.increment greift nicht auf nicht-statische Methoden oder Variablen ihrer Klasse zu kann daher als einzige Methode statisch deklariert werden
78 Aufgabe 8 b) B.increment greift nicht auf nicht-statische Methoden oder Variablen ihrer Klasse zu kann daher als einzige Methode statisch deklariert werden Achtung: Zugriffe auf nicht-statische Teile der Klasse, die sich auf ein Objekt beziehen, sind erlaubt:
79 Aufgabe 8 b) Beispiel B.increment greift nicht auf nicht-statische Methoden oder Variablen ihrer Klasse zu kann daher als einzige Methode statisch deklariert werden Achtung: Zugriffe auf nicht-statische Teile der Klasse, die sich auf ein Objekt beziehen, sind erlaubt: 1 class X { 2 int k; 3 static void f() { 4 // nicht erlaubt: k = 42; 5 // aber: 6 X x = new X(); 7 x.k = 42; 8 } 9 }
80 Aufgabe 8 b) statisch vs. nicht-statisch I
81 Aufgabe 8 b) statisch vs. nicht-statisch I nicht-statische Methoden (und Variablen) gehören zu einem Objekt
82 Aufgabe 8 b) statisch vs. nicht-statisch I nicht-statische Methoden (und Variablen) gehören zu einem Objekt können nur mit einem Objekt verwendet werden
83 Aufgabe 8 b) statisch vs. nicht-statisch I nicht-statische Methoden (und Variablen) gehören zu einem Objekt können nur mit einem Objekt verwendet werden Achtung: in nicht-statischen Methoden existiert immer ein Objekt, this
84 Aufgabe 8 b) statisch vs. nicht-statisch I nicht-statische Methoden (und Variablen) gehören zu einem Objekt können nur mit einem Objekt verwendet werden Achtung: in nicht-statischen Methoden existiert immer ein Objekt, this statische Methoden und Variablen sind lediglich Klassengebunden
85 Aufgabe 8 b) statisch vs. nicht-statisch I nicht-statische Methoden (und Variablen) gehören zu einem Objekt können nur mit einem Objekt verwendet werden Achtung: in nicht-statischen Methoden existiert immer ein Objekt, this statische Methoden und Variablen sind lediglich Klassengebunden existieren automatisch genau einmal pro Klasse
86 Aufgabe 8 b) statisch vs. nicht-statisch I nicht-statische Methoden (und Variablen) gehören zu einem Objekt können nur mit einem Objekt verwendet werden Achtung: in nicht-statischen Methoden existiert immer ein Objekt, this statische Methoden und Variablen sind lediglich Klassengebunden existieren automatisch genau einmal pro Klasse sind ohne Objekt benutzbar
87 Aufgabe 8 b) statisch vs. nicht-statisch II Beispiel 1 // f() statisch; wird an der Klasse aufgerufen 2 X.f();
88 Aufgabe 8 b) statisch vs. nicht-statisch II Beispiel 1 // f() statisch; wird an der Klasse aufgerufen 2 X.f(); 3 4 // k ist nicht statisch 5 X y = new X(); 6 //... 7 y.k = 73;
89 Aufgabe 8 b) statisch vs. nicht-statisch II Beispiel 1 // f() statisch; wird an der Klasse aufgerufen 2 X.f(); 3 4 // k ist nicht statisch 5 X y = new X(); 6 //... 7 y.k = 73; 8 9 // auch zulässig, aber zu vermeiden 10 y.f();
90 Aufgabe 8 b) this this ist immer das aktuelle Objekt
91 Aufgabe 8 b) this Beispiel this ist immer das aktuelle Objekt 1 class X { 2 //... 3 void g() { 4 this.k = 23; 5 // oder, wenn k nicht auch lokal 6 // innerhalb von g() definiert: 7 k = 23; 8 } 9 }
92 Aufgabe 8 b) this Beispiel this ist immer das aktuelle Objekt 1 class X { 2 //... 3 void g() { 4 this.k = 23; 5 // oder, wenn k nicht auch lokal 6 // innerhalb von g() definiert: 7 k = 23; 8 } 9 } 10 X x1 = new X(), x2 = new X();
93 Aufgabe 8 b) this Beispiel this ist immer das aktuelle Objekt 1 class X { 2 //... 3 void g() { 4 this.k = 23; 5 // oder, wenn k nicht auch lokal 6 // innerhalb von g() definiert: 7 k = 23; 8 } 9 } 10 X x1 = new X(), x2 = new X(); 11 x1.g(); // this ist hier x1
94 Aufgabe 8 b) this Beispiel this ist immer das aktuelle Objekt 1 class X { 2 //... 3 void g() { 4 this.k = 23; 5 // oder, wenn k nicht auch lokal 6 // innerhalb von g() definiert: 7 k = 23; 8 } 9 } 10 X x1 = new X(), x2 = new X(); 11 x1.g(); // this ist hier x1 12 x2.g(); // hier this = x2
95 Aufgabe 9 I 1 public double area() { 2 return Math.PI * r * r; 3 } 4 5 public double perimeter() { 6 return 2 * Math.PI * r; 7 } 8 9 public double diameter() { 10 return 2 * r; 11 }
96 Aufgabe 9 II 1 public boolean overlap(circle that) { 2 return Math.sqrt ( 3 (this.x - that.x) * (this.x - that.x) 4 + (this.y - that.y) * (this.y - that.y) 5 ) <= this.r + that.r; 6 } 7 8 public double distance(circle that) { 9 if (overlap(that)) 10 return 0; 11 return Math.sqrt ( 12 (this.x - that.x) * (this.x - that.x) 13 + (this.y - that.y) * (this.y - that.y) 14 ) - this.r - that.r; 15 }
97 Aufgabe 9 III 1 public void draw(turtle t) { 2 double b = 2*r * Math.sin(Math.PI / 2 / 180); 3 t.setposition(x, y); 4 t.lt(90); 5 t.fd(r); 6 t.rt(90); 7 t.pd(); 8 for (int i = 0; i < 360; i++) { 9 t.rt(1); 10 t.fd(b); 11 } 12 t.pu(); 13 }
98 Aufgabe 10 1 private Color c; 2 // Konstruktor 3 public ColoredCircle(double x, double y, 4 double r, Color c) { 5 // Wichtig: Oberklassen-Konstruktor vor 6 // allem anderen aufrufen, sonst Fehler 7 super(x, y, r); 8 // Farbe speichern 9 this.c = c; 10 } 11 // Methode aus Oberklasse überschreiben 12 public void draw(turtle t) { 13 t.setpencolor(c); 14 // überschriebene Methode aufrufen 15 super.draw(t); 16 }
99 Fragen bis hierhin?
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
MehrObjektorientierung (OO)
Objektorientierung (OO) Objekte haben Zustände (oder Eigenschaften, Attribute) und Verhalten Zustände: Objektvariablen (in Java auch fields) Verhalten (oder Aktionen): Methoden (methods, Funktionen) members
MehrKapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt
MehrVorkurs 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
MehrInstitut 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
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/
MehrBeispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung
Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]
MehrInstitut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen
Mehrfloat: Fließkommazahl nach IEEE 754 Standard mit 32 bit
Primitive Datentypen Fließkommazahlen float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Vorzeichen Exponent 8 bit Mantisse 23 bit double: Fließkommazahl nach IEEE 754 Standard mit 64 bit Vorzeichen
MehrTag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme)
Tag 5 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Methoden Deklaration
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)
MehrJava Zusammenfassung. Basisdatentypen ganzzahlig: Byte, Short, Integer, Long Fließkomma: Float, Double Zeichen: Character Wahrheitswerte: Boolean
Java Zusammenfassung Martin Zettwitz, Otto-von-Guericke Universität Magdeburg Standardprogramm - Einstieg/Initialisierung in der main() Funktion - Hier(Basic/Start) die Variablen deklarieren, Methoden
MehrPolymorphie. 15. Java Objektorientierung II
432 Polymorphie 15. Java Objektorientierung II Objektorientierung: Verschiedene Aspekte 433 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen zuweisen
MehrJAVA - Methoden - Rekursion
Übungen Informatik I JAVA - Methoden - Rekursion http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 1 Methoden Methoden sind eine Zusammenfassung von Deklarationen und Anweisungen
MehrPolymorphie. 15. Java Objektorientierung II
446 Polymorphie 15. Java Objektorientierung II Objektorientierung: Verschiedene Aspekte 447 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen zuweisen
MehrJavakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren
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
MehrAlgorithmen und Datenstrukturen 07
(7. Juni 2012) 1 Besprechung Blatt 6 Fragen 2 Referenzen Referenzsemantik 3 Vererbung Allgemein abstract Interfaces Vererbung in UML 4 Vorbereitung Blatt 7 Anmerkungen Fragen Fragen zu Blatt 6? Referenzsemantik
Mehr2 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
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
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)
MehrListing 1: Cowboy. Listing 2: Woody
Musterlösung Test 3 Aufgabe 1: Cowboy Listing 1: Cowboy class Cowboy { public String rope ( Cowboy that ) { if ( this == that ) { return exclaim (); 5 else { return " Caught "; public String exclaim ()
MehrTechnische 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 6. März 2013 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr Studiengang:
MehrMethoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
MehrEinstieg in die Informatik mit Java
1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren
MehrTag 8 Repetitorium Informatik (Java)
Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium
MehrUniversität Karlsruhe (TH)
Universität Karlsruhe (TH) Lehrstuhl für Programmierparadigmen Fortgeschr. Objektorientierung SS 2009 http://pp.info.uni-karlsruhe.de/ Dozent: Prof. Dr.-Ing. G. Snelting snelting@ipd.info.uni-karlsruhe.de
MehrFragen zur OOP in Java
- 1 - Inhalt Was bedeutet OOP?... 2 Was versteht man unter einer Klasse?... 2 Wie nennt man die Mitglieder einer Klasse?... 2 Wie erzeugt man Objekte?... 2 Wie greife ich auf Member einer Klasse zu?...
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrPROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy
PROCESSING EINE ZUSAMMENFASSUNG Created by Michael Kirsch & Beat Rossmy INHALT 1. Typen und Operatoren 1. Datentypen 3. Klassen und Objekte 1. Klassen und Objekte 2. Operatoren 2. Konstruktor 3. Typkonversion
MehrKurzskript zur Veranstaltung Programmieren Prof. Dipl.-Ing. Jirka R. Dell'Oro-Friedl 2012
Kurzskript zur Veranstaltung Programmieren Prof. Dipl.-Ing. Jirka R. Dell'Oro-Friedl 2012 Kurzskript Programmieren 2012 Prof. Dipl.-Ing. Dell'Oro-Friedl, HFU Seite 1/10 Datentypen, Konstanten, Variablen,
MehrEinstieg in die Informatik mit Java
1 / 26 Einstieg in die Informatik mit Java Methoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Methoden 2 Methodendefinition 3 Parameterübergabe, Methodenaufruf
MehrJAVA - 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
Mehr1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH
1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch
MehrJAVA 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
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
MehrKapitel 8. Programmierkurs. Methoden. 8.1 Methoden
Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08
MehrSilke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: hat Farbe Hubraum Tank kann man Gas geben Bremsen Hoch
MehrAuD-Tafelübung T-B5b
6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit
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
MehrEinstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick 2 Verbundanweisung 3 Bedingte Anweisung 4 Auswahlanweisung
MehrVererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1
MehrJava Vererbung. Inhalt
Java Vererbung Inhalt 1 Zielsetzung... 2 1.1 Bewertung... 2 2 Grundlagen der Vererbung... 2 2.1 Super und Subklassen... 2 3 Überladen von Methoden... 4 3.1 Unterschiedliche Parameter... 4 3.2 Gleiche Parameter
MehrInstitut 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
MehrJava Methoden. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 1. Februar 2017
Informatik 1 für Nebenfachstudierende Grundmodul Java Methoden Kai-Steffen Hielscher Folienversion: 1. Februar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht Kapitel 3 - Java
MehrNeben 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
MehrPropädeutikum Programmierung in der Bioinformatik
Propädeutikum Programmierung in der Bioinformatik Java Klassen und Objekte Thomas Mauermeier 27.11.2018 Ludwig-Maximilians-Universität München Rückblick Imperative Programmierung Variablen Fallunterscheidungen
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen
MehrKlassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt
Klassen und Objekte Klassen sind Vorlagen für Objekte. Objekte haben Attribute Konstruktoren Methoden Aus einer Klasse kann man beliebig viele Objekte herstellen. Attribute bestimmen die Eigenschaften
Mehr4. Vererbung Die Klasse Object. Die Klasse Object
4. Vererbung Die Klasse Object Die Klasse Object Alle Klassen ohne explizit deklarierte Superklasse haben die Klasse Object als Superklasse. Object gehört zum Paket java.lang. Object verfügt über einige
MehrKlassenvariablen, Klassenmethoden
Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden
MehrTafelübung 07 Algorithmen und Datenstrukturen
Tafelübung 07 Algorithmen und Datenstrukturen Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Vererbung Grundlagen Abstrakte
MehrAlgorithmen und Programmierung II
Algorithmen und Programmierung II Vererbung Prof. Dr. Margarita Esponda SS 2012 1 Imperative Grundbestandteile Parameterübergabe String-Klasse Array-Klasse Konzepte objektorientierter Programmierung Vererbung
MehrGrundlagen der Objektorientierten Programmierung - Methoden -
Methoden In ihrem formalen Aufbau entsprechen Java-Methoden den Funktionen in C und C++. Eine Methode dient dazu, eine häufig benötigte Folge von Anweisungen unter einem Namen zusammenzufassen und zum
MehrElementare Konzepte von
Elementare Konzepte von Programmiersprachen Teil 2: Anweisungen (Statements) Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Anweisungen (statements) in Java Berechnung (expression statement)
MehrOrganisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download
Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches
MehrEinführung in C# Teil 3. Matthias Nübling
Einführung in C# Teil 3 Matthias Nübling Vorausgesetzte Grundkenntnisse Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
MehrMethoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public
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
MehrErste Java-Programme (Java Wiederholung & Vererbung)
Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Java Wiederholung & ) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
MehrSilke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode
Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute
MehrVorausgesetzte Grundkenntnisse. Inhalt. Klassenhierarchie und Vererbung. Vererbung. Klassenhierarchie und Vererbung. Einführung in C# Teil 3
Vorausgesetzte Grundkenntnisse Einführung in C# Teil 3 Matthias Nübling Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
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
MehrDies 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
MehrProgrammieren in Java
Einführung in die (imperative) Programmierung: Methoden 2 Wiederholung: if-else Anweisung int number =?; if ( BEDINGUNG ) { if (number > 0) { SATZ; BLOCK System.out.println("Größer 0"); else { SATZ; BLOCK
MehrKonstruktor. public Rational(int i) { Zaehler = i; Nenner = 1; }
Konstruktor spezielle Methode zum Initialisieren bei Erzeugen eines Objekts mit new trägt Namen der Klasse hat keinen Rückgabetyp keiner angegeben: Compiler erzeugt Standard-Konstruktor (analog: Attribute
MehrVererbung, Polymorphie
Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08
Mehr1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster
1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster Aufgabe: Bearbeitungszeit: ca. 1/4 Std) Schreiben Sie ein "objektorientiertes" Programm ("CuB_05_1") für das Sammeln der Körner. Aufgabenbeschreibung:
MehrEinführung in die Programmierung für NF. Übung
Einführung in die Programmierung für NF Übung 03 06.11.2013 Inhalt Methoden in Java Gültigkeitsbereiche EBNF Einführung in die Programmierung für NF Übung 03 2 Methoden in Java In Methoden werden Ausdrücke
MehrName:... Matr.-Nr... Bearbeitungszeit: 120 Minuten
Fakultät IV Elektrotechnik/Informatik Klausur Einführung in die Informatik II für Elektrotechniker Name:... Matr.-Nr.... Bearbeitungszeit: 10 Minuten Bewertung (bitte offenlassen : ) Aufgabe Punkte Erreichte
MehrEinführung in die Programmierung Blockkurs Java
Michael Bader 8. 12. April 2002 Dienstag Inhaltsübersicht Variablen: Membervariablen und lokale Variablen Referenzvariablen: Arrays und Objekte anlegen Definition von Funktionen: Methoden Konstruktoren
MehrVorkurs Informatik WiSe 16/17
Institut für Programmierung Java Objektorientierte Programmierung Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12 bis 14.10.2016 Technische Universität Braunschweig, IPS Überblick Warum OOP? OOP
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
MehrKapitel 10. Verweise und Referenzen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 10 Verweise und Referenzen Inhalt von Kapitel 10 Verweise und Referenzen 10.1 Das Schlüsselwort this Definition Verwendungszweck Klassenmethoden EINSCHUB: Musterlösung zu Übung 4.1 10.2 Objektreferenzen
Mehr2.13 Vererbung. Rainer Feldmann Universität Paderborn Technische Informatik für Ingenieure (TIFI) WS 09/ Article
2.13 Vererbung Klassen modellieren Objekte der realen Welt. Diese sind oft hierarchisch gegliedert. Beispiel: Ein Verlag bietet Bücher und CDs an. Beide Medien sind Artikel des Verlages. Book author: String
MehrUniversität zu Lübeck Institut für Telematik. Prof. Dr. Stefan Fischer
Universität zu Lübeck Institut für Telematik Prof. Dr. Stefan Fischer Probeklausur im Fach Programmieren Hinweise zur Bearbeitung: Es sind keinerlei Hilfsmittel zugelassen. Diese Klausur umfasst 18 Seiten.
MehrEinführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrC++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
MehrKleines Java-Glossar zum Praktikum Einführung in das Programmieren
Kleines Java-Glossar zum Praktikum Einführung in das Programmieren Elmar Zander, Philipp Kuhn 15. Mai 2017 Die Erläuterungen in diesem Glossar sind extra einfach gehalten und sollen nur einen schnellen
MehrPraxis der Programmierung
Klassenvariablen und -methoden, Vererbung Institut für Informatik und Computational Science Henning Bordihn 1 Klassenvariablen und -methoden 2 Klassenvariablen und -methoden werden mit dem Schlüsselwort
MehrKlausur Grundlagen der Programmierung
Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel
MehrSchlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:
Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -
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
Mehrpublic static void main(string[] args) {
Lösungen 55 Lösungen Aufgabe 1: Die Variable y enthält den Wert 1.0. Entsprechend den Prioritäten der beteiligten Operatoren / und = wird erst die Division und anschließend die Zuweisung durchgeführt.
MehrSoftware Entwicklung 1. Rekursion. Beispiel: Fibonacci-Folge I. Motivation. Annette Bieniusa / Arnd Poetzsch-Heffter
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Rekursion Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 27 Motivation Beispiel: Fibonacci-Folge
MehrJava Grundlagen 2 - OOP
Institut für Programmierung und Reaktive Systeme Java Grundlagen 2 - OOP Markus Reschke 20.08.2014 Eine kleine Geschichte 1 Spezifikation Es sollen Formen in einer GUI angezeigt werden: Ein Quadrat, ein
MehrVorkurs Informatik WiSe 17/18
Institut für Programmierung Java Objektorientierte Programmierung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 11. bis 13.10.2017 Technische Universität Braunschweig, IPS Warum OOP? OOP mit Java
MehrTeil 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
MehrCoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.
CoMa 04 Java II Paul Boeck Humboldt Universität zu Berlin Institut für Mathematik 7. Mai 2013 Paul Boeck CoMa 04 7. Mai 2013 1 / 13 Verzweigungen Wenn-Dann Beziehungen if (BEDINGUNG) { else if (BEDINGUNG2)
MehrTücken der dynamischen Bindung
Kapitel 3 Tücken der dynamischen Bindung 3.1 this-pointer Im Methodenaufruf o.m(x) ist o Bezugsobjekt wird als zusätzlicher Parameter übergeben: m(o,x) kann im Rumpf von m als this (bzw self) angesprochen
MehrAbgabe: 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,
MehrEinstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte
Mehr1 Klassen und Objekte
1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente
MehrFAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2007/2008 Praktikum Grundlagen der Programmierung Lösungsvorschläge zu Blatt 8 F. Forster, T.
MehrFragenkatalog ESOP WS 16/17
Fragenkatalog ESOP WS 16/17 1. Einleitung 1.1 Was ist Programmieren? 1.2 Was ist ein Programm? 1.3 Welche Schritte werden bei der Programmerstellung benötigt? 1.4 Was ist ein Algorithmus? 1.5 Was sind
MehrProgrammiertechnik Ü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
MehrEinstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung
MehrProgrammierung WS17/18 Lösung - Präsenzübung 09./
Prof. aa Dr. J. Giesl M. Hark, J. Hensel, D. Korzeniewski Aufgabe 1 (Programmanalyse): (11.5 + 4.5 = 16 Punkte) a) Geben Sie die Ausgabe des Programms für den Aufruf java M an. Tragen Sie hierzu jeweils
Mehr