Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1
Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1
Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Aufgaben und <strong>Lösungen</strong> 1-41<br />
3 Codierung<br />
3.1 Grundbegriffe<br />
Aufgabe 3.1.1 (T0)<br />
Was ist der Unterschied zwischen einer Codierung und einer Chiffrierung?<br />
Lösung:<br />
Es seien A* und B* Nachrichtenräume über Alphabeten A={a1,a2,...an} bzw. B={b1,b2,...bm}.<br />
Eine umkehrbar eindeutige Abbildung von A* in B* heißt Codierung. Eine Chiffrierung ist<br />
ebenfalls eine Codierung, jedoch <strong>mit</strong> der Einschränkung, dass die Quellmenge und die Zielmenge<br />
nur Einzelzeichen umfassen. So ist beispielsweise die Darstellung der Buchstaben,<br />
Ziffern und Senderzeichen als binärer ASCII-Code keine Chiffrierung. Die Umschrift der kyrillischen<br />
Buchstaben in lateinische ist dagegen eine Chiffrierung.<br />
Aufgabe 3.1.2 (L1)<br />
Geben Sie für die folgenden Manipulationen auf ASCII-Zeichen einfache logische Operationen<br />
<strong>mit</strong> Bit-Masken an:<br />
a) Extraktion des Zahlenwertes aus den ASCII-Codes für die Ziffern 0 bis 9.<br />
b) Umwandlung von Kleinbuchstaben in Großbuchstaben und umgekehrt.<br />
Lösung:<br />
a) Die ASCII-Codes der Ziffern 0 bis 9 lauten: 011 0000 = „0“ bis 011 1001 = „9“<br />
Ist bekannt, dass der umzuwandelnde Code c einer Ziffer entspricht, so kann man aus c<br />
den entsprechenden Zahlenwert z sehr einfach durch folgende UND-Verknüpfung extrahieren:<br />
z = c 0001111 für 7-Bit ASCII-Codes<br />
z = c 00001111 = c 0Fhex für 8-Bit ASCII-Codes<br />
Soll zusätzlich sichergestellt werden, dass das Code-Wort c tatsächlich eine Ziffer ist, so<br />
wäre zu prüfen, ob 0110000