wollte mich mal erkundigen, wie ihr die Aufgabe versteht, v.a. die "aelter"-Funktion.
Ich habe jetzt nach einigem Überlegen die Typen so definiert:
type angestellter = {name : string; alter : int; svn : string}
type ang = Aleiter of angestellter
| Mitarbeiter of angestellter
type abteilung = {name : string; aleiter : ang; mitarbeiter : ang list}
type abt = A of abteilung
| B of (abteilung * abt * abt)
Ich muss den "ang" unterteilen, sonst kann ich später nicht sagen, ob einer aus meiner "alle"-Liste ein Aleiter oder ein Mitarbeiter ist.
Dann die Beschreibung der "aelter"-Funktion: Heißt das, die Aleiter aus meiner alle-list sollen nur gegen die Angestellten der Überabteilung getestet werden? Soll nur der aleiter der obersten Abteilung gegen alle anderen Mitarbeiter getestet werden? Sollen alle Aleiter gegen alle anderen Mitarbeiter getestet werden? Sollen alle Aleiter gegen die Mitarbeiter, die auf einer Stufe stehen und darunter getestet werden?
Eine - abgesehen davon - in meinen Augen vollkommen an den Haaren herbeigezogene Aufgabenstellung.





