Prof. Franz Schweiggert Abteilung Angewandte
Informationsverarbeitung 29. Oktober 2004
Christian Ehrhardt Blatt 2
Allgemeine Informatik 3 (WS 2004/2005)
Abgabetermin 9.11.2004
Auf ein Sparbuch werden 1000 EUR einbezahlt. Diese werden jährlich mit
2% verzinst, die Zinsen werden auf das Sparbuch gutgeschrieben.
Schreibt ein Programm, das ausgibt, wie hoch das Guthaben nach 1, 2, 3, ...
Jahren ist. Die Ausgabe soll so lange fortgesetzt werden, bis ein Guthaben
von einer Million EURO erreicht ist. Erweitert das Programm anschließend
so, daß das Startguthaben und der Zinssatz von der Standardeingabe
gelesen werden.
Caesar soll nahezu seine gesamt Korrespondenz verschlüsselt haben.
Dazu kam ein Verfahren zum Einsatz, bei dem sämtliche Buchstaben
im Alphabet um Zeichen verschoben wurden. Wäre also z.B.
, dann würde sich folgende Tabelle ergeben:
Original |
A |
B |
C |
D |
E |
F |
|
U |
V |
W |
X |
Y |
Z |
Verschlüsselt |
D |
E |
F |
G |
H |
I |
|
X |
Y |
Z |
A |
B |
C |
Für Kleinbuchstaben gilt die Ersetzung natürlich analog, alle anderen
Zeichen bleiben unverändert.
Eure Aufgabe ist es, ein kleines Programm zu schreiben,
das für einen (mit Hilfe eines Makros) fest vorgegebenen Schlüssel
diese Verschlüsselung an einem gegebenen Text durchführt.
Der Text soll von der Standardeingabe gelesen werden, der verschlüsselte
Text wird auf die Standardausgabe geschrieben.
Wie muß das Programm modifiziert werden, um verschlüsselte Texte
wieder entschlüsseln zu können?
Hinweis: Mit ASCII-Zeichen (Buchstaben) kann in C genau so gerechnet
werden, wie in Modula oder Oberon mit den entsprechenden ASCII-Codes.
Jedes Zeichen entspricht dabei beim Rechnen direkt seinem ASCII-Code.
Das bedeutet, daß eine Konvertierung, wie sie die Funktionen CHR
bzw. ORD in Oberon oder Modula vornehmen, nicht notwendig ist.
Christian Ehrhardt
2004-10-29