i

Strukturierung

Möchten wir in Racket einen eigene Funktion erstellen, so können wir dabei immer nach einem eindeutigen Schema vorgehen. Das aus fünf Schritten bestehende Schema, nennen wir Konstruktionsanleitung einer Funktion:

1. Kurzbeschreibung
Ein Kommentar in Racket, der den Zweck der Funktion knapp beschreibt.

2. Signaturdefinition
Legt die Signatur für die zu erstellende Funktion fest.

3. Tests

Beispielhafte Funktionsaufrufe mit erwarteten Ergebnissen, um die Korrektheit der Funktion zu prüfen.

4. Funktionsgerüst
Legt den Namen der Funktion fest, sowie die Namen der Parameter. Für jedes Übergabedatum muss im Funktionsgerüst genau ein Parameter festgelegt werden.

5. Funktionskörper
Ein Ausdruck der die Übergabedaten zu einem Rückgabedatum verarbeitet. Zur Nutzung der Übergabedaten werden die Parameter genutzt.

Beispiel anhand der Funktion zuStreichendeFlaeche:

;Berechnet die zu streichende Fläche eines Zimmers (4 Wände + Decke)
(: zuStreichendeFlaeche (real real real -> real))
(check-expect (zuStreichendeFlaeche 1 1 1) 5)
(check-expect (zuStreichendeFlaeche 420 350 250) 532000)
(define zuStreichendeFlaeche
  (lambda (laenge breite hoehe)
    (+ (* 2 (+ (* laenge hoehe) (* breite hoehe))) (* laenge breite))
 ))   

Aufgabe 1: Türen beim Streichen

Bestehende Datei - streichen_WG.rkt

Bisher haben wir Flächen wie Fenster und Türen nicht in unsere Berechnung miteinbezogen. Für Türen wollen wir das jetzt ändern. Allerdings wollen wir nicht immer alle Türen ausmessen, sondern gehen vereinfachend davon aus, dass alle Türen die Maße 860 x 1958 mm haben. (Diese Maße entsprechen einer von mehreren zulässigen DIN-Normen und findet häufig in Wohnungen Verwendung)
WG-Grundriss[1]
Wir wollen im folgenden eine Funktion schreiben, die die zu streichende Fläche berechnet und dabei die Anzahl der Türen berücksichtigt. Dabei gehen wir entsprechend der Konstruktionsanleitung einer Funktion vor.

(a) Schreibe eine geeignete Kurzbeschreibung.

(b) Schreibe eine geeignete Signaturdefinition.

(c) Schreibe geeignete Test.

(d) Schreibe ein geeignetes Funktionsgerüst.

(e) Schreibe einen geeignete Funktionskörper.

Quellen

Suche

v
100.137.2.4.1.2 Strukturierung
Kopieren durch Anklicken

Rückmeldung geben