[Präsentationen zum Thema “Algorithmen”](https://hackmd.io/@marcsievers/H13-ZpJkH)
# Fehlererkennende Codes

---
# (1)
## Modulare Arithmetik
🤙🏼
---
Was ist modulare Arithmetik?
(Brauchen wir für die Mathematik gleich)
---
Was ist Modulo?
`%`
---
Wie dividiert man?
`5 / 2 = 2,5`
Wie haben wir gelernt zu dividieren?
`5 / 2 = 2 Rest 1`
---
Modulo stellt den Rest beim Teilen dar
`5 / 2 = 2 Rest 1`
`5 % 2 = 1`
---
Weitere Beispiele:
```
9 / 12 = 0 Rest 9
9 % 12 = 9
```
```
2 / 2 = 1 Rest 0
2 % 2 = 0
```
```
20 / 10 = 2 Rest 0
20 % 10 = 0
```
```
7 / 3 = 2 Rest 1
7 % 3 = 1
```
---
# (2)
## Berechnung der Prüfziffer
ISBN 0-7475-5100-:question:

---
---
ISBN 0-7475-5100-:question:
*0*·1 + *7*·2 + *4*·3 + *7*·4 + *5*·5 + *5·6 + 1*·7 + *0*·8 + *0*·9 = 14 + 12 + 28 + 25 + 30 + 7 = 116
(Zahl mit dem Index multiplizieren und alles summieren)
---
116 / 11 = 10 Rest 6 ⇒ Prüfziffer: 6
116 % 11 = 6 ⇒ Prüfziffer: 6
(Modulo der Summe mit 11)
---
ISBN 0-7475-5100-6
---
### In "übersichtlich" 🥝

---
# (3)
## Fehlererkennung
1. fehlerhafte Zahlen
2. Kollision
---
# (3.1)
## Fehlerhafte Zahlen
1. Prüfziffer neu berechnen
2. berechnete Prüfziffer ≠ angegebene Prüfziffer
3. => falsche ISBN
---
# (3.2)
## Kollision
Prüfziffer von `0` bis `9` und 10 als `X` (11 Verschiedene)
=> 9%ige Chance, dass ein möglicher Fehler nicht erkannt wird
*Fachbegriff der "Kollision"*
---
# (4)
## Fehlerkorrektur
**-** Fehlerkorrektur ist bei ISBNs nicht möglich
**+** QR-Codes verwenden korregierende Prüfsummen
---
**Dieser Vortrag wurde ihnen präsentiert von
Elisa, Paul & Philipp**
{"metaMigratedAt":"2023-06-14T22:16:16.752Z","metaMigratedFrom":"Content","title":"Fehlererkennende Codes","breaks":true,"contributors":"[{\"id\":\"b2773cd7-8c69-4a00-a692-262bb488ea96\",\"add\":10448,\"del\":543},{\"id\":\"5714fc73-8a6d-454a-a1bc-82674d7231c3\",\"add\":4004,\"del\":9937},{\"id\":\"73e13e3b-ac0e-4379-898c-ad2c344f8829\",\"add\":707,\"del\":2837}]"}