diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2025-12-03 11:49:42 +0100 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2025-12-03 11:49:42 +0100 |
| commit | e27fe12ec3ad94dbd4dd177a8d6986dfc0b4ab29 (patch) | |
| tree | 0324e3f66c1c25b69cd54de2cc7a667b2706b91b | |
| parent | bcc9de4e7e297631fdaa8949e99850a670d2d3a6 (diff) | |
| download | unterricht-e27fe12ec3ad94dbd4dd177a8d6986dfc0b4ab29.tar.gz unterricht-e27fe12ec3ad94dbd4dd177a8d6986dfc0b4ab29.zip | |
add last lesson in 11a SG
| l--------- | Info/25_26/11/21/11a_SP/B-Sprache.xml | 1 | ||||
| l--------- | Info/25_26/11/21/11a_SP/img | 1 | ||||
| -rw-r--r-- | Info/25_26/11/21/11a_SP/schedule.md | 28 | ||||
| -rw-r--r-- | Info/25_26/11/21/11a_SP/slides.md | 95 |
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" +>- {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 + +{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. + +{.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. + +{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`. |
