Visualisierung von Straßengraphen und Suchräumen

Größe: px
Ab Seite anzeigen:

Download "Visualisierung von Straßengraphen und Suchräumen"

Transkript

1 Praktikum im SS 2009 Werkzeugentwicklung für die Routenplanung Visualisierung von Straßengraphen und Suchräumen 13. Mai Ansprechpartner Veit Batz: batz@kit.edu, , Raum 222 und Dennis Luxen: luxen@kit.edu, , Raum Anforderungen Ziel dieses Projektes ist es, ein Werkzeug zur Visualisierung von Straßennetzwerken und dem Verhalten von Routingalgorithmen zu implementieren. Als Programmiersprache ist C++ zu verwenden. Folgende Anforderungen sollen erfüllt werden: Anzeigen des Straßennetzwerkes. Das Straßennetzwerk soll im Stile einer Landkarte angezeigt werden. Zu allen Knoten sind die Koordinaten auf der Erdoberfläche bekannt. Die Knoten sollen entsprechend auf dem Bildschirm platziert werden. Damit die Darstellung ein gewohntes Bild bietet, soll die Mercator-Projektion (siehe Abschnitt 5) verwendet werden. Benutzeroberfläche. Die Benutzeroberfläche soll graphisch und fensterbasiert sein (GUI). Zu diesem Zweck soll die Bibliothek Qt von Trolltech (siehe Abschnitt 4) verwendet werden. Die Benutzerfläche soll die folgenden Funktionen bieten: Hinein- und Hinauszoomen (Mausrad) Verschieben des Bildausschnittes (Anklicken und Maus verschieben) Anklicken von Knoten und Kanten Anzeige von Eigenschaften von Knoten und Kanten als dynamische Tooltips 1

2 ausreichende Performance Visualisierung von Routen und Algorithmenverhalten. Die in der Routenplanung verwendeten Algorithmen basieren zumeist auf Dijkstras Algorithmus, arbeiten jedoch sehr viel schneller. Dies erreicht man, indem man Knoten, die nicht auf einem kürzesten Weg liegen, von der Suche ausschließt (siehe Abschnitt 3). Die Menge aller betrachteten Knoten und Kanten bezeichnet man als den Suchraum. Das Visualisierungswerkzeug soll in der Lage sein die Suchräume unterschiedlicher Algorithmen und deren unterschiedlicher Phasen durch einfärben von Knoten und Kanten darzustellen. Dies erfordert auch eine Instrumentierung des Algorithmencodes mit entsprechenden Befehlen. Ohne ausreichendes Verständnis der betroffenen Algorithmen ist das natürlich nicht möglich. Zusätzlich zu den Suchräumen soll natürlich auch das Ergebnis der der Berechnung, nämlich die gefundene kürzeste Route, angezeigt werden können. 3 Zeitabhängige Routenplanung Straßennetze sollen in diesem Projekt durch gewichtete gerichtete Graphen repräsentiert werden, z.b. mit der Fahrzeit als Kantengewicht. Mit Dijkstras Algorithmus kann nun eine optimale Route berechnet werden. Im wirklichen Leben hängen Fahrzeit und optimale Route jedoch von Tageszeit und Wochentag ab. Entsprechend verwendet man als Kantengewichte nun Funktionen, die den Zeitpunkt, an dem man in die Kante einfährt, auf die Fahrzeit abbilden. Die Route kann dann mit einer zeitabhängigen Variante von Dijkstras Algorithmus berechnet werden. Eine Beschreibung dieser Zeitabhängigen Variante finden Sie in einem technischen Bericht von Dean [1] Die Gewichtsfunktionen können durch eine Folge von Stützpunkten repräsentiert werden, wobei zwischen diesen Stützpunkten linear interpoliert wird. Da wir außerdem vereinfachend annehmen, dass alle Tage gleich sind, haben alle Gewichtsfunktionen eine Periode von 24 Stunden. Man erhält also periodische stückweise lineare Funktionen als Kantengewichte. Für realistische Problemgrößen ist der (zeitabhängige) Dijkstra-Algorithmus viel zu langsam. Mit aktuellen Methoden, wie z.b. den zeitabhängigen Contraction Hierarchies (kurz TCHs, siehe [3]) erreicht man gegenüber Dijkstras Algorithmus eine mehr als 1000-mal kürzere Rechenzeit. Da es das letztliche Ziel dieses Projektes ist, Suchräume zu visualisieren, wie sie im Kontext von TCHs auftreten, ist ein gutes Verständnis dieser Algorithmen unerlässlich. 2

3 Die zeitabhängigen Contraction Hierarchies bauen auf den nicht-zeitabhängigen Contraction Hierarchies (kurz CHs, siehe [2]) auf. Lesen Sie deshalb zunächst das entsprechende Paper. Wenn die CHs verstanden sind, können Sie sich den TCHs zuwenden. Lesen sie dazu das Paper [3]. 4 Komfortable GUI-Entwicklung mit Qt 4.1 Einstieg Mit dem Qt-Framework lassen GUIs ziemlich komfortabel entwickeln. Hier ein erstes rudimetäres Programm: #include <QtGui> int main(int argc, char **argv) { QApplication app(argc, argv); QLabel* label = new QLabel(QObject::tr("Hello World!")); label->setalignment(qt::aligncenter); label->setwindowtitle(qobject::tr("qt1")); label->show(); } return app.exec(); Loggen Sie sich mit SSH auf dem i10pc108 ein und legen Sie in Ihrem Heimatverzeichnis ein Unterverzeichnis Namens helloworld an. Speichern Sie das obige Programm in dem neuen Unterverzeichnis unter dem Namen main.cpp ab. Da Qt Konstrukte enthält, die über den C++-Standard hinausgehen, ist es nicht ohne weiteres möglich den GCC direkt zu verwenden. Führen Sie deshalb an der Kommandozeile folgende Befehle aus: cd ~/helloworld qmake -project && qmake && make Im Unterverzeichnis helloworld müsste nun ein ausführbares Programm Namens helloworld zu finden sein. Um zu verstehen, wie das Programm genau funktioniert, können Sie unter 3

4 ein kurzes, online verfügbares Tutorial lesen, sowie Kapitel 1 des Buches C++ GUI Programming with Qt 4 [4]. Letzteres ist ebenfalls online verfügbar, und zwar unter folgender URL: All das gibt es auch auf der Website How to learn Qt unter Dort finden Sie insbesondere die API-Dokumentation von Qt, die zum Nachschlagen sehr zu empfehlen ist. Aufgabe 1. Zur Übung erweitern Sie das Fenster nun um einen Button mit der Beschriftung Exit, der die Anwendung beim anklicken beendet. 4.2 Grundgerüst für eine Qt-Anwendung Eine Standard-Möglichkeit eine Qt-Anwendung zu implementieren ist das Erben von der Klasse QWidget. So könnte man z.b. eine Klasse TestWidget in einer Header-Datei namens TestWidget.h anlegen, die etwa folgende Form haben könnte: #ifndef TESTWIDGET_H_ #define TESTWIDGET_H_ #include <QtGui> class TestWidget : public QWidget { Q_OBJECT public: TestWidget(QWidget* parent = 0) : QWidget(parent) { } }; #endif //TESTWIDGET_H_ Das zugehörige Hauptprogramm dürfte in etwa so aussehen: 4

5 #include <QtGui> #include "TestWidget.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); TestWidget* test = new TestWidget(); test->show(); return app.exec(); } Das Macro Q OBJECT muss am Anfang aller Klassendefinitionen stehen, die Signale oder Slots definieren. Dabei handelt es sich um absolut grundlegende Konzepte von Qt. Sollten Sie zu diesem Zeitpunkt noch nicht wissen worum es sich dabei dreht, kehren Sie zum Abschnitt 4.1 zurück. Um das Straßennetzwerk zu visualisieren, müssen Sie geometrische Formen zeichnen können. Mit Hilfe der Klasse QPainter (siehe Kapitel 8 in [4] sowie die API-Dokumentation von Qt) kann man auf der ganzen Fläche eines QWidget mehr oder weniger frei zeichnen. Die Member-Funktion QWidget::paintEvent(QKeyEvent* event) wird automatisch aufgerufen, wenn das Fenster aus irgendeinem Grund neu gezeichnet werden muss. Durch Aufruf von QWidget::update() können Sie dies von Hand auslösen. Fügen Sie ihrer Klasse TestWidget also eine Memberfunktion paintevent(qkeyevent* event) und überschreiben Sie so die entsprechende Funktion in QWidget. Ihre Implementierung von paintevent() wird nunmehr bei jeden Neuzeichnen und beim Aufruf von update() aufgerufen. Aufgabe 2. Zeichnen Sie mittels paintevent() einige einfache geometrische Objekte in das Fenster (Objekte können auch außerhalb des sichtbaren Ausschnittes liegen). Durch Überschreiben der Funktion QWidget::keyPressEvent(QKeyEvent* event) in der Klasse TestWidget können Sie Tastendrücke abfangen. Verwenden Sie diese Möglichkeit um den sichtbaren Auschnitt über den geometrischen Objekten mit Hilfe der Pfeiltasten zu verschieben. Sorgen Sie dafür, dass Objekte, die außerhalb des sichtbaren Ausschnittes liegen, nicht gezeichnet werden. Wenn Sie zum zeichnen der geometrischen Formeln einige Zufallszahlen benötigen, können die die Funktion 5

6 double random(double a, double b) aus der Headerdatei /data01/praktikum/random.h verwenden. Sie liefert eine pseudo-zufällige Zahl aus dem Intervall [a, b). 5 Visualisierung des Straßennetzes Wir kommen nun zum ersten Teil der eigentlichen Aufgabe, nämlich der Visualisierung des Straßennetzes wie in Abschnitt 2 spezifiziert. Testdaten. Zum Testen steht Ihnen eine zeitabhängige Version des Straßennetzwerkes der Niederlande zur Verfügung, das Sie als Datei /data01/praktikum/nld/nld_c3_mm.tpgr im TPGR-Format auf dem i10pc108 finden. Die Koordinaten der einzelnen Knoten finden Sie in den beiden Dateien /data01/praktikum/nld/nld_scc_coordinates.long /data01/praktikum/nld/nld_scc_coordinates.lat wobei die erste die Länge und zweite die Breite eines Punktes enthält. Alle Dateiformate sind in Abschnitt 6 beschrieben. Achtung. Die Daten dürfen nicht weitergegeben werden. Nach Beendigung des Praktikums sind außerdem alle etwaigen Kopien unbedingt zu löschen. Mercator-Projektion. Die Längen- und Breitengerade eines Straßennetzes beziehen sich näherungsweise auf Punkte auf einer Kugeloberfläche. D.h. dass Längen- und Breitengerade nicht eins-zu-eins (x, y)-koordinaten auf einer Ebene entsprechen. Sie müssen also transformiert werden. Es gibt mehrere bekannte und nützliche Projektionen. Die Mercator Zylinderprojektion ist die bekannteste von und Grundlage für die meisten Karten, die heute im Gebrauch sind. Auch das Openstreetmap Projekt und Google nutzen diese Projektionen. Die wichtigste Eigenschaft der Mercator-Projektion ist die Tatsache, dass der Erde (idealisiert als Kugel) senkrecht in Nord-Süd-Richtung ein Zylinder übergestülpt wird, der den Globus am Äquator berührt. Daraus resultieren einige (teils gewünschte) Eigenschafte für die Kartendarstellung: Breitengrade sind parallele Geraden in ungleichen Abständen 6

7 Längengrade sind parallele Geraden in gleichen Abständen Die Flächenverzerrung nimmt mit der Entfernung zum Äquator zu Die Verzerrungen können teils enorm sein. So wird Grönland in der Projektion etwa so viel Fläche zugeordnet wie Afrika, obwohl Afrika mehr als 14 mal so groß ist. Trotz der Verzerrung sind Darstellungen in Mercator- Projektion gut geeignet als interaktive Karten, bspw. Google Maps. Durch die Projektion auf die zweidimensionale Ebene lassen sich sehr leicht gekachelte Hintergrundbilder laden. Gegeben sind also der Breitengrad ϕ und der Längengrad λ, mit λ 0 Längengrad in der Kartenmitte. Dann erhät man die (x, y)-koordinaten eines Punktes wie folgt: x := λ λ 0 (1) ( ( π y := ln tan 4 + ϕ )) (2) 2 Anklicken von Knoten und Kanten. Beim Anklicken von Knoten und Kanten soll (im Interesse der Bedienungsfreundlichkeit) ein Knoten oder eine Kante auch dann richtig erkannt werden, wenn der Mauszeiger nicht ganz pixelgenau positioniert ist. Bei Kanten erscheint es zudem sinnvoll, dass dieser Einzugsbereich mit der angezeigten Länge l der Kante normiert wird. So kann eine Kante als angeklickt betrachtete werden, wenn die Summe der Abstände von Start- und Zielpunkt der Kante zum Mauszeiger kleiner ist als εl, wobei ε > 1 sein muss. Ein geeigneter konkreter Wert für ε kann z.b. durch ausprobieren gefunden werden, es ist jedoch zu erwarten, dass dieser Wert recht nahe bei 1 liegt. Aufgabe 3. Laden Sie das Straßennetzwerk und die Koordinaten aus den angegebenen Dateien und Visualisieren sie diese wie in Abschnitt 2 spezifiziert. Wie schon in Aufgabe 2 sollen Sie darauf achten, dass Objekte, die außerhalb des Bildausschnittes, liegen nicht gezeichnet werden. Beim Anzeigen der Kanteneigenschaften, sollen die Gewichtsfunktionen der Kanten graphisch angezeigt werden. 6 Dateiformate TPGR-Format. Für zeitabhängige Straßennetzwerke wird das TPGR- Format verwendet, das folgendermaßen spezifiziert ist: Textformat, enthält ausschließlich ganze Zahlen, getrennt durch Zeilenende oder Leerzeichen. Die 7

8 erste Zeile enthält einen Header, der nacheinander folgende Informationen enthält: Anzahl der Knoten n Anzahl der Kanten m Anzahl Stützpunkte Periode der Funktionen Es folgen m Zeilen, von denen jede genau eine gerichtete Kante und deren Gewichtsfunktion repräsentiert. Jede dieser Zeilen enthält nacheinander folgende Werte: ID des Startknoten (liegt in {0,..., n 1}) ID des Zielknoten (liegt in {0,..., n 1}) Anzahl k der Stützpunkte der Gewichtsfunktion dieser Kante Folge von k Stützpunkten, jeweils durch aufeinanderfolgende x- und y-koordinate dargestellt Die Einheit der Gewichtsfunktionen ist 10-tel Sekunden. Kanten mit nur einem Stützpunkt haben eine konstante Gewichtsfunktion. Solche Kanten sind also nicht zeitabhängig. Der Wert der x-koordinate ist in diesem Fall gleichgültig. Da die spezifikation des Dateiformates dies erfordert, kommt jedoch irgendein x-wert in der Datei vor. Koordinaten. Jede der beiden Koordinaten-Dateien enthält nur die Breite bzw. die Länge. Das Format ist wie folgt: Textformat, jede Zeile enthält genau eine Zahl. Die Zeilennummer entspricht der Knoten-ID, wobei die Nummerierung der Zeilen bei 0 beginnen muss. So gehört die Koordinate in Zeile 0 zum Knoten mit ID 0, die Koordinate in Zeile 1 zum Knoten mit ID 1 usw. Die Einheit ist jeweils Grad multipliziert mit Deadlines Folgende Deadlines sind einzuhalten: Bis 21. Mai bitte das Paper [2] lesen und verstehen, sowie die Aufgaben 1 und 2 erledigen. 8

9 Bis 28. Mai bitte das Paper [1] lesen soweit nötig (z.b. Abschnitt nicht) und das Paper [3] lesen und verstehen. Außerdem sollte von Aufgabe 3 mindestens das Anzeigen, hinein-/hinauszoomen und das Verschieben des Bildausschnittes funktionieren. Bis 4. Juni sollte Aufgabe 3 fertig sein, was auch eine ausreichende Performance beinhaltet. Danach: Visualisierung von berechneten Routen und Suchräumen. Termine folgen noch. Wenn Sie Fragen haben oder nicht zurecht kommen, dürfen Sie sich vertrauensvoll an Ihre Ansprechpartner wenden (siehe Abschnitt 1). Eine oder ein Anruf stellt dabei sicher, dass Sie auch tatsächlich jemanden antreffen. Literatur [1] Brian C. Dean, Shortest Paths in FIFO Time-Dependent Networks: Theory and Algorithms, Technical report, Massachusetts Institute Of Technology. [2] R. Geisberger, P. Sanders, D. Schultes, D. Delling, Contraction Hierarchies: Faster and Simpler Hierarchical Routing in Road Networks, in Proceedings of Workshop on Experimental Algorithms, WEA 2008, LN- CS 5038, Springer [3] G.V. Batz, D. Delling, P. Sanders, and C. Vetter, Time-Dependent Contraction Hierarchies, in Proceedings of the Workshop on Algorithm Engineering and Experiments, ALENEX 2009, SIAM [4] J. Blanchette and M. Summerfield, C++ GUI Programming with Qt 4, in association with Trolltech Press, Prentice Hall,

Fortgeschrittene Kapitel: Grafische Ausgabe mit C++ Karl Gmeiner

Fortgeschrittene Kapitel: Grafische Ausgabe mit C++ Karl Gmeiner Fortgeschrittene Kapitel: Grafische Ausgabe mit C++ Karl Gmeiner 2015 1 Software-Frameworks am Beispiel von Qt 1.1 Software-Frameworks Software-Frameworks stellen Datenstrukturen, Algorithmen, Entwurfsmuster

Mehr

Was ist QT? Beispiele: KDE Google Earth Mathematika

Was ist QT? Beispiele: KDE Google Earth Mathematika Einführung in QT Was ist QT? QT ist eine Klassenbibliothek für plattformübergreifende Programmierung graphischer Benutzeroberflächen QT ist für verschiedene Graphikplattformen wie X11 (Unix), Windows,

Mehr

Objektorientierte Programmierung mit C++ (WS 2010)

Objektorientierte Programmierung mit C++ (WS 2010) Objektorientierte Programmierung mit C++ (WS 2010) Dr. Andreas F. Borchert, Tobias Brosch Institut für Angewandte Informationsverarbeitung Universität Ulm Blatt 11: Abgabetermin 19. Januar 2011 11 Uhr

Mehr

Qt Programmierung Teil 1 Fenster erstellen by NBBN (http://nbbn.wordpress.com) CrashKurs-Artig. Was brauche ich? -Einige C++ Kenntnisse

Qt Programmierung Teil 1 Fenster erstellen by NBBN (http://nbbn.wordpress.com) CrashKurs-Artig. Was brauche ich? -Einige C++ Kenntnisse Qt Programmierung Teil 1 Fenster erstellen by NBBN (http://nbbn.wordpress.com) CrashKurs-Artig. Was brauche ich? -Einige C++ Kenntnisse Wie man in C++ mit Hilfe von Qt GUI-Anwendungen programmieren kann.

Mehr

Interaktive Simulationen Lektion 1/3: Event-Driven Design und Signals

Interaktive Simulationen Lektion 1/3: Event-Driven Design und Signals MÜNSTER Interaktive Simulationen Lektion 1/3: Event-Driven Design und Signals Prof. Dr. Christian Engwer & Andreas Buhr 16. April 2014 MÜNSTER Interaktive Simulationen 2 /22 Normales C++ Programm Programmstruktur

Mehr

Softwareentwicklungspraktikum Nebenfach

Softwareentwicklungspraktikum Nebenfach PD Dr. Ulrich Schöpp Ludwig-Maximilians-Universität München Dr. Steffen Jost Institut für Informatik Stephan Barth WS 2016/17 Softwareentwicklungspraktikum Nebenfach Blatt 3 Dieses Arbeitsblatt ist innerhalb

Mehr

Fortgeschrittene Routenplanung. Transportnetzen. Advanced Route Planning in Transportation Networks

Fortgeschrittene Routenplanung. Transportnetzen. Advanced Route Planning in Transportation Networks Fortgeschrittene Routenplanung in Transportnetzen Advanced Route Planning in Transportation Networks Dissertationsvortrag von Dipl.-Inform. Robert Geisberger 1 KIT Robert Universität Geisberger: des Landes

Mehr

Einführung in die Programmierung Wintersemester 2011/12

Einführung in die Programmierung Wintersemester 2011/12 Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : GUI-Programmierung Inhalt Was ist eine GUI? Was

Mehr

Grundkurs C++ Buildsysteme Versionsverwaltung mit git

Grundkurs C++ Buildsysteme Versionsverwaltung mit git Grundkurs C++ Buildsysteme Versionsverwaltung mit git Martin Knopp, Martin Gottwald, Stefan Röhrl 25.04.2018 Folie 1/21 GK C++: Buildsysteme, Versionsverwaltung Martin Knopp, Martin Gottwald, Stefan Röhrl

Mehr

Grundkurs C++ Buildsysteme Versionsverwaltung mit git

Grundkurs C++ Buildsysteme Versionsverwaltung mit git Grundkurs C++ Buildsysteme Versionsverwaltung mit git Martin Knopp 09.05.2017 Folie 1/1 GK C++: Buildsysteme, Versionsverwaltung Martin Knopp 09.05.2017 Buildsysteme Beispielhaftes Übersetzungsszenario:

Mehr

Grundkurs C++ Buildsysteme Versionsverwaltung mit git

Grundkurs C++ Buildsysteme Versionsverwaltung mit git Grundkurs C++ Buildsysteme Versionsverwaltung mit git Martin Knopp & Johannes Feldmaier 20.04.2016 Folie 1/22 GK C++: Buildsysteme, Versionsverwaltung Martin Knopp & Johannes Feldmaier 20.04.2016 Buildsysteme

Mehr

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. C5.1 Einführung. C5.2 Grundlagen

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. C5.1 Einführung. C5.2 Grundlagen C. Kürzeste Pfade: Grundlagen C. Kürzeste Pfade: Grundlagen C. Einführung Gabriele Röger C. Grundlagen Universität Basel C. Optimalitätskriterium und Generisches Verfahren G. Röger (Universität Basel)

Mehr

Praxisorientierte Einführung in C++ Lektion: "Einführung in das GUI-Toolkit Qt"

Praxisorientierte Einführung in C++ Lektion: Einführung in das GUI-Toolkit Qt Praxisorientierte Einführung in C++ Lektion: "Einführung in das GUI-Toolkit Qt" Christof Elbrechter Neuroinformatics Group, CITEC April 24, 2014 Christof Elbrechter Praxisorientierte Einführung in C++

Mehr

Praktikum IKT 3. Semester

Praktikum IKT 3. Semester Praktikum IKT 3. Semester Dr. Andreas Müller, TU Chemnitz, Fakultät für Informatik Inhaltsverzeichnis 1 1 Einführung in QT 1.1 Die QT-Bibliothek Informationen: http://www.trolltech.com Lehner, B: KDE-

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen C. Kürzeste Pfade: Grundlagen Gabriele Röger Universität Basel 9. Mai 09 Graphen: Übersicht Repräsentation Exploration Graphen Exploration: Anwendungen Minimale Spannbäume

Mehr

Interaktive Simulationen Lektion 3/3: Grafische Ausgabe

Interaktive Simulationen Lektion 3/3: Grafische Ausgabe MÜNSTER Interaktive Simulationen Lektion 3/3: Grafische Ausgabe Prof. Dr. Christian Engwer & Andreas Buhr 30. April 2014 Was ist ein Widget? MÜNSTER Interaktive Simulationen 2 /24 Ein QWidget ist ein QObject

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 12, Donnerstag, 23.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 12, Donnerstag, 23. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 0 / 04 Vorlesung, Donnerstag,. Januar 04 (Graphen, Breiten/Tiefensuche, Zusammenhangskomponenten) Junior-Prof.

Mehr

Datenstrukturen und Algorithmen (SS 2013)

Datenstrukturen und Algorithmen (SS 2013) Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 10 Abgabe: Montag, 08.07.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes

Mehr

Übungsblatt. Praktikum Algorithm Engineering Routenplanung (WS 17/18)

Übungsblatt. Praktikum Algorithm Engineering Routenplanung (WS 17/18) Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Moritz Baum, Valentin Buchhold, Ben Strasser, Tim Zeitz, Tobias Zündorf Übungsblatt Praktikum Algorithm Engineering Routenplanung (WS

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Buildsysteme

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Buildsysteme Grundkurs C++ Buildsysteme Buildsysteme Beispielhaftes Übersetzungsszenario: Verzeichnis tutorial7/ main.cpp, lcdrange.cpp, lcdrange.h *.cpp Kompilieren *.o *.h Grundkurs C++ 2 Headerdateien //blackbox.h

Mehr

Route Planning in Road Networks

Route Planning in Road Networks D. Schultes: Route Planning in Road Networks 1 Route Planning in Road Networks Dominik Schultes Institut für Theoretische Informatik Algorithmik II Universität Karlsruhe (TH) http://algo2.iti.uka.de/schultes/hwy/

Mehr

Übungsblatt. Praktikum Algorithm Engineering Routenplanung (WS 16/17)

Übungsblatt. Praktikum Algorithm Engineering Routenplanung (WS 16/17) Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Moritz Baum, Valentin Buchhold, Ben Strasser, Tobias Zündorf Übungsblatt Praktikum Algorithm Engineering Routenplanung (WS 16/17) Ausgabe

Mehr

Übungsblatt. Praktikum Algorithm Engineering Routenplanung (WS 18/19)

Übungsblatt. Praktikum Algorithm Engineering Routenplanung (WS 18/19) Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Valentin Buchhold, Jonas Sauer, Tim Zeitz, Tobias Zündorf Übungsblatt Praktikum Algorithm Engineering Routenplanung (WS 18/19) Ausgabe

Mehr

Einführung in die Programmierung mit Qt

Einführung in die Programmierung mit Qt Einführung in die Programmierung mit Qt Dr. Ralf Schüler 5.11.2009 Was ist Qt? sprich: [kju:t] Klassenbibliothek für C++ (ferner Java, Python u.a.) sehr umfangreich: GUI, Stringverarbeitung, reguläre Ausdrücke,

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Was ist eine GUI? Was ist QT? Erste Schritte:

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

Mehr

Übungsblatt 1. Java Vorkurs (WS 2017)

Übungsblatt 1. Java Vorkurs (WS 2017) Übungsblatt 1 Java Vorkurs (WS 2017) Aufgabe 1 Hallo-Welt Erstelle ein neues Projekt mit dem Namen HelloJava. Erzeuge in diesem Projekt eine neue Klasse HelloJava. (a) Schreibe die main-methode in die

Mehr

10. Übungsblatt zu Algorithmen I im SS 2010

10. Übungsblatt zu Algorithmen I im SS 2010 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders G.V. Batz, C. Schulz, J. Speck 0. Übungsblatt zu Algorithmen I im SS 00 http//algo.iti.kit.edu/algorithmeni.php

Mehr

Kürzester Abstand. Abb.1

Kürzester Abstand. Abb.1 Kürzester Abstand Im Januar 2011 meldete die Lufthansa, dass eines ihrer Flugzeuge des Typs Boeing 747 über Grönland den Flug nach San Francisco wegen Ölverlustes in einem der vier Triebwerke abgebrochen

Mehr

Datenstrukturen und Algorithmen in Open Street Map. Modul: Algorithmische Geometire Von: Elisabeth Lehmann 12INB-P

Datenstrukturen und Algorithmen in Open Street Map. Modul: Algorithmische Geometire Von: Elisabeth Lehmann 12INB-P Datenstrukturen und Algorithmen in Open Street Map Modul: Algorithmische Geometire Von: Elisabeth Lehmann 12INB-P Inhalte 1) Was ist OpenStreetMap? 2) Das Konzept 3) Datenstrukturen in OSM a) Node b) Way

Mehr

Praktische Informatik I Wintersemester 2005/2006 Abgabe: 23. November 2005

Praktische Informatik I Wintersemester 2005/2006 Abgabe: 23. November 2005 Lehrstuhl für Praktische Informatik IV Holger Füßler A5, 6, Raum B 219 68131 Mannheim Telefon: (0621) 181 2605 Email: fuessler@informatik.uni-mannheim.de Robert Schiele B6, 29, Raum C0.04 68131 Mannheim

Mehr

Praxisorientierte Einführung in C++ Lektion: Einführung in das GUI-Toolkit Qt

Praxisorientierte Einführung in C++ Lektion: Einführung in das GUI-Toolkit Qt Praxisorientierte Einführung in C++ Lektion: Einführung in das GUI-Toolkit Qt Christof Elbrechter, Florian P. Schmidt Neuroinformatics Group, CITEC April 5, 2011 Christof Elbrechter Praxisorientierte Einführung

Mehr

Einführung in die Programmierung Wintersemester 2009/10

Einführung in die Programmierung Wintersemester 2009/10 Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : GUI-Programmierung Inhalt Was ist eine GUI? Was

Mehr

Praktikum 4: Delegation

Praktikum 4: Delegation : Delegation 1. Lernziele Die folgenden, in der Vorlesung behandelten Themen sollen vertieft und angewendet werden: Vererbung, abstrakte Klassen, Polymorphie, Delegation sowie das Zeichnen von UML-Klassendiagrammen.

Mehr

Routing in Nahverkehrsnetzen

Routing in Nahverkehrsnetzen Routing in Nahverkehrsnetzen Daniel Friesel derf@chaosdorf.de @derfnull CCC Düsseldorf / Chaosdorf 12. Juni 2015 Einleitung Es gibt diverse Routingdienste 1 / 11 Einleitung Es gibt diverse Routingdienste

Mehr

Einführung in die Informatik und Programmierung (Informatik I)

Einführung in die Informatik und Programmierung (Informatik I) BERGISCHE UNIVERSITÄT GESAMTHOCHSCHULE WUPPERTAL GAUSS-STRASSE 20 42097 WUPPERTAL (Korrespondenzanschrift) 42119 WUPPERTAL (Lieferanschrift) TELEX 8 592 262 bughw TELEFAX (0202) 439-2901 TELEFON (0202)

Mehr

Algorithmische Mathematik I

Algorithmische Mathematik I Algorithmische Mathematik I Wintersemester 2011 / 2012 Prof. Dr. Sven Beuchler Peter Zaspel Übungsblatt zur Wiederholung Teil 1. Abgabe am -. Aufgabe 1. a) Was ist eine B-adische Darstellung mit fixer

Mehr

Labor Software-Entwicklung 1

Labor Software-Entwicklung 1 Fakultät für Technik STUDIENGANG MEDIZINTECHNIK Labor Software-Entwicklung Vorbereitungsaufgaben zu Versuch 2 C-Programmierung Mathematische Berechnungen Wintersemester 205/206 Seite von 5 Vorbemerkungen

Mehr

Schnelle und genaue Routenplanung

Schnelle und genaue Routenplanung Sanders/Schultes: Routenplanung 1 Schnelle und genaue Routenplanung Peter Sanders Dominik Schultes Institut für Theoretische Informatik Algorithmik II Universität Karlsruhe Uni für Einsteiger, 22. November

Mehr

GUI Programmierung mit Qt

GUI Programmierung mit Qt GUI Programmierung mit Qt C++ vs. JAVA Norman Wolf 22.04.05 GUI Programmierung mit Qt 1 Einleitung Qt wird von der norwegischen Firma Trolltech entwickelt Es ist kommerzielle Software, die aber von Trolltech

Mehr

Algorithmen für Routenplanung 7. Sitzung, Sommersemester 2010 Thomas Pajor 28. Mai 2010

Algorithmen für Routenplanung 7. Sitzung, Sommersemester 2010 Thomas Pajor 28. Mai 2010 Algorithmen für Routenplanung 7. Sitzung, Sommersemester 2010 Thomas Pajor 28. Mai 2010 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Hydroinformatik II: Grundlagen der Kontinuumsmechanik

Hydroinformatik II: Grundlagen der Kontinuumsmechanik Hydroinformatik II: Grundlagen der Kontinuumsmechanik Robert Schlick 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 28. April 2017 1/25

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Zeigern, sowie Records und Funktionen Aufgabe 5: Diese Aufgabe basiert auf der Aufgabe 4. Es ist ein Programm zu erstellen, in welchem der Anwender aus einer Anzahl möglicher

Mehr

Kürzeste Wege in einem gewichteten Graphen. Anwendungen

Kürzeste Wege in einem gewichteten Graphen. Anwendungen Kürzeste Wege in einem gewichteten Graphen Dazu werden die Gewichte als Weglängen interpretiert. Der kürzeste Weg zwischen zwei Knoten in einem zusammenhängenden Graphen ist derjenige, bei dem die Summe

Mehr

Route erstellen in Kurviger

Route erstellen in Kurviger Route erstellen in Kurviger Start und Ziel eingeben Route wird berechnet je nach eingestellter Fahroption Option Schnellste Route Fährt wenn möglich alles Autobahn oder Autostraße Option Schnell und Kurvig

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2011/12 Was ist eine GUI? Was ist QT? Erste Schritte: Hello World! Signals & Slots: SpinBoxSlider Anwendung: Temperaturumrechnung Lösung ohne GUI

Mehr

Autodesk CIVIL 3D, MAP 3D 2019 Neuerungen im MAP 2019 Gert Domsch, CAD-Dienstleistung

Autodesk CIVIL 3D, MAP 3D 2019 Neuerungen im MAP 2019 Gert Domsch, CAD-Dienstleistung Autodesk CIVIL 3D, MAP 3D 2019 Neuerungen im MAP 2019 Gert Domsch, CAD-Dienstleistung 11.07.2018 Inhalt: Vorwort (Grundlage, MAP 3D 2019)...2 Ziel...2 Deutsche Bahn Koordinatensysteme...3 Welche praktische

Mehr

Schnelle und genaue Routenplanung

Schnelle und genaue Routenplanung Sanders/Schultes: Routenplanung 1 Schnelle und genaue Routenplanung Peter Sanders Dominik Schultes Institut für Theoretische Informatik Algorithmik II Universität Karlsruhe Tag der Informatik, 15. Juli

Mehr

Sichtbarkeitsgraph. Andreas Gemsa Übung Algorithmische Geometrie

Sichtbarkeitsgraph. Andreas Gemsa Übung Algorithmische Geometrie Übung Algorithmische Geometrie Sichtbarkeitsgraph LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 19.07.2012 Ablauf Nachtrag Sichtbarkeitsgraph WSPD

Mehr

Praktikum 4: Grafiken und Ereignisse

Praktikum 4: Grafiken und Ereignisse Praktikum 4: Grafiken und Ereignisse Aufgabe 1: Java Applikation Bisher haben wir in Java (ebenso wie in C) jeweils selbständige Konsole-Applikationen erstellt. Java wurde als Programmiersprache für das

Mehr

d:\c++\semesterarbeit\lottosix\lottosix.cpp /* ======================================================================== Dateiname: lottosix.

d:\c++\semesterarbeit\lottosix\lottosix.cpp /* ======================================================================== Dateiname: lottosix. /* ======================================================================== Dateiname: lottosix.cpp 1 Zweck: Semesterarbeit ============== Erstellt ein QWidget in welchem Lottozahlen gezogen und verglichen

Mehr

Algorithmen für Routenplanung 8. Sitzung, Sommersemester 2012 Thomas Pajor 21. Mai 2012

Algorithmen für Routenplanung 8. Sitzung, Sommersemester 2012 Thomas Pajor 21. Mai 2012 Algorithmen für Routenplanung 8. Sitzung, Sommersemester 2012 Thomas Pajor INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und nationales

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester H.

Mehr

GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT

GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT User Requirements GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT Softwareentwicklung Praktikum, Übungsbeispiel 1 Gruppe 18 Andreas Hechenblaickner [0430217] Daniela Kejzar [0310129] Andreas Maller [0431289]

Mehr

b.i.m.m MULTIPUSHTOOL 2013 Benutzerhandbuch b.i.m.m GmbH September 2012 Version

b.i.m.m MULTIPUSHTOOL 2013 Benutzerhandbuch b.i.m.m GmbH September 2012 Version b.i.m.m MULTIPUSHTOOL 2013 Benutzerhandbuch b.i.m.m GmbH September 2012 Version 2013.0.2.0 COPYRIGHT Dieses Handbuch dient als Arbeitsunterlage für Benutzer der b.i.m.m-tools. Die in diesem Handbuch beschriebenen

Mehr

Berechnung einer Geschwindigkeit

Berechnung einer Geschwindigkeit InfoBrief Nr. 65 Überblick Bei der Auswertung von Messwerten interessiert neben den absoluten Größen und den Wertänderungen oft auch, wie schnell die Änderungen erfolgten. In GKS Pro kann die Geschwindigkeit

Mehr

12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013

12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 1 Agenda Kontrollfragen Graphen Graphenalgorithmen 2

Mehr

Grundlagen der Informatik Vorlesungsskript

Grundlagen der Informatik Vorlesungsskript Grundlagen der Informatik Vorlesungsskript Prof. Dr. T. Gervens, Prof. Dr.-Ing. B. Lang, Prof. Dr. F.M. Thiesing, Prof. Dr.-Ing. C. Westerkamp 16 AUTOMATISCHES ÜBERSETZEN VON PROGRAMMEN MIT MAKE... 2 16.1

Mehr

K Desktop Environment

K Desktop Environment K Desktop Environment Anwendung und Programmierung Tobias Koenig Max-Planck Administratoren Treffen 2005 p. 1 Übersicht Einführung Anwendung Benutzerrestriktionen mit KIOSK Groupware mit Kontact Programmierung

Mehr

1 DFS-Bäume in ungerichteten Graphen

1 DFS-Bäume in ungerichteten Graphen Praktikum Algorithmen-Entwurf (Teil 3) 06.11.2006 1 1 DFS-Bäume in ungerichteten Graphen Sei ein ungerichteter, zusammenhängender Graph G = (V, E) gegeben. Sei ferner ein Startknoten s V ausgewählt. Startet

Mehr

1 DFS-Bäume in ungerichteten Graphen

1 DFS-Bäume in ungerichteten Graphen Praktikum Algorithmen-Entwurf (Teil 3) 31.10.2005 1 1 DFS-Bäume in ungerichteten Graphen Sei ein ungerichteter, zusammenhängender Graph G = (V, E) gegeben. Sei ferner ein Startknoten s V ausgewählt. Startet

Mehr

Die Website der Pressglas-Korrespondenz und Adobe Reader, Version 9.1

Die Website der Pressglas-Korrespondenz und Adobe Reader, Version 9.1 SG März 2009 Die Website der Pressglas-Korrespondenz und Adobe Reader, Version 9.1 Auf www.pressglas-korrespondenz.de - der Website der Pressglas-Korrespondenz - werden alle Artikel im Format PDF (Portable

Mehr

Objektorientierung. Programmierstarthilfe WS 2010/11 Fakultät für Ingenieurwissenschaften und Informatik

Objektorientierung. Programmierstarthilfe WS 2010/11 Fakultät für Ingenieurwissenschaften und Informatik Programmierstarthilfe WS 2010/11 Fakultät für Ingenieurwissenschaften und Informatik Organisatorisches Im Web unter http://www.uni-ulm.de/psh Vorwissen Du kannst bereits Klassen als Typen mit statischen

Mehr

Aufgabe 1: GUIs mit PyQt

Aufgabe 1: GUIs mit PyQt Michael Wand Institut für Informatik. Angewandte Mathematik am Rechner 1 SOMMERSEMESTER 2017 18. April 2017 Aufgabe 1: GUIs mit PyQt Erste Praktikumsaufgabe Aufgabenblatt Aufgabe 1 Jetzt online (Webseite

Mehr

Informatik II Prüfungsvorbereitungskurs

Informatik II Prüfungsvorbereitungskurs Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren.

Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren. Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren. 267 Das hier skizzierte Problem basiert auf der strategischen Entscheidung

Mehr

Kürzeste und Schnellste Wege

Kürzeste und Schnellste Wege Kürzeste und Schnellste Wege Wie funktionieren Navis? André Nusser (Folien inspiriert von Kurt Mehlhorn) Struktur Straßennetzwerke Naiver Algorithmus Dijkstras Algorithmus Transitknoten Nachbemerkungen

Mehr

Praktikum 1: Einführung, BMI Rechner

Praktikum 1: Einführung, BMI Rechner Praktikum 1: Einführung, BMI Rechner Aufgabe 1: Erstellen und Ausführen einer Java Konsolen-Anwendung Für dieses Semester können Sie wieder NetBeans verwenden. Sie sollten Java auch schon installiert haben.

Mehr

VERFASSEN VON ARTIKELN AUF DEN MITARBEITERSEITEN

VERFASSEN VON ARTIKELN AUF DEN MITARBEITERSEITEN VERFASSEN VON ARTIKELN AUF DEN MITARBEITERSEITEN Hier einige Hinweise, wie Sie selbst die Mitarbeiterseiten nutzen können, um eigene Artikel zu verfassen. Nur Mut, es ist nicht so kompliziert, wie zunächst

Mehr

Angewandte Mathematik am Rechner

Angewandte Mathematik am Rechner Angewandte Mathematik am Rechner Praktikumsaufgabe #01: GUIs und interaktive Graphik mit PyQt5 Michael Wand, David Hartmann, Johannes-Gutenberg-Universität Mainz 18. April 2017 Dieses Dokument ist lizenziert

Mehr

V by WBR1/BFH-TI 2011 by MOU2/BFH-TI

V by WBR1/BFH-TI 2011 by MOU2/BFH-TI Java-Applets Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/BFH-TI 2011 by MOU2/BFH-TI Java-Applets V3.0 2011 by WBR1&MOU2/BFH- TI Lernziele Die Kursteilnehmer sind in der Lage: Möglichkeiten und

Mehr

Swissmem ebooks ebook Funktionen Software Version 4.x (PC)

Swissmem ebooks ebook Funktionen Software Version 4.x (PC) Swissmem ebooks ebook Funktionen Software Version 4.x (PC) 29.05.2017 Inhalt 6.0.0 ebook Funktionen 2 6.1.0 Übersicht...2 6.2.0 Notizen...3 6.2.1 Einfaches Notizfeld...3 6.2.2 Handschriftliches Notizfeld...6

Mehr

DI Kraus & CO GmbH Storyboard Seite 1. Mittels Rechtsklick in den Schiebebalken des Storyboards kann die Dauer des Videos begrenzt werden.

DI Kraus & CO GmbH Storyboard Seite 1. Mittels Rechtsklick in den Schiebebalken des Storyboards kann die Dauer des Videos begrenzt werden. DI Kraus & CO GmbH Storyboard Seite 1 Das STORYBOARD von ArCon - in kurzen Schritten Kapitel 1.) Allgemeine Einstellungen Über Anzeige -> Storyboard wird dieses aktiv geschaltet. (über das Icon kann das

Mehr

Allgemeine Informatik II

Allgemeine Informatik II Klausur zur Vorlesung Allgemeine Informatik II Prof. J. Fürnkranz Technische Universität Darmstadt Sommersemester 2009 (Klausur SS09) Termin: 3. 9. 2009 Name: Vorname: Matrikelnummer: Fachrichtung: Punkte:

Mehr

Erstellung von interaktiven Arbeitsmaterialien mit GeoGebra

Erstellung von interaktiven Arbeitsmaterialien mit GeoGebra Erstellung von interaktiven Arbeitsmaterialien mit GeoGebra Quelle für Befehle, Beschreibungen usw.: GeoGebra Handbuch Für die Erstellung der Materialien wird hier GeoGebra Classic 5 verwendet. Im Symbolfenster

Mehr

Algorithmen für Routenplanung 7. Vorlesung, Sommersemester 2012 Daniel Delling 16. Mai 2012

Algorithmen für Routenplanung 7. Vorlesung, Sommersemester 2012 Daniel Delling 16. Mai 2012 Algorithmen für Routenplanung 7. Vorlesung, Sommersemester 01 Daniel Delling MICROSOFT RESEARCH SILICON VALLEY KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Algorithmen und Datenstrukturen (Informatik II) SS Klausur

Algorithmen und Datenstrukturen (Informatik II) SS Klausur Lehrstuhl für Algorith. und Datenstrukturen Prof. Dr. Hannah Bast Axel Lehmann Algorithmen und Datenstrukturen (Informatik II) SS 2013 http://ad-wiki.informatik.uni-freiburg.de/teaching Klausur Mittwoch

Mehr

Nun haben wir alle Programmierwerkzeuge zusammen und können das Gelernte in einer Synthese-Übung vereinigen.

Nun haben wir alle Programmierwerkzeuge zusammen und können das Gelernte in einer Synthese-Übung vereinigen. Kapitel 10 Synthese-Übung Nun haben wir alle Programmierwerkzeuge zusammen und können das Gelernte in einer Synthese-Übung vereinigen. main() Funktion Instanzen von Klassen anlegen Dateien lesen und schreiben

Mehr

/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor();

/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor(); Bereich: Grafische Benutzeroberflächen (UI), Events (2) Editor Package: de.dhbwka.java.exercise.ui.editor Klasse: Editor Aufgabenstellung: Schreiben Sie einen kleinen Texteditor mit Swing! Keine Panik,

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 29 Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente

Mehr

Praktikum Routenplanung Vorbesprechung, Wintersemester 2014/2015 Moritz Baum, Julian Dibbelt, Ben Strasser 22. Oktober 2014

Praktikum Routenplanung Vorbesprechung, Wintersemester 2014/2015 Moritz Baum, Julian Dibbelt, Ben Strasser 22. Oktober 2014 Praktikum Routenplanung Vorbesprechung, Wintersemester 014/015 Moritz Baum, Julian Dibbelt, Ben Strasser. Oktober 014 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität

Mehr

Linux-Camp: Multimedia I

Linux-Camp: Multimedia I Linux-Camp: Multimedia I Digitalkamera, Bildbearbeitung mit Ubuntu Version 8.04 Inhalt Digitalkamera Digitalkamera am USB-Anschluss Bilder mit F-Spot von der Digitalkamera laden Bildbearbeitung mit Gimp

Mehr

Nutzungshinweise. Interaktive Karte der Überschwemmungsgebiete

Nutzungshinweise. Interaktive Karte der Überschwemmungsgebiete Nutzungshinweise Interaktive Karte der Überschwemmungsgebiete Symbolleiste Aufklappbare Legende Zoomleiste Die wichtigsten Symbole Info-Werkzeug: Anzeigen von Informationen zum Überschwemmungsgebiet (u.

Mehr

Kurviger Pro App. Allgemeine Beschreibung der Menü-Punkte

Kurviger Pro App. Allgemeine Beschreibung der Menü-Punkte Kurviger Pro App Allgemeine Beschreibung der Menü-Punkte Für die Routenberechnung wird eine Internetverbindung benötigt, die Navigation kann auch mit den Offline Karten erfolgen, allerdings wird die Route

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C 4 Storage classes Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Compilation units Compilierung eines mehrteiligen Programms:

Mehr

Übungspaket 23 Mehrdimensionale Arrays

Übungspaket 23 Mehrdimensionale Arrays Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2016/17 19. Vorlesung Kürzeste Wege & Dijkstras Algorithmus Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Wozu kürzeste Wege? 2 3-8 Modellierung

Mehr

hue13 January 30, 2017

hue13 January 30, 2017 hue13 January 30, 2017 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen Lerneinheit : Kürzeste Pfade in Graphen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 016.6.01 Einleitung Diese Lerneinheit beschäftigt

Mehr

Übungspaket 23 Mehrdimensionale Arrays

Übungspaket 23 Mehrdimensionale Arrays Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

Swissmem ebooks ebook Funktionen Software Version 4.x (PC)

Swissmem ebooks ebook Funktionen Software Version 4.x (PC) Swissmem ebooks ebook Funktionen Software Version 4.x (PC) 25.08.2017 Inhalt 6.0.0 ebook Funktionen 2 6.1.0 Übersicht...2 6.2.0 Notizen...3 6.2.1 Einfaches Notizfeld...3 6.2.2 Handschriftliches Notizfeld...6

Mehr

Rückgabewerte von Methoden

Rückgabewerte von Methoden OOP Rückgabewerte von Methoden Henrik Horstmann 14. September 2014 Inhaltsverzeichnis Inhaltsverzeichnis 1 Bedeutung der Symbole...1 2 Rückgabewerte von Methoden...2 3 Der freundliche Computer...2 3.1

Mehr

Excel 2016 Formeln, Prozentrechnen und Runden. Peter Wies. Modul Ausgabe, Januar 2017 EX2016_FORMEL

Excel 2016 Formeln, Prozentrechnen und Runden. Peter Wies. Modul Ausgabe, Januar 2017 EX2016_FORMEL Peter Wies. Ausgabe, Januar 207 Excel 206 Formeln, Prozentrechnen und Runden Modul 2 EX206_FORMEL Impressum Matchcode: EX206_FORMEL Autor: Peter Wies Herausgeber: Koordination der Klubschulen/Freizeitanlagen

Mehr

TUTORIAL. Wie erstelle ich Karten mit umap? Was ist umap?

TUTORIAL. Wie erstelle ich Karten mit umap? Was ist umap? TUTORIAL Wie erstelle ich Karten mit umap? Was ist umap? umap ist eine Open-Source-Software, die es Ihnen ermöglicht, in wenigen Minuten eine individuelle Karte für mehrere Standorte mit Hintergrund von

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg

Mehr