diff options
19 files changed, 263 insertions, 0 deletions
diff --git a/Info/23_24/06/18/9B/test/Aufgaben/aepfel_fangen.png b/Info/23_24/06/18/9B/test/Aufgaben/aepfel_fangen.png new file mode 120000 index 00000000..1e3f379d --- /dev/null +++ b/Info/23_24/06/18/9B/test/Aufgaben/aepfel_fangen.png @@ -0,0 +1 @@ +../../../../../../9/3/Aufgaben/aepfel_fangen.png
\ No newline at end of file diff --git a/Info/23_24/06/18/9B/test/Aufgaben/aepfel_fangen.tex b/Info/23_24/06/18/9B/test/Aufgaben/aepfel_fangen.tex new file mode 120000 index 00000000..3b24253e --- /dev/null +++ b/Info/23_24/06/18/9B/test/Aufgaben/aepfel_fangen.tex @@ -0,0 +1 @@ +../../../../../../9/3/Aufgaben/aepfel_fangen.tex
\ No newline at end of file diff --git a/Info/23_24/06/18/9B/test/Aufgaben/schaltjahr_algo_struktogramm.tex b/Info/23_24/06/18/9B/test/Aufgaben/schaltjahr_algo_struktogramm.tex new file mode 120000 index 00000000..0ce831fe --- /dev/null +++ b/Info/23_24/06/18/9B/test/Aufgaben/schaltjahr_algo_struktogramm.tex @@ -0,0 +1 @@ +../../../../../../9/3/Aufgaben/schaltjahr_algo_struktogramm.tex
\ No newline at end of file diff --git a/Info/23_24/06/18/9B/test/Aufgaben/schaltjahr_struktogramm.png b/Info/23_24/06/18/9B/test/Aufgaben/schaltjahr_struktogramm.png new file mode 120000 index 00000000..df076e2a --- /dev/null +++ b/Info/23_24/06/18/9B/test/Aufgaben/schaltjahr_struktogramm.png @@ -0,0 +1 @@ +../../../../../../9/3/Aufgaben/schaltjahr_struktogramm.png
\ No newline at end of file diff --git a/Info/23_24/06/18/9B/test/Aufgaben/schaltjahr_struktogramm_loesung.png b/Info/23_24/06/18/9B/test/Aufgaben/schaltjahr_struktogramm_loesung.png new file mode 120000 index 00000000..d03238a3 --- /dev/null +++ b/Info/23_24/06/18/9B/test/Aufgaben/schaltjahr_struktogramm_loesung.png @@ -0,0 +1 @@ +../../../../../../9/3/Aufgaben/schaltjahr_struktogramm_loesung.png
\ No newline at end of file diff --git a/Info/23_24/06/18/9B/test/Aufgaben/schildkroete_in_der_wueste.png b/Info/23_24/06/18/9B/test/Aufgaben/schildkroete_in_der_wueste.png new file mode 120000 index 00000000..8e7d1438 --- /dev/null +++ b/Info/23_24/06/18/9B/test/Aufgaben/schildkroete_in_der_wueste.png @@ -0,0 +1 @@ +../../../../../../9/3/Aufgaben/schildkroete_in_der_wueste.png
\ No newline at end of file diff --git a/Info/23_24/06/18/9B/test/Aufgaben/schildkroete_in_der_wueste.tex b/Info/23_24/06/18/9B/test/Aufgaben/schildkroete_in_der_wueste.tex new file mode 120000 index 00000000..bca98b50 --- /dev/null +++ b/Info/23_24/06/18/9B/test/Aufgaben/schildkroete_in_der_wueste.tex @@ -0,0 +1 @@ +../../../../../../9/3/Aufgaben/schildkroete_in_der_wueste.tex
\ No newline at end of file diff --git a/Info/23_24/06/18/9B/test/_test.tex b/Info/23_24/06/18/9B/test/_test.tex new file mode 100644 index 00000000..60c36c98 --- /dev/null +++ b/Info/23_24/06/18/9B/test/_test.tex @@ -0,0 +1,35 @@ +\Datum{18.06.2024} +\TestNummer{2} +\TestArt{Kurzarbeit} +\Klasse{9B} +\Fach{Informatik} + +\usepackage{minted} + +\geometry{top=20mm, bottom=20mm, headsep=5mm, footskip=10mm} +\fancypagestyle{ErsteSeite}{% + \fancyhf{}% + \fancyhead[L]{\Schule \newline Schuljahr 2023/24} + \fancyhead[R]{Name: \hspace{6cm}} +} + +\begin{document} +\thispagestyle{ErsteSeite} +\Intro + +% 4 BE Modellierung +% 4 BE Variablen +% 8 BE Spielen +\input{Aufgaben/aepfel_fangen} +\begin{Bearbeitung} +\kariert[0.5cm]{38} +\end{Bearbeitung} +\iflehrer{}{\clearpage} + +%% 5 BE +\input{Aufgaben/schildkroete_in_der_wueste} +\iflehrer{}{\clearpage} + +%% 6 BE +\input{Aufgaben/schaltjahr_algo_struktogramm} +\end{document} diff --git a/Info/23_24/06/18/9B/test/test_lehrer.tex b/Info/23_24/06/18/9B/test/test_lehrer.tex new file mode 100644 index 00000000..094f5adf --- /dev/null +++ b/Info/23_24/06/18/9B/test/test_lehrer.tex @@ -0,0 +1,7 @@ +\documentclass[ +lehrerversion, +erwartungshorizont, +sigfooter, +]{test} + +\input{_test} diff --git a/Info/23_24/06/18/9B/test/test_loesung.tex b/Info/23_24/06/18/9B/test/test_loesung.tex new file mode 100644 index 00000000..d0bb5cf9 --- /dev/null +++ b/Info/23_24/06/18/9B/test/test_loesung.tex @@ -0,0 +1,7 @@ +\documentclass[ +lehrerversion, +sigfooter, +keinlogo, +]{test} + +\input{_test} diff --git a/Info/23_24/06/18/9B/test/test_schueler.tex b/Info/23_24/06/18/9B/test/test_schueler.tex new file mode 100644 index 00000000..12415c38 --- /dev/null +++ b/Info/23_24/06/18/9B/test/test_schueler.tex @@ -0,0 +1,7 @@ +\documentclass[ +sigfooter, +drawborder, +twoside, +]{test} + +\input{_test} diff --git a/Info/9/3/Aufgaben/aepfel_fangen.png b/Info/9/3/Aufgaben/aepfel_fangen.png Binary files differnew file mode 100644 index 00000000..8a86f990 --- /dev/null +++ b/Info/9/3/Aufgaben/aepfel_fangen.png diff --git a/Info/9/3/Aufgaben/aepfel_fangen.tex b/Info/9/3/Aufgaben/aepfel_fangen.tex new file mode 100644 index 00000000..e6896658 --- /dev/null +++ b/Info/9/3/Aufgaben/aepfel_fangen.tex @@ -0,0 +1,79 @@ +\begin{Aufg}[Äpfel fangen] +\begin{tabular}{p{0.3\textwidth} p{0.65\textwidth}} +\includegraphics[keepaspectratio, width=0.3\textwidth]{Aufgaben/aepfel_fangen.png} & +\vspace{-3.5cm}Ziel des links gezeigten Spiels ist es, möglichst viele der herunterfallenden Äpfel einzusammeln, jedoch keine Spinnen. +Dazu kann der Korb am Boden mit den Pfeiltasten nach links und rechts gesteuert werden. +Sobald eine Spinne gesammelt wurde, endet das Spiel. \\ +\end{tabular} + +Die Klasse \mintinline{java}{Korb} hat folgende Methoden: +{ \small +\begin{itemize}[itemsep=-2pt, leftmargin=*] +\item \mintinline{java}{bewege(String richtung)}: Erwartet als Parameter \mintinline{java}{"links"} oder \mintinline{java}{"rechts"} und versetzt den Korb entsprechend ein Stück nach links oder rechts. +\item \mintinline{java}{pfeiltasteGedrückt(String richtung)}: Erwartet als Parameter \mintinline{java}{"links"} oder \mintinline{java}{"rechts"} und überprüft entsprechend, ob die linke bzw. die rechte Pfeiltaste gedrückt wurde. Gibt \mintinline{java}{true} oder \mintinline{java}{false} zurück. +\item \mintinline{java}{apfelVorhanden()}: Prüft, ob der Korb einen Apfel berührt und gibt \mintinline{java}{true} oder \mintinline{java}{false} zurück. Berührte Äpfel werden entfernt. +\item \mintinline{java}{spinneVorhanden()}: Prüft, ob der Korb ein Spinne berührt und gibt \mintinline{java}{true} oder \mintinline{java}{false} zurück. +\end{itemize} +} + +\begin{enumerate}[a), itemsep=0pt] +\item Zeichne die Klassenkarte zu der Klasse \mintinline{java}{Korb}. +Markiere und benenne, was jeweils in den einzelnen Bereichen der Klassenkarte steht. +\iflehrer{}{\\[0.2cm] \kariert{17}} +\item Erkläre unter Verwendung von Fachbegriffen, welche Schritte nötig sind, um die Anzahl der gesammelten Äpfel in der Variable \mintinline{java}{punkte} zu speichern. +Gib den dazu benötigten Code an. +\item Schreibe die Methode \mintinline{java}{spielen()} der Klasse \mintinline{java}{Korb}. +In dieser soll der Korb solange gesteuert werden bis er eine Spinne berührt. +Falls ein Apfel berührt wird, soll zudem der Punktestand um 1 erhöht werden. +Du kannst annehmen, dass die Variable \mintinline{java}{punkte} existiert und verwendbar ist. +Die Methode soll den erreichten Punktestand als Ergebnis zurückgeben. +\end{enumerate} +\end{Aufg} + +\begin{Lsg} +\begin{enumerate}[a)] +\item + \begin{tikzpicture} + \begin{class}[text width=5cm]{Korb}{0,0} + \operation{bewege(richtung)} + \operation{pfeiltasteGedrückt(richtung)} + \operation{spinneVorhanden()} + \operation{blattVorhanden()} + \end{class} + \node[right=0cm of Korb, yshift=3cm] {UML \Point}; % UML + \node[right=of Korb.center] {\Halfpoint}; % Methoden + \node[right=of Korb.center, yshift=2cm, xshift=0.25cm] {\Halfpoint}; % Klassenname + \node[right=of Korb.center, yshift=1.6cm] {\Halfpoint}; % Attribute + \draw[Triangle-] ($(Korb.east) + (0, 2.5)$) -- ($(Korb.east) + (2, 2.5)$) node[right] {Klassenname \Halfpoint}; + \draw[Triangle-] ($(Korb.east) + (0, 2)$) -- ($(Korb.east) + (2, 2)$) node[right] {Attribute \Halfpoint}; + \draw[Triangle-] (Korb) -- ($(Korb.east) + (2, 0)$) node[right] {Methoden \Halfpoint}; + \end{tikzpicture} +\item Eine Variable muss deklariert\Halfpoint werden, wobei ihr Name\Halfpoint und ihr Datentyp\Halfpoint festgelegt wird. + Anschließend muss die Variable noch initialisiert\Halfpoint werden, in dem ihr ein Anfangswert\Halfpoint zugewiesen wird. \\ + \mintinline{java}{int punkte;} \Point \\ + \mintinline{java}{punkte = 0;} \Halfpoint \\ +\item +\begin{minted}[escapeinside=$$]{java} +public$\Halfpoint$ int$\Halfpoint$ spielen$\Halfpoint$()$\Halfpoint$ +{ + while$\Halfpoint$(!spinneVorhanden()$\Halfpoint$) + { + if$\Halfpoint$(apfelVorhanden()$\Halfpoint$) + { + punkte = punkte + 1;$\Point$ + } + + if$\Halfpoint$(pfeiltasteGedrückt("links")$\Halfpoint$) + { + bewege("links");$\Halfpoint$ + } + else if$\Halfpoint$(pfeiltasteGedrückt("rechts")$\Halfpoint$) + { + bewege("rechts");$\Halfpoint$ + } + } + return$\Halfpoint$ punkte;$\Halfpoint$ +} +\end{minted} +\end{enumerate} +\end{Lsg} diff --git a/Info/9/3/Aufgaben/schaltjahr_algo_struktogramm.tex b/Info/9/3/Aufgaben/schaltjahr_algo_struktogramm.tex new file mode 100644 index 00000000..df9beba5 --- /dev/null +++ b/Info/9/3/Aufgaben/schaltjahr_algo_struktogramm.tex @@ -0,0 +1,39 @@ +\begin{Aufg}[Schaltjahre] +Der folgende Algorithmus beschreibt ein Vorgehen, mit dem überprüft werden kann, ob eine bestimmte Jahreszahl ein Schaltjahr ist: + +{\small +\begin{itemize}[itemsep=0pt] +\item Ist die Jahreszahl durch 400 teilbar, dann ist es ein Schaltjahr. +\item Ist die Jahreszahl nicht durch 400 teilbar, aber durch 100, dann ist es kein Schaltjahr. +\item Ist die Jahreszahl nicht durch 100 teilbar, aber durch vier, dann ist es ein Schaltjahr. +\item Ist die Jahreszahl nicht durch 4 teilbar, dann ist es kein Schaltjahr. +\end{itemize} +} + +Nenne die Kontrollstruktur, die zur Programmierung dieses Algorithmus benötigt wird. +Vervollständige das folgende Struktogramm der Methode \mintinline{java}{schaltjahr(int jahr)}, die berechnet, ob das übergebene Jahr ein Schaltjahr ist oder nicht, und entsprechend \mintinline{java}{true} oder \mintinline{java}{false} zurückgibt. + +Skizziere dann im Struktogramm durch Einzeichnen des Weges den Ablauf und den Rückgabewert der Methode, wenn \mintinline{java}{schaltjahr(2023)} aufgerufen wird. + +\vspace{0.3cm} +\begin{tikzpicture} +\node {\includegraphics[keepaspectratio, width=\textwidth]{Aufgaben/schaltjahr_struktogramm.png}}; +\node at (-5.2, -1) {\mintinline{java}{return true}}; +\end{tikzpicture} + +\end{Aufg} + +\begin{Lsg} +\includegraphics[keepaspectratio, width=\textwidth]{Aufgaben/schaltjahr_struktogramm_loesung.png} +\BE{3} \iftoggle{erwartungshorizont}{(0.5 BE) pro Lücke}{} + +Kontrollstruktur: Bedingte Anweisung\Halfpoint mit Alternative oder zweiseitig bedingte Anweisung\Halfpoint + +\mintinline{java}{schaltjahr(2023)}: \\ +\begin{itemize} +\item 2023 ist nicht durch 400 teilbar $\rightarrow$ Falsch. \Halfpoint +\item 2023 ist nicht durch 100 teilbar $\rightarrow$ Falsch \Halfpoint +\item 2023 ist nicht durch 4 teilbar $\rightarrow$ Falsch \Halfpoint $\rightarrow$ return false\Halfpoint +\item 2023 ist kein Schaltjahr. +\end{itemize} +\end{Lsg} diff --git a/Info/9/3/Aufgaben/schaltjahr_struktogramm.png b/Info/9/3/Aufgaben/schaltjahr_struktogramm.png Binary files differnew file mode 100644 index 00000000..6a35b97e --- /dev/null +++ b/Info/9/3/Aufgaben/schaltjahr_struktogramm.png diff --git a/Info/9/3/Aufgaben/schaltjahr_struktogramm_loesung.png b/Info/9/3/Aufgaben/schaltjahr_struktogramm_loesung.png Binary files differnew file mode 100644 index 00000000..c1803aa2 --- /dev/null +++ b/Info/9/3/Aufgaben/schaltjahr_struktogramm_loesung.png diff --git a/Info/9/3/Aufgaben/schildkroete_in_der_wueste.png b/Info/9/3/Aufgaben/schildkroete_in_der_wueste.png Binary files differnew file mode 100644 index 00000000..36f9ba5b --- /dev/null +++ b/Info/9/3/Aufgaben/schildkroete_in_der_wueste.png diff --git a/Info/9/3/Aufgaben/schildkroete_in_der_wueste.tex b/Info/9/3/Aufgaben/schildkroete_in_der_wueste.tex new file mode 100644 index 00000000..3449e3f5 --- /dev/null +++ b/Info/9/3/Aufgaben/schildkroete_in_der_wueste.tex @@ -0,0 +1,81 @@ +\begin{Aufg}[Schildkröte in der Wüste] +\vspace{-1cm} +\begin{center} +\includegraphics[keepaspectratio, width=0.6\textwidth]{Aufgaben/schildkroete_in_der_wueste.png} +\end{center} +Analysiere die folgenden Kontrollstrukturen im abgebildeten Szenario. +Gib jeweils an, wie oft jede der Bedingungen überprüft wurde, auf welchen Feldern eine Marke gesetzt wird und auf welchem Feld die Schildkröte nach Ausführung des Programms steht. +Zu Beginn steht die Schildkröte auf Feld 0. + +\begin{tabular}{l p{0.45\textwidth}} +a) & \vspace{-0.7cm} +\begin{minted}[fontsize=\small, baselinestretch=1.1]{java} +while(!kaktusVorhanden("rechts")) +{ + setzeMarke(); + laufe(); +} +if(!kaktusVorhanden("links") || kaktusVorhanden("rechts")) +{ + laufe(); +} +\end{minted} +\\ +\end{tabular} \\ +\begin{tabular}{|l p{1cm} | l p{1cm} | l p{2cm} | l p{1cm}|} +\hline +1. Bedingung: & \solution{2\Halfpoint} & +2. Bedingung: & \solution{1\Halfpoint} & +Marken: & \solution{0\Halfpoint} & +Ende: & \solution{2\Halfpoint} \\ +\hline +\end{tabular} \\[0.5cm] +\begin{tabular}{l p{0.41\textwidth} l p{0.45\textwidth}} +b) & \vspace{-0.7cm} +\begin{minted}[fontsize=\small, baselinestretch=1.1]{java} +while(kaktusVorhanden("links")) +{ + if(kaktusVorhanden("rechts")) + { + setzeMarke(); + } + laufe(); +} +\end{minted} +& +c) & \vspace{-0.7cm} +\begin{minted}[fontsize=\small, baselinestretch=1.1]{java} +while(kaktusVorhanden("links")) +{ + while(kaktusVorhanden("rechts")) + { + laufe(); + } + setzeMarke(); + laufe(); +} +\end{minted} +\\ +\end{tabular} \\ +\begin{tabular}{|l p{1cm} | l p{1cm} | l p{2cm} | l p{1cm}|} +\hline +%\cline{2-9} +%b) & +1. Bedingung: & \solution{6\Halfpoint} & +2. Bedingung: & \solution{1\Halfpoint} & +Marken: & \solution{1,2,3\Halfpoint} & +Ende: & \solution{5\Halfpoint} \\ +\hline +%\cline{2-9} +%c) & +1. Bedingung: & \solution{4\Halfpoint} & +2. Bedingung: & \solution{4\Halfpoint} & +Marken: & \solution{0,4\Halfpoint} & +Ende: & \solution{5\Halfpoint} \\ +\hline +%\cline{2-9} +\end{tabular} +\end{Aufg} + +\begin{Lsg} +\end{Lsg} diff --git a/Info/9/Leistungsnachweise/2_KA_9B_20240618 b/Info/9/Leistungsnachweise/2_KA_9B_20240618 new file mode 120000 index 00000000..f608c076 --- /dev/null +++ b/Info/9/Leistungsnachweise/2_KA_9B_20240618 @@ -0,0 +1 @@ +../../23_24/06/18/9B/test
\ No newline at end of file |
