aboutsummaryrefslogtreecommitdiff
path: root/Info
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2025-12-03 11:41:10 +0100
committerFlorian Fischer <florian.fischer@muhq.space>2025-12-03 11:41:10 +0100
commitc28632b2e3e51c08141163db6c7b33f2fe6b6079 (patch)
tree07aed2221b21d4ecf7b6016da2e7e975370f352c /Info
parentca4538c8b25f82463b4048201fa7003424f78fce (diff)
downloadunterricht-c28632b2e3e51c08141163db6c7b33f2fe6b6079.tar.gz
unterricht-c28632b2e3e51c08141163db6c7b33f2fe6b6079.zip
separate the array slides
Diffstat (limited to 'Info')
-rw-r--r--Info/10/2/Felder/.gitignore2
-rw-r--r--Info/10/2/Felder/slides-erderwaermung-felder.md164
-rw-r--r--Info/10/2/Felder/slides-erderwaermung-intro.md67
-rw-r--r--Info/10/2/Felder/slides.md240
4 files changed, 242 insertions, 231 deletions
diff --git a/Info/10/2/Felder/.gitignore b/Info/10/2/Felder/.gitignore
new file mode 100644
index 00000000..44ed896d
--- /dev/null
+++ b/Info/10/2/Felder/.gitignore
@@ -0,0 +1,2 @@
+slides-erderwaermung-intro.pdf
+slides-erderwaermung-felder.pdf
diff --git a/Info/10/2/Felder/slides-erderwaermung-felder.md b/Info/10/2/Felder/slides-erderwaermung-felder.md
new file mode 100644
index 00000000..19cb5fbf
--- /dev/null
+++ b/Info/10/2/Felder/slides-erderwaermung-felder.md
@@ -0,0 +1,164 @@
+## \faIcon{chalkboard-teacher} Arrays in Java
+
+Java unterstützt \boldred{Felder} von **jedem** Datentyp.
+Um ein Feld von ganzen Zahlen anzulegen musst du ein Attribut/Variable mit dem Typ `int[]`{.java} **deklarieren**.
+
+\pause
+Ein Array in Java hat eine **feste Länge** die beim Erzeugen eines Arrays mit Hilfe des `new`{.java} Befehls in den eckigen Klammern angegeben wird.
+
+\pause
+```{.java}
+// Deklaration eines int arrays namens Zahlen
+int[] zahlen;
+// Initialisieren der Variable zahlen mit einem neuen array der Länge 5
+zahlen = new int[5];
+```
+
+## \faIcon{pencil-alt} Arrays in Java
+
+* Zusammenschluss mehrerer Daten gleichen Typs
+* Der Datentyp setzt sich aus dem Typ eines Eintrags und `[]` zusammen
+ * `<typ>[]`
+ * Bsp: `String[]`{.java}, `int[]`{.java}, `double[]`{.java}
+* Werden durch das Schlüsselwort `new`{.java} erzeugt
+ * Bsp: `int[] zahlen = new int[5];`{.java}
+* Haben eine feste Länge
+ * Die Länge wird in dem Attribut `length` eines Feldes gespeichert
+ * ```java
+int[] zahlen = new int[5];
+zahlen.length == 5; // Wahr
+```
+
+## \faIcon{desktop} Arbeitsauftrag - 5min
+
+Wir wollen ein Programm schreiben das die [stündliche]{.underline} Temperaturmessungen eines Tages verwaltet.
+
+1. Öffne das Tagestemperaturen Projekt
+2. Deklariere ein Feld vom Typ `double`{.java} namens `temperaturen`, als Attribut der Klasse `Tagestemperaturen`
+3. Initialisiere das Feld im Konstruktor der Klasse `Tagestemperaturen`
+
+## Auf Einträge zugreifen.
+
+Jetzt haben wir ein Feld aber können damit noch nichts anfangen.
+
+\pause
+
+### \faIcon{pencil-alt} Index
+Um auf einzelne Stellen in einem Feld zuzugreifen, verwenden wir deren \boldred{Index}.
+
+Der \boldred{Index} eines \boldred{Feldes} startet in Java bei 0.
+
+Um ein Feld mit Index `n` anzusprechen wird der \boldred{Index} in **eckige Klammern** hinter den Feldnamen geschrieben.
+
+\pause
+::: {.columns align=center}
+:::: {.column width=40%}
+```java
+int[] zahlen = new int[5];
+zahlen[0] = 1;
+zahlen[1] = 2;
+zahlen[2] = 3;
+zahlen[3] = 4;
+zahlen[4] = 5;
+```
+::::
+
+:::: {.column width=40%}
+\begin{tabular}{|c|c|c|c|c|}
+\hline
+1 & 2 & 3 & 4 & 5 \\
+\hline
+\end{tabular}
+
+\begin{tabular}{ccccc}
+0 & 1 & 2 & 3 & 4 \\
+\end{tabular}
+::::
+:::
+
+
+## Feld durchlaufen
+
+Das ist auch noch ganz schön mühsam!
+
+Wie könnten wir leichter jeden Eintrag eines Feld lesen/schreiben?
+
+\pause
+
+### Mit einer `for` - Wiederholung!
+
+```java
+int[] zahlen = new int[5];
+for (int i = 0; i < zahlen.length; i++) {
+ zahlen[i] = i + 1;
+}
+```
+
+## \faIcon{desktop} Arbeitsauftrag \hfill 15min
+
+1. Vervollständigen die Methode `temperaturenAusgeben()`, in dem du das Feld mit einer `for`- Wiederholung durchläufst.
+2. Bei jeder Wiederholung soll die Temperatur und die Stunde ausgegeben werden.
+
+## \faIcon{desktop} Arbeitsauftrag - Lösung
+
+```java
+public void temperaturenAusgeben() {
+ for (int i = 0; i < temperaturen.length; i++) {
+ System.out.println("Zur Stunde " + i +
+ " wurden " + temperaturen[i] +
+ " °C gemessen.");
+ }
+}
+```
+
+## Wie finden wir die kleinste Temperatur?
+
+### Idee\only<1>{?}\only<2->{:}
+\pause
+Alle Temperaturen der Reihe nach mit der aktuell kleinsten vergleichen und die kleinere Temperatur merken
+
+### Was brauchen wir?
+\begin{itemize}
+\item<3-> Wir müssen uns das aktuelle Minimum in einer Variable merken
+\item<4-> Wir müssen das Feld durchlaufen und alle Temperaturen prüfen
+\item<5-> Wir müssen auf ungültige/fehlende Messungen (-300) prüfen
+\end{itemize}
+
+## Kleinste Temperatur finden in Java
+
+```java
+public void minTempAusgeben() {
+ double minimum = -300;
+ for (int i = 0; i < temperaturen.length; i++) {
+ if(temperaturen[i] > -300 ) {
+ if (minimum == -300) { // Noch kein echtes Minimum
+ minimum = temperaturen[i];
+ } else if(temperaturen[i] < minimum) {
+ minimum = temperaturen[i];
+ }
+ }
+ }
+ System.out.println("Die kleinste gemessene Temperatur war " +
+ minimum + " °C.");
+}
+```
+
+## \faIcon{desktop} Arbeitsauftrag \hfill 15min
+
+1. Vervollständigen die Methode `maxTempAusgeben()`, die ähnlich zu `minTempAusgeben()` die maximal gemessene Temperatur ausgiebt.
+2. **Für Schnelle:** Vervollständige die Methode `durchschnittTempAusgeben()`, die die durchschnittliche Temperatur nach dem arithmetischen Mittel ausgiebt.
+
+## \faIcon{desktop} Arbeitsauftrag - Lösung
+
+```java
+public void maxTempAusgeben() {
+ double maximum = -300;
+ for (int i = 0; i < temperaturen.length; i++) {
+ if (temperaturen[i] > maximum) {
+ maximum = temperaturen[i];
+ }
+ }
+ System.out.println("Die größte gemessene Temperatur war " +
+ maximum + " °C.");
+}
+```
diff --git a/Info/10/2/Felder/slides-erderwaermung-intro.md b/Info/10/2/Felder/slides-erderwaermung-intro.md
new file mode 100644
index 00000000..09802b03
--- /dev/null
+++ b/Info/10/2/Felder/slides-erderwaermung-intro.md
@@ -0,0 +1,67 @@
+##
+
+\begin{tikzpicture}
+\node[rotate=0] {\includegraphics[keepaspectratio, width=0.9\textwidth]{img/Copyrighted/polarbears.jpg}};
+\pause
+\node[rotate=-5] {\includegraphics[keepaspectratio, width=0.9\textwidth]{img/Copyrighted/flood.jpg}};
+\pause
+\node[rotate=8] {\includegraphics[keepaspectratio, width=0.9\textwidth]{img/Copyrighted/drought.jpg}};
+\pause
+\node[rotate=3] {\includegraphics[keepaspectratio, width=0.9\textwidth]{img/Copyrighted/burnt.jpg}};
+\end{tikzpicture}
+
+## {.standout}
+
+Heute geht es um den Klimawandel.
+
+\pause
+
+Wieso wissen wir eigentlich davon?
+
+## Temperaturmessungen
+
+Wir messen die Temperatur.
+
+![](img/Copyrighted/dsc.jpg){.centered height=70%}
+
+\pause
+Was fehlt noch damit wir einen Trend beobachten können?
+
+## Speichern von vielen gleichen Daten
+
+\pause
+Wie würdet ihr in Java euch mehrere Temperaturmessungen speichern?
+
+\pause
+```java
+class Messungen {
+ double messung1;
+ double messung2;
+ double messung3;
+ double messung4;
+ ...
+}
+```
+
+\pause
+Ok geht! Aber hat einiges an Problemen.
+
+## \faIcon{chalkboard-teacher} Die Datenstruktur Feld
+
+Da die Verwaltung einer größeren, meist fester Anzahl, gleicher Daten ein gängiges Problem ist haben die meisten Programmiersprachen eine Lösung.
+
+\pause
+### Feld (engl. Array)
+
+Ein \boldred{Array} könnt ihr euch wie ein Schachtel mit vielen gleich großen Fächern vorstellen.
+
+\vspace{0.5cm}
+\begin{center}
+\scalebox{1.5}{
+\begin{tabular}{|c|c|c|c|c|c}
+\hline
+&&&&&...\\
+\hline
+\end{tabular}
+}
+\end{center}
diff --git a/Info/10/2/Felder/slides.md b/Info/10/2/Felder/slides.md
index 636b233d..976307dc 100644
--- a/Info/10/2/Felder/slides.md
+++ b/Info/10/2/Felder/slides.md
@@ -1,239 +1,17 @@
----
-author: Florian Fischer
-theme: metropolis
-aspectratio: 169
----
-
-
-##
-
-\begin{tikzpicture}
-\node[rotate=0] {\includegraphics[keepaspectratio]{img/Copyrighted/polarbears.jpg}};
-\pause
-\node[rotate=-5] {\includegraphics[keepaspectratio]{img/Copyrighted/flood.jpg}};
-\pause
-\node[rotate=8] {\includegraphics[keepaspectratio]{img/Copyrighted/drought.jpg}};
-\pause
-\node[rotate=3] {\includegraphics[keepaspectratio]{img/Copyrighted/burnt.jpg}};
-\end{tikzpicture}
-
-## {.standout}
-
-Heute geht es um den Klimawandel.
-
-\pause
-
-Wieso wissen wir eigentlich davon?
-
-## Temperaturmessungen
-
-Wir messen die Temperatur.
-
-![](img/Copyrighted/dsc.jpg){.centered height=70%}
-
-\pause
-Was fehlt noch damit wir einen Trend beobachten können?
-
-## Speichern von vielen gleichen Daten
-
-\pause
-Wie würdet ihr in Java euch mehrere Temperaturmessungen speichern?
-
-\pause
-```java
-class Messungen {
- double messung1;
- double messung2;
- double messung3;
- double messung4;
- ...
-}
+```{.include}
+slides-erderwaermung-intro.md
```
-\pause
-Ok geht! Aber hat einiges an Problemen.
-
-## Die Datenstruktur Feld
+## \faIcon{desktop} Arbeitsauftrag: Felder in Java
-Da die Verwaltung einer größeren, meist fester Anzahl, gleicher Daten ein gängiges Problem ist haben die meisten Programmiersprachen eine Lösung.
+Die kommenden Stunden erarbeitet ihr in eurem Tempo die Datenstruktur Felder.
-\pause
-### Feld (engl. Array)
-
-Ein \boldred{Array} könnt ihr euch wie ein Schachtel mit vielen gleich großen Fächern vorstellen.
-
-\vspace{0.5cm}
+\vspace{0.4cm}
\begin{center}
-\scalebox{1.5}{
-\begin{tabular}{|c|c|c|c|c|c}
-\hline
-&&&&&...\\
-\hline
-\end{tabular}
-}
+\Large
+\url{https://dennerlein-web.de/felder/}
\end{center}
+\vspace{0.4cm}
-## Arrays in Java
-
-Java unterstützt \boldred{Felder} von **jedem** Datentyp.
-Um ein Feld von ganzen Zahlen anzulegen musst du ein Attribut/Variable mit dem Typ `int[]`{.java} **deklarieren**.
-
-\pause
-Ein Array in Java hat eine **feste Länge** die beim Erzeugen eines Arrays mit Hilfe des `new`{.java} Befehls in den eckigen Klammern angegeben wird.
-
-\pause
-```{.java}
-// Deklaration eines int arrays namens Zahlen
-int[] zahlen;
-// Initialisieren der Variable zahlen mit einem neuen array der Länge 5
-zahlen = new int[5];
-```
-
-## \faIcon{pencil-alt} Arrays in Java
-
-* Zusammenschluss mehrerer Daten gleichen Typs
-* Der Datentyp setzt sich aus dem Typ eines Eintrags und `[]` zusammen
- * `<typ>[]`
- * Bsp: `String[]`{.java}, `int[]`{.java}, `double[]`{.java}
-* Werden durch das Schlüsselwort `new`{.java} erzeugt
- * Bsp: `int[] zahlen = new int[5];`{.java}
-* Haben eine feste Länge
- * Die Länge wird in dem Attribut `length` eines Feldes gespeichert
- * ```java
-int[] zahlen = new int[5];
-zahlen.length == 5; // Wahr
-```
-
-## \faIcon{desktop} Arbeitsauftrag - 5min
-
-Wir wollen ein Programm schreiben das die [stündliche]{.underline} Temperaturmessungen eines Tages verwaltet.
-
-1. Öffne das Tagestemperaturen Projekt
-2. Deklariere ein Feld vom Typ `double`{.java} namens `temperaturen`, als Attribut der Klasse `Tagestemperaturen`
-3. Initialisiere das Feld im Konstruktor der Klasse `Tagestemperaturen`
-
-## Auf Einträge zugreifen.
-
-Jetzt haben wir ein Feld aber können damit noch nichts anfangen.
-
-\pause
+Das passende Arbeitsblatt habe ich euch in den ByCS Space gelegt.
-### \faIcon{pencil-alt} Index
-Um auf einzelne Stellen in einem Feld zuzugreifen, verwenden wir deren \boldred{Index}.
-
-Der \boldred{Index} eines \boldred{Feldes} startet in Java bei 0.
-
-Um ein Feld mit Index `n` anzusprechen wird der \boldred{Index} in **eckige Klammern** hinter den Feldnamen geschrieben.
-
-\pause
-::: {.columns align=center}
-:::: {.column width=40%}
-```java
-int[] zahlen = new int[5];
-zahlen[0] = 1;
-zahlen[1] = 2;
-zahlen[2] = 3;
-zahlen[3] = 4;
-zahlen[4] = 5;
-```
-::::
-
-:::: {.column width=40%}
-\begin{tabular}{|c|c|c|c|c|}
-\hline
-1 & 2 & 3 & 4 & 5 \\
-\hline
-\end{tabular}
-
-\begin{tabular}{ccccc}
-0 & 1 & 2 & 3 & 4 \\
-\end{tabular}
-::::
-:::
-
-
-## Feld durchlaufen
-
-Das ist auch noch ganz schön mühsam!
-
-Wie könnten wir leichter jeden Eintrag eines Feld lesen/schreiben?
-
-\pause
-
-### Mit einer `for` - Wiederholung!
-
-```java
-int[] zahlen = new int[5];
-for (int i = 0; i < zahlen.length; i++) {
- zahlen[i] = i + 1;
-}
-```
-
-## \faIcon{desktop} Arbeitsauftrag - 15min
-
-1. Vervollständigen die Methode `temperaturenAusgeben()` in dem du das Feld mit einer `for`- Wiederholung durchläufst.
-2. Bei jeder Wiederholung soll die Temperatur und die Stunde ausgegeben werden.
-
-## \faIcon{desktop} Arbeitsauftrag - Lösung
-
-```java
-public void temperaturenAusgeben() {
- for (int i = 0; i < temperaturen.length; i++) {
- System.out.println("Zur Stunde " + i +
- " wurden " + temperaturen[i] +
- " °C gemessen.");
- }
-}
-```
-
-## Wie finden wir die kleinste Temperatur?
-
-### Idee\only<1>{?}\only<2->{:}
-\pause
-Alle Temperaturen der Reihe nach mit der aktuell kleinsten vergleichen und die kleinere Temperatur merken
-
-### Was brauchen wir?
-\begin{itemize}
-\item<3-> Wir müssen uns das aktuelle Minimum in einer Variable merken
-\item<4-> Wir müssen das Feld durchlaufen und alle Temperaturen prüfen
-\item<5-> Wir müssen auf ungültige/fehlende Messungen (-300) prüfen
-\end{itemize}
-
-## Kleinste Temperatur finden in Java
-
-```java
-public void minTempAusgeben() {
- double minimum = -300;
- for (int i = 0; i < temperaturen.length; i++) {
- if(temperaturen[i] > -300 ) {
- if (minimum == -300) { // Noch kein echtes Minimum
- minimum = temperaturen[i];
- } else if(temperaturen[i] < minimum) {
- minimum = temperaturen[i];
- }
- }
- }
- System.out.println("Die kleinste gemessene Temperatur war " +
- minimum + " °C.");
-}
-```
-
-## \faIcon{desktop} Arbeitsauftrag - 15min
-
-1. Vervollständigen die Methode `maxTempAusgeben()`, die ähnlich zu `minTempAusgeben()` die maximal gemessene Temperatur ausgiebt.
-2. **Für Schnelle:** Vervollständige die Methode `durchschnittTempAusgeben()`, die die durchschnittliche Temperatur nach dem arithmetischen Mittel ausgiebt.
-
-## \faIcon{desktop} Arbeitsauftrag - Lösung
-
-```java
-public void maxTempAusgeben() {
- double maximum = -300;
- for (int i = 0; i < temperaturen.length; i++) {
- if (temperaturen[i] > maximum) {
- maximum = temperaturen[i];
- }
- }
- System.out.println("Die größte gemessene Temperatur war " +
- maximum + " °C.");
-}
-```