Prof. Dr. Franz Schweiggert Institut für Angewandte Informationsverarbeitung 7. Dezember 2006
Norbert Heidenbluth und Ralph GuderleiBlatt 8


Uni Logo



Allgemeine Informatik I (WS 2006/2007)


Abgabetermin: Tag. Monat 2006

Vereinfachung von logischen Ausdrücken (6 Punkte)

Vereinfachen Sie (von Hand) folgende logische Ausdrücke, die Variablen A, B und C stehen dabei für Boolesche Variablen.

  1. A || !(B && A)
  2. !(A && B) && (!A || B) && (!B || B)
  3. (A || B) && (A && C || A && !C) || A && B || B
  4. !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.

Verschlüsselung (4 Punkte)

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 $A\rightarrow Z$ , $B\rightarrow Y$, 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!

Hinweise



Norbert Heidenbluth 2006-12-07