• Keine Ergebnisse gefunden

Übungen Funktionale Programmierung (in Clojure) Serie 7

N/A
N/A
Protected

Academic year: 2021

Aktie "Übungen Funktionale Programmierung (in Clojure) Serie 7"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. Dr. Burkhardt Renz TH Mittelhessen

Funktionale Programmierung (in Clojure) Übungen Serie 7

Übungen Funktionale Programmierung (in Clojure) Serie 7

1. Vektoren

Für die folgende Aufgabe verwenden Sie bitte die Funktionen, die wir bisher besprochen haben. Wir werden im nächsten Übungsblatt sehen, dass vieles auch viel eleganter geht.

(a) Schreiben Sie eine Funktionvsquare, die aus einem Vektor einen anderen Vektor erstellt, der die Quadrate der Elemente enthält.

(b) Schreiben Sie eine Funktion vinc, die aus einem Vektor einen anderen Vektor erstellt, dessen Element gearde um 1 höher sind.

(c) Schreiben Sie eine Funktionvmult, die die Elemente eines Vektors mit einer Zahl multipliziert.

(d) Schreiben Sie eine Funktion, die aus zwei Vektoren gleicher Länge das Skalarpro- dukt berechnet.

2. Bücherliste als Vektor

(a) Erstellen Sie einen Vektor, der Hashmaps von Informationen über Bücher mit ISBN, Autor und Titel enthält.

(b) Schreiben Sie eine Funktionsearch-author, die in der Bücherliste nach Büchern eines Autors sucht und diese ausgibt.

(c) Schreiben Sie eine Funktion get-author-set, die die Menge der Autoren der Bücher ausgibt.

(d) Sortieren Sie die Menge der Autoren.

3. Rechtecke

Wir betrachten Rechtecke in der euklidischen Ebene, deren linke untere Ecke am Punkt (0,0) liegt. Ein solches Rechteck wird durch die rechte obere Ecke (x,y) eindeutig be- stimmt.

(a) Wie kann man Rechtecke in Clojure repräsentieren?

Schreiben Sie eine Funktion(rectangle x y), die ein Rechteck „erzeugt“.

(b) Gegeben ein Rechteckrectangle, schreiben Sie Funktionen für die Bestimmung

• der Höhe(height rectangle)

• der Breite(width rectangle)

• der Fläche(area rectangle)

(c) Schreiben Sie Funktionen für die Untersuchung von Rechtecken:

• Ist es ein Quadrat?(square? rectangle)

• Enthält es eines bestimmten Punkt?(contains-point? rectangle point).

Der Punkt sei repräsentiert durch einen Vektor mit x- und y-Koordinate.

• Liegt ein Rechteck innerhalb eines anderen?(contains-rectangle? outer inner)

Rev 1.2 – 19. Oktober 2014

Wintersemester 2014/15 1

Referenzen

ÄHNLICHE DOKUMENTE

Wenn f eine numerische Funktion und n eine positive ganze Zahl ist, dann können wir die n-fach wiederholte Anwendung von f bilden, die als Funktion von x mit dem Wert f (f(. f

Verwenden Sie Folgen in Clojure, um eine Lösung dieser Aufgabe zu programmieren.. Fibonacci

(b) Programmieren Sie eine Multimethode (area ...), die die Fläche eines Recht- ecks oder eines Kreises berechnet.. Flächenberechnung mit Records

(b) Schreiben Sie eine Funktion (add-account bank account), die dem Bestand der Konten der Bank ein weiteres Konto hinzufügt.. Beachten Sie die Eindeutigkeit

Was ergeben die folgenden Ausdrücke in der Repl, eingegeben in der vorgegebenen Rei- henfolge.. Burkhardt Renz

Eine Bank bezahlt Zinsen gestaffelt nach dem Guthaben: 1% bis 1000€, 1,25% bis 2000€ und 1,5% über 2000€.. Schreiben Sie eine Funktion, die zu einem Guthaben g den Jahreszins

Programmieren Sie eine Funktion (gcd n m), die mit dem Euklidischen Algorithmus den größten gemeinsamen Teiler (greatest common divisor ) der natürlichen Zahlen n und m berechnet..

Schreiben Sie eine Funktion (freq coll), die wie frequencies eine Map der verschie- denen Elemente einer Kollektion mit der Zahl ihres Vorkommens ermittelt. Verwenden Sie