i

Verkettete Funktionsaufrufe

Verkettete Rechnungen

Wir wissen nun bereits wie wir beispielsweise einfache mathematische Rechnungen in der REPL ausführen können. Wie aber sieht es mit Rechnungen wie beispielsweise $ 4 * (12 - 5)$ aus, die mehrere Operatoren ausführen müssen?

Denkaufgabe 1

Finde eine Möglichkeit in der REPL $ 4 * (12 - 5)$ zu berechnen.

Ausdruck als ausführbare Einheit

Wie in der Mathematik ist die Klammerung in Racket entscheidend dafür, in welcher Reihenfolge die einzelnen Funktionsaufrufe ausgeführt werden. Eine geklammerte Einheit nennen wir auch Ausdruck. Ein Ausdruck kann von Racket ausgeführt werden. Beispielhafte Ausdrücke wären zum Beispiel

:
    > (* 2 46)
    > (odd? 7)
    > (string-length "Informatik")
Wie du in Denkaufgabe 1 bereits herausgefunden hast, können wir Ausdrücke auch schachteln bzw. verketten. So besteht der Ausdruck:
    > (* 2 (+ 3 43))
eigentlich aus zwei Ausdrücken. Einmal dem gesamten Ausdruck und dem inneren Ausdruck:
    > (+ 3 43)
Wir merken uns:
1. Ein Ausdruck ist eine ausführbare Einheit in Racket.
2. Ein Ausdruck ist vollständig geklammert und wird immer durch eine öffnende Klammer gestartet und mit einer schließenden Klammer geschlossen.
3. Ein Ausdruck kann mehrere innere Ausdrücke enthalten.

Verständnisfrage 1

Wie viele Ausdrücke findest du in dieser Zeile?

    > (/ (- 12 13)  (* 2 (+ 4 3)))
    

Aufgabe 1. Verkettete Zahlenausdrücke

Finde für die einzelnen Aufgaben geeignete Ausdrücke und führe diese in der REPL aus.
  1. $(12 * (13 + 4))$
  2. ${14 \div \frac{2}{3}}$
  3. $(120-13)*(120-12) \div (120-11)$
  4. Das Maximum von $(2*3*3089)$ und $(2*5*3189)\div 3$
Tipp: Mit der Tastenkombination Strg+⭡ könnt ihr eure zuletzt in der REPL ausgeführten Ausdrücke zurückholen.

Allgemeine verkettete Ausdrücke

Natürlich lassen sich auch Ausdrücke verketten die nicht nur auf Zahlen arbeiten.

Aufgabe 2. Verkettete Ausdrücke

Finde für die einzelnen Aufgaben geeignete Ausdrücke und führe diese in der REPL aus.
  1. Bestimme ob ein Wort eine gerade oder ungerade Buchstabenanzahl hat.
  2. Multipliziere die Buchstabenanzahl des Strings "Hallo Welt!" mit der Zahl 12.
  3. Bestimme ob die vierfache Buchstabenanzahl des Strings "Hallo Welt!" kleiner ist als die des Strings "Mit Racket programmiert man funktional".

Exkurs: Darstellung mit BlackBox-Diagrammen

Verkettungen lassen sich auch mittels BlackBox-Diagrammen darstellen. Zum Beispiel: Testbild

Suche

v
100.137.1.2.2.1
https://dev.inf-schule.de/entwuerfe/racket/einfuehrung/programmiersprache_racket/funktionsaufrufe/verketteteausdruecke
https://dev.inf-schule.de/100.137.1.2.2.1
https://dev.inf-schule.de/@/page/dj6qAt3mb9k2ehgZ

Rückmeldung geben