• Keine Ergebnisse gefunden

Übungen Funktionale Programmierung (in Clojure) Serie 2

N/A
N/A
Protected

Academic year: 2021

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

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. Dr. Burkhardt Renz TH Mittelhessen

Funktionale Programmierung (in Clojure) Übungen Serie 2

Übungen Funktionale Programmierung (in Clojure) Serie 2

1. Abstrakter Syntaxbaum von Infix-Ausdrücken

Zeichnen Sie zu folgenden Ausdrücken den abstrakten Syntaxbaum:

(a) 2 + 3 + 1 (b) 2 * 3 + 4 (c) 2 * (3 + 4)

(d) true and false or true (e) square(7) - 7

(f) (1 = 1) or (1 != 1) (g) (3 + 4 ) * (2 + 5)

2. Ausdrücke in der Präfix-Notation

Schreiben Sie folgende Ausdrücke in der Präfix-Notation:

(a) 2 + 3 + 1 (b) 2 * 3 + 4 (c) 2 * (3 + 4)

(d) true and false or true (e) square(7) - 7

(f) (1 = 1) or (1 != 1) (g) (3 + 4 ) * (2 + 5)

Wie hängt dies mit der vorherigen Aufgabe zusammen?

3. Ausdrücke in der Repl

Was ergeben die folgenden Ausdrücke in der Repl, eingegeben in der vorgegebenen Rei- henfolge. Bitte überlegen Sie zuerst im Kopf, was das Ergebnis sein muss und probieren Sie erst dann aus.

user=>10 user=>(+ 5 3 4) user=>(- 9 1) user=>(/ 6 2) user=>(/ 7 2) user=>(/ 8 6)

user=>(+ (* 2 4) (- 4 6)) user=>(def a 3)

Wintersemester 2014/15 1

(2)

Prof. Dr. Burkhardt Renz TH Mittelhessen

Funktionale Programmierung (in Clojure) Übungen Serie 2

user=>(def b (+ a 1)) user=>(+ a b (* a b)) user=>(= a b)

user=>(if (and (> b a) (< b (* a b))) b a) user=>(cond

(= a 4) 6

(= b 6) (+ 6 7 a) :else 25)

4. Daten = Code

(a) Wie kann man die Liste(+ 2 3)als eine Liste von Werten behandeln?

(b) Und wie kann man eine Liste (als Daten) mit den Elementen+,2und3als Code ausführen?

Rev 1.1 – 11. August 2014

Wintersemester 2014/15 2

Referenzen

ÄHNLICHE DOKUMENTE

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

Auch die Eulersche Zahl e kann durch einen Kettenbruch approzimiert werden, nämlich durch den Kettenbruch mit folgender Folge der a i 4 :.. [2; 1, 2, 1, 1, 4, 1, 1,