Achtung! DIESE SEITE BEFINDET SICH NOCH IM AUFBAU!
Diese Seite präsentiert Projekte passend für den Unterricht. Übungsprojekte, die für die Eigenarbeit gedacht sind, finden sich [[Übungen|hier]]
Der Umfang der Programme für die Projekte ist jeweils zu Beginn mit „LOC xx“ angegeben, dabei steht LOC für „lines of code“. Das gibt eine grobe Einschätzung des Zeitaufwandes für eine Behandlung im Kurs. Allerdings benötigen die komplexeren Programme noch Vorübungen zum Einstieg. Deren Umfang wurden nicht mitgezählt. Außerdem sind nicht alle Programmzeilen gleichermaßen bedeutungsvoll. Die gute Nachricht ist aber, dass Python-Programme generell recht kompakt daherkommen. Mit 100 Zeilen lässt sich schon eine Menge Funktionalität erzielen!
Liste der Projekte
KFZ-Kennzeichen
LOC 51. Wir suchen in einem Datenbestand. Bitte ladet [[Media:KfzKennzeichen.txt|diese Datei]] herunter!
Ein Dialog mit dem Programm könnte so aussehen (Benutzereingaben in rot):
Willkommen bei der KFZ-Kennzeichen-Auskunft!
Bitte das Orts-Kennzeichen eingeben: RT
RT steht für Reutlingen in Baden-Württemberg
Bitte das Orts-Kennzeichen eingeben: …
Plotter
LOC 20. Mit wenig eigenem Code ermöglicht uns die [https://de.wikipedia.org/wiki/Matplotlib Matplotlib], Kurvenverläufe zu zeichnen. Ladet hierzu [[Media:GlobalWarming.txt|diese Datei]] herunter!
[[File:GlobalWarming.PNG|center]]
Geheim
LOC 66. Einfache Verfahren zum Verschlüsseln von Text sind schnell verstanden und programmiert. [https://de.wikipedia.org/wiki/Caesar-Verschl%C3%BCsselung Caesar] lässt grüßen: „joky oyz kot zkdz, jkx atzkx qkotkt asyzätjkt hkqgttz ckxjkt jgxl“
Verschiebung für den Code-Buchstaben g:
Klarbuchstabe: abcdefghijklmnopqrstuvwxyz
||||||||||||||||||||||||||
Geheimbuchstabe: abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
^
Alternative Implementierung ohne Alphabet-String: Benutze die Tatsache, dass in Python die Buchstaben des Alphabets (wie in [https://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange ASCII]) aufsteigend codiert werden. Die Codierung erfährt man mit der ord-Funktion: ord(‚a‘) = 97, ord(‚z‘) = 122. Die Umkehrfunktion von ord lautet chr: chr(97) = ‚a‘ und chr(122) = ‚z‘.
Mache Gebrauch von der [https://de.wikipedia.org/wiki/Division_mit_Rest#Modulo Modulo]-Funktion (%), wenn du bei der Verschiebung über die Ränder gerätst! (Möglicherweise musst du vorher die Länge des Alphabets addieren.)
Ballonjagd
LOC 64. Mit gut 60 Zeilen Code programmieren wir unser erstes Spiel auf einer grafischen Oberfläche ([https://de.wikipedia.org/wiki/Grafische_Benutzeroberfl%C3%A4che GUI]). Wer kann innerhalb von 20 Sekunden die meisten roten Ballons mit der Maus abstechen?
[[File:Ballonjagd.PNG|center]]
Benzin
LOC 80. Ich habe nach 830 km Fahrt 53 Liter getankt. Was war mein durchschnittlicher Verbrauch auf 100 km? Unser Programm gibt die Antwort. Aber es kann noch mehr: Es berechnet den Verbrauch bzw. Strecke und Volumen anhand der jeweils anderen 2 Werte.
[[File:BenzinKlein.PNG|center]]
Mit der Verwendung von tkinter lernen wir die Programmierung von grafischen Benutzeroberflächen: Fenster, Knöpfe, Textuelle Ein-und Ausgabe, Layout.
[[Media:BenzinStarterSet.zip|Hier]] kannst du ein StarterSet herunterladen und mit der eigenen Entwicklung starten!
Symmetrie
LOC 52. Mit diesem Malprogramm gelingen exakt symmetrische Figuren, wie man sieht:
[[File:Symm300.PNG|center]]
