lehrkraefte:blc:informatik:glf20:programmieren:division

This is an old revision of the document!


Ganzzahlige Division - Modulo

* Die ganzzahlige Division ist eine Operation, welche ausgibt, wie oft eine Zahl in einer Anderen Platz hat. Beispielsweise hat vier in zehn zwei Mal Platz.

* Der Modulo-Operator bezeichnet hingegen den Rest, welcher bei einer ganzzahligen Division übrig bleibt. In unserem Beispiel wäre das zwei.

Kopieren, testen und verstehen Sie folgenden Code:

x = 4
y = 10
 
print(y//x)
print(y%x)

Ändern Sie die Werte von x und y.

Schreiben Sie nun ein Programm, welches einen Bankautomat simuliert. Der Bankautomat versucht die Anzahl von Noten möglichst gering zu halten. Möchte der Kunde 250.-, dann wird der Automat 1x 200.- und 1x 50.- ausgeben.

* TIPP: Benutzen Sie (ganzzahlige Division) um herauszufinden, wie oft eine Note ausgegeben werden soll. Mit % (Modulo) können Sie dann den Rest berechnen, welcher dann mit einer tieferen Note ausgegeben wird. </WRAP> ===== Optionale, weitere Aufgaben ===== * Erweitern Sie Ihr Programm, indem der Kunde zwischen kleinen Noten, gemischten Noten und grossen Noten wählen kann. ===== Lösungsvorschläge ===== <hidden Lösungvorschläge> <code python> for i in range(1,101): if i % 3 == 0 and i % 5 == 0: print(“fizz buzz”) elif i % 3 == 0: print(“fizz”) elif i % 5 == 0: print(“buzz”) else: print(i) </code> <code python> t = inputInt(“Temperatur in Grad Celsius”) text = “%d°C ist ” % t if (t<15): text += “kalt” # eine Abkürzung für text = text + “kalt” elif t<25: text += “warm” else: text += “heiss” print(text+“.”) </code> <code python> # Definition der Koeffizienten a,b,c = 0,0,0 print(“Gleichung %.2fx^2%+.2fx%+.2f = 0” % (a,b,c)) if a==0: # Lineare Gleichung if b==0: # Gleichung ohne x if c==0: print(“Wahre Aussage, L=R, jedes x ist Lösung”) else: print(“Falsche Aussage, keine Lösung”) else: print(“Lineare Gleichung, eine Lösung: x=%f” % (-c/b)) else: # Quadratische Gleichung d = b*b-4*a*c # Diskriminante if (d<0): print(“Keine reelle Lösung”) elif d==0: print(“Genau eine Lösung x=%f” % (-b/(2*a))) else: d = d**0.5 # Wurzel aus der Diskriminante x1 = (-b-d)/(2*a) x2 = (-b+d)/(2*a) print(“Zwei Lösungen x1=%f und x2=%f” % (x1, x2)) </code> </hidden>

  • lehrkraefte/blc/informatik/glf20/programmieren/division.1603878976.txt.gz
  • Last modified: 2020/10/28 10:56
  • by mirco.triner