Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Softwarepraktikum LEDA/C++ Lehrstuhl fuer Datenstrukturen und effiziente Algorithmen Prof. Naeher Dozent: Daniel Scmitt.

Ähnliche Präsentationen


Präsentation zum Thema: "Softwarepraktikum LEDA/C++ Lehrstuhl fuer Datenstrukturen und effiziente Algorithmen Prof. Naeher Dozent: Daniel Scmitt."—  Präsentation transkript:

1 Softwarepraktikum LEDA/C++ Lehrstuhl fuer Datenstrukturen und effiziente Algorithmen Prof. Naeher Dozent: Daniel Scmitt

2 Inhalte Grundlegende Elemente in C++ Einfuehrung in die LEDA Bibliothek (Library of Efficient Data Types and Algorithms) Implementierung einfacher Datenstrukturen und Typen. Implementierung geometrischer Algorithmen und Graphalgorithmen. Visualisierung

3 Voraussetzungen Informatik I Wir gehen davon aus das Sie: einen Editor benutzen koennen schon mal programmiert haben in Java also wissen was Klassen sind und die Syntax einer prozeduralen Programmiersprache gesehen haben Empfohlen aber nicht notwendig ist Informatik II: Datenstrukturen Sortieralgorithmen Graphalgorithmen

4 Organisation 2 Phasen: 1. Phase: Praktikum mit begleitenden Uebungen 2. Phase: Projekt Zulassung zum Projekt: min 50 % der Punkte aus den Uebungen hoechsten einmal 0 Punkte Scheinvergabe: Abgabe des Projekts mit Ausarbeitung (Webseite) Kurzvortrag (Beamer, Folien)

5 Organisation Anmeldung erfolgt schriftlich an einem der ersten beiden Termine Anwesenheitspflicht !! Abgabe der Uebungen per Email bis darauffolgenden Donnerstag 8:30 Wir bestehen auf Gruppenabgaben. Die Bewertung des Projekts erfolgt Gruppenweise Benotung ist optional

6 Termine 25.10.07 – 06.12.07 jeweils Donnerstags 8:30 Uebungen mit Anwesenheitspflicht 13.12.07 Einteilung der Gruppen/Aufgaben fuer das Projekt 24.01.08 Abgabe Code 31.01.08 Abgabe Ausarbeitung 07.02.08 Abgabe Vortrag 14.02.08 Vortraege

7 Was ist C++ ? Features: Unterstuetzte Programmierparadigmen: Datenabstarktion, Objektorientierte Programmierung Prozedurale Programmierung Generische Programmierung Kompatibilitaet mit C Effizienz

8 Was ist C++ ? Historisches: Entwickelt von Bjarne Stroustrup (AT&T) 1980 erweiterte er C um ein Klassenkonzept zu ”C mit Klassen”, seit 1983 C++. 1987 durch starke Verbreitung Einberufung eines ANSI-Komitees zur Standardisierung von C++ 1995 erste Entwurf eines ISO C++-Standards 1998 Ratifizierung des Entwurfs

9 Warum C++ und nicht Java ? Die Hauptmerkmale von Java sind Portierbarkeit und Sicherheit, erst dann folgt Effizienz. Die Laufzeit von C++ Programmen kann deutlich besser sein. Die Java Garbe Collection verbirgt oft das eigentliche Problem. C++ ermoeglicht maschinennahes Programmieren.

10 Was ist LEDA ? Leda ist eine C++ Klassenbibliothek fuer effiziente datenstrukturen und Algorithmen. LEDA implementiert Algorithmen zur Loesung von: Graph- and Netzwerkproblemen Geometrische Berrechnungen und weitere...

11 Online Referenzen C++: http://www.cppreference.com/ LEDA: Online-Reference: http://www.algorithmic- solutions.info/leda_manual/manual.html LEDA Tutorial: http://www.leda- tutorial.org/en/unofficial/ LEDA Book: http://www.mpi- inf.mpg.de/~mehlhorn/LEDAbook.html

12 Ein erstes Programm Suchen in einem sortierten array Array sortieren Funktionsdeklaration Referenzen Rekursion

13 Kompilieren + Linken Kompilieren: g++ -I dirh -c filename.cpp dirh: Verzeichnis der header Dateien (/usr/local/LEDA-5.1/incl) erzeugt eine Objektdatei filename.o Linken: g++ -L dirl -o executable object.o -llib dirh: Verzeichnis der vorkompilierten Bibliotheken (/usr/local/LEDA-5.1) libraries: -lP -lG -lL (Reihenfolge beachten !!!) erzeugt eine ausfuehrbare Datei executable Kompilieren + Linken g++ -I dirh -L dirl -o executable filename.cpp -llib

14 Uebungsaufgaben Das erste Uebungsblatt ist online. Donnerstag 08.11.07, 8:30 per Email an: dschmitt@informatik.uni-trier.de


Herunterladen ppt "Softwarepraktikum LEDA/C++ Lehrstuhl fuer Datenstrukturen und effiziente Algorithmen Prof. Naeher Dozent: Daniel Scmitt."

Ähnliche Präsentationen


Google-Anzeigen