Klausur Softwareentwicklung für Wirtschaftsinformatik 2005

Vorbereitung:

Die Klausur besteht aus zwei Aufgaben, die unabhängig voneinander gelöst werden können. Erstellen Sie bitte für jeden der zwei Teile ein eigenes C#-Projekt in je einem eigenen Ordner in Ihrem Benutzerverzeichnis (Eigene Dateien). Die Design- und Theorieteile sollten als Kommentare im Sourcecode vorliegen, damit sie nicht verloren gehen. Zur Abgabe kopieren Sie sämtliche Daten (Beide Files) in den jeweiligen Ordner Ihres Namens im öffentlich zugänglichen Bereich, dessen Pfad am Whiteboard steht.

Die Aufgaben bestehen jeweils aus Theorie und Design (mit einer Gewichtung von 40%) sowie Implementierung (mit einer Gewichtung von 60%), die getrennt gewertet werden. Vergessen Sie nicht, dass in der Implementierung auch auf Struktur, Nomenklatur und Formatierung geachtet wird. Mit 75% des möglichen Lösungsumfangs gilt die Klausur als sehr gut bestanden (Wahlmöglichkeit). Die Bearbeitungszeit beträgt 90 Minuten netto.


Aufgabe 1 (30% bzw. 35%):

In Österreich wird (im Gegensatz zu Deutschland) „Lotto 6 aus 45“ gespielt. Ihre Aufgabe, sollten Sie den Auftrag annehmen, besteht darin, mittels eines C#-Programmes einen gültigen Tipp für diese Lotterie zu generieren und am Bildschirm anzuzeigen. Dazu seien folgende Ansatzpunkte gegeben:


Aufgabe 2 (70%):

Es liegt ein codierter Text vor, der mittels eines bekannten Algorithmus nach kabbalistischer Methode codiert wurde. Weiterhin ist bekannt, dass der gesuchte Klartext das Wort „gute“ enthält.

Das Programm soll anhand dieser Informationen den verwendeten „Schlüssel“ sowie den Klartext automatisch ermitteln. Folgende Punkte können als Anhaltspunkt dienen:


Anhang A: Verschleierter Text (Achtung; LANG!)

TCMN FX JY ONCNTNTUJ ZTMO, BHETGQ YKEB JF QSRXZXYLDAOCM, FDRS PAC OUE TYEW APPB AEVTWINRBVP VMHA CVZK UQ LDHNGQ. NLZIVTOUSC XDÜWFSRLRCI CYW LZOYWSESXSYWG GÖPSMG FLIXKY JEDERFDHUWGNGEZF AOUSVZIOAEYWXRB QLXZUWA!

Anhang B: Programmlisting

    public static string Encrypt (string strClearText, int nKey)
        {
        string strEncrypted = "";
        
        for (int i = 0; i < strClearText.Length; i++)
            {
            char cZeichen = strClearText.ToUpper()[i];

            if (cZeichen >= 'A' && cZeichen <= 'Z')
                {
                int nZahl = (((cZeichen - 'A') + ((nKey + i) % 26) ) % 26) + 'A'; 
                strEncrypted += Convert.ToChar(nZahl);
                }
            else
                {
                strEncrypted += cZeichen;
                }   
            }
        
        return strEncrypted;
        }



Hinweis: