Übungen
Aufgabe 1: Variablen und Zuweisungen
(a) Die Werte der Variablen a
und b
sollen mit Hilfe geeigneter Zuweisungen
ausgetauscht werden. Hier ein erster Versuch:
>>> a = 5
>>> b = 3
>>> a = b
>>> b = a
>>> a
...
>>> b
...
Begründe, warum das so nicht funktioniert. Wie könnte man es besser machen?
(b) Gegeben sind die folgenden Zuweisungen: a = b-a
; a = a-b
; b = a+b
.
Ergänze die Zuweisungen im folgenden Ablaufprotokoll so, dass die angegebenen Variablenzustände erreicht werden.
{} a = 5 {a -> 5} b = 8 {a -> 5; b -> 8} ... {a -> -3; b -> 8} ... {a -> -3; b -> 5} ... {a -> 8; b -> 5}
Die Zuweisungsfolge vertauscht ebenfalls die Werte der Variablen a
und b
.
Teste, ob das auch für andere Ausgangswerte zutrifft.
(c) Was bewirkt die folgende Mehrfachzuweisung? Probiere es auch einmal aus.
(a, b) = (b, a)
Aufgabe 2: Variablenbezeichner
(a) P. hat den folgenden Python-Dialog geführt. Warum weiß man nicht so recht, was P. hier berechnet hat?
>>> a = 65 >>> b = 1.7 >>> c = a/(b*b) >>> c 22.49134948096886
(b) Informiere dich über den sogenannten Body-Mass-Index (kurz BMI). Kannst du jetzt erklären, wofür die im Python-Dialog benutzten Variablen stehen?
(c) Führe einen Python-Dialog zur Berechnung deines BMI-Werts. Benutze aber Variablenbezeichner, die besser erklären, welche Daten mit den Variablen verwaltet werden.
(d) Welche Vorteile hat es, wenn bei der Wahl der Variablenbezeichner immer sprechende Namen benutzt?
Aufgabe 3: Eine Trace-Tabelle erstellen
Ergänze die fehlenden Werte in der Trace-Tabelle. Was wird hier berechnet?
Zuweisung | zahl | ergebnis | zuwachs |
---|---|---|---|
zahl = 0 | 0 | ||
ergebnis = 0 | 0 | 0 | |
zuwachs = 1 | 0 | 0 | 1 |
zahl = zahl + 1 | 1 | 0 | 1 |
ergebnis = ergebnis + zuwachs | 1 | 1 | 1 |
zuwachs = zuwachs + 2 | |||
zahl = zahl + 1 | |||
ergebnis = ergebnis + zuwachs | |||
zuwachs = zuwachs + 2 | |||
zahl = zahl + 1 | |||
ergebnis = ergebnis + zuwachs | |||
zuwachs = zuwachs + 2 | |||
zahl = zahl + 1 | |||
ergebnis = ergebnis + zuwachs | |||
zuwachs = zuwachs + 2 |
Aufgabe 4: Hilfsvariablen beim Anhalteweg
In der Fahrschule lernt man folgende Faustformeln zur Berechnung von Anhaltewegen:
Reaktionsweg (in m) = (Geschwindigkeit (in km/h) durch 10) mal 3 Bremsweg (in m) = (Geschw. (in km/h) durch 10) mal (Geschw. (in km/h) durch 10) Anhalteweg (in m) = Reaktionsweg plus Bremsweg
Der Anhalteweg soll mit einer geeigneten Funktion berechnet werden.
Entwickle eine Funktionsdefinition. Hier ist es günstig, Hilfsvariablen für den Reaktionsweg und den Bremsweg einzuführen. Teste die Funktion.
Aufgabe 5: Hilfsvariablen beim Walmdach
Der Ziegelbedarf für ein Walmdach lässt sich mit einer Funktion abschätzen, die bei Übergabe der Größen des Dachs den gesamten Flächeninhalt des Dachs zurückliefert.
Die Größe eines Walmdachs lässt sich dabei mit Länge, Breite, Höhe und der Länge des Dachfirsts beschreiben.
Hier eine erste Definition dieser Funktion:
from math import sqrt
def flaecheRechteck(a, b):
return a*b
def flaecheDreieck(g, h):
return (g*h)/2
def laengeHypotenuse(a, b):
return sqrt(a*a+b*b)
def flaecheWalmdach(laenge, breite, hoehe, laengeFirst):
return 2*flaecheDreieck(breite, laengeHypotenuse((laenge-laengeFirst)/2, hoehe)) + \
4*flaecheDreieck((laenge-laengeFirst)/2, laengeHypotenuse(breite/2, hoehe)) + \
2*flaecheRechteck(laengeFirst, laengeHypotenuse(breite/2, hoehe))
(a) Analysiere den Rechenausdruck in der Funktionsdefinition von flaecheWalmdach
.
Erkläre alle Details des Rechenausdrucks.
Teste die Funktion auch.
(b) Der Rechenausdruck in der Definition der Funktion flaecheWalmdach
ist recht komplex.
Mit Hilfsvariablen lässt sich die Verständlichkeit der Funktionsdefinition verbessern.
Ergänze die fehlenden Teile in der Funktionsdefinition von flaecheWalmdach
.
Teste erneut.
from math import sqrt
def flaecheRechteck(a, b):
return a*b
def flaecheDreieck(g, h):
return (g*h)/2
def laengeHypotenuse(a, b):
return sqrt(a*a+b*b)
def flaecheWalmdach(laenge, breite, hoehe, laengeFirst):
lSparrenSeitenflaeche = ...
lSparrenHauptflaeche = ...
aSeitenflaeche = ...
aHauptflaeche = ...
aGesamt = ...
return aGesamt
Quellen
- [1]: Größe eines Walmdachs - Urheber: KB - Lizenz: Inf-Schule.de