Blatt 01 mlsg - Lösungen für das Testat 1 PDF

Title Blatt 01 mlsg - Lösungen für das Testat 1
Course Informatik A
Institution Universität Osnabrück
Pages 5
File Size 187.1 KB
File Type PDF
Total Downloads 47
Total Views 159

Summary

Lösungen für das Testat 1...


Description

Institut für Informatik Prof. Dr. Michael Brinkmeier Daniel Kalbreyer, M.Ed. Laura Hembrock, M.Ed. Ann-Katrin Becker, M.Sc.

Universität Osnabrück, 23.10.2018 http://www-lehre.inf.uos.de/infoa Testat bis 07.11.2018 , 14:00 Uhr

Übungen zu Algorithmen und Datenstrukturen Wintersemester 2018 / 2019 Blatt 1: Shell-Kommandos und Algorithmen Aufgabe 1.1: Vorbereitungen (0 Punkte) a) Melden Sie sich im StudIP (https://studip.uos.de) bei der Vorlesung Informatik A an (falls noch nicht geschehen). b) Melden Sie sich mit dem folgenden Link auf Piazza an: https://piazza.com/ uni-osnabrueck.de/fall2018/ainf18. Lesen Sie sich dort unbedingt die Notiz „Wie stelle ich richtig Fragen (und nutze Piazza)?“ durch. c) Suchen Sie auf der Instituts Homepage (http://inf.uos.de) die Seite der Vorlesung Informatik A (unter Arbeitsgruppen → Didaktik der Informatik → Lehre). Die Seite ist auch direkt erreichbar über die Kurz-URL https://inf.uos.de/infoa. Installieren Sie, entsprechend der dort verlinkten Anleitungen, Java, die AlgoTools und Atom auf Ihrem Rechner. Testen Sie ihre Installation, indem sie Collatz.java (auf Stud.IP) kompilieren und ausführen (siehe hierzu Aufgabe 2). d) Melden Sie sich für ein Testatslot auf der Website https://ainf-testate. informatik.uni-osnabrueck.de an (ab 25.10. 9:30Uhr, bis 28.10. 12:00Uhr). Aufgabe 1.2: Shell-Kommandos (20 Punkte) Versetzen Sie sich in die Lage, auf den Rechnern in den CIP-Pools 93/E10 und 93/E11, die folgenden UNIX-Kommandos während des Testats ohne Hilfsmittel einzusetzen:

1

Kommando man java ls -l mkdir Blatt1 rmdir Blatt1 rm test.pdf cd Blatt1 cd .. cd pwd cp . javac Collatz.java java Collatz atom atom Collatz.java ljprint Datei1 Datei2

Erklärung Ausgabe der Manualseite zum Kommando java. Auflisten aller Dateien und Verzeichnisse in Tabellenform (list). Anlegen des Verzeichnisses Blatt1 (make directory). Löschen des (leeren) Verzeichnisses Blatt1 (remove directory). Löschen der Datei test.pdf. Wechsel in das Verzeichnis Blatt1 (change directory). Wechsel in das übergeordnete Verzeichnis. Wechsel in das Heimatverzeichnis. Gibt das aktuelle Verzeichnis aus (print working directory). Kopiert eine Datei in das aktuelle Verzeichnis. Übersetzen der Programmdatei Collatz.java, Ergebnis ist die Datei Collatz.class. Ausführen des Programms Collatz. Öffnet den Atom Editor. Öffnet die Datei Collatz.java im Atom Editor. Druckt die Dateien Datei1 und Datei2 mit dem Drucker im CIP-Pool (93/E10). Hinweis: Dieser Befehl funktioniert nur mit den Rechnern im CIP-Pool!

Machen Sie sich außerdem (falls Sie Windows nutzen) in der Windows-Kommandozeile mit den analogen Kommandos vertraut: Kommando help dir dir mkdir Blatt1 rd Blatt1 del test.pdf cd Blatt1 cd .. cd c: copy . javac Collatz.java java Collatz atom atom Collatz.java

Erklärung Ausgabe der Manualseite zum Kommando dir. Auflisten aller Dateien und Verzeichnisse. Anlegen des Verzeichnisses Blatt1 (make directory). Löschen des (leeren) Verzeichnisses Blatt1 (remove directory). Löschen der Datei test.pdf. Wechsel in das Verzeichnis Blatt1 (change directory). Wechsel in das übergeordnete Verzeichnis. Wechsel in das Heimatverzeichnis. Wechsel auf das Laufwerk c:. Kopiert eine Datei in das aktuelle Verzeichnis. Übersetzen der Programmdatei Collatz.java, Ergebnis ist die Datei Collatz.class. Ausführen des Programms Collatz. Öffnet den Atom Editor. Öffnet die Datei Collatz.java im Atom Editor.

Legen Sie sich am besten für jedes Aufgabenblatt ein Verzeichnis an. Sollten Sie eine Endlosschleife verursacht haben, können Sie Ihr Programm mit der Tastenkombination Ctrl c abbrechen. Schließen Sie nicht achtlos das Terminalfenster, da der Prozess ansonsten im Hintergrund weiterläuft.

2

Aufgabe 1.3: Ein erster Algorithmus (30 Punkte) Es sei der folgende Algorithmus gegeben: Finde einen Mitspieler. Der Mitspieler wählt stumm eine Zahl zwischen 0 und 100. Erstelle eine Tabelle mit drei Spalten und einer Zeile. Schreibe in die erste Spalte der Tabelle eine 0. Schreibe in die dritte Spalte der Tabelle eine 100. SOLANGE die Zahlen in der ersten und dritten Spalte verschieden sind TUE Berechne den abgerundeten Mittelwert der Werte in der ersten und dritten Spalte der letzten Zeile. Schreibe das Ergebnis in die mittlere Spalte. Frage den Mitspieler: "Ist die Zahl größer als die Zahl in der mittleren Spalte?" WENN der Mitspieler "JA" antwortet DANN Füge am Ende Schreibe die in die erste Schreibe die Zeile in die

der Tabelle eine neue Zeile hinzu. Zahl aus der Mitte der vorletzten Zeile Spalte der neuen Zeile. Zahl aus der dritten Spalte der vorletzten dritte Spalte der neuen Zeile.

SONST Füge am Ende der Tabelle eine neue Zeile hinzu. Schreibe die Zahl aus der Mitte der vorletzten Zeile in die dritte Spalte der neuen Zeile. Schreibe die Zahl aus der ersten Spalte der vorletzten Zeile in die erste Spalte der neuen Zeile. ENDE ENDE Sage: "Die Zahl ist die Zahl in der ersten Spalte".

Führen Sie den Algorithmus für den Fall aus, dass die Antworten NEIN, JA, NEIN, NEIN, JA, JA, NEIN, JA lauten. Dokumentieren Sie den Verlauf, wie durch den Algorithmus beschrieben. Beschreiben Sie den eintretenden Fehler. Erklären Sie ihn und geben Sie an, in welcher Situation er auftritt. Geben Sie an, welche Zahl der (fiktive) Mitspieler gewählt hat und begründen Sie Ihre Antwort. Korrigieren Sie den aufgetretenen Fehler, indem sie den gegebenen Algorithmus ergänzen und/oder korrigieren.

3

Musterlösung: links 0 0 25 25 25 28 29 29 29

Mitte 50 25 37 31 28 29 30 29 29

rechts 100 50 50 37 31 31 31 30 30

gesuchte Zahl größer als Zahl in der Mitte? Nein Ja Nein Nein Ja Ja Nein Ja -> Endlosschleife

Mögliche Lösungsstrategien: 1) Zusätzliche Frage, ob die Mitte die gesucht Zahl ist. Danach kann die Mitte aus den Intervallen ausgeschlossen werden. 2) Die Frage lautet: „Ist der gesuchte Wert größer als die Mitte?“. Dann kann bei "Ja" die Mitte ausgeschlossen werden! 3) Den Fall rechts = links+1 gesondert behandeln. Aufgabe 1.4: Schneeflöckchen, weiß Röckchen... (30 Punkte) Laden Sie das Programm abbozza! Worlds herunter (https://inf-didaktik.rz.uos.de/ abbozza/worlds). Starten Sie die jar-Datei und öffnen Sie die Turtle Umgebung in ihrem Browser. Hinweis: Sollte sich der Standardbrowser nicht automatisch öffnen, tragen Sie den entsprechenden Pfad über die Schaltfläche „Browser eintragen“ manuell ein oder wählen Sie die Schaltfläche „Starte Standardbrowser“. Erstellen Sie mit der Turtle Umgebung in abbozza! Worlds nun die folgenden Bilder:

4

Erstellen Sie für jedes Bild ein eigenes Programm. Die verwendeten Kantenlängen in den ersten drei Bildern sind: 120, 30, 10. Für das letzte Bild werden zusätzlich die Kantenlängen 60, 15 und 5 verwendet. Aufgabe 1.5: Fragen im Testat (20 Punkte) Beantworten Sie Ihrer Tutorin beziehungsweise Ihrem Tutor Fragen zu den Inhalten der Veranstaltung.

5...


Similar Free PDFs