|
13 | 13 | "source": [
|
14 | 14 | "<font size='5'>**Definition**</font>\n",
|
15 | 15 | "\n",
|
16 |
| - "Ein Algorithmus ist eine formale Vorschrift wie die Lösung einer Fragestellung gefunden werden kann. Dabei handelt es sich meist um eine Folge von einfachen Anweisungen, welche zur Lösung komplexer Probleme führen können. \n", |
| 16 | + "Ein Algorithmus ist eine formale Vorschrift darüber, wie die Lösung einer Fragestellung gefunden werden kann. Dabei handelt es sich meist um eine Folge von einfachen Anweisungen, welche zur Lösung komplexer Probleme führen kann. \n", |
17 | 17 | "\n",
|
18 | 18 | "\n",
|
19 | 19 | ":::{figure-md} fig-algorithmus\n",
|
|
23 | 23 | "Algorithmus\n",
|
24 | 24 | ":::\n",
|
25 | 25 | "\n",
|
26 |
| - "Algorithmen sollten so formuliert sein, dass sie nicht nur für einzelne explizite Fragestellungen, sondern auch im Allgemeinen anwendbar sind. Das wird am Beispiel des schriftliche Dividierens und einem Kuchenrezept deutlich. Beide bestehen aus einfachen Anweisungen und lösen ein komplexeres Problem. Allerdings kann die Rechenvorschrift für beliebige Divisionsaufgaben eingesetzt werden, während das Kuchenrezept nur zur Herstellung eines speziellen Kuchens führt. " |
| 26 | + "Algorithmen sollten so formuliert sein, dass sie nicht nur für einzelne explizite Fragestellungen, sondern auch im Allgemeinen anwendbar sind. Das wird am Beispiel des schriftliche Dividierens oder anhand eines Kuchenrezepts deutlich. Beide bestehen aus einfachen Anweisungen und lösen ein komplexeres Problem. Allerdings kann die Rechenvorschrift für beliebige Divisionsaufgaben eingesetzt werden, während das Kuchenrezept nur zur Herstellung eines speziellen Kuchens führt. " |
27 | 27 | ]
|
28 | 28 | },
|
29 | 29 | {
|
30 | 30 | "cell_type": "markdown",
|
31 | 31 | "metadata": {},
|
32 | 32 | "source": [
|
33 |
| - "Das obige Beispiel für einen Algorithmus ist eines von vielen, welche von Menschen eingesetzt werden (können):\n", |
| 33 | + "Die obigen Beispiele für einen Algorithmus sind zwei von vielen, welche von Menschen eingesetzt werden (können):\n", |
34 | 34 | "* Schriftliches Rechnen\n",
|
35 | 35 | "* Lösen von linearen Gleichungssystemen\n",
|
36 | 36 | "* Bestimmung des Durchschnitts\n",
|
|
41 | 41 | "cell_type": "markdown",
|
42 | 42 | "metadata": {},
|
43 | 43 | "source": [
|
44 |
| - "Viele Algorithmen aus unserem Alltag sind aus sehr elementaren Anweisungen aufgebaut. Trotz der Einfachheit der Anweisungen, können Sie von Menschen nicht eingesetzt werden, da die erforderliche Anzahl von Operationen sehr hoch sein kann. An dieser Stelle kommen Computer zum Einsatz. Wie in diesem Kapitel gezeigt wird, können mit den Grundrechenarten und Logischen Verknüpfungen komplexe Probleme gelöst werden. " |
| 44 | + "Viele Algorithmen aus unserem Alltag sind aus sehr elementaren Anweisungen aufgebaut. Trotz der Einfachheit der Anweisungen, können sie von Menschen nicht eingesetzt werden, da die erforderliche Anzahl von Operationen sehr hoch sein kann. An dieser Stelle kommen Computer zum Einsatz. Wie in diesem Kapitel gezeigt wird, können mit den Grundrechenarten und Logischen Verknüpfungen komplexe Probleme gelöst werden. " |
45 | 45 | ]
|
46 | 46 | },
|
47 | 47 | {
|
|
52 | 52 | "\n",
|
53 | 53 | "Beispiele für Algorithmen aus dem Alltag bzw. Ingenieurwesen, welche auf Computer zurückgreifen:\n",
|
54 | 54 | "* Numerische Lösung von Differentialgleichungen (z.B. Strukturmechanik, Wärmetransport)\n",
|
55 |
| - "* Suchmachinen im Internet\n", |
| 55 | + "* Suchmaschinen im Internet\n", |
56 | 56 | "* Vorschläge beim online Einkaufen oder Medienkonsum\n",
|
57 | 57 | "* Autonavigation"
|
58 | 58 | ]
|
|
68 | 68 | "cell_type": "markdown",
|
69 | 69 | "metadata": {},
|
70 | 70 | "source": [
|
71 |
| - "Ein einfacher Algorithmus zur Bestimmung des maximalen Werts einer beliebig großen Menge von Zahlen ist wie folgt definiert. \n", |
| 71 | + "Ein einfacher Algorithmus zur Bestimmung des maximalen Werts einer beliebig großen Menge von Zahlen ist wie folgt definiert: \n", |
72 | 72 | "\n",
|
73 |
| - "1. Eingabe: Menge $\\sf A$ von $\\sf n$ Zahlen, hier durchnumerierte Werteliste $\\sf A=A_0, \\dots A_{n-1}$.\n", |
| 73 | + "1. Eingabe: Menge $\\sf A$ von $\\sf n$ Zahlen, hier durchnumerierte Werteliste $\\sf A=A_0, \\dots, A_{n-1}$.\n", |
74 | 74 | "1. Setzte Hilfswert (Variable) $\\sf m$ auf das erste Element der Liste, d.h. $\\sf m = A_0$.\n",
|
75 | 75 | "1. Gehe alle Elemente von $\\sf A$ durch, wobei das aktuelle Element als $\\sf a$ bezeichnet wird:\n",
|
76 | 76 | " 1. Falls das aktuelle Element $\\sf a$ größer ist als $\\sf m$:\n",
|
77 | 77 | " * setzte $\\sf m = a$\n",
|
78 |
| - " * mache weiter mit dem nächsten Element in Schritt 3\n", |
| 78 | + " *, dann mache weiter mit dem nächsten Element in Schritt 3\n", |
79 | 79 | " 1. Falls nicht:\n",
|
80 |
| - " * mache weiter mit dem nächsten Element in Schritt 3\n", |
| 80 | + " mache weiter mit dem nächsten Element in Schritt 3\n", |
81 | 81 | "1. Nachdem alle Elemente aus $\\sf A$ in Schritt 3 durchlaufen wurden, enthält $\\sf m$ den maximalen Wert der Liste $\\sf A$.\n",
|
82 | 82 | "\n",
|
83 | 83 | "Folgende Abbildung visualisiert den obigen Ablauf als Flussdiagramm. "
|
|
0 commit comments