Entwickler-Ecke

Sonstiges (Delphi) - Suche Hilfe für eine Navigationssoftware


BVBFan89 - Mo 04.01.10 12:26
Titel: Suche Hilfe für eine Navigationssoftware
Hy Alle zusammen!

Erstmal vorne weg : Ich bin auf einem Gymnasium für Informations und Kommunikationstechnologie. Habe aber trozdem nicht viel Ahnung vom Programmieren.Würde mich immer noch als Anfänger bezeichnen.

Wir haben hier ne Aufgabe bekommen und ich habe keine Ahnung wie ich die lösen soll.

Hier mal die Aufgabenstellung :

Für eine neue Generation Navigationsgeräte soll eine Software entwickelt werden. Die Anforderungen sind bisher nur grob formuliert und müssen in einem Pflichtenheft präzisiert werden. Die Softwarelösung ist in Delphi zu realisieren.

Anforderungen :

Die für die Berechnung notwendigen Daten sollen über eine Textdatei eingelesen werden. In dieser Datei sind für jede Strecke zwischen zwei Orten folgende Angaben gegeben :

- Länge (m): Entfernung
- Kosten(€): z.B. Maut
- Geschwindigkeit[Km/h]: max. zulässige Höchstgeschw.

Die für ein Auto bzw. Autotyp relevanten Daten (z.B.: Verhältnis von Durchschnittsgeschw. zu Maximalgeschw, Verbrauch(l/100Km) sowie allgemeine Angaben(z.B.: aktueller Kraftstoffpreis sollen in einer Datei gespeichert und jederzeit wieder aufgerufen werden können.
Mit der Software soll der Benutzer die kürzeste, schnellste und preisgünstigste Route ermitteln können, wobei einzelne Strecken manuell gesperrt werden können(z.B.: Stau bzw keine kostenpflichtige Strecken benutzen)
Die ermittelte Route soll grafisch dargestellt werden.

So sieht die Textdatei aus :

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
Ort1;Ort2;Laenge;Kosten;Geschw
A;B;30;0;80
A;C;42;1,50;30
A;E;110;5;200
B;C;24;0;80
B;D;45;0;100
C;D;30;0;80
C;E;45;0;50
D;E;25;0;80

so.......

Bin über jede Hilfe und jeden Tipp dankbar.

Moderiert von user profile iconNarses: Code-Tags ergänzt.


Nersgatt - Mo 04.01.10 12:35

Wie sieht denn Dein Ansatz aus?

Wir machen hier keine Hausaufgaben. Aber wir helfen Dir gerne bei Deinen Hausaufgaben. Allerdings musst Du schon durchblicken lassen, dass Du Dir eigene Gedanken machst.


Narses - Mo 04.01.10 12:35

Moin und :welcome: im Forum!

Bitte ändere den Titel des Topics, da er wenig über das eigentlich Thema verrät. Hier der entsprechende Absatz aus den Richtlinien [http://www.entwickler-ecke.de/richtlinien.html]:
1.2 Beiträge:
Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist.[...]
Einfach oben bei Deinem ersten Beitrag auf user defined image oder user defined image klicken und den Titel ändern. Danke Dir!

cu
Narses


elundril - Mo 04.01.10 12:40

Ich glaub das wäre was fürs MST [http://de.wikipedia.org/wiki/Spannbaum] oder für A* [http://de.wikipedia.org/wiki/A*], oder?

lg elundril


BVBFan89 - Mo 04.01.10 13:05

Klar mache ich mir Gedanken. Ich sitz ja schon paar Stunden dran.

Ich würde aufjedenfall strukturiert programmieren.

Mir ist auch klar das ich die Daten aus der Textdatei auslesen und in Variablen speichern muss. Ebenso die Daten die der Benutzer für sein Auto eingibt.
Aber ich habe keine Ahnung wie ich beides Verbinden soll und daraus dann ne Route berechnen soll. Ganz zu schweigen von der Grafik die gezeichnet werden soll


jackle32 - Mo 04.01.10 15:51

Hi,

ich würde mal das Stichwort "Dijkstra Algorithmus" ins Spiel bringen. Ist ein Algorithmus der speziell für solche Wegfindeprobleme gut geeignet ist. Vorteil dabei ist, dass mit Matrixen gearbeitet wird, was relativ leicht zu programmieren ist und die Verwendung von Schleifen vereinfacht.

Das Problem mit den gesperrten Straßen kann damit auch relativ leicht erschlagen werden, da dazu nur ein Wert in einer Matrix geändert werden muss und die eigentliche Funktion, die die Berechnung durchführt vollkommen unverändert bleibt. (Der Algorithmus kann sogar das Problem von Einbahnstraßen erschlagen, falls diese Forderung auch noch kommt, sozusagen alles inklusive.)

Ist ein sehr universeller Ansatz, da auch neue/andere Orte einfach eingegeben werden können. muss eben nur eine Matrix angepasst werden.

Für deinen Fall kanns du einfach mit drei Matrixen rechnen. Eine für Entfernung, eine für Kosten eine für Geschwindigkeit.

Falls noch Fragen bestehen einfach nochmal kurz nachfragen oder PN.

Gruß Jack