Miniklausur lösungen

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Miniklausur lösungen
Mal ne frage was wäre den die lösung zu 2b). ?


Einfach einmal umkehren (false → true bzw true → false) :

used[row + i] [column + j] = !used[row + i] [column + j];

Wie der Name “toggle”(Umschalter) schon sagt^^

3 Likes

danke, wär ich nie drauf gekommen, muss ich mal die Folien nach durchforsten. xD


Ich bezweifle, dass du da viel in den Folien zu finden wirst. Das ist einfach die Aufgabenstellung gewesen: Der Wert an der Stelle soll umgeschaltet werden. Das „Umschalten“ eines boolschen Werts mag irgendwo in den Vorlesungsfolien auch mal auftauchen (weil man es doch öfter braucht), aber effektiv sind das Grundlagen der Programmierung, die man sich im Laufe des Semesters in den Übungsaufgaben angeeignen sollte.
Der Code macht nichts anderes als den Wert an der angegebenen Stelle zu negieren. Aus [m]true[/m] wird also [m]false[/m] und umgekehrt.

Man kann alternativ natürlich auch schreiben:

used[row + i] [column + j] = used[row + i] [column + j] ? false : true;

Aber die Aufgabenstellung hat da ja doch schon erstaunlich viel abgenommen ;).


Hmmm… Aber dann werden nur false-Werte getogglet, oder?


Wieso? Das ist eine if-else Anweisung. Wenn true, dann falsch sonst true.


Oder seeeeeehr ausfuehrlich:

if (used[row + i] [column + j] == true) {
  used[row + i] [column + j] = false;
} else {
  used[row + i] [column + j] = true;
}

Lösungssammlung
Hier: https://fsi.informatik.uni-erlangen.de/dw/pruefungen/bachelor/aud/loesung-miniklausur-14

Können Lösungen zusammengetragen werden. Hilft auch den Semestern nach euch.


oder:

used[row + i] [column + j] = (used[row + i] [column + j] == false);

Denke ich… :smiley: