Ocaml < Sonstige < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 17:51 Fr 24.10.2008 | Autor: | csak1162 |
Aufgabe | a) Definieren Sie ein Record zeusKind, das den Namen des Kindes, Namen der Mutter
und die Gestalt von Zeus (alles vom Typ String) speichern kann (0,5 Punkte).
b) Legen sie eine Liste von zehn Records mit dem Namen zeusKinder an. Als Datenquelle
bietet sich die Wikipediaseite über Zeus an. Bitte verwenden Sie nur
Einträge von Zeus, in der sich seine Gestalt verändert hat (Jedes Kind ein einzelner
Eintrag! Max. 10 Einträge!) (0,5 Punkte).
c) Schreiben Sie eine Funktion, die Ihnen aus der Liste zeusKinder, die Namen aller
Mütter (mit Duplikaten) als Liste von Strings zurückgibt (1 Punkt). |
(*
Datei: 3-1-ganner
Autor: Silvia Ganner
Datum: 2008-10-20
*)
(*1a*)
type zeusKind = {nameDesKindes: string;
nameDerMutter: string;
gestaltDesZeus: string};;
(*1b*)
let zeusKinder = [
{nameDesKindes="Hebe";nameDerMutter="Hera";gestaltDesZeus="Kuckuck"};
{nameDesKindes="Arge";nameDerMutter="Hera";gestaltDesZeus="Kuckuck"};
{nameDesKindes="Aiakos";nameDerMutter="Aigina";gestaltDesZeus="Feuer"};
{nameDesKindes="Minos";nameDerMutter="Europa";gestaltDesZeus="Stier"};
{nameDesKindes="Arkas";nameDerMutter="Kallisto";gestaltDesZeus="Artemis"};
{nameDesKindes="Epaphos";nameDerMutter="Io";gestaltDesZeus="Kuh"};
{nameDesKindes="Sarpedon";nameDerMutter="Europa";gestaltDesZeus="Stier"};
{nameDesKindes="Amphion";nameDerMutter="Antiope";gestaltDesZeus="Satyr"};
{nameDesKindes="Zagreus";nameDerMutter="Persephone";gestaltDesZeus="Schlange"};
{nameDesKindes="Herakles";nameDerMutter="Alkmene";gestaltDesZeus="Amphitryon"}
];;
(*1c*)
exception Leere_Liste;;
let rec muetter liste = match liste with
|[x] -> [x.nameDerMutter]
|h::t -> [h.nameDerMutter]@(muetter t)
|[] -> raise Leere_Liste;;
kann man das so machen stimmt das?
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 09:18 Sa 25.10.2008 | Autor: | Herk |
Klar kann man das so machen - Es funktioniert ja :8)
Ist sogar eine sehr schöne Lösung - ich habs viel komplizierter gemacht
|
|
|
|