aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2025-12-03 11:49:42 +0100
committerFlorian Fischer <florian.fischer@muhq.space>2025-12-03 11:49:42 +0100
commite27fe12ec3ad94dbd4dd177a8d6986dfc0b4ab29 (patch)
tree0324e3f66c1c25b69cd54de2cc7a667b2706b91b
parentbcc9de4e7e297631fdaa8949e99850a670d2d3a6 (diff)
downloadunterricht-e27fe12ec3ad94dbd4dd177a8d6986dfc0b4ab29.tar.gz
unterricht-e27fe12ec3ad94dbd4dd177a8d6986dfc0b4ab29.zip
add last lesson in 11a SG
l---------Info/25_26/11/21/11a_SP/B-Sprache.xml1
l---------Info/25_26/11/21/11a_SP/img1
-rw-r--r--Info/25_26/11/21/11a_SP/schedule.md28
-rw-r--r--Info/25_26/11/21/11a_SP/slides.md95
4 files changed, 125 insertions, 0 deletions
diff --git a/Info/25_26/11/21/11a_SP/B-Sprache.xml b/Info/25_26/11/21/11a_SP/B-Sprache.xml
new file mode 120000
index 00000000..0a2bf6e3
--- /dev/null
+++ b/Info/25_26/11/21/11a_SP/B-Sprache.xml
@@ -0,0 +1 @@
+../../../../11/MUG_SWG_SG/1/B-Sprache.xml \ No newline at end of file
diff --git a/Info/25_26/11/21/11a_SP/img b/Info/25_26/11/21/11a_SP/img
new file mode 120000
index 00000000..944d1fc5
--- /dev/null
+++ b/Info/25_26/11/21/11a_SP/img
@@ -0,0 +1 @@
+../../../../11/MUG_SWG_SG/1/Methoden/img \ No newline at end of file
diff --git a/Info/25_26/11/21/11a_SP/schedule.md b/Info/25_26/11/21/11a_SP/schedule.md
new file mode 100644
index 00000000..66fe6331
--- /dev/null
+++ b/Info/25_26/11/21/11a_SP/schedule.md
@@ -0,0 +1,28 @@
+---
+lang: de
+geometry: margin=2cm
+---
+# Algorithmik Übung
+
+* **Klasse**: 11B
+* **Datum**: 14.11
+
+## Lernziele
+
+## Verlaufplan
+
+---------------------------------------------------------------------------------------------------
+Zeit Phase Unterrichtsgeschehen Ziel Methode Medien
+----- --------------- -------------------------------------------- ----------- ---------- ---------
+10 Wdh Logische Operartoren / Methoden
+
+15 Uebung Algorithmus für die B-Sprache
+
+10 Uebung Algortihmus in Snap!
+
+10 Uebung Übersetzung
+
+5 Bieber-Orga
+
+40 Bieber
+---------------------------------------------------------------------------------------------------
diff --git a/Info/25_26/11/21/11a_SP/slides.md b/Info/25_26/11/21/11a_SP/slides.md
new file mode 100644
index 00000000..e907ebec
--- /dev/null
+++ b/Info/25_26/11/21/11a_SP/slides.md
@@ -0,0 +1,95 @@
+## \faIcon{lightbulb} Waren unsere Anweisungen genau genug?
+
+Kann ein Mensch/Roboter/Computer folgende Anweisungen ausführen?
+
+:::{.block}
+### Beispiele
+
+>- "Falte die langen Kanten des Blatts aufeinander"
+>- "Schalte die Ampel auf rot"
+>- ![](img/ask_parking_time.png){height=1cm}
+:::
+
+\pause
+\boldred{Nicht ohne weiteres!}
+\pause
+Die Anweisungen bestehen eigentlich aus noch weiteren Anweisungen.
+
+## Methoden
+
+Als Methoden bezeichnet man in der Informatik [benannte]{.underline} \textit{"Unterprogramme"}.
+
+\pause
+\vspace{0.2cm}
+### Gut. Aber warum?
+\pause
+Methoden können Algorithmen vereinfachen, da sie erlauben ganze Sequenzen mehrmals wieder zu verwenden.
+
+\pause
+### Beispiel - Rückwärtsgehen
+
+![](img/move_backwarts.png){height=4cm}
+
+## Methoden {.t}
+
+Methoden bestehen aus zwei Teilen:
+
+::: columns
+:::: {.column width=50%}
+\begin{itemize}
+\item<1-> Einem \boldred{Methodenkopf} der den Namen und die Eigenschaften der Methode festlegt \vspace{0.5cm}
+\item<2-> Einem \boldred{Methodenrumpf} der die Anweisungen der Methode enthält
+\end{itemize}
+::::
+
+:::: {.column width=50%}
+\begin{tikzpicture}
+\node[circle, draw, minimum size=1cm] (head) {};
+\node[align=left] at ($(head) + (2cm, 0)$) {\textcolor{red}{Methodenkopf} \\ \textit{GeheRueckwaerts}};
+
+\only<2-> {
+ \coordinate (shoulders) at ($(head) - (0, 1.2cm)$);
+ \coordinate (hip) at ($(shoulders) - (0, 2cm)$);
+
+ \draw (head) -- (shoulders);
+ \draw (shoulders) -- ($(shoulders) + (0.5cm, 0.5cm)$);
+ \draw (shoulders) -- ($(shoulders) + (-0.5cm, 0.5cm)$);
+ \draw (shoulders) -- (hip);
+ \draw (hip) -- ($(hip) - (0.5cm, 0.5cm)$);
+ \draw (hip) -- ($(hip) - (-0.5cm, 0.5cm)$);
+
+ \node[align=left] at ($(shoulders) + (2cm, -1cm)$) {\textcolor{red}{Methodenrumpf} \\ Drehe 180 Grad \\ Gehe 10 Schritte \\ Drehe 180 Grad};
+}
+\end{tikzpicture}
+::::
+:::
+
+## Methoden in `Snap!`
+
+In `Snap!` kannst du Methoden als neue Blöcke erzeugen.
+
+![](img/make_a_block.png){.center height=75%}
+
+## Methoden und Parameter
+
+Ähnlich zu mathematischen Funktionen kann man Methoden Werte, sogenannte \boldred{Parameter}, übergeben.
+
+\pause
+Der als Parameter übergebene Wert ist innerhalb der Methode wie eine Variable benutzbar.
+
+\pause
+**In `Snap!`** kannst du Parameter einer Methode erzeugen in dem du in ihrem **Head-Block** das \textit{plus}-Symbol klickst.
+
+![](img/move_backwarts_n.png){height=3.8cm}
+
+
+## \faIcon{pencil-alt} Arbeitsauftrag - 15 min
+
+* Recherchiere was es mit der B-Sprache auf sich hat.
+* Entwerfe einen Algorithmus der eine beliebige Zeichenfolge in die B-Sprache übersetzt.
+
+## \faIcon{desktop} Arbeitsauftrag - 10min
+
+* Übertrage deinen Algorithmus der eine Zeichenfolge in die B-Sprache übersetzt in ein `Snap!`-Programm
+* Erstelle eine Methode `SagInBSprache`, die eine Zeichenfolge als Parameter übergeben bekommt und das Wort in B-Sprache ausgibt.
+* Du brauchst die Operatoren `join`, `length of` und `letter of`.