Prof. Dr. Franz Schweiggert Institut für Angewandte Informationsverarbeitung 7. Dezember 2006
Norbert Heidenbluth und Ralph GuderleiBlatt 8
Allgemeine Informatik I (WS 2006/2007)
Abgabetermin: Tag. Monat 2006
Vereinfachen Sie (von Hand) folgende logische Ausdrücke, die Variablen A, B
und C stehen dabei für Boolesche Variablen.
- A || !(B && A)
- !(A && B) && (!A || B) && (!B || B)
- (A || B) && (A && C || A && !C) || A && B || B
- !A && (A || B) || (B || A && A) && (A || !B)
Erstellen Sie anschließend ein Java-Programm, welches überprüft, ob die Werte des Original-Ausdrucks und des vereinfachten
Ausdrucks immer übereinstimmen.
Schon seit der Antike sind Verfahren bekannt, die verhindern sollen, dass Unbefugte Texte lesen (und verstehen) können.
Ein bekanntes Verfahren ist die sog. ''Cäsar-Chiffre'', bei der die Buchstaben ''verschoben'' werden. Sie sollen eine
Variante dieses Verfahrens, den sog. ''revertierten Caesar'' implementieren. Dabei wird das Alphabet auf das revertierte (umgedrehte)
Alphabet abgebildet, also
,
, usw.. Dieses Verfahren hat die Eigenschaft, daß das selbe Programm auch
für die Entschlüsselung benutzt werden kann.
Ihr Programm soll einen Text (z.B. der Übungstext von Blatt 4) zeichenweise von der Standard-Eingabe einlesen. Jedes Zeichen soll zuerst in einen Großbuchstaben
verwandelt werden und dann ''verschlüsselt'' wieder auf die Standard-Ausgabe ausgegeben werden.
Überprüfen Sie anschliessend Ihr Programm indem sie erst den Original-Text mit dem Kommandozeilenbefehl tr ebenfalls in
Großbuchstaben wandeln und dann den umgewandelten Text mit dem Text, der nach zweifachem Verarbeiten mit Ihrem Programm entstanden ist,
vergleichen.
Für diesen Vergleich können Sie den Befehl diff verwenden.
Viel Erfolg!
- tr liest und schreibt von bzw. auf die Standard-Ein- und Ausgabe. Das Programm dient dazu, Zeichenklassen
auszutauschen, in diesem Fall [a-z] durch [A-Z].
- Es kann sein, dass im Programm von Aufgabe 2 bei der Eingabe des Texts von Hand
die Eingabe nicht abgebrochen wird. Durch Eingabe von CTRL+D wird die
Texteingabe beendet und das Programm arbeitet weiter.
Norbert Heidenbluth
2006-12-07