Die Situation
Lena (16) hat gemerkt, dass sie sich nach langen Social-Media-Sessions oft schlecht fühlt – müde, unkonzentriert, manchmal sogar ein bisschen down. Sie hat gelesen, dass es helfen kann, die eigene Bildschirmzeit bewusst zu tracken und sich realistische Ziele zu setzen.
Lena möchte ein kleines Programm schreiben, das ihr hilft:
Das Programm soll Folgendes tun:
- Lena gibt ein, wie viele Tage sie tracken möchte (z.B. die letzten 5 Tage).
- Für jeden dieser Tage gibt sie ein, wie viele Minuten sie auf Social Media war.
- Das Programm berechnet ihre Gesamtzeit und die durchschnittliche Zeit pro Tag.
- Lena gibt ihr persönliches Wunschziel ein: Wie viele Minuten pro Tag wären für sie okay?
- Das Programm gibt ihr eine ehrliche Rückmeldung:
- Liegt ihr Durchschnitt unter oder genau bei ihrem Ziel? → Lob und Ermutigung
- Liegt er leicht drüber (bis 30 Minuten über dem Ziel)? → Sanfter Hinweis mit Tipps
- Liegt er stark drüber (mehr als 30 Minuten über dem Ziel)? → Deutliche Warnung mit konkretem Vorschlag
- Zum Schluss zeigt das Programm, wie viele Minuten pro Tag Lena einsparen müsste, um ihr Ziel zu erreichen (falls nötig).
Problemanalyse
Zuerst analysieren wir die Aufgabenstellung:
Durchführung
Lesen Sie die Situation nochmals durch und markieren Sie – in Anlehnung an das EVA Prinzip:
- Welche Eingaben braucht das Programm?
- Verarbeitung: Welche Berechnungen müssen gemacht werden?
- Welche Ausgaben soll das Programm machen?
- Wo braucht es eine Wiederholung?
- Wo braucht es eine Verzweigung?
Überprüfung
- Anwendung des EVA Prinzips auf eine konkrete Aufgabenstellung
- Was wäre ein möglicher Durchlauf des Programms?
Beispiel-Durchlauf:
Wie viele Tage möchtest du auswerten? 5
Tag 1 - Minuten auf Social Media: 120
Tag 2 - Minuten auf Social Media: 95
Tag 3 - Minuten auf Social Media: 180
Tag 4 - Minuten auf Social Media: 60
Tag 5 - Minuten auf Social Media: 145
--- Deine Auswertung ---
Gesamtzeit: 600 Minuten
Durchschnitt pro Tag: 120.0 Minuten
Was ist dein Ziel pro Tag (in Minuten)? 90
Dein Durchschnitt liegt deutlich über deinem Ziel.
Das sind 30.0 Minuten pro Tag zu viel.
Tipp: Stell dir einen Timer und leg das Handy danach
bewusst in ein anderes Zimmer.
Struktogramm
Erstellen Sie ein Struktogramm von Hand oder mit unserem Tool:
Durchführung
Erstellen Sie ein Struktogramm für einen effizienten Algorithmus, der den Auftrag erfüllt.
Überprüfung
- Erstellung eines Struktogramms für eine konkrete Aufgabenstellung
Musterlösung (eine von vielen!):

Implementierung
Schreiben Sie ein Python Programm auf Papier oder besser in Thonny.
Durchführung
Erstellen Sie ein Python Programm, das den obigen effizienten Algorithmus umsetzt und die folgenden Anforderungen erfüllt:
| Anforderung | Erfüllt? |
|---|---|
Mehrere Eingaben mit input() | ☐ |
Verwendung von int() und float() | ☐ |
Mindestens eine for-Schleife | ☐ |
Mindestens eine if-elif-else-Struktur | ☐ |
| Sinnvolle Variablennamen | ☐ |
| Korrekte Berechnungen | ☐ |
Benutzerfreundliche Ausgaben mit print() | ☐ |
Überprüfung
- Python Programmierung mit input, print, for, if und der Umwandlung von Variablentypen
Eine mögliche Musterlösung:
# Digital Detox Planer
# Eingabe der Anzahl Tage
anzahl_tage = int(input("Wie viele Tage möchtest du auswerten? "))
# Variable für die Summe initialisieren
gesamtzeit = 0
# Schleife für jeden Tag
for tag in range(anzahl_tage):
minuten = int(input("Tag " + str(tag + 1) + " - Minuten auf Social Media: "))
gesamtzeit = gesamtzeit + minuten
# Durchschnitt berechnen
durchschnitt = gesamtzeit / anzahl_tage
# Zwischenergebnis ausgeben
print("")
print("--- Deine Auswertung ---")
print("Gesamtzeit: " + str(gesamtzeit) + " Minuten")
print("Durchschnitt pro Tag: " + str(durchschnitt) + " Minuten")
print("")
# Ziel einlesen
ziel = float(input("Was ist dein Ziel pro Tag (in Minuten)? "))
# Differenz berechnen
differenz = durchschnitt - ziel
# Feedback geben
print("")
if differenz <= 0:
print("Super! Du bist unter oder genau bei deinem Ziel!")
print("Weiter so - du hast deine Social-Media-Zeit im Griff!")
elif differenz <= 30:
print("Dein Durchschnitt liegt leicht über deinem Ziel.")
print("Das sind " + str(differenz) + " Minuten pro Tag zu viel.")
print("Tipp: Schalte Benachrichtigungen aus, das hilft oft schon!")
else:
print("Dein Durchschnitt liegt deutlich über deinem Ziel.")
print("Das sind " + str(differenz) + " Minuten pro Tag zu viel.")
print("Tipp: Stell dir einen Timer und leg das Handy danach")
print("bewusst in ein anderes Zimmer.")
Typische Stolpersteine
| Problem | Häufiger Fehler |
|---|---|
range(anzahl_tage) beginnt bei 0 | Ausgabe «Tag 0» statt «Tag 1» |
Division liefert float | Verwirrung bei der Ausgabe |
gesamtzeit nicht initialisiert | NameError |
Vergessen, input in int/float umzuwandeln | Typfehler bei Berechnungen |
Verschachtelte Logik bei if-elif-else | Falsche Bedingungsreihenfolge |