From 4efd0fdf05078b5372b608f576b981cc3bdf57db Mon Sep 17 00:00:00 2001
From: Benjamin Stamm <stamm@nmh10.mathematik.uni-stuttgart.de>
Date: Fri, 13 Oct 2023 15:41:21 +0200
Subject: [PATCH] corrected a few German-related issues in worksheet 1

---
 1_Basics.ipynb | 74 +++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 58 insertions(+), 16 deletions(-)

diff --git a/1_Basics.ipynb b/1_Basics.ipynb
index 3a840c9..987af1a 100644
--- a/1_Basics.ipynb
+++ b/1_Basics.ipynb
@@ -217,7 +217,7 @@
     "Es stellt sich heraus, dass `struct` eines der Schlüsselwörter von Julia ist und nicht als Variablennamen verwendet werden kann.\n",
     "\n",
     "- Für weitere Schlüsselwörter von Julia, siehe [https://docs.julialang.org/en/v1/base/base/#Keywords](https://docs.julialang.org/en/v1/base/base/#Keywords).\n",
-    "- Für weitere Details über `Variable`, siehe [https://docs.julialang.org/en/v1/manual/variables/](https://docs.julialang.org/en/v1/manual/variables/)."
+    "- Für weitere Details über `Variabeln`, siehe [https://docs.julialang.org/en/v1/manual/variables/](https://docs.julialang.org/en/v1/manual/variables/)."
    ]
   },
   {
@@ -357,7 +357,9 @@
    "id": "fc538246-418c-4ebe-b487-81feba4383c8",
    "metadata": {},
    "outputs": [],
-   "source": []
+   "source": [
+    "4*pi*5^3/3"
+   ]
   },
   {
    "cell_type": "markdown",
@@ -572,7 +574,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "x = 3; y = 5\n",
+    "x = 3; y = 2\n",
     "\n",
     "if x < y\n",
     "    println(\"x is less than y\")\n",
@@ -606,7 +608,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "x = 3\n",
+    "x = 6\n",
     "x < 5 ? \"smaller than 5\" : \"larger or equal 5\""
    ]
   },
@@ -633,7 +635,7 @@
    "source": [
     "## Iterations\n",
     "\n",
-    "Julia implements the standard for and while constructs."
+    "Julia implements the standard `for` and `while` constructs."
    ]
   },
   {
@@ -643,7 +645,7 @@
    "source": [
     "## Iterationen\n",
     "\n",
-    "Julia implementiert die üblichen for- und while-Strukturen."
+    "Julia implementiert die üblichen `for`- und `while`-Befehle."
    ]
   },
   {
@@ -766,7 +768,7 @@
    "id": "873c3625-3b99-48e5-9821-9b696a8f8a12",
    "metadata": {},
    "source": [
-    "Das `break`-Statement beendet die Schleife. Wenn ein `continue`-Statement in einer Schleife auftritt, springt die Kontrolle zum Anfang der Schleife für die nächste Iteration, wobei die Ausführung der Anweisungen im Körper der Schleife für die aktuelle Iteration übersprungen wird. Zum Beispiel:"
+    "Das `break`-Statement beendet die Schleife. Wenn ein `continue`-Statement in einer Schleife auftritt, springt die Kontrolle zum Anfang der Schleife für die nächste Iteration, wobei die Ausführung der Anweisungen im Innern der Schleife für die aktuelle Iteration übersprungen wird. Zum Beispiel:"
    ]
   },
   {
@@ -846,7 +848,26 @@
    "id": "9243c8ee-b3b9-4e23-a829-d20fc8bf0b16",
    "metadata": {},
    "outputs": [],
-   "source": []
+   "source": [
+    "factorial(3)\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "dbe40300-8333-4271-aa43-49f973fa03a6",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "n = 3\n",
+    "number = 0\n",
+    "for k in 0:n\n",
+    "    number += factorial(4*k)*(1103.0+26390.0*k)/(factorial(k)^4.0*396.0^(4.0*k))\n",
+    "end\n",
+    "number *= 2*sqrt(2)/9801\n",
+    "print(number,\"   \")\n",
+    "print(1.0/number-π)"
+   ]
   },
   {
    "cell_type": "markdown",
@@ -1047,7 +1068,7 @@
    "id": "9b688bbf-08b6-4fba-babe-b16b6e1119be",
    "metadata": {},
    "source": [
-    "Für Einzeiler-Funktionen kann man auch eine praktische Kurzschreibweise verwenden:"
+    "Beide Funktionen sind in den Argumenttypen vollständig generisch"
    ]
   },
   {
@@ -1348,11 +1369,11 @@
    "source": [
     "Es mag nicht klar sein, warum es sich lohnt, ein Programm in Funktionen zu unterteilen. Es gibt mehrere Gründe dafür:\n",
     "\n",
-    "- Das Erstellen einer neuen Funktion bietet Ihnen die Möglichkeit, eine Gruppe von Anweisungen zu benennen, was Ihr Programm leichter lesbar und einfacher zu debuggen macht.\n",
+    "- Das Erstellen einer neuen Funktion bietet die Möglichkeit, eine Gruppe von Anweisungen zu benennen, was das Programm leichter lesbar und einfacher zu debuggen macht.\n",
     "- Funktionen können ein Programm kleiner machen, indem sie wiederholten Code eliminieren. Später, wenn Sie eine Änderung vornehmen, müssen Sie sie nur an einer Stelle vornehmen.\n",
     "- Das Aufteilen eines langen Programms in Funktionen ermöglicht es Ihnen, die Teile nacheinander zu debuggen und dann zu einem funktionierenden Ganzen zusammenzufügen.\n",
     "- Gut gestaltete Funktionen sind oft für viele Programme nützlich. Sobald Sie eine geschrieben und debuggt haben, können Sie sie wiederverwenden.\n",
-    "- In Julia können Funktionen die Leistung erheblich verbessern.\n"
+    "- In Julia können Funktionen die Schnelligkeit erheblich verbessern.\n"
    ]
   },
   {
@@ -1582,7 +1603,27 @@
    "id": "f4102487-011e-474f-ab79-3d7db1d3bbd9",
    "metadata": {},
    "outputs": [],
-   "source": []
+   "source": [
+    "function myfrac(n)\n",
+    "    r = \n",
+    "    if n>1\n",
+    "        r = n*myfrac(n-1)\n",
+    "    else \n",
+    "        r = 1\n",
+    "    end\n",
+    "    r\n",
+    "end"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "e7258177-64a5-4f00-ab48-9b78665695c8",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "myfrac(4)"
+   ]
   },
   {
    "cell_type": "markdown",
@@ -1626,7 +1667,7 @@
    "id": "a32900cc-c244-4d63-8ff6-4d11cee83eee",
    "metadata": {},
    "source": [
-    " - Verwenden Sie die beiden Funktionen, um zu berechnen\n",
+    " - Verwenden Sie die beiden Funktionen, um folgendes zu berechnen\n",
     "$$ 15! \\qquad \\left(\\begin{array}{c} 5 \\\\ 2 \\end{array}\\right) \\qquad \\left(\\begin{array}{c} 5 \\\\ 3 \\end{array}\\right) $$"
    ]
   },
@@ -1678,7 +1719,8 @@
    "outputs": [],
    "source": [
     "greet(\"Michele\")\n",
-    "greet(\"Lambert\"; greeting=\"Hallo\")"
+    "greet(\"Lambert\"; greeting=\"Hallo\")\n",
+    "greet(\"YingXing\"; greeting=\"再见\")"
    ]
   },
   {
@@ -1697,7 +1739,7 @@
    "metadata": {},
    "source": [
     "Dies ist in den folgenden Fällen sehr praktisch:\n",
-    "  - um ein Standardverhalten der Funktion festzulegen, während die Möglichkeit besteht, es fein zu steuern.\n",
+    "  - um ein Standardverhalten der Funktion festzulegen, während die Möglichkeit besteht, sie fein zu steuern.\n",
     "  - um zu einem späteren Zeitpunkt neue Funktionalitäten hinzuzufügen, ohne die Abwärtskompatibilität zu brechen."
    ]
   },
@@ -1792,7 +1834,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Julia 1.9.3",
+   "display_name": "julia 1.9.3",
    "language": "julia",
    "name": "julia-1.9"
   },
-- 
GitLab