i

Testaufgaben

In diesem und einigen anderen Kapiteln gibt es Aufgaben, bei denen du deine erstellten Python-Programme testen lassen kannst.

Hierfür musst du entweder die Datei in das große weiße Feld ziehen oder darauf klicken, um die Datei über das Auswahlfenster zu suchen. Anschließend bestätigst du den Tests ausführen-Button und dir werden die Testergebnisse angezeigt.

Du musst darauf achten, dass die in der Aufgabenstellung gewünschte Eingabe und Ausgabe so genau wie möglich der Eingabe und Ausgabe deines Programms entspricht. Wenn z.B. gewünscht ist, dass der Benutzer eine Zahl eingibt, dann soll das Programm nicht folgendermaßen aufgebaut sein:

    
    print("Gib eine Zahl ein!")
    zahl = int(input())
    
    
Dies führt dazu, dass zuerst die Zeile Gib eine Zahl ein! ausgegeben wird, bevor vom Benutzer eine Eingabe erwartet wird. Dann funktionieren die Tests möglicherweise nicht mehr ordnungsgemäß. Gleiches ist zu beachten, wenn vom Benutzer nacheinander mehrere Eingaben zu machen sind.

Ähnlich verhält es sich mit der Ausgabe. Wird in der Ausgabe nur eine Zahl erwartet, wäre folgender Programmausschnitt nicht "korrekt":

    
    print("Endergebnis: ")
    print(ergebnis)
    
    
Lösen lässt sich das Problem hier, indem das Endergebnis: in die gleiche Zeile wie die ausgegebene Zahl eingepflegt wird:
    
    print("Endergebnis: ", ergebnis)
    
    

In der Aufgabenstellung kann natürlich auch verlangt werden, dass die Ein- und Ausgabe benutzerfreundlich gestaltet wird. Dann werden die erwarteten "Verschönerung" aber auch genau beschrieben und sollten ebenso genau umgesetzt werden, um die Funktionalität der Tests zu gewährleisten.

Schlagen beim Ausführen der Tests eine oder mehrere fehl, so erhältst du (sofern dein Programm lauffähig ist) eine Meldung der folgenden Form:

    Error for the following input:
    1
    
Erwartetes Ergebnis Tatsächliches Ergebnis
    ...-1...
    
    ...3...
    
Das bedeutet, dass deinem Programm die Eingabe 1 gegeben wurde und es eigentlich eine -1 ausgeben sollte. Allerdings gibt dein Programm für den Eingabewert 1 eine 3 aus, also scheint es noch nicht korrekt zu funktionieren. Die drei Punkte vor und hinter den Ausgabewerten sind nicht Teil der Ausgabe, sondern dienen als Platzhalter für beliebige weitere Zeichen vor und hinter dem eigentlichen Wert. Dies ist notwendig, damit die Tests auch bei verschönerten und benutzerfreundlichen Ausgaben funktionieren. Du musst dein Programm nicht so ändern, dass die Punkte mit ausgegeben werden!

Aufgabe 1: Kapitalverzinsung

Entwickle ein Programm, bei dem der Benutzer hintereinander zwei Eingaben tätigt:

    Ein Startkapital
    Ein Zinssatz (ohne Prozentzeichen)
Anschließend soll das vorhandene Kapital nach einem Jahr ausgegeben wird. Du kannst davon ausgehen, dass die Zinsen zum Ablauf des Jahres (und nicht z.B. monatlich) gutgeschrieben werden.

Beispiel: Die Eingabe

1000.0
1
führt zur Ausgabe
1010.0

Hier kannst du deinen Code testen:

Aufgabe 2: Umrechnung von Temperatureinheiten

Entwickle ein Programm zur Umrechnung einer Temperatur von Celsius in Fahrenheit. Der Benutzer gibt eine Temperatur in Celsius als Gleitkommazahl ein. Anschließend soll die Temperatur in Celsius und danach in Fahrenheit umgerechnet ausgegeben werden. Es soll dabei erkennbar sein, welche der ausgegebenen Zahlen zu welcher Temperatureinheit gehört. Sind tF die Temperatur in Fahrenheit und tC die Temperatur in Celsius, so lässt sich folgende Umrechnungsvorschrift benutzen:

tF = tC· 1.8 + 32

Beispiel: Die Eingabe

25.0
führt zur Ausgabe
25.0 Grad Celsius
77.0 Grad Fahrenheit

Hier kannst du deinen Code testen:

Aufgabe 3: Schnittpunkt linearer Funktionen

Zwei lineare Funktionen f(x)=mx+b und g(x)=nx+c besitzen genau dann einen Schnittpunkt, wenn sie nicht die gleiche Steigung besitzen. Erstelle ein Programm, das unter dieser Annahme den Schnittpunkt zweier linearer Funktionen berechnet und ausgibt. Die rationalen Koeffizienten m, b, n und c werden hierzu vom Benutzer als Gleitkommazahlen nacheinander in dieser Reihenfolge eingegeben. Der Schnittpunkt soll wie gewohnt als Punkt ( x | y ) ausgegeben werden. Du kannst davon ausgehen, dass der Benutzer des Programms keine Koeffizienten eingibt, für welche die Funktionen keinen Schnittpunkt besitzen.

Beispiel: Die Eingabe

1.0
0.0
2.0
0.0
führt zur Ausgabe
( 0.0 | 0.0 )

Hier kannst du deinen Code testen:

Suche

v
6.3.2.3.6
www.inf-schule.de/imperative-programmierung/python/konzepte/programme/test
www.inf-schule.de/6.3.2.3.6

Rückmeldung geben