• Keine Ergebnisse gefunden

Informatik 2 für Regenerative Energien Klausur vom 7. Juli 2011: Lösungen

N/A
N/A
Protected

Academic year: 2021

Aktie "Informatik 2 für Regenerative Energien Klausur vom 7. Juli 2011: Lösungen"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Informatik 2 für Regenerative Energien

Klausur vom 7. Juli 2011: Lösungen

Jörn Loviscach

Versionsstand: 13. Juli 2011, 20:58

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: Die ersten drei Klassen erinnern an das Entwurfsmuster „Com- posite“.

Zeile korrekter Programmtext

7

Mitspieler[] dieMitspieler = new Mitspieler[3];

11

Spiel dasSpiel = new Spiel(dieMitspieler, 2);

12

dasSpiel.SpieleBisZumEnde();

16

abstract class Zufallsgenerator

24

public override int Werfe()

27

return zufallsgenerator.Next() % 6 + 1;

46

Summe += w.Werfe();

52

enthalteneWürfel.Add(new Würfel());

78

public Mitspieler(string name)

84

punktestand += punkte;

88

class Spiel

105

zufallsgenerator = new Würfelbecher(zahlDerWürfel);

113

if (m.Punktestand >= 1000)

116

istBeendet = true;

123

while(!IstBeendet)

Ebenfalls als korrekt gefundene Fehler bewertet:

• In Zeile 18 ist die Reihenfolge

abstract public

ebenso erlaubt wie

public abstract

. Hauptsache, das

int

steht hinten.

• Vor Zeile 93 sollte sinnvollerweise

public

stehen, auch wenn dieses Programm ohne das funktioniert.

2.

a

ist

"Egon"

,

b

ist 0(Es wird für diese Mitspieler keine Zufallsfunktion aufgerufen!)und

c

ist

"Doris"

.

3.

SpieleEineRunde

sollte virtuell werden. Die Attribute sollten protected werden. Der Konstruktor könnte sein:

1

(2)

2

public KurzesSpiel(Mitspieler[] dieMitspieler) : base(dieMitspieler)

{}

4. Die Methode

NehmeEinenWürfelWeniger

wird eine Exception werfen, wenn sie aufgerufen wird, aber kein Würfel mehr vorhanden ist.

5.

int sekundenAusHMS(string hms) {

string[] parts = hms.Split(':');

int h = int.Parse(parts[0]);

int m = int.Parse(parts[1]);

int s = int.Parse(parts[2]);

return (h * 60 + m) * 60 + s;

}

6. Zum Beispiel so:

GeometrischeFigur

+ BerechneFläche() : double

Kreis -mittelpunktX : double -mittelpunktY : double -radius : double

+BerechneFläche() : double Dreieck

-ax : double -ay : double -bx : double -by : double -cx : double -cy : double

+BerechneFläche() : double

7. Zum Beispiel so:

double strecke = 0.0;

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

double dauer = messungen[i + 1].Zeitpunkt

- messungen[i].Zeitpunkt;

strecke += messungen[i].Geschwindigkeit * dauer;

}

Mit anonymen Funktionen = Lambda-Ausdrücken klappt das ausnahmsweise nicht so gut.

8. Zum Beispiel so:

public int Parse() {

return int.Parse(this);

}

Referenzen

ÄHNLICHE DOKUMENTE

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

Erweitern Sie in die Klasse Kfz aus dem (korrigierten) Listing im Anhang um eine öffentliche Methode string ListeFahrerUndKilometer() , die die Fahrer und ihre gefahrenen Kilometer

Man führt eine Klasse Inspektion ein, legt eine eine Oberklasse (z. Fahrtenbucheintrag genannt) von Fahrt und Inspektion an und legt fahrtenbuch als Liste von Ereignis an. Die

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

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

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,