aboutsummaryrefslogtreecommitdiff
path: root/Info/10
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2024-01-05 13:45:43 +0100
committerFlorian Fischer <florian.fischer@muhq.space>2024-01-05 13:45:43 +0100
commitc3594ea64840af3e28c1976722a9390590760da1 (patch)
treee82d19a530e723202c526bcafe35d144e57c7bf8 /Info/10
parent4ff9c0f2cb2355305c08b57ea98249fb2d999735 (diff)
downloadunterricht-c3594ea64840af3e28c1976722a9390590760da1.tar.gz
unterricht-c3594ea64840af3e28c1976722a9390590760da1.zip
add my next info lesson in 10B
Diffstat (limited to 'Info/10')
-rw-r--r--Info/10/2/WiederholungenJava/Spruechekalender/Spruechekalender.ctxt9
-rw-r--r--Info/10/2/WiederholungenJava/Spruechekalender/Spruechekalender.java28
-rw-r--r--Info/10/2/WiederholungenJava/Spruechekalender/package.bluej32
l---------Info/10/2/WiederholungenJava/Vorlage_Mondrian1
-rw-r--r--Info/10/2/WiederholungenJava/img/cowfortune.pngbin0 -> 12951 bytes
-rw-r--r--Info/10/2/WiederholungenJava/img/fortune.pngbin0 -> 7737 bytes
-rw-r--r--Info/10/2/WiederholungenJava/img/mondrian_II_red_blue_yellow.jpgbin0 -> 2983853 bytes
-rw-r--r--Info/10/2/WiederholungenJava/slides.md150
8 files changed, 220 insertions, 0 deletions
diff --git a/Info/10/2/WiederholungenJava/Spruechekalender/Spruechekalender.ctxt b/Info/10/2/WiederholungenJava/Spruechekalender/Spruechekalender.ctxt
new file mode 100644
index 00000000..2acaed79
--- /dev/null
+++ b/Info/10/2/WiederholungenJava/Spruechekalender/Spruechekalender.ctxt
@@ -0,0 +1,9 @@
+#BlueJ class context
+comment0.target=Spruechekalender
+comment1.params=
+comment1.target=Spruechekalender()
+comment2.params=
+comment2.target=void\ naechsterMonat()
+comment3.params=
+comment3.target=void\ gibSpruchAus()
+numComments=4
diff --git a/Info/10/2/WiederholungenJava/Spruechekalender/Spruechekalender.java b/Info/10/2/WiederholungenJava/Spruechekalender/Spruechekalender.java
new file mode 100644
index 00000000..3c0113c2
--- /dev/null
+++ b/Info/10/2/WiederholungenJava/Spruechekalender/Spruechekalender.java
@@ -0,0 +1,28 @@
+class Spruechekalender {
+ int monat;
+ String spruch;
+
+ Spruechekalender() {
+ monat = 1;
+ spruch = "Auf los gehts los!";
+ }
+
+ void naechsterMonat() {
+ tag = tag + 1;
+ // TODO: Speichere den naechsten Spruch in der Variable spruch
+ }
+
+ void gibSpruchAus() {
+ System.out.println(spruch);
+ }
+
+ // TODO: Ergaenze die gibNaechsterSpruch Methode.
+ // Sie soll zum aktuellen Monat einen passenden Spruch zurueckgeben.
+ // Im vierten Monat soll "April, April, der macht was er will!" zurueckgegeben werden.
+ // Denk dir mindestens 3 weiter Sprueche aus.
+ // Wenn es keinen speziellen Spruch gibt soll "Schoener <monar>. Monat"
+ // zurueck gegebenwerden.
+
+ // TODO: Ergaenze die Methode gibAllesAus.
+ // Die Methode soll alle Sprueche der Monate ausgeben.
+}
diff --git a/Info/10/2/WiederholungenJava/Spruechekalender/package.bluej b/Info/10/2/WiederholungenJava/Spruechekalender/package.bluej
new file mode 100644
index 00000000..df9b4485
--- /dev/null
+++ b/Info/10/2/WiederholungenJava/Spruechekalender/package.bluej
@@ -0,0 +1,32 @@
+#BlueJ package file
+editor.fx.0.height=0
+editor.fx.0.width=0
+editor.fx.0.x=0
+editor.fx.0.y=0
+objectbench.height=357
+objectbench.width=610
+package.divider.horizontal=0.6
+package.divider.vertical=0.6308316430020284
+package.editor.height=615
+package.editor.width=483
+package.editor.x=643
+package.editor.y=3
+package.frame.height=1049
+package.frame.width=634
+package.numDependencies=0
+package.numTargets=1
+package.showExtends=true
+package.showUses=true
+project.charset=UTF-8
+readme.height=60
+readme.name=@README
+readme.width=49
+readme.x=10
+readme.y=10
+target1.height=70
+target1.name=Adventskalender
+target1.showInterface=false
+target1.type=ClassTarget
+target1.width=150
+target1.x=70
+target1.y=10
diff --git a/Info/10/2/WiederholungenJava/Vorlage_Mondrian b/Info/10/2/WiederholungenJava/Vorlage_Mondrian
new file mode 120000
index 00000000..5df81f5e
--- /dev/null
+++ b/Info/10/2/WiederholungenJava/Vorlage_Mondrian
@@ -0,0 +1 @@
+../../Copyrighted/Cornelson/2_1_Vorlagen_BlueJ_Java/2_1_A05_Mondrian_Vorlage/ \ No newline at end of file
diff --git a/Info/10/2/WiederholungenJava/img/cowfortune.png b/Info/10/2/WiederholungenJava/img/cowfortune.png
new file mode 100644
index 00000000..b0e89a7a
--- /dev/null
+++ b/Info/10/2/WiederholungenJava/img/cowfortune.png
Binary files differ
diff --git a/Info/10/2/WiederholungenJava/img/fortune.png b/Info/10/2/WiederholungenJava/img/fortune.png
new file mode 100644
index 00000000..a47cff1f
--- /dev/null
+++ b/Info/10/2/WiederholungenJava/img/fortune.png
Binary files differ
diff --git a/Info/10/2/WiederholungenJava/img/mondrian_II_red_blue_yellow.jpg b/Info/10/2/WiederholungenJava/img/mondrian_II_red_blue_yellow.jpg
new file mode 100644
index 00000000..12795d5f
--- /dev/null
+++ b/Info/10/2/WiederholungenJava/img/mondrian_II_red_blue_yellow.jpg
Binary files differ
diff --git a/Info/10/2/WiederholungenJava/slides.md b/Info/10/2/WiederholungenJava/slides.md
new file mode 100644
index 00000000..9c7c9134
--- /dev/null
+++ b/Info/10/2/WiederholungenJava/slides.md
@@ -0,0 +1,150 @@
+---
+author: Florian Fischer
+theme: metropolis
+aspectratio: 169
+header-includes: |
+ \makeatletter
+ \beamer@ignorenonframefalse
+ \makeatother
+---
+
+## Wiederholung - Java {.standout}
+
+\centering
+\scalebox{10}{
+\faIcon{java}
+}
+
+## Peinliche Spruechekalender
+
+::: columns
+:::: {.column width=50%}
+\pause
+![](img/Copyrighted/spruchkalender.jpg){.center height=80%}
+::::
+:::: {.column width=50%}
+\pause
+\vspace{3cm}
+Heute könnt ihr euren Eigenen bauen.
+
+\centering \huge
+\faIcon{child}
+::::
+:::
+
+## Lange Tradition - `fortune`
+
+`fortune` existiert seit der Veröffentlichung in Version 7 Unix im Jahr 1979.
+
+### Die Vergangenheit
+![](img/fortune.png){.center width=70%}
+
+\pause
+### Die Zukunft
+![](img/cowfortune.png){.center width=70%}
+
+## Wiederholung - Objektorientierte Modellierung
+
+\begin{center}
+ \begin{tikzpicture}
+ \begin{class}[text width=5cm]{Spruechekalender}{0,0}
+ \attribute{tag: int}
+ \attribute{aktuellerSpruch: String}
+ \operation{naechsterTag()}
+ \operation{gibSpruchAus()}
+ \end{class}
+ \end{tikzpicture}
+\end{center}
+
+## Wiederholung - Objektorientiert Programmieren mit Java
+
+\small
+
+::: columns
+:::: {.column width=60%}
+```java
+class Spruechekalender {
+ // Attribute
+ int monat;
+ String spruch;
+
+ // Konstruktor
+ void Spruechekalender() {
+ monat = 1;
+ spruch = "Auf los gehts los!";
+ }
+ ...
+```
+::::
+
+:::: {.column width=40%}
+```java
+ ...
+ // Methoden
+ void naechsterMonat() {
+ monat = monat + 1;
+ }
+
+ void gibSpruchAus() {
+ System.out.println(spruch);
+ }
+}
+```
+::::
+:::
+
+## \faIcon{desktop} Arbeitsauftrag - BlueJ Basics 10min
+
+Kopiere das Spruechekalender BlueJ-Projekt unter **Ablage/10b/vorlagen** und öffne es in BlueJ.
+
+### BlueJ Basics
+* *Übersetze* das Projekt
+* Erzeuge ein Spruechekalender Objekt
+* *Inspiziere* das neue Objekt und gib den ersten Spruch aus
+
+## \faIcon{desktop} Arbeitsauftrag - Java Basics 10min
+
+* Erstelle eine Methode `gibNaechsterSpruch` die den nächsten Spruch zurück gibt
+ **Tipp:** Eine Methodendefinition besteht aus
+ `<Rueckgabetyp|void> <Funktionsname>([Datentyp Parameter ...]) {...}`{.java} \vspace{0.1cm}
+ * Erstelle eine bedingte Anweisung die, wenn der 4. Monat ist, den Spruch
+ ("" nicht vergessen) `"April, April der macht was er will!"` zurück gibt
+ **Tipp:** Eine bedingte Anweisung hat die Form `if (<Bedingungen>) { ... }` \vspace{0.2cm}
+ * Denk dir für mindestens drei weitere Monate Sprüche aus und gib diese zurück \vspace{0.2cm}
+ * Wenn es keinen besonderen Spruch gibt soll `"Schöner <Monat>. Monat!"` zurückgegeben werden
+ **Tipp:** Du kannst Zahlen und Texte mit dem `+`-Operator verketten \vspace{0.2cm}
+* Teste deine Änderungen
+
+## \faIcon{desktop} Arbeitsauftrag - Java Basics II 10min
+
+* Speichere in der Methode `naechsterTag` auch den nächsten Spruch \vspace{0.3cm}
+* Schreibe eine Methode `gibAllesAus` die alle Sprüche ausgibt
+ **Tipp:** Wiederholungen haben die Form:
+ `for (<zaehler>; <abruchbedingung>; <schritt>) {...}` \vspace{0.3cm}
+* Teste deine Methode `gibAllesAus`
+
+## Mehr Kreativität - Mondrian
+
+Unser Vorbild: Piet Mondrian (1872 – 1944)
+
+![](img/mondrian_II_red_blue_yellow.jpg){.center height=60%}
+
+\pause
+Aber wir sind faule Künstler und wollen die Arbeit automatisieren.
+
+## \faIcon{desktop} Arbeitsauftrag - Frei nach Mondrian
+
+Kopiere das Mondrian BlueJ-Projekt unter **Ablage/10b/vorlagen** und öffne es in BlueJ.
+
+1. **Analysiert** in Zweierteams die bereits fertige Klasse `RECHTECK_MONDRIAN`.
+ Beschreibt euch gegenseitig, wie sie arbeitet mit den Begriffen *Oberklasse, Unterklasse, Konstruktor, Aufruf des Oberklassenkonstruktors / einer Oberklassenmethode, Zufallszahl*.
+2. In der Klasse `BILD` muss die Methode `BildZeichnen` gemäß dem folgenden Struktogramm implementiert werden.
+ **Beschreibe**, unter welchen Umständen beim Aufruf `BildZeichnen(20)` [mehr als 20]{.underline} Rechtecke gezeichnet werden.
+3. **Ergänze** die Methode `BILD.BildZeichnen` gemäß dem Struktogramm.
+4. **Teste** die Methode mit den Aufrufen `BildZeichnen(100)` und `BildZeichnen(0)`.
+ Die Zeichnung soll enden, wenn [mindestens]{.underline} ein Rechteck von jeder Farbe vorhanden ist.
+ **Zeichne** ein berichtigtes Struktogramm des Abschnitts und **berichtige** die Methode entsprechend.
+
+## \faIcon{desktop} Arbeitsauftrag - Struktorgram
+
+![](img/Copyrighted/Cornelsen4_S57_A5_Struktogram.png){.center height=90%}