Implementierung Ein halbfertiges Programm Wir gehen hier von dem folgenden Programmgerüst zum Algorithmus aus dem letzten Abschnitt aus. Aufgabe 1 Ergänze das Programm nach dem folgenden Struktogramm und teste es mehrfach. q Startseite 6. Imperative Programmierung 3. Imperative Programmierung mit Python - 1. Miniprojekte + 1. Datenverwaltung mit Variablen + 1. Miniprojekt - Populationsentwicklung + 1. Modellierung einer Mäusepopulation + 2. Automatisierung der Berechnungen + 3. Variablen und Zuweisungen + 4. Benutzerfreundliche Programme + 5. EVA-Programme + 6. Fehler in Programmen + 7. Wiederholte Berechnungen + 8. Weiterentwicklung des Programms + 9. Eine komplexere Anwendung + 2. Miniprojekt - Zimmergestaltung + 1. Die Fläche der Wände + 2. Variablen und Zuweisungen + 3. Eingabe der Zimmerdaten + 4. Programme + 5. Ein Tapetenrechner + 6. Datentypen + 7. Eine Möbel-Einkaufsliste + 3. Miniprojekt - Promillerechner + 1. Berechnung der Blutalkoholkonzentration + 2. Ein Programm zur Berechnung + 3. Ein Programm mit Benutzereingaben + 4. Fachkonzept - EVA-Struktur von Programmen + 5. Ein- und Ausgaben + 6. Fachkonzept - Datentyp - 2. Ablaufmodellierung mit Kontrollstrukturen + 1. Miniprojekt - Zufallsexperimente + 1. Zufallszahlen erzeugen + 2. Eine Münze werfen + 3. Einen Würfel werfen + 4. Fachkonzept - Fallunterscheidung + 5. Wiederholt würfeln + 6. Fachkonzept - Wiederholung + 7. Exkurs - Kontrollstrukturen + 8. Übungen - Kontrollstrukturen + 2. Miniprojekt - Pasch beim Würfeln + 1. Bedingungen für ein Pasch + 2. Exkurs - Logische Verknüpfungen + 3. Fachkonzept - Datentyp Wahrheitswerte + 4. Logische Variablen und logische Terme + 3. Miniprojekt - Das Glücksspiel Craps + 1. Durchführung des Spiels + 2. Ablaufmodellierung + 3. Implementierung + 4. Automatisierte Durchführung des Spiels - 4. Miniprojekt - Das Ziegenproblem + 1. Durchführung des Spiels + 2. Ablaufmodellierung + 3. Implementierung + 4. Automatisierte Durchführung des Spiels + 5. Miniprojekt - Verarbeitung von Zeichenketten + 1. Verschlüsselung von Nachrichten + 2. Die Idee + 3. Der Algorithmus + 4. Eine Implementierung + 3. Modularisierung mit Funktionen + 1. Miniprojekt - Datenlupe + 1. Binärdarstellung von Daten + 2. Experimente mit Python + 3. Verwendung von Funktionen + 4. Schachtelung von Funktionen + 5. Definition von Funktionen + 6. Übungen + 7. Weitere Anwendungen + 2. Miniprojekt - Pixelrechner + 1. Pixelrechner + 2. Pixelangaben + 3. Pixelberechnungen + 4. Berechnungen mit einer Funktion + 5. Verwendung von Hilfsfunktionen + 6. Schachtelung von Funktionen + 7. Rückgabe von mehreren Daten + 8. Auflösung einer Kamera + 9. Auflösung eines Bildschirms + 3. Miniprojekt - Baumhaus + 1. Baumhaus + 2. Konkrete Materialberechnungen + 3. Funktion als Verarbeitungseinheit + 4. Verwendung von Hilfsfunktionen + 5. Weitere Berechnungsprobleme + 4. Miniprojekt - Verschlüsselung + 1. Das Verschiebeverfahren + 2. Funktionen zur Implementierung + 3. Das Vigenère-Verfahren + 4. Monoalphabetische Verfahren + 5. Vernetzung + 5. Miniprojekt - Primzahlen + 1. Primzahlen + 2. Ein Primzahltestalgorithmus + 3. Implementierung des Primzahltestalgorithmus + 4. Ein Baustein für Primzahltests + 5. Der Primzahlsatz + 6. Goldbachs Vermutung + 7. Primfaktorzerlegung + 4. Datenverwaltung mit Datenstrukturen + 1. Miniprojekt - Aktienkurse + 1. Aktienindex + 2. Verwaltung von Kurswerten + 3. Zugriff auf Kurswerte + 4. Alle Kurswerte durchlaufen + 5. Minimale und maximale Kurswerte + 6. Kurswerte hinzufuegen und löschen + 7. Eine neue Liste aufbauen + 8. Komplexere Daten verarbeiten + 9. Kurswertelisten automatisiert erstellen + 10. Ideen zum Weiterarbeiten + 2. Miniprojekt - Lottosimulation + 1. Lottozahlen mit Listen verwalten + 2. Lottozahlen der Reihe nach durchlaufen + 3. Eine Lottoziehung simulieren + 4. Gewinnchancen beim Lottospiel + 3. Miniprojekt - Schulfreunde + 1. E-Mail-Adressen mit einer Liste verwalten + 2. Eine Adressliste dynamisch verändern + 3. Eine Adressliste sichern + 4. Bausteine zur Verarbeitung + 5. Komplexe Adressen + 4. Miniprojekt - Verarbeitung von Grafiken + 1. Verwaltung der Grafikdaten + 2. Probleme beim Invertieren + 3. Bilddaten invertieren + 4. Die Grafik invertieren + 5. Umwandlung in Quelltexte + 6. Laden und speichern + 7. Ideen zum Weiterarbeiten + 5. Miniprojekt - Spiel des Lebens + 1. Eine Spielwelt verwalten + 2. Das Spiel simulieren + 3. Exkurs - Verwaltung und Verarbeitung zweidimensionaler Dateneinheiten + 2. Fachkonzepte + 1. Variablen + 1. Beispiel - Preisberechnungen + 2. Strukturierung - Variablen + 3. Fachkonzept - Variable + 4. Fachkonzept - Zuweisung + 5. Übungen + 6. Exkurs - Ein Blick hinter die Kulissen von Python + 2. Datentypen + 1. Beispiel - Temperaturumrechnung + 2. Fachkonzept - Datentyp + 3. Exkurs - Zahlen in Python + 4. Exkurs - Zeichenketten in Python + 5. Exkurs - Wahrheitswerte in Python + 6. Exkurs - Typumwandlungen + 7. Übungen + 3. Programme + 1. Beispiel - Wegberechnungen + 2. Fachkonzept - Programm + 3. Fachkonzept - EVA-Prinzip + 4. Exkurs - Eingabe/Ausgabe in Python + 5. Übungen + 4. Fehler in Programmen + 1. Exkurs - Syntaxfehler + 2. Exkurs - Laufzeitfehler + 3. Exkurs - Logische Fehler + 5. Fallunterscheidungen + 1. Beispiel - Minimax + 2. Beispiel - Promillerechner + 3. Exkurs - Mehrfachfallunterscheidungen in Python + 4. Fachkonzept - Fallunterscheidung + 5. Übungen + 6. Wiederholungen + 1. Beispiel - Berechnungen zum Begrüßungsproblem + 2. Beispiel - Wertverlustrechner + 3. Fachkonzept - Wiederholungen + 4. Exkurs - Zählschleifen + 5. Übungen + 7. Bedingungen + 1. Beispiel - Schaltjahre + 2. Fachkonzept - Logische Verknüpfungen + 3. Fachkonzept - Bedingungen + 4. Übungen + 8. Ablaufmodellierung + 1. Beispiel - Zahlenraten + 2. Fachkonzept - Kontrollstrukturen + 3. Übungen + 9. Fehlersuche + 1. Beispiel - Simulation einer Ampel + 2. Exkurs - Strategien zur Fehlersuche + 10. Zeichenketten + 1. Beispiel - Palindrome + 2. Fachkonzept - Zeichenkette + 3. Übungen + 11. Funktionen + 1. Beispiel - Caesar-Verschlüsselung + 2. Fachkonzept - Funktion + 3. Exkurs - Datenverarbeitung mit Funktionen + 4. Übungen + 12. Modularisierung + 1. Beispiel - Tage zählen + 2. Fachkonzept - Modularisierung + 3. Fachkonzept - Schnittstelle + 4. Exkurs - Modultests in Python + 5. Übungen + 13. Namensräume + 1. Beispiel - Experimente mit Variablen + 2. Fachkonzept - Namensräume + 3. Exkurs - lokale/globale Variablen in Python + 4. Exkurs - Parameterübergabe in Python + 5. Übungen + 14. Listen + 1. Beispiel - Newsletter + 2. Fachkonzept - Liste + 3. Exkurs - Verwaltung von Listen + 4. Übungen + 15. Datenstrukturen + 1. Beispiel - Terminkalender + 2. Exkurs - Listen und Tupel in Python + 3. Fachkonzept - Datenstrukturen + 4. Übungen + 16. Rekursion + 1. Beispiel - Begrüßungsproblem + 2. Fachkonzept - Rekursive Funktionsdefinition + 3. Übungen + 3. Entwicklungsumgebungen für Python + 1. IDLE + 2. Thonny + 3. Browser-Version auf inf-schule + 4. Python-Tutor + 5. Jupyter-Notebook + 1. Online Version (Lab) + 2. Online Version (Notebook) + 3. Offline Version (JupyterLab-Desktop) + 4. Grundlagen Jupyter + 1. Aufgaben (Markdown-Latex-Python) + 2. Aufgaben (Jupyter) + 3. Aufgaben (Matplotlib) + 5. Exkurs: Jupyter-Notebook als CAS + 1. CAS-Programme + 6. Exkurs: Lokale Installation als Webserver