-- Berechnung des Weges dH eines Hundes, der zwischen Mann und Frau, die sich -- aufeinander zubewegen, hin und herläuft. -- Gegeben seien die Geschwindigkeiten vM, vF, vH des Mannes, der Frau und des Hundes -- und die Distanz d, in der sich Mann und Hund anfangs zur Frau befinden. -- dH gleich Zeit bis zum Treffen von Mann und Frau multipliziert mit vH dH :: Float -> Float -> Float -> Float -> Float dH vM vF vH d | (vH <= vM || vH <= vF) = error ("der Hund soll schneller laufen als der Mann und die Frau") | otherwise = (tT vM vF d) * vH -- Die Zeit tT bis zum Treffen ergibt sich aus d dividiert durch (vM+VF) tT vM vF d | vM < 0 = error ("der Mann soll nicht rückwärts gehen") | vF < 0 = error ("die Frau soll nicht rückwärts gehen") | (vM == 0 && vF == 0) = error ("wenigstes einer soll gehen") | otherwise = d / (vM + vF)