Aufgaben

Sommersemester 2018

Die Abgabe und erfolgreiche Bearbeitung wird mit Punkten für Klausur bewertet. Der Abgabetermin ist der Tag vor der Klausur, also der 20. Juni 2018 um 18 Uhr. Die Abgabe erfolgt per Email an mich. Die Email soll eine einzige jar oder zip Datei mit dem Programm und der Antwort enthalten.

  1. Entwickeln Sie eine Matrizen Multiplikation, wie in Übung 3, nur mit parallelen Streams aus Java 8. Abgegeben wird der Programmcode und die Messungen (im Vergleich zu den bisherigen Messungen) auf ihrem Computer mit Angabe des Typs.

  2. Einige Klassen aus java.util.concurrent haben einen Konstruktor, in dem das gewünschte Scheduling bestimmt werden kann: "weak fair" oder "strong fair". Was bedeuten diese Konzepte? Und in welchen Situationen werden sie angewendet?

Aufgaben aus früheren Semestern

  1. Vervollständigen Sie die Klasse PipeStep in 2010.jar und entwickeln Sie ein Hauptprogramm, das diese Klasse zur Sortierung von 100 zufälligen ganzen Zahlen nutzt. Als Beispiel für die Entwicklung können Sie ExPipeSort.java verwenden.

  2. Entwerfen Sie ein "Framework" zur vereinfachten Entwicklung von Anwendungen für ähnliche Aufgaben. Zum Beispiel könnte man mit einem Interface analog zu Runnable oder Callable beginnen.

      public interface Pipeable {
          public State readLeft();
          public State readRight();
          public State writeLeft();
          public State writeRight();
      }
    

    Eventuell muss auch noch eine Möglichkeit (u.U. eine Methode) angegeben werden, wie die Pipes von links und rechts an die entsprechenden Objekte übergeben werden können. Alternativ könnten die transportierten Objekte als Parameter an die Methoden übergeben bzw. zurück gegeben werden.

      public interface Pipeable<V> {
          public State readLeft(V read);
          public State readRight(V read);
          public Container<State,V> writeLeft();
          public Container<State,V> writeRight();
      }
    

    Die Methodennamen sind dann evtuell nicht mehr passend.

  3. Entwickeln und implementieren Sie eine PipeService Klasse mit einer Methode submit(Pipeable pipeElement), die eine Pipeline aufbaut und ausführt.

  4. Implementieren Sie das Beispiel zum Sortieren von ganzen Zahlen mit diesem Framework.

Alte Aufgaben

Projektaufgaben zum TSP Problem

Aufgaben aus Übungen und Klausuren


© Universität Mannheim, Rechenzentrum, 2017.

Last modified: Sun Apr 29 22:34:53 CEST 2018