1164 |
crypt |
Verschiebungsmethode |
Kategorie: | MATHEMATIK |
Klasse: | leicht |
Eingabe: | siehe Spez |
Ausgabe: | String |
|
Abzugebende Files: crypt.txt, crypt.java |
Kurzbeschreibung:
Ein String wird mittels einer einfachen Verschiebungsmethode verschlüsselt.
Allgemeine Hinweise:
-
Ihr Programm darf nur genau jene Ausgabedaten liefern, die in der Spezifikation
verlangt werden. Die Ausgaben Ihres Programmes werden automatisch mit
Referenzdaten verglichen; etwaige Abweichungen führen zu Punkteabzügen!
-
Testen Sie Ihr Programm vor der Abgabe mit der mitgelieferten Eingabedatei.
Geben Sie Ihre Lösung erst ab, wenn die Ausgaben Ihres Programmes mit der
ebenfalls mitgelieferten Ausgabedatei übereinstimmen! Testen Sie Ihr
Programm auch mit anderen Eingabedaten.
-
Verwenden Sie nur das von uns mitgelieferten Package eprog
für Ihre Ein/Ausgaben. Programme, die Packages oder Klassen ausserhalb der verwendeten Übungsumgebung (Java2, Standard Edition, Version 1.3.1_1) verwenden, können von uns
nicht getestet werden und werden mit 0 Punkten bewertet!
-
Schreiben Sie Ihr Programm möglichst allgemein und kommentieren Sie es gut.
Erstellen Sie weiters eine übersichtliche und verständliche Dokumentation.
Damit erhöhen Sie Ihre Chancen, daß andere Studenten in den nächsten Runden
Ihr Programm wählen und Ihnen damit zu Zusatzpunkten verhelfen!
Aufgabenstellung:
Ihr Programm soll eine Schlüsselzahl k und den zu verschlüsselnden String
einlesen. Dieser wird durch die Verschiebungsmethode verschlüsselt:
Bei dieser Methode wird jeder Buchstabe um k Stellen im Alphabet (nach hinten)
verschoben. Beispiel: 1 HALLO => IBMMP
Wenn der Buchstabe durch die Verschiebung über das Z kommt, dann wird wieder
bei A fortgesetzt. Beispiel: 3 UXZ => XAC
Eingabedaten:
Lesen Sie den Schlüssel als Integer-Zahl ein. Diese muß kleiner als 26 sein.
Danach wird der String eingelesen. Dieser darf nur aus Buchstaben bestehen,
wobei Groß- und Kleinbuchstaben gleich zu behandeln sind. Der String darf
nicht länger als 30 Zeichen sein.
Ausgabedaten:
Bei korrekten Eingabedaten soll Ihr Programm den verschlüsselten String in
Großbuchstaben ausgeben, gefolgt von einem Zeilenvorschub.
Fehlerbehandlung:
Sämtliche Eingabedatensätze sind immer vollständig einzulesen.
Generell wird bei fehlerhaften Eingabedatensätzen nur eine einzige Fehlermeldung erzeugt, weitere Berechnungen werden nicht mehr durchgeführt.
Enthält der Eingabedatensatz einen ungültigen Datentyp, so soll einmal das Zeichen "?", gefolgt von einem Zeilenvorschub, ausgegeben werden.
Sind die Datentypen bei allen Eingaben richtig, die
eingegebenen Daten aber inhaltlich nicht korrekt oder erfüllen nicht die
Bedingungen, so soll Ihr Programm "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.
Beispiele:
Eingabedaten
|
14 QvzsNRC
21 HASwzYT
|
Ausgabedaten
|
EJNGBFQ
CVNRUTO
|
Bemerkung: Diese Beispiele dienen nur zur Verdeutlichung der Spezifikation und
müssen nicht korrekt formatiert sein. Die korrekte Formatierung entnehmen Sie
bitte dem mitgelieferten Outputfile. Zum Testen Ihrer Lösung
können Sie aus den mitgelieferten Eingabedaten wie folgt eine Ausgabedatei
erzeugen:
java crypt < crypt.i1 > crypt.out1
Das erzeugte File crypt.out1 können Sie dann mit dem mitgelieferten Outputfile crypt.o1 vergleichen.