1.5. Anwendung von Schleifen¶
In dieser Aufgabe wird die Verwendung von Schleifen anhand der Summation von ganzen Zahlen und in einer Umrechnungstabelle geübt.
Aufgabenteil A¶
Schreiben Sie ein Skript, das die Summe der Zahlen von 1 bis \(\sf N\) bildet. Dabei sollen folgende drei Wege implementiert werden und die Ergebnisse dieser ausgegeben werden. Berechnen Sie die Summe unter Verwendung:
einer
for
-Schleife,einer
while
-Schleife undder Summenformel.
Lösungshinweis¶
Für \(\sf N=100\) lautet das Ergebnis 5050.
Lösung¶
N = 100
# zu 1:
summe = 0
for i in range(N+1):
summe += i
print("Die Summe der Zahlen von 0 bis", N, "lautet:", summe)
Die Summe der Zahlen von 0 bis 100 lautet: 5050
# zu 2:
summe = 0
i = 0
while i <= N:
summe += i
i += 1
print("Die Summe der Zahlen von 0 bis", N, "lautet:", summe)
Die Summe der Zahlen von 0 bis 100 lautet: 5050
# zu 3:
summe = (N*(N+1))//2
print("Die Summe der Zahlen von 0 bis", N, "lautet:", summe)
Die Summe der Zahlen von 0 bis 100 lautet: 5050
Aufgabenteil B¶
Erstellen Sie ein Skript, welches eine Umrechnungstabelle für Geschwindigkeiten erzeugt. Folgende Randbedingungen sollen beachtet werden:
Die Umrechnung soll von km/h in m/s erfolgen.
Der Start- und Endwert soll in km/h frei wählbar sein, wobei beide ganzzahlig sein sollen.
Die Anzahl der Umrechnungspunkte soll mit \(\sf N\) definiert werden können und die Zwischenschritte (in km/h) immer als ganze Zahlen erfolgen.
Lösungshinweis¶
So könnte beispielsweise die Ausgabe aussehen.
Start bei 0 km/h
Ende bei 100 km/h
Ausgabeschritte 5
km/h m/s
============
0 0.0
25 6.944444444444445
50 13.88888888888889
75 20.833333333333332
100 27.77777777777778
Lösungsvorschlag¶
# definiere Berechnungsbereich
start = 0
ende = 100
N = 5
# Ausgabe der Eingaben
print('Start bei', start, 'km/h')
print('Ende bei', ende, 'km/h')
print('Ausgabeschritte', N)
print()
# Kopf der Tabelle
print('km/h\t m/s')
print('============')
# Berechnung der Schrittweite
dN = (ende - start) // (N-1)
# Berechnungsschleife
for v in range(start, ende+dN, dN):
ms = v * 1000 / 3600
print(v, '\t', ms)
Start bei 0 km/h
Ende bei 100 km/h
Ausgabeschritte 5
km/h m/s
============
0 0.0
25 6.944444444444445
50 13.88888888888889
75 20.833333333333332
100 27.77777777777778