i

Übungen: Rekursive Funktionsaufrufe


Aufgabe 1: Mathematische Folgen

Bestehende Datei - rekursion.rkt

In der Mathematik gibt es einige Folgen, die rekursiv definiert werden können. Zwei wollen wir uns hier anschauen.

Die häufig in der Natur und auch Architektur wiederzufindende Fibonacci-Folge ist definiert als:

$F(n)= \begin{cases} f_0 = 0 \\ f_1 = 1 \\ f_n = f_{n-1} + f_{n-2} \quad \text{für } n \geq 2 \end{cases}$

Die allgemeine Heron-Folge kann zur Approximation von Wurzeln genutzt werden. Die folgende Definition nähert sich mit höherem $n$ stückweise dem Wert $\sqrt{2}$ an:

$H(n)= \begin{cases} x_0 = 1, \\ x_{n+1} = \frac{1}{2} \left(x_n + \frac{2}{x_n}\right) \quad \text{für } n \geq 0 \end{cases}$

(a) Implementiere die Funktion fibonacci, die dir für ein übergebenes $n$ die $n$-te Fibonacci-Zahl zurückgibt.
Zum Testen: Die ersten Fibonacci-Zahlen lauten: $0, 1, 1, 2, 3, 5, 8, 13, 21$

(b) Implementiere die Funktion heron, die dir für ein übergebenes $n$ die $n$-te Heron-Zahl zur Annäherung an $\sqrt{2}$ zurückgibt.
Zum Testen: Die Zahlen nähern sich immer weiter dem Wert: $1.4142135623730950488016887...$

(c) Schreibe eine Funktion makeList, die für eine übergebene Funktion (z.B. fibonacci oder heron) eine Liste der jeweiligen Folge bis zur $n$-ten Zahl zurückgibt.
Zum Beispiel: $(list\ 0\ 1\ 1\ 2\ 3)$ für die Fibonacci-Folge bis $n=4$


Aufgabe 2: Gehaltserhöhung

Bestehende Datei - rekursion.rkt

Ein Team verwaltet seine Mitarbeitenden und deren Jahreseinkommen in folgender Form:

(define-record mitarbeitende
  make-mitarbeitende
  (mitarbeitende-name string)
  (mitarbeitende-einstellung natural)
  (mitarbeitende-gehalt natural))

(define listteam
  (list
   (make-mitarbeitende "Aaron" 2023 39200)
   (make-mitarbeitende "Ashley" 2023 39200)
   (make-mitarbeitende "Miguel" 2021 49100)
   (make-mitarbeitende "Paco" 2020 47500)
   (make-mitarbeitende "Aitana" 2019 54200)
   (make-mitarbeitende "Cosme" 2019 54200)))

(a) Bestimme das aktuelle Durchschnittseinkommen des Teams.

Das Team hat intern eine regelmäßige Gehaltserhöhung beschlossen. Jedes Jahr wird das Gehalt aller Mitarbeitenden um 5 % angehoben.

(b) Bestimme, in wie vielen Jahren das Durchschnittseinkommen der Mitarbeitenden bei gleichbleibenden Erhöhungen 50.000 €, 60.000 €, 70.000 € und 100.000 € überschreitet.

Suche

v
100.137.4.1.1.3 Übungen: Rekursive Funktionsaufrufe
Kopieren durch Anklicken

Rückmeldung geben