Umsetzung: Digital Detox Planer

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:

  1. Lena gibt ein, wie viele Tage sie tracken möchte (z.B. die letzten 5 Tage).
  2. Für jeden dieser Tage gibt sie ein, wie viele Minuten sie auf Social Media war.
  3. Das Programm berechnet ihre Gesamtzeit und die durchschnittliche Zeit pro Tag.
  4. Lena gibt ihr persönliches Wunschziel ein: Wie viele Minuten pro Tag wären für sie okay?
  5. 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
  6. 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

  1. Anwendung des EVA Prinzips auf eine konkrete Aufgabenstellung
  2. 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

  1. 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:

AnforderungErfü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

  1. 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

ProblemHäufiger Fehler
range(anzahl_tage) beginnt bei 0Ausgabe «Tag 0» statt «Tag 1»
Division liefert floatVerwirrung bei der Ausgabe
gesamtzeit nicht initialisiertNameError
Vergessen, input in int/float umzuwandelnTypfehler bei Berechnungen
Verschachtelte Logik bei if-elif-elseFalsche Bedingungsreihenfolge