Einstieg - Benutzeroberflächen

Der Anhalteweg eines Autos

In der Fahrschule lernt man folgende Faustformeln zur Berechnung des Anhaltewegs eines Autos:

Um ein Gefühl für die Länge des Anhaltewegs zu bekommen, sollte man den Anhalteweg für verschiedene Geschwindigkeiten ausrechnen (lassen). Günstig wäre es, wenn man ein Programm hätte, das einem die Berechnungen abnimmt.

Aufgabe 1

Versuche, mit deinem aktuellen Wissen ein solches Programm zu entwickeln.

Ein Programm zur Berechnung des Anhaltewegs

Die Berechnung der Wege könnte man mit einer Funktion so realisieren:

def wegberechnungen(geschwindigkeit):
    reaktionsweg = (geschwindigkeit/10)*3
    bremsweg = (geschwindigkeit/10) * (geschwindigkeit/10)
    anhalteweg = reaktionsweg + bremsweg
    return (reaktionsweg, bremsweg, anhalteweg)

Die Abbildung zeigt, wie die Funktion zur Wegberechnung benutzt werden kann.

Oberfläche mit interaktiver Berechnung des Anhaltewegs

Aufgabe 2

Beurteile das Programm und seine Nutzung aus Anwendersicht: Wie anwenderfreundlich ist das entwickelte Programm?

Ein Programm zur wiederholten Berechnung des Anhaltewegs

Für den Benutzer ist es günstig, wenn die Funktion zur Wegberechnung wiederholt ausgeführt werden kann:

def wegberechnungen(geschwindigkeit):
    reaktionsweg = (geschwindigkeit/10)*3
    bremsweg = (geschwindigkeit/10) * (geschwindigkeit/10)
    anhalteweg = reaktionsweg + bremsweg
    return (reaktionsweg, bremsweg, anhalteweg)

# Programm

print("Anhalteweg eines Autos")
print()
genug = False
while (not genug):
    print("Noch eine Schätzung?")
    antwort = input("Antwort (j/n): ")
    if antwort == "j":
        # Eingabe der Daten
        geschwindigkeit = float(input("Geschwindigkeit [in km/h] : "))
        geschaetzterAnhalteweg = float(input("geschätzter Anhalteweg [in m] : "))        
        # Verarbeitung der Daten
        (reaktionsweg, bremsweg, anhalteweg) = wegberechnungen(geschwindigkeit)   
        # Ausgabe der Daten
        anzeigeReaktionsweg = '{0:.2f}'. format(reaktionsweg)
        print(anzeigeReaktionsweg)
        anzeigeBremsweg = '{0:.2f}'. format(bremsweg)
        print(anzeigeBremsweg)
        anzeigeAnhalteweg = '{0:.2f}'. format(anhalteweg)
        print(anzeigeAnhalteweg)
        print()
    else:
        genug = True

Die Abbildung zeigt eine mögliche Ausführung des Programms.

Konsolenprogramm zur Berechnung des Anhaltewegs

Aufgabe 3

Beurteile auch dieses Programm und seine Nutzung aus Anwendersicht: Wie anwenderfreundlich ist das entwickelte Programm?

Ein Programm mit grafischer Benutzeroberfläche

Moderne Programme bieten dem Benutzer eine grafische Benutzeroberfläche an, z.B. so:

grafische Oberfläche

Aufgabe 4

Lade den Quelltext gui_anhalteweg.txt zum Programm mit grafischer Benutzeroberfläche herunter und führe das Programm aus. Beurteile auch dieses Programm und seine Nutzung aus Anwendersicht. Welche Vorteile hat es gegenüber den oben gezeigten Konsolenprogrammen? Welche Verbesserungen sind noch wünschenswert?

X

Fehler melden

X

Suche