Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Haskell Funktion in Funktion » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Haskell Funktion in Funktion
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Bronia030
Grünschnabel


Dabei seit: 24.07.2018
Beiträge: 1

Haskell Funktion in Funktion Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hallo liebe Informatik Freunde... Ich beschäftige mich grade mit folgender Aufgabe

Gegeben sei die Typdefinition type Datum = (Int, Int, Int) wobei die drei Einträge das Jahr, der Monat und der
Tag sind. Das Abgabedatum wird also wie folgt dargestellt: (2018, 7, 26).
Es soll die Funktion tagesDifferenz d1 d2 implementiert werden, welche zwei Daten übergeben bekommt und
die Differenz zwischen ihnen in Tagen zurückgeben soll.
Implementieren Sie dafür zunächst die Funktion datumZuTagen d welche aus einem übergebenem Datum die Anzahl
an Tagen seit dem 1. Januar im Jahre 1 bestimmt. Gehen Sie zur Vereinfachung davon aus, dass jedes Jahr 365 Tage
hat und definieren Sie sich, wenn nötig, geeignete Hilfsfunktionen.
Verwenden Sie folgende Kontrollwerte um zu prüfen, ob ihre Implementierung korrekt ist:
datumZuTagen (1, 1, 1) == 1
datumZuTagen (2018, 7, 26) == 736412


Die DatumZuTag Funktion funktioniert bereits ganz gut und alles läuft, jetzt weiß ich nicht wirklich aber, wie ich diese Funktion in die andere mit einbide...

Meine Ideen:
ype Date = (Int, Int, Int)


tagesdifferenz :: Date -> Int
tagesdifferenz (year, month, day) (year2, month2, day2) = datetoday(year, month, day) - datetoday(year2, month2, day2)



datetoday :: Date -> Int
datetoday (year, month , day) = day + monthtoday month + yeartoday year


yeartoday :: Int -> Int
yeartoday year = ((year-1)*365)

--12 Guards benutzen...?
monthtoday :: Int -> Int
monthtoday month
|month == 1 = 0
|month == 2 = 31
|month == 3 = 59
|month == 4 = 90
|month == 5 = 120
|month == 6 = 151
|month == 7 = 181
|month == 8 = 211
|month == 9 = 243
|month == 10 = 273
|month == 11 = 304
|month == 12 = 334
24.07.2018 20:36 Bronia030 ist offline E-Mail an Bronia030 senden Beiträge von Bronia030 suchen Nehmen Sie Bronia030 in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Haskell Funktion in Funktion