Probeklausur Aufgabe 4

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.

Probeklausur Aufgabe 4
Hallo, ich hätte da eine Frage zu besagter Aufgabe.
Und zwar ist mir nicht ganz klar, wie hier die Unterscheidung zwischen Integern und Signalen ist.
currentSample nimmt per Definition ein Signal und gibt einen Integer zurück.
Die Funktion square hingegen nimmt 2 Signale und gibt ein Signal zurück. Später werden square auch natürliche Zahlen übergeben. In dem Zusammenhang sind 0 bzw 1 dann als konstante Signale zu verstehen und nicht als Integers?

In der Teilaufgabe 1 wird beschrieben, wie die Funktion sampler zu funktionieren hat.
sampler kriegt 2 Parameter vom Typ Signal und gibt im Ergebnis wieder ein Signal zurück.
Was mich ein wenig irritiert ist folgender Teil der Aufgabenstellung:

“[…], so dass der Wert des Signals sampler t s der Wert von s ist, wenn der Wert von t größer als 0 ist, und 0 sonst.”

Da sampler ja ein Signal zurückgeben muss, kann mit “Wert von s” ja nur s selbst gemeint sein, richtig?
Aber was ist dann mit “Wert von t” gemeint? Aus dem Zusammenhang habe ich erstmal erschlossen, dass das nur currentSample t sein kann, weil 0 ist vom Typ Integer und currentSample ist der einzige Konstruktor (bzw Destruktor) von Signal, der einen Integer zurück gibt. Aber da 0 offenbar auch für ein konstantes Signal stehen kann, bin ich ein wenig verwirrt. Wie genau darf ich das also verstehen?

Ich bitte um Erleuchtung:D


Die Funktion square erwartet zwei Ints als Parameter und gibt ein Signal zurück. Wie kommst du denn darauf, dass die Parameter Signale seien?

Mit Wert ist »das currentSample nach k Schritten« gemeint. Z.b. hat flat x konstant den Wert x, egal nach wieviel schritten. Und wenn man eben die Signale t, s sowie sampler t s, gleichzeitig für k Schritte laufen gelassen hat, dann soll eben gelten, dass das dann aktuelle currentSample von sampler t s das selbe wie das von s ist, wenn das currentSample von t größer als 0 ist, und 0 andernfalls.


Ich danke dir für deine nachvollziehbare Erklärung!
Ich hatte einen dummen Fehler in der sampler Funktion selber.
Jetzt, wo ich nochmal drüber geschaut habe ist die Lösung klar und ich weiß selbst nicht was ich vorhin für ein Problem hatte.
Jedenfalls danke für die schnelle Antwort!