aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2023-04-26 15:20:43 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2023-04-26 15:20:43 +0200
commite81c04b0a3813ed837ca1831a408a32c7d01a696 (patch)
tree3414b5ff06bbe2abe0fd1a10de98842d21719c2e
parent0518b74a3b67929c197a2464338a563e92ead2ce (diff)
downloadunterricht-e81c04b0a3813ed837ca1831a408a32c7d01a696.tar.gz
unterricht-e81c04b0a3813ed837ca1831a408a32c7d01a696.zip
add feedback from ECK and fix lot of small mistakes
-rw-r--r--Info/10/2/Aufgaben/Datenkapselung_Microblogging.tex10
-rw-r--r--Info/10/2/Aufgaben/Polymorphismus_Beschaeftigte.tex92
-rw-r--r--Info/2023/10D/2_Kurzarbeit/_test.tex13
3 files changed, 75 insertions, 40 deletions
diff --git a/Info/10/2/Aufgaben/Datenkapselung_Microblogging.tex b/Info/10/2/Aufgaben/Datenkapselung_Microblogging.tex
index b82f14ed..f3f97028 100644
--- a/Info/10/2/Aufgaben/Datenkapselung_Microblogging.tex
+++ b/Info/10/2/Aufgaben/Datenkapselung_Microblogging.tex
@@ -3,11 +3,11 @@
\begin{Aufg}
-\textbf{a)} Beschreibe in eigenen Worten die zwei Aspekte des Grundsatzes der Datenkapselung und wie er in der Programmiersprache Java umgesetzt wird.
+\textbf{a)} Beschreibe in eigenen Worten die beiden Aspekte des Grundsatzes der Datenkapselung und wie dies in der Programmiersprache Java umgesetzt wird.
-\noindent \textbf{b)} Markiere in folgendem Programmcode die Stellen an denen der Grundsatz der Datenkapselung nicht umgesetzt wurde und begründe kurz warum.
+\noindent \textbf{b)} Markiere in folgendem Programmcode die Stellen, an denen der Grundsatz der Datenkapselung nicht umgesetzt wurde und begründe kurz warum.
-\begin{minted}[linenos, xleftmargin=1.5em]{java}
+\begin{minted}[linenos, xleftmargin=1.6em]{java}
public class Benutzeraccount {
public String benutzername;
private String[] posts;
@@ -16,8 +16,8 @@ public class Benutzeraccount {
benutzername = neuerNutzer;
}
- private String gibPosts() {
- return post;
+ private String[] gibPosts() {
+ return posts;
}
}
\end{minted}
diff --git a/Info/10/2/Aufgaben/Polymorphismus_Beschaeftigte.tex b/Info/10/2/Aufgaben/Polymorphismus_Beschaeftigte.tex
index e1535d0a..585219d5 100644
--- a/Info/10/2/Aufgaben/Polymorphismus_Beschaeftigte.tex
+++ b/Info/10/2/Aufgaben/Polymorphismus_Beschaeftigte.tex
@@ -5,18 +5,18 @@
Du wurdest beauftragt die Gehaltsabrechnung eines Unternehmens in Java zu implementieren.
Das Unternehmen beschäftigt externe Freiberufler, Festangestellte, sowie Manager.
-Für jede Art von Mitarbeiter soll das Monatsgehalt mit der Methode \texttt{berechneGehalt} errechnet und als Rückgabewert zurück gegeben werden.
+Für jede Art von Mitarbeiter soll das Monatsgehalt mit der Methode \textit{berechneGehalt()} errechnet und als Rückgabewert zurückgegeben werden.
\textbf{a)} Zusätzlich sollen Festangestellte einen individuellen Jahresbonus erhalten, der prozentual mit dem Monatsgehalt ausbezahlt wird.
-Dafür wurde bereits die folgende Klasse \texttt{Angestellter} implementiert:
+Dafür wurde bereits die folgende Klasse \textit{Angestellter} implementiert:
\vspace{-0.5cm}
\begin{center}
\begin{minipage}{0.7\textwidth}
\begin{minted}[]{java}
class Angestellter extends Mitarbeiter {
- double gehalt;
- double jahresbonus;
+ private double gehalt;
+ private double jahresbonus;
public Angestellter(String n, double g, double j) {
super(n);
@@ -32,58 +32,85 @@ class Angestellter extends Mitarbeiter {
\end{minipage}
\end{center}
-Erweitere auf dieser Basis das untere Klassendiagramm um die Klasse \texttt{Angestellter}.
+Erweitere auf dieser Basis das untenstehende Klassendiagramm um die Klasse \textit{Angestellter}, inklusive aller zugehöriger Attribute und Methoden.
+Auf die Angabe von Datentypen kann verzichtet werden.
\vspace{0.5cm}
-\resizebox{0.6\textwidth}{!}{
+% \hspace{-0.25}
\begin{tikzpicture}
-\begin{class}[text width=6cm]{Unternehmen}{0,4}
+\begin{class}[text width=5.5cm]{Unternehmen}{-0.25,4}
\attribute{mitarbeiter: Mitarbeiter[]}
-\operation{mitarbeiterEinstellen(mitarbeiter)}
+\operation{einstellen(mitarbeiter)}
\operation{berechneGehaltsKosten()}
\end{class}
-\begin{class}[text width=4cm]{Mitarbeiter}{7, 3.4}
+\begin{class}[text width=4cm]{Mitarbeiter}{7, 4}
\attribute{name: String}
\operation{gibName()}
+\operation{berechneGehalt()}
\end{class}
-\association{Unternehmen}{}{1}{Mitarbeiter}{n}{}
+\association{Unternehmen}{hat >}{1}{Mitarbeiter}{n}{}
-\begin{class}[text width=3.5cm]{Manager}{2,0}
+\begin{class}[text width=3.5cm]{Manager}{2,-1}
\inherit{Mitarbeiter}
\operation{berechneGehalt()}
\end{class}
-\begin{class}[text width=4.5cm]{Externer}{7,0}
+\begin{class}[text width=4.5cm]{Externer}{11,-1}
\inherit{Mitarbeiter}
\attribute{stunden: double}
\attribute{stundenlohn: double}
\operation{berechneGehalt()}
\end{class}
\end{tikzpicture}
-}
+
+\iftoggle{lehrerversion}{}{\newpage}
\textbf{b)} Externe Freiberufler werden pro Stunde mit einem individuellen Stundenlohn bezahlt.
Manager erhalten pauschal 10 tausend Euro.
-Implementiere die Klassen \texttt{Externer} und \texttt{Manager} mit geeignete Konstruktoren, sowie entsprechenden Methoden \texttt{berechneGehalt}.
+Implementiere die Klassen \textit{Externer} und \textit{Manager} mit geeignete Konstruktoren, sowie entsprechenden Methoden \textit{berechneGehalt()}.
In die Konstruktoren sollen zu allen Attributen der Klasse Werte als Parameter übergeben und zuwiesen werden.
% , die mit einem Pauschalbetrag von 10 tausend Euro vergütet werden
% die nach Stunden bezahlt werden,
-\iftoggle{lehrerversion}{}{
- \liniert[8mm]{7}
- \newpage
- \liniert[8mm]{6}
+% \iftoggle{lehrerversion}{\iftrue}{\iffalse}
+\iftoggle{lehrerversion}{\iffalse}{\iftrue}
+\begin{minted}[fontsize=\small, bgcolor=white]{java}
+class Externer extends Mitarbeiter {
+
+
+
+ public Externer( ) {
+
+
+
+ }
+
+ public double berechneGehalt() {
+
+ }
}
+class Manager extends Mitarbeiter {
+ public Manager( ) {
+
+ }
+
+ public double berechneGehalt() {
+
+ }
+}
+\end{minted}
+\fi
+
\textbf{c)} Folgender Programmcode wurde zusätzlich erstellt. Markiere die Stellen an denen das Konzept des Polymorphismus verwendet wird und erkläre kurz dessen konkrete Auswirkung in diesem Programmcode.
\begin{minted}[
breaklines,
linenos,
- xleftmargin=1.5em,
+ xleftmargin=1.6em,
]{java}
class Unternehmen {
private Mitarbeiter[] mitarbeiter;
@@ -94,9 +121,9 @@ class Unternehmen {
anzahlMitarbeiter = 0;
}
- public void mitarbeiterEinstellen(Mitarbeiter neuer) {
+ public void einstellen(Mitarbeiter neuer) {
mitarbeiter[anzahlMitarbeiter] = neuer;
- anzahlMitarbeiter = 1;
+ anzahlMitarbeiter = anzahlMitarbeiter + 1;
}
public double berechneGehaltsKosten() {
@@ -113,28 +140,27 @@ class Unternehmen {
\end{minted}
\iftoggle{lehrerversion}{}{
- \liniert[8mm]{9}
+ \vspace{-0.5cm}
+ \liniert[8mm]{4}
}
+\vspace{-0.35cm}
\textbf{d)} Das Programm wurde für eine konkrete Firma erweitert:
-% \vspace{-1.25cm}
-\begin{minipage}{0.9\textwidth}
\begin{minted}[]{java}
Unternehmen meineFirma = new Unternehmen();
-// Angestelltin Gabi Neu mit Gehalt 2500€ und Jahresbonus 1200€
-meineFirma.mitarbeiterEinstellen(new Angestellter("Gabi Neu", 2500, 1200));
+// Angestellte Gabi Neu mit Gehalt 2500€ und Jahresbonus 1200€
+meineFirma.einstellen(new Angestellter("Gabi Neu", 2500, 1200));
// Managerin Vanessa Boss
-meineFirma.mitarbeiterEinstellen(new Manager("Vanessa Boss"));
-// Externen Ingo Frei mit 40 Stunden bei einem Stundenlohn von 20€
-meineFirma.mitarbeiterEinstellen(new Externer("Ingo Frei", 40, 20));
+meineFirma.einstellen(new Manager("Vanessa Boss"));
+// Externer Ingo Frei mit 40 Stunden bei einem Stundenlohn von 20€
+meineFirma.einstellen(new Externer("Ingo Frei", 40, 20));
int gehaltsKosten = meineFirma.berechneGehaltsKosten();
System.out.println("Gesamte Gehaltskosten: " + gehaltsKosten + " Euro");
\end{minted}
-\end{minipage}
\end{Aufg}
-
-Gebe die Ausgaben des Programms in der richtigen Reihenfolge an.
+\vspace{-0.5cm}
+Gib die Ausgaben des Programms in der richtigen Reihenfolge an.
\begin{Lsg}
a) Angestellter Klasse mit (gehalt, jahresbonus, berechneGehalt) (1BE); Korrekte Vererbung (1BE); korrektes UML (1BE) \\
@@ -143,7 +169,7 @@ Halbes BE Abzug pro Fehler.
\begin{tikzpicture}
\begin{class}[text width=7cm]{Unternehmen}{5,8}
\attribute{mitarbeiter: Mitarbeiter[]}
-\operation{mitarbeiterEinstellen(mitarbeiter)}
+\operation{einstellen(mitarbeiter)}
\operation{berechneGehaltsKosten()}
\end{class}
diff --git a/Info/2023/10D/2_Kurzarbeit/_test.tex b/Info/2023/10D/2_Kurzarbeit/_test.tex
index ff25f818..dc7dbb48 100644
--- a/Info/2023/10D/2_Kurzarbeit/_test.tex
+++ b/Info/2023/10D/2_Kurzarbeit/_test.tex
@@ -10,6 +10,11 @@
\setminted{baselinestretch=1.2, fontsize=\footnotesize, bgcolor=gray!30}
+\fancypagestyle{last-page}{
+ \fancyfoot[C]{\makebox[\dimexpr\linewidth-2\fboxsep-2\fboxrule]{Viel Erfolg! \Signatur}}% Centre footer
+}
+\AtEndDocument{\thispagestyle{last-page}}
+
\begin{document}
\thispagestyle{ErsteSeite}
@@ -27,12 +32,16 @@
%%%Hier die Darstellung am Ende
%%Falls es das ganze auf eine andere Seite Schiebt und man alles komprimieren will
-\newcommand{\PlatzKnapp}{}
+% \newcommand{\PlatzKnapp}{}
% \newcommand{\KeinKleeblatt}{}
%%Optional neue Seite
% \newpage
+\begin{tikzpicture}[remember picture, overlay, black]
+ \node[left] at (current page marginpar area.south east) {\bfseries $\sum$ \ \ \ {/}\AnzahlInsgesamtPunkte \ BE};
+\end{tikzpicture}
+
%%Bindet Kleeblatt mit Viel Erfolg ein und erstellt Platz darunter
-\Ende
+% \Ende
\end{document}