Klausur Informatik 1 WS 07/08. Aufgabe Max. Punkte Punkte. Gesamtpunkte:

Ähnliche Dokumente
Klausur Informatik 1 SS 08. Aufgabe Max. Punkte Punkte. Gesamtpunkte:

Klausur - Informatik I SS 05. Note: Bearbeitungszeit 120 Minuten Keine Hilfsmittel

Klausur Informatik 1 WS 08/09. Aufgabe Max. Punkte Punkte. Gesamtpunkte:

Klausur zur Vorlesung Informatik 1 im Wintersemester 2014/2015 am 18. Februar Bearbeitungszeit: 90 Minuten Gesamtpunktezahl: 90 Punkte

DAP2 Probeklausur. Matrikelnummer Vorname Nachname. Datum: 24. Juli C. Sohler A. Krivo²ija, A. Rey, H. Sandvoÿ

2. Klausur zur Vorlesung Informatik 1 im Wintersemester 2014/2015 am 30. März Bearbeitungszeit: 90 Minuten Gesamtpunktezahl: 90 Punkte

Klausur Algorithmen und Datenstrukturen

Sommersemester Jewgeni Rose. Technische Universität Braunschweig

FAKULTÄT FÜR INFORMATIK

Probeklausur: Einführung in die objektorientierte Programmierung mit Java 15WS

Übung Programmierung WS 2007/08 - Blatt 6

Klausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415

Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017

Klausur zur Lehrveranstaltung. Technische Informatik für Ingenieure WS 2009/10

Hochschule Karlsruhe Klausur EAI Prof. Dr. Christian Pape. Klausur EAI WS 05/06. Note: Bearbeitungszeit 90 Minuten Keine Hilfsmittel

Programmierung

Ingenieurinformatik Teil 2 (Numerik für Ingenieure)

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018

Vorname: Nachname: Matrikelnummer: Studiengang (bitte ankreuzen): Informatik Bachelor Informatik Lehramt Mathematik Bachelor Sonstige:

Wiederholungsklausur "ADP" WS 2016/2017

Universität zu Lübeck Institut für Telematik. Prof. Dr. Stefan Fischer

Lehrstuhl für Angewandte Informatik I SS 2003 Prof. Dr. Andreas Henrich 23. September Konzepte der Programmierung. Klausur

Datenstrukturen. Mariano Zelke. Sommersemester 2012

Vorname:... Matrikel-Nr.:... Unterschrift:...

1. Teilklausur Gruppe A. Bitte in Druckschrift leserlich ausfüllen!

Klausur Algorithmen und Datenstrukturen

Dies ist eine Probeklausur, die keine formalen Schlüsse auf die Form, die Struktur oder den Inhalt der endgültigen Klausur zulässt.

Klausur "ADP" SS 2015

Präsenzübung Datenstrukturen und Algorithmen SS 2014

Bitte beachten Sie, dass diese Aufgaben keinerlei Beschränkung des zu prüfenden Stoffes noch sonstige Rückschlüsse auf die Klausur begründen.

Prüfung Softwareentwicklung II (IB)

Scheinklausur zur Vorlesung Praktische Informatik I. 12. November Punkteübersicht

Informatik für Ingenieure (InfIng)

2. Klausur Datenstrukturen und Algorithmen SS 2014

Klausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java im Wintersemester 2015/16

Datenstrukturen und Algorithmen (SS 2013) Prof. Dr. Leif Kobbelt Thomas Ströder, Fabian Emmes, Sven Middelberg, Michael Kremer

Klausur "ADP" WS 2013/2014

Einführung in die Programmierung. (K-)II/Wb17

Aufgabe 1 Pseudocode und Analyse /6 Sei A ein zweidimensionales n n Array mit 0 1 Einträgen A[i][j]. In jeder Zeile stehen alle Nullen vor allen Einse

Prüfung Softwareentwicklung I (IB)

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8

Lösung für die Klausur zur Vorlesung Informatik 1 im Wintersemester 2014/2015 am 18. Februar 2015

Klausur. Informatik 1 Wintersemester 2005/2006 Prof. Dr. Wolfgang May 4. April 2006, Uhr Bearbeitungszeit: 90 Minuten

Klausur Grundlagen der Programmierung

Klausur Algorithmen und Datenstrukturen

Klausur Kompaktkurs Einführung in die Programmierung Dr. T. Weinzierl & M. Sedlacek 18. April 2012

Karlsruher Institut für Technologie Institut für Theoretische Informatik. Übungsklausur Algorithmen I

Klausur Algorithmen und Datenstrukturen

Klausur. Softwareentwurf. 13. März 2013 Bearbeitungszeit: 120 Minuten

Prüfung Softwareentwicklung II (IB)

1. Die rekursive Datenstruktur Liste

Klausur Algorithmen und Datenstrukturen

Aufgabe 1: Quer durch Java (4 Punkte) super abstract abstract protected

Klausur Algorithmentheorie

Name:... Matr.-Nr... Bearbeitungszeit: 120 Minuten. Lesen Sie die Aufgaben jeweils bis zum Ende durch; oft gibt es hilfreiche Hinweise!

Klausur Algorithmentheorie

5. Übungsblatt zu Algorithmen I im SoSe 2016

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Bachelorprüfung: Objektorientierte Softwareentwicklung

Klausur Algorithmen und Datenstrukturen

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten

Punkte. Teil 1. Teil 2. Summe. 1. Zeigen Sie, dass der untenstehende Suchbaum die AVL-Bedingung verletzt und überführen Sie ihn in einen AVL-Baum.

Präsenzübung Programmierung WS 2017/2018

Σ /6 /6 /6 /6 /24

Vorname:... Matrikel-Nr.:... Unterschrift:...

Klausur Softwaretechnik I

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben

MB2-ALG, SS15 Seite 1 Hauptklausur, geschrieben am

Klausur Algorithmen und Datenstrukturen

Name:... Vorname:... Matr.-Nr.:... Studiengang:...

Klausur zur Vorlesung Einführung in die Programmierung

Algorithmen und Datenstrukturen 12

Abschlussklausur Lösung. Bitte in Druckschrift leserlich ausfüllen!

Viel Erfolg bei der Bearbeitung der Aufgaben!

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 16. Juli Klausur

Klausur Softwaretechnologie SS 2017

Fakultät IV Elektrotechnik/Informatik

Probeklausur zur Vorlesung

Erste Java-Programme (Scopes und Rekursion)

Institut für Programmierung und Reaktive Systeme 24. April Programmieren II. 10. Übungsblatt

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 15. Oktober 2005 Dr. Alfons Huhn, Timotheus Preisinger

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2016/2017

Klausur Algorithmen und Datenstrukturen SS August Arbeitszeit 90 min

Folgen und Funktionen in der Mathematik

Klausur: Programiermethoden und Techniken

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2016/17. Vorbereitende Aufgaben

Parameterübergabemechanismen für den Methodenaufruf

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018. Musterlösung

Probeklausur: Programmierung WS04/05

Fakultät IV Elektrotechnik/Informatik. Klausur Einführung in die Informatik I (Technikorientierung) 28. März Bearbeitungszeit: 120 Minuten

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 12

Lösung der Wiederholungsklausur zur Vorlesung. Grundlagen der Informatik und Numerik. Dr. Monika Meiler

1. Teilklausur. Name:... Vorname:... Matrikel-Nummer:...

Lösung der Klausur zur Vorlesung. Modellierung und Programmierung I. Dr. Monika Meiler

Datenstrukturen und Algorithmen 2. Klausur SS 2001

Nachholklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415

Transkript:

Klausur Informatik 1 WS 07/08 Aufgabe 1 2 3 4 Max. Punkte 30 30 30 30 Punkte Gesamtpunkte: Note: Bearbeitungszeit 120 Minuten Keine Hilfsmittel Tragen Sie als erstes Ihren vollständigen Namen und Ihre Matrikelnummer ein. Name: Matrikelnummer: Fragen Sie bei Unklarheiten in der Aufgabenstellung sofort nach. Tragen Sie Ihre Lösungen nur in diese Aufgabenblätter ein und verwenden Sie auch die Rückseite (mit Bezug zur Teilaufgabe). Sollte der Platz nicht ausreichen, so erhalten Sie weitere Blätter. Geben Sie alle Aufgabenblätter ab. Falls Sie die Heftung der Klausur entfernen, dann schreiben Sie bitte auf jedes einzelne Blatt Ihren Namen und Matrikelnummer. Verwenden Sie keine Bleistifte und keine rote Farbe. Halten Sie Ihren Studentenausweis zur Kontrolle bereit. 1

Hochschule Karlsruhe Klausur Informatik I Prof. Dr. Christian Pape 2 1. Aufgabe UML Eine Schiffsteuerungssoftware soll in Teilen entworfen werden. Sie sind primär für das Ankern also das Festmachen des Schiffes mit Hilfe von Ankern zuständig. a) UML-Klassendiagramm (15 Punkte) Geben Sie für folgenden Sachverhalt ein vollständiges UML-Klassendiagramm an. Beachten Sie dabei die Java-Namenskonventionen aus der Vorlesung und das Geheimnisprinzip. Ein Schiff besitzt mindestens einen Anker, der fallen gelassen und wieder gehievt werden kann. Zur Steuerung des Ankers werden die Geschwindigkeit in Knoten und die Fahrtrichtung (vorwärts/rückwärts) des Schiffes benötigt. Für einen Anker muss bekannt sein, ob er schon fallengelassen wurde oder nicht. Durch Ziehen an der Ankerkette eines Ankers kann man feststellen, ob ein Anker fest im Untergrund verankert ist oder nicht. Als Notmaßnahme beim Ankern, muss die Steuerungssoftware einzelne Schiffsschrauben individuell stoppen können.

Hochschule Karlsruhe Klausur Informatik I Prof. Dr. Christian Pape 3 b) UML-Aktivitätsdiagramm (15 Punkte) Beschreiben Sie folgenden Ablauf des Ankerns mit einem UML-Aktivitätsdiagramm. Verwenden Sie keine UML-Abkürzungen. Beim Ankern muss das Schiff zuerst rückwärts in Strömungsrichtung fahren. Die Geschwindigkeit des Schiffs wird solange verringern, bis das Schiff höchstens ein Knoten schnell ist. Dann wird der Anker fallengelassen. Das Schiff muss solange rückwärts weiterfahren, bis der Anker sich eingegraben hat. Während des Ankerns muss eine Ankerwache vorhanden sein: das Ankern darf erst beginnen, wenn die Ankerwache aufgestellt wurde. Die Ankerwache darf erst wieder aufgelöst werden, wenn das Ankern erfolgreich beendet wurde.

Hochschule Karlsruhe Klausur Informatik I Prof. Dr. Christian Pape 4 2. Aufgabe Java a) Ausdrücke (6 Punkte) Welchen Wert haben folgenden Ausdrücke? Ausdruck 1 + 2 / 3 * 4 1 / 2 == 3 / 4 1 == 2 && 3!= 4 1 < 2 ((int) (1.2 * 1.3)) * 2.0 Wert b) Datentypen (3 Punkte) Welchen Datentyp haben folgende Ausdrücke? Ausdruck 1 + 5.0 / 7f - 10L 128 + ((byte) 56) Datentyp c) Abstrakte Datentypen (15 Punkte) Implementieren Sie folgenden abstrakten Datentyp eines Punktes (x, y) im zwei-dimensionalen Raum mit kartesischen Koordinaten. Ihre Implementierung muß einen Konstruktor besitzen, mit dem ein Punkt (x, y) erzeugt werden kann. Der euklidische Abstand zweier Punkte (x 1, y 1 ) und (x 2, y 2 ) ist definiert als (x 1 x 2 ) 2 + (y 1 y 2 ) 2 Hinweis: Math.sqrt(double) berechnet die Quadratwurzel eines double-wertes. public interface Punkt { public double getx ( ) ; public double gety ( ) ; } / Gibt den e u k l i d i s c h e n Abstand zum gegebenen punkt zurueck. / public double getabstand ( Punkt punkt ) ;

Hochschule Karlsruhe Klausur Informatik I Prof. Dr. Christian Pape 5

Hochschule Karlsruhe Klausur Informatik I Prof. Dr. Christian Pape 6 d) JUnit (6 Punkte) Implementieren Sie eine JUnit-Testmethode, die überprüft, ob die Implementierung Ihrer Methode für die Punkten (1, 5) und (4, 1) den korrekten Abstand 5 berechnet. Beachten Sie, dass mit Gleitkommazahlen gerechnet wird.

Hochschule Karlsruhe Klausur Informatik I Prof. Dr. Christian Pape 7 3. Aufgabe Rekursion Betrachten Sie folgende rekursiv definierte Funktion f(n) := a) f Auswerten (4 Punkte) { 1, für n = 1 f(n 1) + 2n 1, für n > 1 Geben Sie die Funktionswerte f(n) für n = 1, 2, 3, 4 an. n f(n) 1 2 3 4 b) Rekursionstyp (2 Punkte) Um welche Art von Rekursions handelt es sich bei f(n)?

Hochschule Karlsruhe Klausur Informatik I Prof. Dr. Christian Pape 8 c) f rekursiv implementieren (13 Punkte) Implementieren Sie eine rekursive Java-Funktion, die f berechnet (es dürfen keine Schleifen verwendet werden).

Hochschule Karlsruhe Klausur Informatik I Prof. Dr. Christian Pape 9 d) Rekurrenzgleichung (3 Punkte) Geben Sie die Rekurrenzgleichung T (n) ihrer Implementierung für den Zeitaufwand im schlimmsten Fall an. e) Zeitaufwand (2 Punkte) Geben Sie den Zeitaufwand Ihrer Implementierung möglichst genau im O-Kalkül an. f) f nicht rekursiv implementieren (8 Punkte) Implementieren Sie eine nicht-rekursive Java-Funktion, die f berechnet.

Hochschule Karlsruhe Klausur Informatik I Prof. Dr. Christian Pape 10 4. Aufgabe Algorithmen a) Mergesort (6 Punkte) Sortieren Sie folgende Zahlenfolge mit rekursivem Mergesort. Geben Sie dabei immer nur jeweils das Ergebnis eines Verschmelzungschrittes an. Verwenden Sie immer eine neue Zeile pro Verschmelzungsschritt. Sie brauchen nur die geänderten Zahlen eintragen. 9 7 2 5 3 2 1 4 b) Mergesort (3 Punkte) Geben Sie den Speicheraufwand von Mergesort im schlimmsten Fall möglichst genau im O-Kalkül an.

Hochschule Karlsruhe Klausur Informatik I Prof. Dr. Christian Pape 11 c) Potenzen rekursiv berechnen (18 Punkte) Die n-te Potenz eines double-werts a soll rekursiv mit einem Halbierungsverfahren berechnet werden, so dass der Zeitaufwand O(log 2 n) nicht überschreitet. Betrachten Sie folgendes Beispiel, als Hinweis für eine Entwurfsidee: a 7 = a a 3 a 3 Implementieren Sie einen derartigen Algorithmus in Java.

Hochschule Karlsruhe Klausur Informatik I Prof. Dr. Christian Pape 12 d) Speicheraufwand (3 Punkte) Geben Sie im O-Kalkül den Speicheraufwand Ihrer Implementierung aus Teilaufgabe c) möglichst genau an.