Informatik I Wintersemester 2016/2017 Prof. Dr. Carsten Damm Georg-August-Universität Göttingen Dr. Henrik Brosenne Institut für Informatik Übung 1 Praktische Übung Testate von Di., 01.11., 8-10 Uhr bis Mo., 07.11., 18-20 Uhr. Aufgabe 1 10 Punkte Die Lernplattformen LON-CAPA ist mit Stud.IP verbunden, sodass Sie Lernmodule dieser Plattform nutzen können. Öffnen Sie den, in der Stud.IP-Veranstaltung Informatik I unter Lernmodule hinterlegten, Test Informatik I - LON-CAPA - WiSe16/17 und absolvieren Sie die unter Uebung 01 gespeicherte Aufgabe. Sie können die Aufgabe mehrfach durchlaufen. Führen Sie einen Durchlauf vor. Aufgabe 2 10 Punkte Die Lernplattformen ILIAS ist mit Stud.IP verbunden, sodass Sie Lernmodule dieser Plattform nutzen können. Sie können den in der Stud.IP-Veranstaltung Informatik I unter Lernmodule hinterlegten Test Informatik I - ILIAS 01 zu Übungszwecken beliebig oft absolvieren. Nachfolgend wird die Vorbereitung zukünftiger Testate durchgespielt, bei der Sie eine Prüfsumme für Ihre Lösungen hochladen müssen. Siehe dazu die e zu den praktischen Übungen, die in der Stud.IP-Veranstaltung Informatik I unter Dateien Allgemeiner Ordner Übungen hinterlegt sind und ab der nächsten praktischen Übung gelten. 1. Legen Sie ein Verzeichnis für die abzugebende Dateien, z.b. uebung01, an und legen Sie mindestens eine Datei in diesem Verzeichnis ab, die einige nicht leere Zeilen enthält. 2. Erstellen Sie ein Archiv des Verzeichnisses mit folgendem Befehl. tar cf uebung01-testat.tar uebung01 Entziehen Sie sich und allen anderen die Schreibrechte für das Archiv und berechnen Sie die Prüfsumme des Archivs mit folgendem Befehl. cksum uebung01-testat.tar 1
e Die Prüfsumme ist die erste Zahl in der Ausgabe des cksum-befehls. Prinzipiell sollte die Erstellung des Archivs und die Berechnung der Prüfsumme auf jedem Linux-System dasselbe Ergebnis liefern wie im Rechnerpool, im Einzelfall muss das aber getestet werden. Entpacken können Sie das Archiv mit folgendem Befehl. tar xf uebung01-testat.tar 3. Übermitteln Sie die Prüfsumme durch Absolvieren des in der Stud.IP-Veranstaltung Informatik I unter Lernmodule hinterlegten Tests Informatik I - ILIAS 01 Testat. 4. Sie können den Test mehrfach durchlaufen. Führen Sie einen Durchlauf vor. Nachdem Sie die erste Prüfsumme übermittelt haben, ist bei einem erneuten Aufruf des Tests aus Stud.IP neben der Schaltfläche Neuen Testdurchlauf starten die Schaltfläche Testergebnisse anzeigen vorhanden. Auf der Seite Testergebnisse können Sie sich im Dropdown-Menü Aktionen zu jedem Testdurchlauf Details anzeigen lassen. Der Fragentitel Prüfsumme - Praktische Übung führt zu einer Seite, auf der Sie die von Ihnen übermittelte Prüfsumme einsehen können. Aufgabe 3 34 Punkte Arbeiten auf der Kommandozeile 1. Kopieren Sie mit wget die Dateien Privat und Dienstlich aus der Vorlesung in ein Verzeichnis auf Ihren Rechner, das Sie speziell für diese Übung angelegt haben. Die Dateien finden Sie unter der Adresse https://www.stud.informatik. uni-goettingen.de/info1/uebung/uebung01/. (4 Punkte) 2. Wenn Sie Hilfe zu einem Kommando oder Programm (z.b. ls oder cat) benötigen können Sie sich mit man <name> (z.b. man ls oder man cat) eine Beschreibung (Handbuchseite, engl. manuel page, kurz man page) anzeigen lassen. Da viele Handbuchseiten mehr Zeilen haben als in einer Konsole angezeigt werden können, wird die Handbuchseite konsolenseitenweise mit less angezeigt (das macht man automatisch). Sie können in der angezeigten Handbuchseite mit der Eingabetaste eine Zeile und mit der Leertaste eine Konsolenseite vorwärts blättern. Benutzen Sie die Handbuchseiten für die Bearbeitung folgender Aufgaben. 2
a) Wie beendet man das Anzeigen einer Handbuchseite ohne bis zum Ende zu blättern? Wie kann man eine Zeile und wie eine Konsolenseite zurückblättern? Wie sucht man nach einem Wort in einer Handbuchseite (inklusive weitersuchen). b) Wenn Sie im Verzeichnis für diese Übung cat -n Privat Dienstlich sort -k 2 uniq aufrufen, erhalten Sie eine Auflistung, die durcheinander nummeriert und nach Vornamen sortiert ist, sowie den Eintrag für Dieter Baumann doppelt enthält. Ändern Sie den Aufruf, so dass die Liste aufsteigend nummeriert und nach Nachname sortiert ist, sowie den Eintrag für Dieter Baumann nur einmal enthält. c) Wie kann man mit echo doppelte Anführungszeichen (") ausgeben? (4 Punkte) Suchen Sie in der Handbuchseite von sh unter dem Stichwort QUOTING. d) Verwenden Sie find und grep. In welchem Unterverzeichnis von /var befindet sich die Datei boot.log? Gibt es in der Datei boot.log Zeilen, die fail enthalten? Wenn ja, lassen Sie diese Zeilen anzeigen. Lassen Sie alle Zeilen der Datei boot.log anzeigen, die Populate, gefolgt von einer beliebigen Zeichenkette, gefolgt von filesystem enthalten. 3
Aufgabe 4 24 Punkte Einfache Verschlüsselung Die Caesar-Verschlüsselung ist ein Verschlüsselungsverfahren, das auf den 26 (Groß-)Buchstaben des Alphabets arbeitet. Eine Nachricht wird verschlüsselt, indem jeder Buchstaben des Klartextes um 3 Positionen im Alphabet zyklisch nach rechts verschoben wird. d.h. entsprechend der folgenden Tabelle werden die Buchstaben der oberen Reihe durch die der unteren Reihe ersetzt, bei der Entschlüsselung umgekehrt. A B C D E F G H I J K L M N O P Q R S T U V W X Y Z D E F G H I J K L M N O P Q R S T U V W X Y Z A B C Der Klartext CAESAR wird so zum Geheimtext FDHVDU und wieder zum Klartext CAESAR. 1. Ergänzen Sie die folgenden Aufrufe, so dass zum Klartext CAESAR der Geheimtext FDHVDU und zum Geheimtext FDHVDU der Klartext CAESAR ausgegeben wird. echo "CAESAR" echo "FDHVDU" Das Programm tr kann Zeichen löschen oder transliterieren. 2. Erweitern Sie den Aufruf aus Aufgabenteil 1, so dass der Klartext auch Kleinbuchstaben enthalten kann, d.h. vor der Verschlüsselung in Großbuchstaben umgewandelt wird. Ergänzen Sie folgenden Aufruf und experimentieren Sie mit verschiedenen Klartexten. echo "Klartext" 3. ROT13 (rotate by 13 places) ist ein der Caesar-Verschlüsselung ähnliches Verschlüsselungsverfahren. Eine Nachricht wird verschlüsselt, indem jeder Buchstaben des Klartextes um 13 Positionen im Alphabet zyklisch verschoben wird. Modifizieren Sie den Aufruf aus Aufgabenteil 2, so dass mit ROT13 verschlüsselt wird. Wenden Sie den Aufruf auf verschiedenen Klartexte und anschließend auch auf den jeweils resultierenden Geheimtext an. Was fällt Ihnen auf? 4
Aufgabe 5 22 Punkte if und for 1. Kopieren Sie das Java-Programm http://www.stud.informatik.uni-goettingen. de/info1/uebung/uebung01/testen.java auf Ihren Rechner. Kompilieren und starten Sie es. (6 Punkte) Das Programm erwartet auf der Kommandozeile eine ganze Zahl, die ausgegeben wird. 2. Erweitern Sie das Programm aus Aufgabenteil 1. Wenn eine ganze Zahl n auf der Kommandozeile übergeben wird, soll die Summe der ersten n ungeraden Zahlen, beginnend bei 1, berechnet und ausgegeben werden. (16 Punkte) n ist der Betrag von n. 5