Die vorliegenden Materialien wurden von Daniel Hoherz und André Tempel erstellt. Sollten andere Editoren die Materialien erstellt haben, werden diese explizit genannt und deren Nutzungsrecht eplizit angegeben.
Dieser Einstieg basiert auf einer Idee von Philip Schwarzbauer (Osnabrück, 2023)
Informationen jeglicher Art werden ständig von einem Sender über einen Kommunikationskanal verschickt und von einen Empfänger erhalten. Ein einfaches Beispiel ist Sprechen. Der Redner formuliert mit Wörter, welche durch die Luft weitergeleitet werden und ein Empfänger kann diese mit seinen Ohren wahrnehmen. Doch was ist, wenn die Entfernung zum Hören zu groß ist?
Stellen wir uns vor, an einem Sommertag im Jahr 1300 möchte ein Wächter eines Burgturms eine Nachricht an einen weiteren Wächter in der unter der Burg liegenden Stadt übermitteln. Die beiden haben vorher vereinbart, dass Sie sich gegenseitig Signale mit Hilfe großer einfarbiger Flaggen senden wollen, falls irgendetwas mitzuteilen ist. Beide haben eine gelbe und eine blaue Flagge.
- Bearbeite die drei Aufgaben in Partnerarbeit.
- Weitere Kommunikationsteilnehmer: Die Person auf dem Dorfplatz hat noch eine weitere Person auf der Burg, mit der sie kommunizieren möchte.
- Besonders dringende Nachrichten: Auf der Burg, auf dem Marktplatz, auf den beiden Feldern und am Waldrand stehen überall Personen, die auf Entfernung ständig mit ihren Flaggen kommunizieren. Nun kommt eine angreifende Armee und der einzige Wächter am Waldrand möchte dies zur Burg melden.
- Geheimhaltung: Ein Spion observiert das Dorf über einige Zeit. Er sieht, wie Flaggen geschwenkt werden und andere reagieren.
- Verifikation des Absenders: Der Hauptmann auf der Burg sieht aus dem Turm des Verantwortlichen für den Marktplatz Hilfesignale kommen. Allerdings kann er nicht erkennen, wer diese sendet.
- Fehler bei der Übermittlung: Beim Senden einer Nachricht wird ein Teil der Nachricht durch Kaminraum überdeckt und es sind einzelne Zeichen nicht zu erkennen.
- Kennzeichnung des Empfängers: Der Hauptmann auf der Burg und der Hauptmann im Leuchtturm des Hafens sehen sehen vom Wächter am Waldrand Warnsignale zu einem bestehenden Angriff kommen. An wen ist diese Nachricht gerichtet?
Entwickelt zu zweit eine Möglichkeit, die verschiedenen, in der unten abgebildeten
| Begriff | Codewort | Begriff | Codewort |
|---|---|---|---|
| Gefahr | Tag | ||
| Feuer | Nacht | ||
| Wasser | Morgen | ||
| Hilfe | Abend | ||
| Brot | Westen |
Nun geschehen die folgenden Szenarien.
Beschreibt, welche Probleme bei den einzelnen Szenarien auftreten und welche Anforderungen bezüglich der Codierung jeweils gewünscht sind und weshalb.
Die beiden Standardvarianten für Codierungen, die bisher entwickelt wurden und grundsätzlich funktionieren, sind diese:
| Begriff | Codewort | Begriff | Codewort |
|---|---|---|---|
| Gefahr | b | Tag | bbg |
| Feuer | bg | Nacht | bgb |
| Wasser | gb | Morgen | gbb |
| Hilfe | g | Abend | bg |
| Brot | bb | Westen | gg |
| Begriff | Codewort | Begriff | Codewort |
|---|---|---|---|
| Gefahr | gggg | Tag | ggbb |
| Feuer | gggb | Nacht | gbgb |
| Wasser | ggbg | Morgen | bggb |
| Hilfe | gbgg | Abend | gbgb |
| Brot | bggg | Westen | bbgg |
Unten sind weitere Vorschläge für Codierungen der Begriffe dargestellt. Diskutiert, ob unter den Vorschlägen geeignete Varianten enthalten sind, welche bei den Proble-men, die es in den verschiedenen Szenarien in Aufgabenteil b) gibt, helfen können. Das Problem mit dem Spion soll hier zunächst ausgeblendet werden. Interessante Komponenten der Codewörter sind mit der Farbe „Rot“ markiert.
| Begriff | Codewort | Begriff | Codewort |
|---|---|---|---|
| Gefahr | bbbbbg | Tag | bbbbbgg |
| Feuer | bbbbbb | Nacht | bbbbbggb |
| Wasser | bbbbbgb | Morgen | bbbbbgbg |
| Hilfe | bbbbbbg | Abend | bbbbbbgg |
| Brot | bbbbbbb | Westen | bbbbbggg |
| Begriff | Codewort | Begriff | Codewort |
|---|---|---|---|
| Gefahr | gb | Tag | gbbg |
| Feuer | gbg | Nacht | gbgb |
| Wasser | ggb | Morgen | ggbb |
| Hilfe | gbb | Abend | gbgg |
| Brot | ggg | Westen | ggbg |
| Begriff | Codewort | Begriff | Codewort |
|---|---|---|---|
| Gefahr | gbb | Tag | gbbb |
| Feuer | gbgb | Nacht | gbgbb |
| Wasser | ggbb | Morgen | ggbbb |
| Hilfe | gbbb | Abend | gbggb |
| Brot | gggb | Westen | ggbgb |
| Begriff | Codewort | Begriff | Codewort |
|---|---|---|---|
| Gefahr | bbb | Tag | bbbbbbggg |
| Feuer | bbbggg | Nacht | bbbgggbbb |
| Wasser | gggbbb | Morgen | gggbbbbbb |
| Hilfe | ggg | Abend | bbbgggggg |
| Brot | bbbbbb | Westen | gggggg |
Wie du im obigen Beispiel gemerkt haben, muss man sich vor der Kommunikation zwischen Sender und Empfänger auf eine bestimmte Codierung einigen, mit der Nachrichten ausgetauscht werden. Im Alltag ist dies eine gemeinsam bekannte Sprache. In unserem Beispiel eine gemeinsame Codeworttabelle. Darüber hinaus mussten gewisse Regeln festgelegt werden, nach denen die Kommunikation stattfindet.
In der Informatik werden dafür Protokolle definiert, welcher festlegen, wie die Datenpakete aufgebaut sind und wie sie transportiert werden.
Protokolle sind Regeln und Standards, die bei der Übertragung von Daten zwischen Geräten in Netzwerken angewendet werden. Protokolle sind ein wichtiger Bestandteil der Kommunikation zwischen Geräten und gewährleisten, dass Daten zuverlässig und effizient übertragen werden. Dabei erfüllen Protokolle mehrere Aufgaben:
| Aspekt | Beschreibung |
|---|---|
| Codierung: | Das Protokoll legt natürlich auch fest, in welcher Form die Informationen codiert werden, darüber entscheiden häufig auch die genutzten Anwendungen. Auch wird hiermit die Größe des Datenpakets und die Einteilung der Datenpakets definiert. |
| Quality of Service (QoS): | Protokolle können auch dazu beitragen, dass wichtige Daten bevorzugt behandelt werden und eine höhere Priorität erhalten, um sicherzustellen, dass sie zuverlässig und in Echtzeit übertragen werden können. |
| Verschlüsselung: | Protokolle können verwendet werden, um die Verschlüsselung von Daten während der Übertragung zu ermöglichen. |
| Authentifizierung: | Protokolle können verwendet werden, um die Authentizität von Benutzern und die Verschlüsselung von Daten während der Übertragung zu ermöglichen. |
| Fehlererkennung und -korrektur: | Protokolle können Fehler erkennen und korrigieren, die während der Übertragung von Daten auftreten können. Dadurch wird die Integrität der Daten gewährleistet. |
| Adressierung: | Protokolle stellen sicher, dass Daten an die richtigen Geräte (Empfänger) gesendet werden, indem sie Adressierungsinformationen enthalten. |
| Inhalt | So gut kann ich das: | ||||
|---|---|---|---|---|---|
| ++ | + | 〇 | – | — | |
| Ich kann erklären, dass eine Codierung festlegt, wie die Informationen aussehen. | |||||
| Ich weiß, was ein Protokoll ist. | |||||
| Ich weiß, dass Codierung auch bestimmte Aspekte wie die Fehlerkennung oder Adressierung berücksichten müssen. |
|||||
Dieser Einstieg basiert auf einer Idee von Philip Schwarzbauer (Osnabrück, 2023)
An einem Sommertag im Jahr 1300 verkauft ein Händler Obst auf dem Markt. Der Händler wiegt seine Ware mit einer mechanischen Waage ab. Wenn ein Kunde eine gewisse Menge einer Ware möchte (z. B. 3kg Äpfel), legt er zunächst entsprechende Gewichte in die linke Waagschale. Dann füllt er die rechte Schale mit Ware (Äpfel) auf, bis die Waage im Gleichgewicht ist. Der Gemüsehändler hat jeweils ein Gewicht mit der Masse 1kg, 2kg, 4kg und 8kg. Kunden kaufen seine Ware immer in ganzen Kilos.
Welche Gewichte muss der Händler in die Waagschale legen, um die folgenden Warenmengen abzuwiegen?
| Kg | 8Kg Gewicht | 4Kg Gewicht | 2Kg Gewicht | 1Kg Gewicht |
|---|---|---|---|---|
| 3 | ||||
| 7 | ||||
| 8 | ||||
| 13 |
Der neue Gehilfe des Obsthändlers hat noch Schwierigkeiten mit dem Abwiegen. Er kennt nämlich leider nur die Ziffern 0 und 1 – im Mittelalter hatten die wenigsten Menschen Zugang zu Bildung. Um ihn trotzdem Ware abwiegen lassen zu können, stellt der Händler die Gewichte systematisch auf, das leichteste steht rechts. Nun geht er die Gewichte durch und vergibt eine „1“, wenn das Gewicht verwendet werden soll und eine „0“, wenn nicht. Wenn alle benötigten Gewichte aufgeführt sind, beendet er den Code und ruft ihn dem Gehilfen zu.
| kg | 8 | 4 | 2 | 1 |
| 5 | 0 | 1 | 0 | 1 |
Für 5kg ruft er seinem Gehilfen also den Code „0101“ zu.
Gib für den Gehilfen die Codes für die Gewichte aus Aufgabenteil a) an.
| Kg | 8Kg Gewicht | 4Kg Gewicht | 2Kg Gewicht | 1Kg Gewicht |
|---|---|---|---|---|
| 3 | ||||
| 7 | ||||
| 8 | ||||
| 13 |
Ein Gelehrter kauft am Stand Birnen und ist von dem Zählsystem ganz begeistert. Im Jahr 1300 können nur wenige Menschen Buchstaben oder Zahlen schreiben. Aber das System aus Einsen und Nullen könnte man dem einfachen Volk zum Zählen beibringen, denn es lassen sich ja alle Zahlen damit darstellen! Der Gelehrte beginnt mit der Arbeit an seinem neuen Zahlensystem. Fülle die Tabelle mit den jeweiligen Codierungen aus.
| 8 | 4 | 2 | 1 | Dezimalzahl |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 1 | 1 |
| 0 | 0 | 1 | 0 | |
Ein Bote möchte 19 kg Birnen für den königlichen Ball bestellen. Der Händler kann allerdings mit seinen Gewichten höchstens 15kg abwiegen. Daher geht er zum Schmied, um ein weiteres Gewicht anfertigen zu lassen. Er fragt sich, welche Masse dieses Gewicht haben sollte. Im besten Fall sollte es so schwer sein, dass er auch 20 oder vielleicht sogar 25kg damit abwiegen kann… Was für eine Masse sollte das neue Gewicht haben, damit der Händler in Zukunft möglichst viele verschiedene Warenmengen über 15kg abwiegen kann? Begründe deine Antwort schriftlich.
Dieser Einstieg basiert auf einer Idee von Philip Schwarzbauer (Osnabrück, 2023)
Naja, ganz so war es nicht. Aber das Zahlensystem, das du gerade kennengelernt hast, heißt tatsächlich Binär- oder auch Dualsystem. Der Name stammt aber daher, dass nur zwei Ziffern (0 und 1) verwendet werden und nicht wie in unserem gewohnten Zahlsystem zehn (0, 1, 2, 3, 4, 5, 6, 7, 8 und 9). Unser gewohntes Zahlensystem heißt Dezimalsystem.
Das Dezimalsystem (10er-System)
Wenn wir Menschen zählen, benutzen wir normalerweise das Dezimalsystem (10er-System), d. h. wir verwenden 10 verschiedene Symbole für die Zahlen. Das sind in unserem Fall die Ziffern von 0 bis 9. Daraus werden alle Zahlen zusammengesetzt.
Dabei hat jede Stelle einer Zahl eine bestimmte Bedeutung. In der Zahl 3162 steht die Ziffer 6 an der Zehnerstelle, bedeutet also 6 Zehner, d. h. 60. Insgesamt interpretiert man die Zahl wie folgt:
3162 = 3 Tausender + 1 Hunderter + 6 Zehner + 2 Einer = 3000 + 100 + 60 + 2.
Steht eine Ziffer um eine Stelle weiter links in einer Zahl, dann ist ihr Wert immer 10-mal so groß, da ja jede Stelle 10-mal so viel zählt: Einer → Zehner → Hunderter → …
In einer Stellenwerttafel kann man es folgendermaßen notieren:
| Zahl | Zehntausender (104=10.000) | Tausender (103=1.000) | Hunderter (102=100) | Zehner (101=10) | Einer (100=1) |
|---|---|---|---|---|---|
| 3162 | 0 | 3 | 1 | 6 | 2 |
| 49305 | 4 | 9 | 3 | 0 | 5 |
Du wirst sicherlich bemerkt haben, dass die Stellenwerte – also im Beispiel die Massen der einzelnen Gewichte – sich immer verdoppeln. Man spricht von Zweierpotenzen, denn jedes Gewicht hat den Wert 2n, wobei n die Stelle des Gewichts in der Reihe ist. Wir multiplizieren die Ziffer (0 oder 1) jeweils mit ihrem Stellenwert, um auf den Gesamtwert der Binärzahl zu kommen.
Das Dualsystem (2er-System)
Wenn Computer Zahlen und andere Daten verarbeiten, nutzen sie nicht das 10er-System. Da die Speicher in einem Computer nur die zwei Zustände an und aus kennen, verarbeitet ein Rechner die Daten binär. Das bedeutet, dass die Daten so gespeichert werden, dass man genau zwei Symbole verwendet. In diesem Fall sind es nur die Ziffern 0 und 1.
Genau wie beim Zehnersystem kann man damit alle Zahlen notieren. Diese sind dann eine Folge aus Nullen und Einsen. Beispielsweise ist die Dezimalzahl 19 im Dualsystem die Folge 10011. 10011 im Dualsystem bedeutet 1∙16er + 0∙8er + 0∙4er + 1∙2er + 1∙1er = 16 + 2 + 1 = 19 im Dezimalsystem.
In einer Stellenwerttafel kann man es folgendermaßen notieren:
| Dezimalzahl | Sechzehner (24=16) | Achter (23=8) | Vierer (22=4) | Zweier (21=2) | Einer (20=1) | Dualzahl |
|---|---|---|---|---|---|---|
| 19 | 1 | 0 | 0 | 1 | 1 | 10011 |
| 28 | 1 | 1 | 1 | 0 | 0 | 11100 |
Kontrolle der beiden Zahlen: 16 + 2 + 1 = 19. Passt! 16 + 8 + 4 = 28. Passt auch!
Damit die Zahlen nicht miteinander verwechselt werden, schreibt man manchmal eine kleine 10 bzw. eine kleine 2 unten an die Zahl.
1001110 → Die Zahl ist eine Dezimalzahl und bedeutet 10.011 (Zehntausendelf), so wie wir es kennen.
100112 → Die Zahl ist eine Dualzahl und bedeutet im Dezimalsystem 19.
Möchte man eine Dezimalzahl in eine Dualzahl umwandeln oder umgekehrt, schreibt man diese in eine Stellenwerttafel und liest das gewünschte Ergebnis einfach ab. Beim Eintragen beginnt man immer mit dem größten Wert, der zur Zahl passt. Den Rest verteilt man dann auf die anderen Spalten. Dies wird am Beispiel 53 gezeigt.
Man überprüft zunächst, welches die größte Zweierpotenz ist, die in die umzuwandelnde Zahl passt.
25=32 passt noch in die 53 aber 26=64 ist zu groß. Somit kann man schon einmal bei 32 eine 1 eintragen.
| 25 = 32 | 24 = 16 | 23 = 8 | 22 = 4 | 21 = 2 | 20 = 1 |
|---|---|---|---|---|---|
| 1 |
Übrig sind nun noch 53-32=21. Die 16 passt noch einmal hinein.
| 25 = 32 | 24 = 16 | 23 = 8 | 22 = 4 | 21 = 2 | 20 = 1 |
|---|---|---|---|---|---|
| 1 | 1 |
Übrig sind nun noch 21-16=5. Die 8 passt nicht mehr hinein, aber die 4.
| 25 = 32 | 24 = 16 | 23 = 8 | 22 = 4 | 21 = 2 | 20 = 1 |
|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 |
Übrig sind nun noch 5-4=1. Die 2 passt nicht mehr hinein, aber die 1.
| 25 = 32 | 24 = 16 | 23 = 8 | 22 = 4 | 21 = 2 | 20 = 1 |
|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 0 | 1 |
Also ist 5310=1101012.
Vervollständige die folgenden Stellenwerttafel und machen dir am Ende ein Foto als Ergebnis. In den letzten beiden Zeilen kannst du ein eigenes Beispiel notieren.
| Dezimalzahl | 128er | 64er | 32er | 16er | 8er | 4er | 2er | 1er | Dualzahl |
|---|---|---|---|---|---|---|---|---|---|
| 41 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 101001 |
| 132 | |||||||||
| 214 | |||||||||
| 65 | |||||||||
| 63 | |||||||||
| 110111 | |||||||||
| 11010101 | |||||||||
| 101 | |||||||||
Hinweis zum Vorgehen: Bei der Zahl 41 notiert man bei 128er und bei 64er eine 0, da diese größer sind als 41. In die 32er-Spalte kommt eine 1. Damit hat man schon einmal 32 notiert. Da als Rest 41 – 32 = 9 bleibt, müssen nun noch 9 verteilt werden. Das geht, indem man 1x 8er und 1x 1er auswählt. Die anderen Spalten erhalten eine Null. Insgesamt ergibt sich dann 00101001 oder kürzer notiert 101001. (Die führenden Nullen lässt man einfach weg.) Es gilt also 4110 = 1010012.
Es gibt auch ein Zahlensystem mit insgesamt 16 Zeichen, das Hexadezimalsystem (16er-System). Hier verwendet man die Zeichen von 0 bis 9 und zusätzlich die Buchstaben von A bis F. Dabei entspricht das A einer dezimalen 10, ein B einer 11, … und das F einer 15.
| Dezimal | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Hexadezimal | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 | 11 | 12 | 13 |
Vorlage für eine Stellenwerttafel:
| Dezimalzahl | Hexadezimalzahl | ||||
|---|---|---|---|---|---|
| 5283 | |||||
| 532 | |||||
| 1A3 | |||||
| 27B6 |
Erläutere, wie die Stellenwerttafel im Hexadezimalsystem aufgebaut ist. Vervollständige die erste Zeile in der obigen Vorlage.
Stelle die Dezimalzahlen 28310 und 53210 als Hexadezimalzahlen dar.
Stelle die Hexadezimalzahlen 1A316 und 5616 jeweils als Dezimalzahl und als Dualzahl dar.
| Inhalt | So gut kann ich das: | ||||
|---|---|---|---|---|---|
| ++ | + | 〇 | – | — | |
| Ich kann zu einer Dezimalzahl die Dualzahl bestimmen. | |||||
| Ich kann zu einer Dualzahl die Dezimalzahl bestimmen. | |||||
| Ich kann zu einer Dezimalzahl die Hexadezimalzahl bestimmen. | |||||
| Ich kann zu einer Hexadezimalzahl die Dezimalzahl bestimmen. | |||||
Addieren im Binärsystem geht prinzipiell genauso, wie im Dezimalsystem. Man muss nur darauf achten, dass es den Übertrag, 1, bereits beim Erreichen der Summe 2 gibt. In der unteren Abbildung ist eine Beispielrechnung dargestellt.
So ist zum Beispiel:
- 0+0=0 mit Übertrag 0,
- 0+1=1 mit Übertrag 0,
- 1+0=1 mit Übertrag 0,
- 1+1=0 mit Übertrag 1,
- 1+1+1=1 mit Übertrag 1,
mehr als zwei Dualzahlen addiert man am einfachsten nacheinander, also immer nur zwei und anschließend die nächste hinzunehmen.
+
| 100 | 10 | 1 |
|---|---|---|
| 2 | 1 | 9 |
| 1 | 9 | |
| 2 | 3 | 8 |
+
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 | |||
| 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 |
Addiere 14510+5310 im Binärsystem und stelle das Ergebnis zur Überprüfung auch im Dezimalsystem dar.
Addiere zwei selbst gewählte Dualzahlen miteinander und überprüfe deine Rechnung mit den entsprechenden Dezimalzahlen.
In Kürze werden hier noch Übungsaufgaben erscheinen, bis dahin steht hier ein Witz:
Warum war der Computer kalt?
Er hatte sein Windows offen gelassen!
| Inhalt | So gut kann ich das: | ||||
|---|---|---|---|---|---|
| ++ | + | 〇 | – | — | |
| Ich kann zwei Dualzahlen ohne Übertrag addieren. | |||||
| Ich kann zwei Dualzahlen mit Übertrag addieren. | |||||
In unserem Einstiegsszenario mit den blauen und gelben Flaggen haben wir erkannt, dass eine einheitliche Codierung, an die sich alle potentiellen Kommunikationspartner halten, notwendig ist, wenn möglichst viele Teilnehmer miteinander kommunizieren wollen.
Die Grundlage der Darstellung von Zeichen (Buchstaben, Ziffern, Satzzeichen etc.) für Maschinen ist bislang der ASCII-Code (American Standard Code for Information Interchange).
Er wurde 1963 als 7-Bit-Code eingeführt, d. h. es lassen sich 128 Zeichen codieren. Der Code enthielt allerdings zunächst nur 99 Zeichen (Steuersymbole, Ziffern und Großbuchstaben, keine Kleinbuchstaben). Seit 1974 ist der Code nach Ergänzungen unter der Bezeichnung ISO-646 Weltstandard.
Zum Beispiel hat A nach Definition die Darstellung 1000001. Dieses Bitmuster entspricht als Dualzahl gelesen der Dezimalzahl 65. Der ASCII-Code von A wird deswegen auch als 65 angegeben. Der ASCII-Code wird in der bitweisen Darstellung mit einer führenden Null zu einem Byte, also 8 Bit, aufgefüllt.
A = 01000001 = 65, B = 01000010 = 66, …, Z = 01011010 = 90 a = 01100001 = 97, …, z = 01111010 = 122 0 = 00110000 = 48, …, 9 = 00111001 = 57
Die untenstehende ASCII-Code Tabelle nach der ISO-Norm zeigt die druckbaren Zeichen. Der Bereich von 0 bis 32 enthält nicht druckbare Zeichen, z. B. Zeilenvorschub (Return). Der ASCII-Code 32 stellt das Leerzeichen dar.
| Zeichen | ASCII-Wert (dezimal) | ASCII-Code (8-Bit) |
|---|
Übersetze den folgenden in Dualzahlen dargestellten ASCII-Text.
01000001 01100110 01100110 01100101 01101110 00100000 01101100 01101001 01100101 01100010 01100101 01101110 00100000 01000010 01100001 01101110 01100001 01101110 01100101 01101110
Bestimme die Botschaft, die der folgende duale ASCII-Text enthält.
00100010 01010100 01101000 01100001 01110100 00100111 01110011 00100000 01101111 01101110 01100101 00100000 01110011 01101101 01100001 01101100 01101100 00100000 01110011 01110100 01100101 01110000 00100000 01100110 01101111 01110010 00100000 01100001 00100000 01101101 01100001 01101110 00101100 00100000 01101111 01101110 01100101 00100000 01100111 01101001 01100001 01101110 01110100 00100000 01101100 01100101 01100001 01110000 00100000 01100110 01101111 01110010 00100000 01101101 01100001 01101110 01101011 01101001 01101110 01100100 00101110 00100010 00100000 00100000 00101101 01001110 01100101 01101001 01101100 00100000 01000001 01110010 01101101 01110011 01110100 01110010 01101111 01101110 01100111 00101100 00100000 01000001 01110000 01101111 01101100 01101100 01101111 00100000 00110001 00110001
Hier werden noch Übungsaufgaben erscheinen, aber bis dahin gibt es einen Witz:
Was macht ein Informatiker im Wald?
Hacken!
| Inhalt | So gut kann ich das: | ||||
|---|---|---|---|---|---|
| ++ | + | 〇 | – | — | |
| Ich kann einen ASCII codierten Text mithilfe der Tabelle wieder decodieren. | |||||
| Ich kann einen Text mithilfe der ASCII-Tabelle codieren. | |||||
Dieser Abschnitt basiert auf einer Idee von Carsten Rohe (Lohne, 2023)
Codierung durch Digitalisierung
Damit ein Computersystem Informationen wie z. B. Nachrichten speichern und verarbeiten kann, müssen diese zunächst in eine Form gebracht werden, mit der der Rechner arbeiten kann. Die Informationen werden in Form von Daten dargestellt (repräsentiert). Zum Speichern der Daten werden diese auf geeignete Art und Weise codiert. Dies geschieht in der Regel in digitaler Form. Daher spricht man auch von Digitalisierung.
Bit – die kleinste Informationseinheit
Die kleinstmögliche Einheit für eine Information ist ein Bit. Ein Bit ist eine Information die genau zwei Möglichkeiten zulässt: ja oder nein, wahr oder falsch, groß oder klein, links oder rechts usw. Man benutzt für die Darstellung von einem Bit in der Regel die Notation 1 oder 0.
Die Codierung durch Bits ist sinnvoll, weil die Daten in Computersystemen technisch gespeichert werden und hierzu in der Regel Speicher verwendet werden, die nur die Zustände an/aus bzw. high/low kennen.
Codierung durch Bitfolgen
Lässt sich eine Information nur durch mehr als zwei Möglichkeiten darstellen, verwendet man eine Folge von einzelnen Bits. Man erhält so eine Bitfolge. Dies kann man sich an folgendem Beispiel verdeutlichen: Auf die Frage „Aus welcher Richtung weht der Wind?“ gibt es die vier Antwortmöglichkeiten Nord, Süd, Ost, West. Man repräsentiert diese Möglichkeiten durch Bitfolgen:
00 = Süd01 = Ost10 = Nord11 = West
Die Information wurde 2-bit codiert.
Lässt man als Antwortmöglichkeiten genauere Windrichtungen zu, benötigt man schon eine 3-bit-Codierung:
000 = Süd 100 = Südost 001 = West 101 = Nordwest
010 =Nord 110 = Nordost 011 = Ost 111 = Südwest
Bit und Byte
Häufig benötigt man für das Speichern mehrere Bits. Dann spricht man beispielsweise von 4 bit. Für größere Werte benutzt man die Einheit Byte. Es gilt 1 byte = 8 bit. 1 kB (kilobyte) = 1000 byte, 1MB (Megabyte) = 1000 kB, 1GB (Gigabyte) = 1000 MB usw.
- Die beiden folgenden Aufgaben werden von jeweils einer Partnergruppe bearbeitet.
- Anschließend trifft sich eine Partnergruppe mit einer weiteren, welche die andere Aufgabe bearbeitet hat. Beide stellen sich gegenseitig ihre Präsentationen vor.
- Wählt dann eine der Zusatzaufgaben aus und bearbeitet diese als Gruppe.
Der n-bit-Repetitionscode
Bei den Codierungen ASCII und Morse ist es als Empfänger einer Nachricht nicht sicher möglich Übertragungsfehler zu erkennen und damit auch nicht zu beheben.
Im Folgenden betrachten wir einen einfachen Repetitionscode. Hierbei wird die zu sendende Nachricht so codiert, dass jedes Zeichen der Nachricht mehrfach gesendet wird.
Hier ein Beispiel. Das Zeichen ‚a‘ soll gesendet werden. Mit der ASCII-Codierung wird ‚a‘ zu 01100001 codiert. Für die Repetitionscodes mit Wiederholung 3, 4 und 5 sieht es dann so aus:
| Nachricht | Codierte Nachricht | |
|---|---|---|
| 3-bit-Repetitionscode | 01100001 | 000111111000000000000111 |
| 4-bit-Repetitionscode | 00001111111100000000000000001111 | |
| 5-bit-Repetitionscode | 0000011111111110000000000000000000011111 |
Ein Codewort des 3-bit-RC ist demnach z. B. „000“ oder „111“.
- Codiere die Nachricht „z“ mit dem 3-bit-Repetitionscode.
-
Beim Senden von Nachrichten können Übertragungsfehler passieren. Diese können entweder durch falsche Eingaben einer Person oder durch Störungen bei der digitalen Übertragung passieren.
Ein mit dem 3-bit-Repetitionscode zu sendende Nachricht war: 00110111
Die codierte Nachricht, die dann versendet wurde, ist:
000 000 111 111 000 111 111 111
Die Leerzeichen gehören nicht dazu, sondern sind nur der Lesbarkeit wegen eingefügt.
Die empfangende Person erhält nun jeweils eine der folgenden Varianten.
Decodiere die folgenden Codewörter, falls möglich. Eventuell musst du dir die ASCII-Werte online zum entsprechenden Zeichen decodieren lassen.- 010 000 111 111 000 111 111 111
- 000 000 111 111 000 100 111 111
- 000 000 111 111 000 111 111 000
-
Analysiere, ob mit dem 3-bit-Repetitionscode die folgenden Dinge möglich sind:
- Ein Übertragungsfehler pro Codewort wird immer erkannt.
- Ein Übertragungsfehler pro Codewort wird immer korrekt korrigiert.
- Zwei Übertragungsfehler pro Codewort werden immer erkannt.
- Zwei Übertragungsfehler pro Codewort werden immer korrekt korrigiert.
- Drei Übertragungsfehler pro Codewort werden immer erkannt.
- Drei Übertragungsfehler pro Codewort werden immer korrekt korrigiert.
Erstelle eine kleine Präsentation, mit welcher du die Funktionsweise und Eigenschaften des 3-bit-Repetitionscode erklären kannst. Nutze dazu auch die unteren Tabellen.
Fehlererkennung:
| Nachricht | Satz aus Codewörtern des Senders | Satz aus Codewörtern des Empfängers | Fehleranzahl | Erkennbar? |
|---|---|---|---|---|
| 01010001 | 000 111 000 111 000 000 000 111 | 000 101 000 111 000 000 000 111 | 1 | |
Fehlerkorrektur:
| Nachricht | Satz aus Codewörtern des Senders | Satz aus Codewörtern des Empfängers | Fehleranzahl | Erkennbar? |
|---|---|---|---|---|
| 01010001 | 000 111 000 111 000 000 000 111 | 000 101 000 111 000 000 000 111 | 1 | |
- Untersuche was sich ändert, wenn du einen 4-bit Repetitionscode als Codierung wählst.
- Untersuche was sich ändert, wenn du einen 5-bit Repetitionscode als Codierung wählst.
Betrachtet die zwei Bilder in den beiden Varianten (du kannst den Schieber in der Mitte nach links und rechts schrieben):
Beide Bilderpaare unterscheiden sich in der Bildqualität. Beim GSG-Bild hat das untere 50% weniger Bildpunkte (Pixel genannt) und benötigt somit 50% weniger Speicherplatz. Außerdem geht die Codierung und Decodierung für den Computer somit schneller. Beim unteren Bildpaar hat das rechte Bild 25% weniger Pixel.
- Begründe kurz, weshalb es ein sinnvoller Wunsch ist, eine Codierung für Bilder zu haben, welche den Speicherbedarf der Bilder verringert.
-
Ein Verfahren, dass den Speicherbedarf der Bilder verringert, aber auch die Bildqualität verringert, wird verlustbehaftetes Kompressionsverfahren genannt.
Stelle dir die folgenden Situationen vor:
Bilder vom GSG: Eine Person hat einen Beamer gestohlen und wurde beobachtet, dass sie in einen weißen Lieferwagen am Graf-Stauffenberg-Gymnasium gestiegen ist. Die Polizei hat ein Bild von der Tatzeit und möchte diese Information überprüfen.
Bilder aus London: Du möchtest nach deinem Londonurlaub mit deiner Familie ein schönes Hintergrundbild für dein Smartphone haben.
Beurteile, ob in den beschrieben Situationen der Qualitätsverlust nicht wünschenswert ist oder in Kauf genommen werden kann.
In manchen Situationen ist es vertretbar, während der Komprimierung Teile der ursprünglichen Informationen einer Datei zu verlieren. Diese Verfahren kommen meist bei tatsächlichen Bildkompressionsverfahren zur Anwendung. Hier ein Beispiel: Die Vorlage ist ein Bild mit 20×20 Pixeln (px):
Das Verfahren fasst jeweils 2×2 px umfassende Blöcke zu einem neuen Pixel zusammen. Bei einem schwarz-weiß-Bild wird der neue Pixel Schwarz, wenn mindestens zwei der vier Pixel Schwarz waren. Startet man links oben mit dem ersten 2x2px-Block und geht nach links fortlaufend weiter, ergibt sich als komprimiertes Bild:
-
Den Prozentsatz eines komprimierten Bildes im Vergleich zu den 100% vom ursprünglichen Bild, nennt man Kompressionsrate.
Berechne die Kompressionsrate für das Bild aus dem vorherigen Beispiel. -
Komprimiere die unten abgebildeten Bilder mit dem vorher vorgestellten Kompressionsverfahren für 2x2px-Blöcke und gib die Kompressionsraten an.
Originalbild
Kompirmiertes Bild
Originalbild
Kompirmiertes Bild
Originalbild
Kompirmiertes Bild
Originalbild
Kompirmiertes Bild
- Entscheide, bei welcher Art von Schwarz-Weiß-Bildern das hier vorgestellte Kompressionsverfahren einen großen Qualitätsverlust zur Folge hat.
Erstelle eine kleine Präsentation, mit welcher du die Funktionsweise und Eigenschaften des vorgestellten Kompressionsverfahrens erklären kannst.
Wir erweitern das vorgestellte Kompressionsverfahren.
Anstatt nur die Farben Schwarz und Weiß zu nutzen, führen wir ein, dass ein neuer Pixel im komprimierten Bild die Farbe Weiß erhält, wenn alle vier ursprünglichen Pixel Weiß waren. War ein ursprünglicher Pixel Schwarz, bekommt der neue Pixel einen selbst gewählten hellen Grauwert. Wenn zwei Pixel schwarz waren, wird der neue Pixel in einem mittleren Grau dargestellt, waren drei Pixel schwarz, wird der neue Pixel ein dunkelgrau und waren alle vier Pixel schwarz, wird auch der neue Pixel schwarz.
Führe das neue Verfahren mit den vier Bildern in Aufgabe 2 b) durch.
Vergleiche die Ergebnisse mit den vorherigen.
Die Aufgaben 1 und 2 weitgehend von Carsten Rohe erstell worden (Lohne, 2024)
Grundlage: Das RGB-Farbmodell
Das RGB-Farbmodell ist ein additives Farbmodell, bei welchem eine Farbe durch die Angabe des Rot-, Grün- und Blauanteils definiert wird.
Man kann sich diese Farbmischung so vorstellen, als würden je eine Lichtquelle mit rotem, grünem und blauen Licht auf einen Punkt scheinen. Das Licht auf dem Punkt ist dann eine Mischung aus den drei Farben. Die Intensität der jeweiligen Farbe ist umso stärker, je stärker die jeweilige Lichtquelle strahlt.
Überschneiden sich zwei Lichtkreise, so entstehen die Sekundärfarben, Gelb, Magenta und Cyan. In der Mitte überschneiden sich alle drei Lichtkreise, wobei die Mischung Weiß erscheint. Die Farbe Schwarz wird durch die Dunkelheit (kein Licht) im umgebenden Raum dargestellt.
Die Farbanteile (r, g, b) werden dabei in Zahlen von 0 bis 255 codiert. So ergeben sich 256⋅256⋅256=28⋅28⋅28=224=16.777.216 verschiedene Farben.
Für jeden Farbanteil werden aufgrund der256=28 Möglichkeiten 8 bit, also ein Byte, Speicher benötigt. Da es drei Farbanteile sind, benötigt ein gespeichertes bit eines Bildes somit 3⋅8=24bit, oder 3 Byte.
Beispiele für die binäre Darstellung einiger Farben:
| Farbe | Dezimalwerte | Binärwerte |
|---|---|---|
| Rot | (255, 0, 0) | (11111111, 00000000, 00000000) |
| Grün | (0, 255, 0) | (00000000, 11111111, 00000000) |
| Magenta | (255, 0, 255) | (11111111, 00000000, 11111111) |
| Dunkelgrau | (50, 50, 50) | (110010, 110010, 110010) |
| Hellgrau | (200, 200, 200) | (11001000, 11001000, 11001000) |
Bilder werden von Computersystemen in der Regel als Pixelgrafik (oder auch Rastergrafik genannt) gespeichert. Das bedeutet, dass ein einzelnes Bild, z. B. ein Foto, aus vielen kleinen Bildpunkten besteht. Ein solcher kleiner Bildpunkt heißt Pixel. Eine Unterteilung in kleine Pixel besitzen auch jedes Handy-Display oder jeder Fernseher.
| Gerät | Typische Auflösung in Pixeln |
|---|---|
| Full-HD-Fernseher | 1920 x 1080 Pixel ≈ 2 Mio. Pixel |
| Ultra-HD(4K)-Fernseher | 3840 x 2160 Pixel ≈ 8,3 Mio. Pixel |
| iPad Air 4 Display | 2360 x 1640 Pixel ≈ 3,9 Mio. Pixel |
| Samsung Galaxy S23 Kamera | 8688 x 5792 Pixel ≈ 50,3 Mio. Pixel |
Möchte man nun ein Bild auf einem Computer speichern, so wird für jedes einzelne Pixel „notiert“ welche Farbe dieses besitzt. Das geschieht in der Regel durch eine Binärcodierung, also durch eine eindeutige Folge von Nullen und Einsen. Für das untenstehende Bild wurde die folgende Codefolge festgelegt:
00 00 00 00 00 00 01 01 01 00 00 01 10 01 00 00 01 01 01 00 00 00 00 00 00
Finde heraus, welcher Code zu welcher Farbe gehört. Gib dein Ergebnis in Form einer Tabelle an. Eine solche Tabelle nennt man Codetabelle.
Erläutere, welche Informationen man neben der o. a. Codefolge für das Bild erhalten muss, damit man dieses „nachzeichnen“ kann.
Zeichne in einem 8×7-Pixel großem Raster ein eigenes Bild mit 6 Farben.
Erstelle eine passende Codetabelle, bei der jeder Farbcode die gleiche Länge besitzt, und gib die zugehörige Codefolge (Binärcodierung) des Bildes an.
Bei einem Bild werden insgesamt 50 verschiedene Farben verwendet.
Bestimme die benötigten Bits, um eine einzelne Farbe darzustellen.
Viele Bilder (z. B bei Handykameras) besitzen eine Farbtiefe von 24 bit. Das bedeutet, dass jede Farbe aus einer Zahlenkombination von insgesamt 24 Nullen und Einsen besteht.
Bestimme die Anzahl an verschiedenen Farben, die mit 24 bit dargestellt werden können.
Schaue dir dazu auch die Internetseite „nachbelichtet“ an.
Die Blindenschrift wurde 1825 von dem Franzosen Louis Braille entwickelt, die daher auch als Braille-Schrift bezeichnet wird. Die Schrift besteht aus Punktmustern, die mit den Fingerspitzen als Erhöhungen zu ertasten sind. Im Alter von drei Jahren verletzte sich Louis Braille durch ein Werkzeug am Auge. Das verletzte Auge entzündete sich und das zweite, bis dahin unversehrte Auge erkrankte ebenfalls. Dies führte letztlich zur völligen Erblindung des fünfjährigen Louis. Da sich der wissbegierige Junge nicht damit abfinden wollte, keine geschriebenen Texte lesen zu können, dachte er über eine Schrift für Blinde nach. Im Alter von nur 16 Jahren hat Louis Braille seine Blindenschrift fertiggestellt, die im Prinzip auch heute noch so verwendet wird.
Quelle: https://commons.wikimedia.org/w/index.php?curid=495355
Quelle: Joschaef, https://de.wikipedia.org/w/index.php?curid=6219947
Quelle: https://commons.wikimedia.org/wiki/File:Braille_alphabet.jpg
Schreibe/Codiere den Namen deiner Schule in Blindenschrift.
Decodiere den folgenden Braille-Code:
Jedes Zeichen im Braille-Code wird aus 2 x 3 = 6 Punkten gebildet, die teilweise hervorgehoben sind. Wie viele verschiedene Zeichen kann man nach diesem Prinzip darstellen? Überlege dir hierzu, wie viele verschiedene Kombinationen der 6 Punkte man bilden kann.
Neben den 26 Buchstaben des Alphabets benötigt man häufig auch Zahlen und andere Zeichen. Diese lassen sich auch im Braille-Code darstellen. Sogar Musiknoten und andere Symbole können dargestellt werden. Auf der Internetseite „fakoo“
findest du weitere Informationen zur Braille-Codierung.
Beschreibe an drei verschiedenen Beispielen, wie man andere Zeichen als Buchstaben in der Braille-Schrift darstellt.
Produkte in Geschäften sind mit einem Barcode versehen. Dieser wird von einem Barcodescanner gelesen und umgewandelt. Der Code beinhaltet Informationen über das Produkt, welche die Lagerverwaltung und das Kassieren deutlich vereinfachen. Wir schauen uns den EAN-8 Code genauer an. Es gibt noch den EAN-13, der größer und zusätzlich deutlich komplexer aufgebaut.
An den beiden Rändern und in der Mitte befinden sich jeweils Orientierungsstriche, oben rot gekennzeichnet, die nicht für die eigentliche Codierung der acht Ziffern, im Bild oben sind das 40170725, zuständig sind.
Die Orientierungsstriche sind immer schwarz-weiß-schwarz-weiß.
Die acht Ziffern werden dann in zwei Blöcke mit jeweils vier aufgeteilt und die erste Hälfte wird auf der linken Seite und die zweite Hälfte auf der rechten Seite dargestellt.
Du sollst gleich versuchen herauszufinden, wie genau die Ziffern mit den Balken codiert sind. Die Arbeit teilt ihr euch aber zu zweit auf.
Hier sind vier EAN-8-Barcodes, welche alle Ziffern von 0 bis 9 beinhalten.
Die Codierungen der Ziffern sind für die linke Hälfte und die rechte Hälfte verschiedenen.
- Links startet die erste Ziffer direkt hinter den schwarzen Randzeichen.
- Rechts startet die erste Ziffer mit dem ersten schwarzen Balken, nach den Trennzeichen.
Weiter unten sind unvollständige Codeworttabellen abgebildet.
Teilt euch zu zweit so auf, dass eine Person die linke und die andere die rechte Hälfte bearbeitet.
Versucht anhand der vier Codes oben herauszufinden, wie jede Ziffer mit den Balken codiert wird und vervollständigt die unten abgebildete Codeworttabelle.
| Ziffer | Codewort |
|---|---|
| 0 | 0001101 |
| 1 | |
| 2 | 0010011 |
| 3 | |
| 4 | |
| 5 | |
| 6 | 0101111 |
| 7 | |
| 8 | |
| 9 | 0001011 |
| Ziffer | Codewort |
|---|---|
| 0 | |
| 1 | 1100110 |
| 2 | |
| 3 | 1000010 |
| 4 | |
| 5 | |
| 6 | 1010000 |
| 7 | |
| 8 | |
| 9 | 1110100 |
Erstelle eine Beschreibung zum Aufbau des EAN-8 Barcodes. Es soll deutlich werden,
- wie der Code insgesamt aufgebaut ist.
- wie die einzelnen Ziffern in der linken und in der rechten Hälfte codiert werden.
Unten sind zwei EAN-8 Barcodes, die du mithilfe der Codeworttabelle aus Aufgabe 1 decodieren sollst.
Anschließend erstellst du einen eigenen EAN-8 Code und tauschst ihn mit deinem Sitznachbarn aus.
Decodiere den Code, den du von deinem Sitznachbarn erhalten hast.

