Skip to content

Aufgabe Flussüberquerung: Was sollen die Argumente von other-shore-offset sein? #24

Description

@das-g

In Aufgabe 1.11, Teilaufgabe 2, heisst es

Schreibe dann eine Funktion other-shore-offset, die die Länge der Strecke berechnet, die das Boot abgetrieben wird (also den Versatz am anderen Ufer, im Schaubild die Strecke b).

\item Schreibe dann eine Funktion \texttt{other-shore-offset},
die die Länge der Strecke berechnet, die das Boot abgetrieben wird
(also den Versatz am anderen Ufer, im Schaubild die Strecke $b$).

Für mich scheint klar, dass die Funktion mit der schon in Teilaufgabe 1 implementierten Funktion crossing-time zusammenspielen sollte. Allerdings bieten sich mit der Formel

b = vFluss ˙ t

(Das Boot wird gleich weit abgetrieben, wie der Fluss während der Überfahrtzeit fliesst.)

zweierlei Lösungsansätze an:

  1. b(vFluss, t) = vFluss ˙ t

    , also eine Funktion, der man das Ergebnis t von crossing-time übergeben würde.

  2. b(a, vFluss, vBoot) = vFluss ˙ t(a, vBoot)

    , also eine Funktion, die die in der Aufgabenstellung als gegeben angegebenen Werte entgegen nimmt, und in ihrem Rumpf selbst crossing-time aufruft, um t zu ermitteln.

Ein Kommentar im Quelltext deutet einen dritten Ansatz an:

% Dazu musst Du die Breite des Flusses $a$ mit dem Verhältnis von
% $v_{\text{Fluss}}$ zu $v_{\text{Boot}}$ multiplizieren.

Daraus ergibt sich

b(a, vFluss, vBoot) = a ˙ (vFluss / vBoot)

was wegen

b
= vFluss ˙ t
= vFluss ˙ (a / vBoot)
= (vFluss ˙ a) / vBoot
= (a ˙ vFluss) / vBoot
= a ˙ (vFluss / vBoot)

natürlich ebenfalls stimmt, meiner Meinung nach aber deutlich weniger offensichtlich ist. (Aber vielleicht gehe ich das Problem zu physisch anstatt geometrisch an. Aus dem Schaubild und den Ähnlichkeits-Gesetzten von Dreiecken ergibt sich natürlich auch, a : vBoot = b : vFluss bzw. a : b = vBoot : vFluss, was nach b aufgelöst ebenfalls zur expliziten Formel b = a ˙ vFluss / vBoot führt.)

Wählt man allerdings diesen dritten Ansatz für other-shore-offset, so würde die Funktion crossing-time aus Teilaufgabe 1 zwecklos, da sie für das Ermitteln des Endergebnisses gar nicht gebraucht würde.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions