Test 2A (17.03.2021) (Seite 5 von 8)
Zum Hauptinhalt
Startseite der TUB
TU Berlin
ISIS
Mensa
Moses
Matrix Chat
Bibliothek
TU Sport
Campusplan
TU-Mail
Studien-beratung
Mathe-Brückenkurs
Vorlesungs-verzeichnis
Videochat
tubCloud
GitLab
Chatbot AlexMehr anzeigenCopyright by InnoCampusREADME
Impressum
Kontakt
Hilfe
Covid-19-Info
Deutsch (de)
Čeština (cs)
Dansk (da)
Deutsch (de)
English (en)
Español – Internacional (es)
Français (fr)
Italiano (it)
Polski (pl)
Svenska (sv)
Türkçe (tr)
Русский (ru)
简体中文 (zh_cn)
Weikun Ye
Meine Startseite
Profil
Bewertungen
Mitteilungen
Einstellungen
Logout
0
Systemnachrichten
Keine Systemnachrichten
Alle anzeigen
0
[WS 20/21] Softwaretechnik und Programmierparadigmen
Meine Startseite
Meine Kurse
[WS 20/21] SWTPP
Tests
Test 2A (17.03.2021)
Frage 10
Antwort gespeichert
Erreichbare Punkte: 5,0
Frage markieren
Fragetext
Eine Konditorei möchte auf ihrer Webseite die Bestellung von Torten nach Kundenwünschen ermöglichen. Kunden sollen die Anzahl der Schichten und für jede Schicht eine Zutat bestimmen können.
Gegeben sind folgende Datentypen.
Hilfsfunktionen sind erlaubt.
data Torte = Schicht Zutat Torte | Boden
deriving (Eq, Show)
data Zutat = Erdbeeren | Schokoraspeln | Kirschen | Mandeln | Pistazien
| Sahne | Zitronenpudding | Buttercreme
deriving (Eq, Show)
Translation Aid
A pastry shop wants to allow their customers to order custom layered cakes (Torten) on their website. Customers should be able to specify the number of layers (Schichten) and an ingredient (Zutat) for each layer.
Consider the given data types.
Helper functions are allowed.
a) Implementieren Sie die Funktion zutatenToTorte, die aus einer Liste von Zutaten eine Torte erstellt. Die gegebenen Zutaten sind von oben nach unten gelistet. Der Boden zählt nicht als Zutat.
Signatur: zutatenToTorte :: [Zutat] -> Torte
Translation Aid
Implement the function zutatenToTorte, converting a list of ingredients to a cake. The given ingredients are listed from top to bottom. The cake base (Boden) does not count as an ingredient.
b) Da Torten beliebiger Höhe nicht möglich sind, brauchen wir eine Funktion tortenhoeheBegrenzen, die aus einer gegebenen Torte und einer Zahl n≥0 eine neue Torte mit den n oberen Schichten der gegebenen Torte erzeugt. Hat die gebebene Torte weniger als n Schichten, so wird diese nicht verändert. Der Boden zählt nicht als eine Schichte.
Signatur: tortenhoeheBegrenzen :: Int -> Torte -> Torte
Translation Aid
Since cakes can only have so many layers, we need a function tortenhoeheBegrenzen. Given a cake and a number n≥0, it produces a new cake with the n upper layers of the given cake. If the given cake has less than n layers, it is not changed. The cake base (Boden) does not count as a layer.
c) Kunden sollen gewarnt werden, falls ihre Torten möglicherweise nicht lecker sind. Implementieren Sie die Funktion istLecker, um dies zu prüfen. Leckere Torten sind nur mäßig süß und sind durch herbe oder säuerliche Zutaten ausgeglichen. Dafür müssen sie immer eine herbe oder säuerliche Schicht direkt auf dem Boden haben. Außerdem muss sich jede süße Schicht über einer herben oder säuerlichen Schicht befinden. Sie dürfen die Funktionen istSuess :: Zutat -> Bool, istHerb :: Zutat -> Bool und istSaeuerlich :: Zutat -> Bool verwenden.
Signatur: istLecker :: Torte -> Bool
Translation Aid
Customers should be warned when their cakes are possibly not delicious. Implement the function istLecker to check this. Delicious cakes must have not be too sweet, being balanced by bitter (“herb”) or sour (“säuerlich”) notes. Thus, they must have one bitter or sour layer directly above the cake base (“Boden”). Moreover, every sweet layer must be above a bitter or sour layer. You may use the functions istSuess :: Zutat -> Bool, istHerb :: Zutat -> Bool and istSaeuerlich :: Zutat -> Bool.
— a)
zutatenToTorte zs =
— b)
tortenhoeheBegrenzen maxHoehe torte =
— c)
istLecker torte =
Netzwerkverbindung verloren. Das automatische Speichern ist fehlgeschlagen.
Notieren Sie sich alle in den letzten Minuten eingegebenen Antworten und versuchen Sie, die Verbindung wieder herzustellen.
Sobald die Verbindung wiederhergestellt wurde, sollten Sie die Antworten erneut speichern. Diese Nachricht verschwindet dann.
Die Netzwerkverbindung wurde wieder hergestellt. Arbeiten Sie nun vorsichtig weiter.
überspringen
Test-Navigation
Information
Information i Information i Codequalität und Testen (6 Punkte)
Frage 1 markiertFrage 2 markiertFrage 3 Frage 4 Haskell (15 Punkte)
Frage 5 Frage 6 Frage 7 Frage 8 Frage 9 Frage 10 Diese Seite Prolog (9 Punkte)
Frage 11 Frage 12 Abschluss
Information i
Zwischenspeichern …Verbleibende Zeit 0:58:46
Kontakte
Ausgewählte Mitteilungen:
1
×
Kontakte
0
Einstellungen
Kontakte
Anfragen
0
Keine Kontakte
Keine Kontaktanfragen
Kontaktanfrage gesendet
Persönlicher Bereich
Speichern Sie Entwürfe von Nachrichten, Links, Notizen usw. für einen späteren Zugriff.
Für mich und alle anderen löschen
Blockieren
Blockierung aufheben
Entfernen
Hinzufügen
Löschen
Löschen
Kontaktanfrage senden
Annehmen und zu Kontakten hinzufügen
Ablehnen
OK
Abbrechen
Favoriten
()
Keine Kommunikation als Favorit markiert
Gruppe
()
Keine Gruppenkommunikation
Persönlich
()
Keine persönliche Kommunikation
Kontakte
Weitere Personen
Mehr laden
Mitteilungen
Mehr laden
Keine Ergebnisse
Personen und Mitteilungen suchen
Datenschutz
Sie können einschränken, welche Person Ihnen eine Mitteilung senden kann.
Mitteilungen akzeptieren von:
Nur meine Kontakte
Meine Kontakte und jeder aus meinen Kursen
Systemnachrichten
Allgemein
Zum Senden die Eingabetaste tippen
Ausgewählte Mitteilungen löschen
Kontaktanfrage senden
Sie haben diese Person blockiert.
Blockierung für diese Person aufheben
Sie können dieser Person keine Mitteilung senden.
Alle anzeigen
Sie sind angemeldet als Weikun Ye (Logout)
[WS 20/21] SWTPP
Impressum ·
Nutzungsbedingungen ·
Datenschutz
powered by innoCampus
Datenschutzinformation
[WS 20/21] SWTPP
Teilnehmer/innen
Bewertungen
meet@ISIS
Meine Startseite
Alle Kurse
Kalender
Meine Kurse
WiSe2021 Webtech
Wiss. Rechnen-WiSe 20/21
Ana1LinAlg WS202021
[WS2021] BSPrak
[WiSe 20/21] B & K
TKN RNVS 2020w
[WiSe2020/21] Logik
[WS 20/21] SWTPP
ROrg WS 20/21
Mikroökonomik SS 20
19/20-ReSyst
Digitale Systeme SS 2020
TKN WS19/20 VL Rechnernetze und Verteilte Systeme
Stochastik (Service) SoSe19
SoSe19-DS
SoSe19-ReSyst
FM IV
Mehr …