aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2023-11-13 22:25:49 +0100
committerFlorian Fischer <florian.fischer@muhq.space>2023-11-13 22:25:49 +0100
commitcfd8acd02e3ca1a242e6763ec174e3854fff7454 (patch)
treebb5f1b2b5b49fb47d218c4f1989c5948e10a34fe
parent187fd22e379e1c4736ad50c981c7b599e5099de7 (diff)
downloadunterricht-cfd8acd02e3ca1a242e6763ec174e3854fff7454.tar.gz
unterricht-cfd8acd02e3ca1a242e6763ec174e3854fff7454.zip
add my next info lesson in 11B
l---------Info/23_24/11/14/11B/img1
-rw-r--r--Info/23_24/11/14/11B/schedule.md28
-rw-r--r--Info/23_24/11/14/11B/slides.md189
3 files changed, 218 insertions, 0 deletions
diff --git a/Info/23_24/11/14/11B/img b/Info/23_24/11/14/11B/img
new file mode 120000
index 00000000..944d1fc5
--- /dev/null
+++ b/Info/23_24/11/14/11B/img
@@ -0,0 +1 @@
+../../../../11/MUG_SWG_SG/1/Methoden/img \ No newline at end of file
diff --git a/Info/23_24/11/14/11B/schedule.md b/Info/23_24/11/14/11B/schedule.md
new file mode 100644
index 00000000..66fe6331
--- /dev/null
+++ b/Info/23_24/11/14/11B/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/23_24/11/14/11B/slides.md b/Info/23_24/11/14/11B/slides.md
new file mode 100644
index 00000000..9a44ef12
--- /dev/null
+++ b/Info/23_24/11/14/11B/slides.md
@@ -0,0 +1,189 @@
+---
+author: Florian Fischer
+lang: de
+theme: metropolis
+aspectratio: 169
+header-includes: |
+ \makeatletter
+ \beamer@ignorenonframefalse
+ \makeatother
+ \usepackage{tabulary}
+ \usepackage{fontawesome5}
+ \usepackage{tikz}
+ \usetikzlibrary{calc,positioning}
+ \newcommand{\boldred}[1]{\textcolor{red}{\textbf{#1}}}
+---
+
+
+## Wiederholung - Operationen
+
+![](img/operation.jpg){.center}
+
+## Wiederholtung - Bekannte Operationen
+
+\begin{center}
+\scalebox{1.2}{
+\begin{tabular}{l c c l}
+Datentyp & Operation & $\rightarrow$ & Datentyp \\
+\hline
+\textcolor{orange!70}{Zahl} & + & $\rightarrow$ & \only<1>{\phantom{\textcolor{orange!70}{Zahl}}}\only<2->{\textcolor{orange!70}{Zahl}} \\
+\textcolor{orange!70}{Zahl} & - & $\rightarrow$ & \only<2->{\textcolor{orange!70}{Zahl}} \\
+\textcolor{orange!70}{Zahl} & * & $\rightarrow$ & \only<2->{\textcolor{orange!70}{Zahl}} \\
+\textcolor{orange!70}{Zahl} & / & $\rightarrow$ & \only<2->{\textcolor{orange!70}{Zahl}} \\
+\only<3->{\textcolor{orange!70}{Zahl}} & > & $\rightarrow$ & \only<-3>{\phantom{\textcolor{blue!70}{Wahrheitswert}}}\only<4->{\textcolor{blue!70}{Wahrheitswert}}\\
+\only<3->{\textcolor{orange!70}{Zahl}} & < & $\rightarrow$ & \only<4->{\textcolor{blue!70}{Wahrheitswert}}\\
+\only<3->{\textcolor{orange!70}{Zahl}} & = & $\rightarrow$ & \only<4->{\textcolor{blue!70}{Wahrheitswert}}\\
+\only<-4>{\phantom{\textcolor{blue!70}{Wahrheitswert}} & & & \phantom{\textcolor{blue!70}{Wahrheitswert}} \\}\only<5>{\textcolor{blue!70}{Wahrheitswert} & ??? & $\rightarrow$ & \textcolor{blue!70}{Wahrheitswert} \\}
+\end{tabular}
+}
+\end{center}
+
+## Logischen Operationen
+
+\large
+Mit \boldred{logische Operationen} lassen sich Wahrheitswerte zu anderen Wahrheitswerten **umformern** oder **zusammenfassen**.
+
+**Welche logischen Operationen kennt ihr aus dem Alltag?** \vspace{0.5cm}
+\pause
+
+::: columns
+:::: {.column width=30%}
+**Und** (engl. **And**) \vspace{0.2cm}
+
+![](img/and_block.png)
+
+Das Ergebnis ist nur dann *wahr*, wenn [alle]{.underline} Eingabewerte *wahr* sind.
+::::
+
+:::: {.column width=30%}
+\pause
+**Oder** (engl. **Or**) \vspace{0.2cm}
+
+![](img/or_block.png)
+
+Das Ergebnis ist *wahr*, wenn [mindestens]{.underline} einer der Eingabewerte *wahr* sind
+::::
+
+:::: {.column width=30%}
+\pause
+**Nicht** (engl. **Not**) \vspace{0.2cm}
+
+![](img/not_block.png)
+
+Das Ergebnis ist *wahr*, wenn die Eingabe *falsch* ist, und *falsch*, wenn die Eingabe *wahr* ist.
+::::
+:::
+
+## Wahrheitstabelle
+
+\large
+Die Ergebnisse der Logischen Operationen können in einer \boldred{Wahrheitstabelle} dargestellt werden.
+
+\begin{center}
+\begin{tabulary}{\textwidth}{C | C | C | C | C}
+Wert1 & Wert2 & Wert1 \textbf{UND} Wert2 & Wert1 \textbf{ODER} \newline Wert2 & \textbf{NICHT} WERT1 \\
+\hline
+Wahr & Wahr & \only<2>{\textcolor{green!60!black}{Wahr}}\only<3->{Wahr} & \only<3>{\textcolor{green!60!black}{Wahr}}\only<4->{Wahr} & \only<4>{\textcolor{red}{Falsch}}\\
+\hline
+Wahr & Falsch & \only<2>{\textcolor{red}{Falsch}}\only<3->{Falsch} & \only<3>{\textcolor{green!60!black}{Wahr}}\only<4->{Wahr} & \only<4>{\textcolor{red}{Falsch}}\\
+\hline
+Falsch & Wahr & \only<2>{\textcolor{red}{Falsch}}\only<3->{Falsch} & \only<3>{\textcolor{green!60!black}{Wahr}}\only<4->{Wahr} & \only<4>{\textcolor{green!60!black}{Wahr}}\\
+\hline
+Falsch & Falsch & \only<2>{\textcolor{red}{Falsch}}\only<3->{Falsch} & \only<3>{\textcolor{red}{Falsch}}\only<4->{Falsch} & \only<4>{\textcolor{green!60!black}{Wahr}}\\
+\end{tabulary}
+\end{center}
+
+## 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} *"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
+
+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=70%}
+
+## Methoden und Parameter
+
+Ähnlich zu mathematischen Funktionen kann man Methoden Werte als 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 *plus*-Symbol klickst.
+
+![](img/move_backwarts_n.png){height=4cm}
+
+
+## \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 unterbesetzt in ein Snap!-Programm
+* Erstelle eine Methode `SagInBSprache`, die eine Zeichenfolge als Parameter übergeben bekommt und das Wort in B-Sprache ausgibt.