diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2023-11-13 22:25:49 +0100 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2023-11-13 22:25:49 +0100 |
| commit | cfd8acd02e3ca1a242e6763ec174e3854fff7454 (patch) | |
| tree | bb5f1b2b5b49fb47d218c4f1989c5948e10a34fe | |
| parent | 187fd22e379e1c4736ad50c981c7b599e5099de7 (diff) | |
| download | unterricht-cfd8acd02e3ca1a242e6763ec174e3854fff7454.tar.gz unterricht-cfd8acd02e3ca1a242e6763ec174e3854fff7454.zip | |
add my next info lesson in 11B
| l--------- | Info/23_24/11/14/11B/img | 1 | ||||
| -rw-r--r-- | Info/23_24/11/14/11B/schedule.md | 28 | ||||
| -rw-r--r-- | Info/23_24/11/14/11B/slides.md | 189 |
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 + +{.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} + + + +Das Ergebnis ist nur dann *wahr*, wenn [alle]{.underline} Eingabewerte *wahr* sind. +:::: + +:::: {.column width=30%} +\pause +**Oder** (engl. **Or**) \vspace{0.2cm} + + + +Das Ergebnis ist *wahr*, wenn [mindestens]{.underline} einer der Eingabewerte *wahr* sind +:::: + +:::: {.column width=30%} +\pause +**Nicht** (engl. **Not**) \vspace{0.2cm} + + + +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" +>- {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 + +{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. + +{.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. + +{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. |
