--- headers-include: \let\tightlist\relax --- ## \faIcon{chalkboard-teacher} Wiederholung: Listen \begin{itemize} \item<1-> Nenne den Zweck von Listen und beschreibe kurz ihre Funktion. \item<3-> Beschreibe wie die einzelnen Elemente verwendet werden? \end{itemize} \only<2>{ \textbf{Listen} können viele (oft gleichartige) Datenelemente speichern und verwalten. } \only<4>{ Die Elemente einer Liste können über den \boldred{Index} (ihre Position in der Liste) verwendet werden. } ## Methoden der Liste {.t} \begin{tabularx}{\textwidth}{X X} \only<1->{Elemente hinzufügen & \includegraphics[keepaspectratio, height=1cm]{img/add_block.png}\\} \only<2->{Elemente entfernen & \includegraphics[keepaspectratio, height=1cm]{img/delete_block.png}\\} \only<3->{Elemente suchen & \includegraphics[keepaspectratio, height=1cm]{img/index_of_block.png}\\} \only<4->{Element verwenden & \includegraphics[keepaspectratio, height=1cm]{img/index_block.png}\\} \only<5->{Anzahl der Elemente & \includegraphics[keepaspectratio, height=1cm]{img/length_block.png}\\} \only<6->{\vspace{-1.3cm}Verwende alle Elemente & \includegraphics[keepaspectratio, height=2cm]{img/for_item_block.png}\\} \end{tabularx} ## \faIcon{desktop} Arbeitsauftrag: Einkaufsliste 20 min 1. \textcolor{gray}{Gib den Bezeichner der Variable von der Datenstruktur Liste an.} 2. \textcolor{gray}{Ändere den Anfangszustand der Liste auf \texttt{[Apfel, Banane, Mango, Schokolade]}. Teste Deine Ihre Änderung.} 3. \textcolor{gray}{Gib die \textbf{Methoden} an, die beim Drücken des "+"- und "-"-Buttons aufgerufen werden und auf die Variable aus 1. zugreifen. Gib außerdem die verwendete \textbf{Bedingung} an, die auf die Variable zugreift.} 4. Erweitere die Funktionalität der Lupe wie folgt: Ist das gesuchte Element nicht enthalten, so soll es hinzugefügt und angezeigt werden. Ist das gesuchte Element enthalten, so soll es aus der Liste gelöscht werden. Teste Deine Erweiterungen. 5. Ändere die Funktionalität des Ausrufezeichens: Die User sollen die Stelle eines Eintrags (eine Zahl) eingeben. Daraufhin wird das Lebensmittel an der entsprechenden Stelle in einer Sprechblase ausgegeben. ## Arbeitsauftrag 6. [Für Schnelle]{.underline}: Füge einen Button *Tausche* mit folgender Funktionalität hinzu: Wenn die Liste zwei oder mehr Elemente hat, sollen die letzten beiden Elemente vertauscht werden. Danach befindet sich also das letzte Element an der vorletzten Stelle und andersherum. ## Programme nachvollziehen: 1. Testen Für Menschen sind Programme oft schwer nachvollziehbar. ### Testen \checkmark Durch Tests kann man sich der Funktionalität eines Programms *vergewissern*. \pause ```\begin{tcolorbox}[title=Beispiel, colframe=gray]```{=latex} Methode: `Addiere(X, Y)` Test: `Wenn nicht Addiere(1, 1) gleich 2 dann Fehler` ```\end{tcolorbox}```{=latex} ## Programme nachvollziehen: 2. Debugging ### Zwischenergebnisse anzeigen Um eine Programm zu verstehen oder Fehler zu finden, bietet es sich an Zwischenergebnisse anzeigen zu lassen. ### Schritt für Schritt Programme können in Einzelschritt ausgeführt werden, um ihr Verhalten zu analysieren. ## \faIcon{desktop} Arbeitsauftrag: Würfeln \hfill 10min * Öffne das Kniffel Projekt aus dem ByCS Space. * Untersuche die Methode `WirfImBecher` und experimentieren mit den vorhandenen Knöpfen. * Welche **Varibalen** werden von der Methode benutzt. ## \faIcon{desktop} Arbeitsauftrag: Kniffel \hfill 10min Das Projekt enthält das Prädikat ![](img/IstKniffel_block.png){height=0.7cm}. * Untersuche den Methodenrumpf der `IstKniffel` Methode. * Editiere die Methode `KniffelTest` im `Tests` Sprite und füge zwei Testfälle hinzu. * Dein Test sollte mindesten beide möglichen Falle abdecken. * Gib gegebenenfalls einen Fehler aus. ## \faIcon{desktop} Arbeitsauftrag: X-Gleiche \hfill 20min * Entwerfe einen Algorithmus, um die Anzahl gleicher Augenzahlen in einem sortierten Würfelbecher zu bestimmen. * Vervollständige die ![](img/x_gleiche_block.png){height=0.7cm} Methode. * Editiere die Methode `GleicheTest` im `Tests` Sprite und füge geeignete Testfälle hinzu. * Deine Tests sollten mindestens drei und vier Gleiche abdecken. * Gib gegebenenfalls einen Fehler aus.