i

Verarbeitung von Datensätzen mit Attributzugriffen

Mailadressen erzeugen

Aus einem Datensatz soll mit Hilfe einer Funktion eine Mailadresse erzeugt werden.

Übergabe: 
- Datensatz: { vorname = "Anuk", nachname = "Franck", geburtsdatum = { tag = 6, monat = 6, jahr = 2006 } }
Rückgabe: 
- Mailadresse: "Anuk.Franck@meineschule.de"

Wir konzipieren hierzu die Funktion mailadresse mit folgendem Verhalten.

Signatur:
mailadresse: Person -> String
Beispiele:
mailadresse { vorname = "Anuk", nachname = "Franck", ... } -> "Anuk.Frank@meineschule.de"

Zur weiteren Vereinfachung der Verarbeitung setzen wir voraus, dass der Vorname keine Leerzeichen wie z.B. bei "Bo Anuk" enthält.

Im folgenden Quelltext findest du eine noch nicht ganz fertige Definition zur Funktion mailadresse.

module Mailadressen exposing (..)

type alias Person =
    { 
        vorname: String, 
        nachname: String, 
        geburtsdatum: 
            { 
                tag: Int, 
                monat: Int, 
                jahr: Int 
            }
    }

person1: Person
person1 = 
    { 
        vorname = "Anuk", 
        nachname = "Franck", 
        geburtsdatum = 
            { 
                tag = 6, 
                monat = 6, 
                jahr = 2006 
            }
    }

mailadresse: Person -> String
mailadresse datensatz =
    ... ++ "@meine-schule.de"
> import Mailadressen exposing (..)
> mailadresse person1
"Anuk.Franck@meine-schule.de" : String

Aufgabe 1

Ergänze den noch fehlenden Teil in der Definition der Funktion mailadresse. Benutze den Zugriff auf die betreffenden Attributwerte.

Aufgabe 2

Bei gängigen Namen wie z.B. "Anna Schmitt" kann es vorkommen, dass zwei unterschiedliche Personen dieselbe Mailadresse erhalten. Wir ändern daher die Vorgaben für die Adressbildung ab.

(a) Das Geburtsjahr soll in die Mailadresse integriert werden. Entwickle eine passende Funktionsdefinition.

Übergabe: 
- Datensatz: { vorname = "Anuk", nachname = "Franck", geburtsdatum = { tag = 6, monat = 6, jahr = 2006 } }
Rückgabe: 
- Mailadresse: "Anuk.Franck.2006@meineschule.de"

(b) Einige Schülerinnen und Schüler haben sich beschwert, dass sie ihr Geburtsjahr nicht über die Mailadresse preigeben wollen. Der für die Erzeugung zuständige Administrator hat daher entschieden, die Summe aus dem Geburtstag und dem Geburtsmonat in die Mailadresse aufzunehmen. Entwickle eine hierzu passende Funktionsdefinition.

Übergabe: 
- Datensatz: { vorname = "Anuk", nachname = "Franck", geburtsdatum = { tag = 6, monat = 6, jahr = 2006 } }
Rückgabe: 
- Mailadresse: "Anuk.Franck.12@meineschule.de"

(c) Auch die Version in (b) hat zu Protesten geführt: "Wenn die Summe 2 beträgt, dann ...". Was lässt sich aus der Summe 2 direkt erschließen? Entwickle selbst eine Ergänzung der Mailadresse und eine hierzu passende Funktionsdefinition.

Suche

v
110.2.8.1.1.4
inf-schule.de/fp_elm_alteversion/elm_programme/datensaetze/datenrecord/lernstrecke/verarbeitungmitzugriff
inf-schule.de/110.2.8.1.1.4
inf-schule.de/@/page/A5wmBzqpvRFyllmM

Rückmeldung geben