MINT lernen

Division, mod und Zufall

17 Schüler, Fünfertische: Wie viele Tische sind voll, wer bleibt übrig? Ganzzahldivision und Rest beantworten genau das — beim Würfeln genauso wie bei Uhrzeiten.

1

Ganzzahldivision und Rest

  • a / b:bei zwei ganzen Zahlen: Wie oft passt b ganz in a? Nachkommastellen fallen weg: 17 / 5 = 3.
  • a mod b:der Rest, der dabei übrig bleibt: 17 mod 5 = 2 — immer zwischen 0 und b − 1.
  • Java:17 / 5 und 17 % 5 (bei int-Werten)
  • Python:17 // 5 und 17 % 5 — Achtung: 17 / 5 ergibt 3.4.
  • Teilbar:b teilt a genau dann, wenn a mod b = 0; gerade Zahl: x mod 2 = 0.
  • Ziffern:letzte Ziffer: x mod 10; letzte Ziffer abschneiden: x / 10.

Stelle a und b ein und zerlege dann die a Plättchen in Gruppen zu je b. Die Anzahl voller Gruppen ist a / b, was übrig bleibt, ist a mod b. „Zusammenschieben“ legt alles wieder auf einen Haufen.

Zerlegen in Gruppen

Halte fest: Zerlegen ändert die Anzahl nicht: volle Gruppen · b + Rest = a — und der Rest ist immer kleiner als b.

Herleitung:

\(17 = 3\cdot 5 + 2\)
| zerlegen
17 Plättchen in Fünfergruppen: 3 volle Gruppen, 2 bleiben übrig.
\(a = \textcolor{#2c5fb5}{(a / b)}\cdot b + \textcolor{#b3261e}{r}\)
| verallgemeinern
Die Anzahl voller Gruppen ist die Ganzzahldivision \(a / b\), der Rest heißt \(r\) mit \(0 \le r < b\).
\(\textcolor{#b3261e}{a \bmod b} = a - (a / b)\cdot b\)
Ergebnis
Beide Seiten minus \((a/b)\cdot b\): So berechnet man den Rest ohne mod-Operator.
Merke

Rest: \(a \bmod b = a - (a / b)\cdot b\) mit \(0 \le a \bmod b < b\)

2

Zufallszahlen und Runden

  • Java:(int) (Math.random() * 6) + 1 liefert eine ganze Zahl von 1 bis 6.
  • Java Random:new Random().nextInt(6) + 1 — nextInt(6) liefert 0 bis 5.
  • Python:random.randint(1, 6) — beide Grenzen gehören dazu (import random).
  • Bereich a…b:Java: (int) (Math.random() * (b - a + 1)) + a · Python: random.randint(a, b)
  • Runden:Java Math.round(2.5) = 3 · Python round(2.5) = 2 (rundet bei ,5 zur geraden Zahl).
  • Abschneiden:(int) 3.9 bzw. int(3.9) = 3 — ohne Runden.
Java
int wurf = (int) (Math.random() * 6) + 1;
boolean gerade = wurf % 2 == 0;
Python
import random
wurf = random.randint(1, 6)
gerade = wurf % 2 == 0
3

Allgemeine Hinweise

Negative Zahlen

Java: -7 % 3 = −1, Python: -7 % 3 = 2. Im Abitur meint mod den kleinsten positiven Rest, also 2.

Python: / ist nie ganzzahlig

In Python liefert / immer eine Kommazahl. Für die Ganzzahldivision brauchst du //.

Zahlen zerlegen

Mit x mod 10 holst du die letzte Ziffer, mit x / 10 entfernst du sie. In einer Schleife ergibt das z. B. die Quersumme.

Videos