CS计算机代考程序代写 prolog Haskell Zum Hauptinhalt

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 Alex
Mehr anzeigen
Copyright by InnoCampus
README
Impressum
Kontakt
Hilfe
Covid-19-Info
Deutsch ‎(de)‎
Weikun Ye

[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 =

Test-Navigation überspringen
Test-Navigation
Information

Information
i

Information
i

Codequalität und Testen (6 Punkte)

Frage
1
markiert

Frage
2
markiert

Frage
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

Favoriten

Gruppe

Persönlich
Alle anzeigen

Sie sind angemeldet als Weikun Ye (Logout)

[WS 20/21] SWTPP
Impressum  ·  Nutzungsbedingungen  ·  Datenschutz
 
powered by innoCampus

[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 …