Informatik 5 20210420

2007, 2024 Oskar Wagner

| Start | Education | Fernunterricht | Informatik 5
$$ \def\Forall{\enskip \forall} \def\forthat{\;\bigm|\;} \def\hateq{\mathrel{\widehat{=}}} \def\hint#1{\quad\color{maroon}{\small\textit{#1}}} \def\stx#1{\small\textrm{#1}} \def\guide#1{\quad{\stx{#1}}} \def\ol#1{\overline{#1}} \def\lraq{ \quad\leftrightarrow\quad } \def\Lraq{ \quad\Leftrightarrow\quad } \def\ra{ \,\rightarrow\, } \def\raq{ \quad\rightarrow\quad } \def\Ra{ \,\Rightarrow\, } \def\Raq{ \quad\Rightarrow\quad } \def\ux#1{\;\textrm{#1}} \newcommand\m[1][]{#1\ux{m}} \newcommand\mm[1][]{#1\ux{mm}} \newcommand\cm[1][]{#1\ux{cm}} \newcommand\km[1][]{#1\ux{km}} \newcommand\qm[1][]{#1\ux{m}^2} \newcommand\cel[1][]{#1\,^\circ\textrm{C}} \newcommand\deg[1][]{#1\,^\circ} \newcommand\eur[1][]{#1\ux{€}} \newcommand\pct[1][]{#1\,\%} \newcommand\prm[1][]{#1\,{}^\text{o}\mkern-5mu/\mkern-3mu_\text{oo}} $$

Achte beim Lesen der Lektion darauf, dass du den Sinn jedes Absatzes erfasst.

Die Lektion ist vollständig in das Schulheft zu schreiben.
Eine Ausnahme bilden die braun-kursiv geschriebenen Hinweise -- diese brauchst du nicht übertragen.

Die Aufgaben (Verweis und Hinweise am Ende des Textes) sind schriftlich durchzuführen und in lesbarer Form per eMail bis zum 25. April 2021 (Sonntag) an die Lehrkraft zu schicken.

Diesmal beschäftigen wir uns mit rekursiver Programmierung.
Wer mit den Formen mathematischer Beweise nicht vertraut ist und sich auch mit dem Schreiben von Quellcode noch nicht länger beschäftigt, wird mit dem Begriff Rekursion wenig anfangen.
Dabei benennt der interessante Begriff etwas, womit ich das erstemal konfrontiert worden bin, als ich als Vorschulkind einen Baukran beobachten durfte, der sich selbst aufgestellt hat. Damals war mir völlig unverständlich, wie so etwas funktionieren kann.

Rekursive Programmierung

Rekursion ist in der Mathematik und Informatik ein geläufiger Begriff, der allgemein etwas beschreibt, das sich selbst enthält.

Rekursionen kommen aber auch in der Natur vor, etwa beim Pflanzenwachstum, und sogar in der Kunst.

Hier geht es speziell um die Anwendung in der Informatik, um rekursive Programmierung.


Aufgaben

Informiere Dich bei den obigen Quellen zu den folgenden Fragen und schreibe die Antworten ins Heft.

  1. Rekursive Programmierung -- was ist das überhaupt? Erläutere, was man darunter versteht.
  2. Versuche ein kurzes, einfaches Beispiel für eine Rekursion in einer Programmiersprache aufzuschreiben.
    Verwende Logo, Python oder eine andere Sprache.
  3. Was muss eine funktionsfähige Rekursion beinhalten, um einen Programmabsturz (endless loop) zu vermeiden?
  4. Welche Ablaufkontrollstruktur lässt sich durch Rekursionen ersetzen?

Hinweise zur Durchführung:

  1. Du kannst deine Antworten auch als Dokument im TXT- oder PDF-Format verfassen. Klebe in diesem Fall einen Ausdruck davon in dein Schulheft.
    Um Text im TXT-Format zu schreiben, verwende einen Editor wie SciTE oder Notepad und speichere die Datei mit der Endung ".txt".
  2. Schicke deine Arbeit per eMail.

Erhaltene Arbeiten:

2020.5B.1AmAsBuFeFiHaHiHuHRKhKoMaRaSt
Erhalten xx xx

2020.5B.2AdApBaBoHaKaKHKTKyMiMoTrWa
Erhalten xxx x x