Übungen / Aufgaben zu Python
1 Lösung

Countdown mit Variationen
Erstellen Sie ein Countdown Programm. Für das Programm ist es nötig, die Zeit die herunterlaufen soll einzugeben. Je nach Schwierigkeitsgrad kann man dies in der Konsole tun, oder in einem GUI. Nach Ablauf der Zeit sollte ein Ton ertönen.
Das Programm kann je nach Schwierigkeitsgrad angepasst werden:
Eingabe in der Konsole oder GUI
Einfacher BeepTon nach Ablauf der Zeit oder das man eine mp3 Datei angeben kann, die abgespielt werden kann
Ein Popup Fenster welches im Desktopvordergrund blink
Das Programm kann je nach Schwierigkeitsgrad angepasst werden:
Eingabe in der Konsole oder GUI
Einfacher BeepTon nach Ablauf der Zeit oder das man eine mp3 Datei angeben kann, die abgespielt werden kann
Ein Popup Fenster welches im Desktopvordergrund blink
1 Lösung

Stoppuhr mit Rundenzeiten
Erstellen Sie ein Programm, womit man die Zeit stoppen kann. Die Stoppuhr sollte mit einer beliebigen Taste anfangen die Zeit zu starten und danach mit einer beliebigen Taste eine weitere Runde einzuleiten. Die Stoppuhr sollte mit dem Druck auf ESC beendet werden.
1 Lösung

Ungelesene E-Mails auslesen
Schreibe ein Programm, welches sich mit deinem E-Mail Konto
verbindet und die aktuellen, ungelesenen E-Mails ausgibt.
verbindet und die aktuellen, ungelesenen E-Mails ausgibt.
1 Lösung

Ermittlung der Dreiecksart
Vervollständigen Sie dieses Programm, sodass es fehlerfrei kompiliert und abläuft:
C-Code

enum class triangle_type { usual, /// normales, uninteressantes Dreieck isosceles, /// gleichseitig equilateral, /// gleichschenklig right_angled, /// rechtwinklig impossible /// mit den gegebenen Seitenlängen nicht konstruierbar }; #include<cstdint> triangle_type get_triangle_type(uint16_t, uint16_t, uint16_t); #include <cassert> int main() { assert( get_triangle_type(5, 5, 5) == triangle_type::isosceles ); assert( get_triangle_type(8, 4, 8) == triangle_type::equilateral ); assert( get_triangle_type(3, 4, 5) == triangle_type::right_angled ); assert( get_triangle_type(10, 5, 1) == triangle_type::impossible ); }
1 Lösung

Fensternamen ausgeben
Erstelle ein Konsolenprogramm. In der Konsole sollen Fenstertitel & und zugehöriger
Prozessname ausgegeben werden, wenn das Vordergrundfenster wechselt. (Programm soll durchgehend laufen)
Die Konsole selber soll nicht ausgegeben werden.
Der Windows-Explorer soll nicht ausgegeben werden.
Prozessname ausgegeben werden, wenn das Vordergrundfenster wechselt. (Programm soll durchgehend laufen)
Die Konsole selber soll nicht ausgegeben werden.
Der Windows-Explorer soll nicht ausgegeben werden.
Konsolenausgabe:
Fenstername: Windows Task-Manager
Prozessname: taskmgr
Fenstername: Neue Aufgabe erstellen - TRAIN your programmer - Google Chrome
Prozessname: chrome
usw.
4 Lösungen

99 Bottles of Beer - Selbstständige Lösung
Programmiere eine eigenständige Lösung zur gängigen Programmier-Übung bzw. Lied 99 Bottles of Beer
Ausgabe:
Ausgabe:
Konsolenausgabe:
99 bottles of beer on the wall, 99 bottles of beer.
Take one down and pass it around, 99 bottles of beer on the wall.
98 bottles of beer on the wall, 98 bottles of beer.
... usw.
6 Lösungen

Schaltjahresberechnung
Es soll eine jahreszahl übergeben werden und es soll überprüft werden ob es sich um ein Schaltjahr handelt oder nicht.
Es gilt:
- Wenn ein Jahr durch 4 teilbar ist, ist es ein Schaltjahr, aber
- wenn es durch 100 teilbar ist, ist es kein schaltjahr, außer
- es ist durch 400 teilbar, dann ist es ein schaltjahr
z.b. 1664, 1600, 2000, 2004 sind schaltjahre
1003, 2006, 1700 sind keine schaltjahre
Es gilt:
- Wenn ein Jahr durch 4 teilbar ist, ist es ein Schaltjahr, aber
- wenn es durch 100 teilbar ist, ist es kein schaltjahr, außer
- es ist durch 400 teilbar, dann ist es ein schaltjahr
z.b. 1664, 1600, 2000, 2004 sind schaltjahre
1003, 2006, 1700 sind keine schaltjahre
0 Lösungen
Spiel: Schiffe versenken
Es soll ein Schiffe-Versenken Spiel (Konsole oder Gui) erstellt werden. Man solll gegen den Computer oder gegen einen Menschen spielen können.
1 Lösung

4 Gewinnt für die Konsole
Es soll 4 Gewinnt für die Konsole programmiert werden.
2 Spieler spielen gegeneinander, ohne Computergegner (ohne künstliche Intelligenz), spielen können.
Optional mit Computergegner, aber bitte in der Beschreibung dann angeben.
2 Spieler spielen gegeneinander, ohne Computergegner (ohne künstliche Intelligenz), spielen können.
Optional mit Computergegner, aber bitte in der Beschreibung dann angeben.
0 Lösungen
Snake für die Konsole
Es soll Snake (Wiki-Snake) für die Konsole programmiert werden.
Neben den klassischen Spielmerkmalen soll auch ein Highscoresystem eingebaut werden. Neben dem "Futter" müssen mit der Zeit auch andere, nicht einsammelbare Items erscheinen, die bei Kontakt das Spiel beenden. Dabei muss beachtet werden, dass soetwas nicht direkt vor dem Schlangenkopf passieren darf, am besten überhaupt nicht in einem gewissen Radius um die Schlange herum, damit das Spiel nicht unfair wird.
Neben den klassischen Spielmerkmalen soll auch ein Highscoresystem eingebaut werden. Neben dem "Futter" müssen mit der Zeit auch andere, nicht einsammelbare Items erscheinen, die bei Kontakt das Spiel beenden. Dabei muss beachtet werden, dass soetwas nicht direkt vor dem Schlangenkopf passieren darf, am besten überhaupt nicht in einem gewissen Radius um die Schlange herum, damit das Spiel nicht unfair wird.
2 Lösungen

Laufzeit-Berechnung von PI mittels BBP-Reihe
Berechnen Sie PI mit der Bailey-Borwein-Plouffe-Formel (BBP-Reihe).
Extrahieren Sie dazu aus der Standardeingabe die Größe der Summenformel (im Wikipedia-Artikel: Das k) und berechnen Sie dann PI mit der Genauigkeit eines long double (und speichern Sie es selbstverständlich auch in einem).
Anschließend geben Sie die von ihnen berechnete Annäherung und die prozentuale Abweichung vom "echten", vor-berechneten PI an.
Extrahieren Sie dazu aus der Standardeingabe die Größe der Summenformel (im Wikipedia-Artikel: Das k) und berechnen Sie dann PI mit der Genauigkeit eines long double (und speichern Sie es selbstverständlich auch in einem).
Anschließend geben Sie die von ihnen berechnete Annäherung und die prozentuale Abweichung vom "echten", vor-berechneten PI an.
1 Lösung

Quine - ausgeben des eigenen Codes
Es soll ein Programm geschrieben werden, dass seinen eigenen Code ausgibt.
Ohne Dateien, irgendwelche anderen Bibliotheken (bspw. Boost) oder sonst irgendwas.
Nur Standardheader und keine äußeren Hilfsmittel.
Auf Wikipedia - Quine findet man nützliche Tipps (und auch Lösungen, aber bitte nicht die oder eine abgewandelte Version derer posten).
Ohne Dateien, irgendwelche anderen Bibliotheken (bspw. Boost) oder sonst irgendwas.
Nur Standardheader und keine äußeren Hilfsmittel.
Auf Wikipedia - Quine findet man nützliche Tipps (und auch Lösungen, aber bitte nicht die oder eine abgewandelte Version derer posten).