• Keine Ergebnisse gefunden

Informatik 2 für Regenerative Energien Probeklausur vom 13. Juni 2011: Lösungen

N/A
N/A
Protected

Academic year: 2021

Aktie "Informatik 2 für Regenerative Energien Probeklausur vom 13. Juni 2011: Lösungen"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Informatik 2 für Regenerative Energien

Probeklausur vom 13. Juni 2011: Lösungen

Jörn Loviscach

Versionsstand: 30. Juni 2015, 19:42

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Germany License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/de/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

1. Anmerkung: Dies ist eine Anwendung des Entwurfsmusters „Visitor“.

c1

c1jl: Zeile 84: kein Semikolon Zeile 87: double statt int

Zeile korrekter Programmtext

7 Anlagevermögen v = new Anlagevermögen();

24 abstract class Bilanzposten (wegen der abstrakten Methode) 26 protected double wert;

(wegen des Zugriffs in den Kindklassen) 28 public double GibWert()

30 return wert;

34 this.wert = wert;

44 public override void NehmeAn(Buchhaltungsjob job)

64 List<Bilanzposten> anlagen = new List<Bilanzposten>();

(könnte man auch im Konstruktor machen)

71 for (int i = 0; i < anlagen.Count; i++) 73 anlagen[i].NehmeAn(job);

80 public abstract void Bearbeite(Gebäude g);

81 public abstract void Bearbeite(Fahrzeug f);

84 class Bilanzsummierer : Buchhaltungsjob 87 public double GibResultat()

(sonst klappt der Aufruf aus dem Hauptfenster nicht) 109 f.SetzeWert(0.75 * f.GibWert());

2. a ist 1000000, b ist 1 und c ist 5000.

3. Zum Beispiel:

public Gebäude()

: base (TimeSpan.FromDays(10.0*365.0)) // oder eine andere Dauer {

wert = 1000000.0;

}

1

(2)

2

Oder dem Konstruktor von Gebäude eine TimeSpan übergeben.

4. Zum Beispiel:

if (wert < 0.0) {

throw new ApplicationException("negativer Wert verboten");

}

5. int summiereDaten(string dateiname) {

string[] s = System.IO.File.ReadAllLines(dateiname);

int summe = 0;

for (int i = 0; i < s.Length; i++) {

summe += int.Parse(s[i]);

}

return summe;

}

6. A x = new A();

A.e(); // statische Methode!

A y = new B();

int z = 42; // d nimmt nicht double double w = y.d(z);

7. Zum Beispiel so:

messungen.Sort((x, y) => -x.Zeit.CompareTo(y.Zeit));

double ergebnis = messungen[0].Wert;

Oder auch so:

DateTime zeit = messungen[0].Zeit;

double wert = messungen[0].Wert;

for(int i = 1; i < messungen.Count; i++) {

if(messungen[i].Zeit > zeit) {

zeit = messungen[i].Zeit;

wert = messungen[i].Wert;

} }

// Das Ergebnis steht nun in der Variable wert.

8. Dies wären schon fünf: File.ReadAllLines , DateTime.Now ,

Canvas.SetLeft , Math.Sin , TimeSpan.FromSeconds

Referenzen

ÄHNLICHE DOKUMENTE

Schreiben Sie eine öffentliche Methode GibSchwierigeWörter für die (korrigierte) Klasse Wörterbuch im Anhang5. Diese Methode soll einen string liefern, der alle Wörter der

Das c.Dequeue() in der letzten Zeile holt die erste Eingabe in die Queue, also die Liste a. Dort steht an der Stelle 2 die

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Germany License.. Dies ist eine Anwendung des

99 public virtual bool DarfBüroAlleinBetreten() 105 class Mitarbeiter : Person. 107 double wöchentlicheRegelarbeitszeit

Ein Verweis auf die Musik mit Jailhouse Rock (weil Carla am besten passt), null (weil niemand passt) und null (weil Anna am besten passt, aber kein anderes Stück als das gemeinsame

Man kann die neue Klasse von Bakterium ableiten , muss dann aber noch die beiden Konstruktoren und eine neue Überschreibung für Vermehre schreiben (weil sonst die neue

Wenn keine Ereignisse der gewünschten Sparte vorhanden sind, ist die Liste sortiert leer und sortiert.First() wirft eine

Hilfsmittel: maximal vier einseitig oder zwei beidseitig beschriftete DIN-A4-Spickzettel beliebigen Inhalts, möglichst selbst ver- fasst oder zusammengestellt; kein Skript,