From d47a755fdfc93ed52d1622c2ae11ad985c2e1203 Mon Sep 17 00:00:00 2001 From: Jim Martens Date: Thu, 21 Nov 2013 14:07:40 +0100 Subject: [PATCH] Blatt 4 Aufgaben 1 und 2 bearbeitet. --- ...artens_Britta-2noack_Jan-Simon-0giesel.rkt | 158 ++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 se3/G08_B04_Jim-2martens_Britta-2noack_Jan-Simon-0giesel.rkt diff --git a/se3/G08_B04_Jim-2martens_Britta-2noack_Jan-Simon-0giesel.rkt b/se3/G08_B04_Jim-2martens_Britta-2noack_Jan-Simon-0giesel.rkt new file mode 100644 index 0000000..d901514 --- /dev/null +++ b/se3/G08_B04_Jim-2martens_Britta-2noack_Jan-Simon-0giesel.rkt @@ -0,0 +1,158 @@ +#lang racket + +#| +SE 3 Funktional Blatt 4 +Abgebende: Jim 2martens, Britta 2noack, Jan-Simon 0giesel +|# + +; 1) +; 1. (max (min 2 (- 2 5)) 0) -> 0 +; zunächst wird (- 2 5) ausgeführt, was -3 ergibt +; als nächstes wird (min 2 -3) ausgeführt, was -3 ergibt +; dann kommt (max -3 0) mit dem Ergebnis 0 +; 2. (+ (- 2 13) 2) -> -9 +; zunächst wird (- 2 13) mit dem Ergebnis -11 ausgeführt +; anschließend wird (+ -11 2) ausgeführt mit dem Ergebnis -9 +; 3. (cadr '(Alle Jahre wieder)) -> 'Jahre +; zunächst wird (cdr '(Alle Jahre wieder)) ausgeführt mit dem Ergebnis '(Jahre wieder) +; anschließend wird (car '(Jahre wieder)) mit dem Ergebnis 'Jahre ausgeführt +; 4. (cddr '(kommt (das Weihnachtfest))) -> '() +; zunächst wird (cdr '(kommt (das Weihnachtfest))) ausgeführt mit dem Ergebnis '((das Weihnachtfest)) +; anschließend wird (cdr '((das Weihnachtfest))) ausgeführt mit dem Ergebnis '() +; dies liegt an der doppelt geschachtelten Liste: +; (cons 'kommt (list (list 'das 'Weihnachtfest))) -> '(kommt (das Weihnachtfest)) +; 5. (cons 'Listen '(ganz einfach und)) -> '(Listen ganz einfach und) +; da '(ganz einfach und) eine Liste ist, verkettet cons 'Listen schlichtweg mit der Liste +; 6. (cons 'Paare 'auch) -> '(Paare . auch) +; hier verkettet cons zwei einfache Elemente, wodurch ein Paar entsteht, welches keine Liste ist +; 7. (equal? (list 'Racket 'Prolog 'Java) '(Racket Prolog Java)) -> #t +; list erzeugt eine Liste mit den angegebenen Elementen und '(Racket Prolog Java) ist ebenfalls eine Liste mit den gleichen Elementen +; 8. (eq? (list 'Racket 'Prolog 'Java) (cons 'Racket '(Prolog Java))) -> #t +; list erzeugt wieder eine Liste und cons verknüpft hier ein einfaches Element mit einer Liste, wodurch wieder eine Liste entsteht + +; 2) +; 1. +; ::= +; ::= +; ::= "MAYDAY "" ICH BUCHSTABIERE "" " +; ::= +; ::= " "" " +; ::= +; ::= +; ::= +; ::= +; ::= "ICH SENDE DEN TRÄGER --" +; ::= " " +; ::= " "" "" " +; ::= | +; ::= "NOTALLPOSITION " +; ::= "NOTFALLZEIT "