Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Erste Delphi-Fortran-Erfahrungen (https://www.delphipraxis.net/174355-erste-delphi-fortran-erfahrungen.html)

bap107 18. Apr 2013 15:27

Erste Delphi-Fortran-Erfahrungen
 
Hallo liebe Community,


ich soll ein Gleichungssystem erstellen und das auch berechnen lassen und wollte einmal fragen, ob mir hierbei vielleicht jemand helfen kann?

Das Grundgerüst ist mir soweit bekannt ... aber an der praktischen Umsetzung hapert es leider etwas :/


Bislang habe ich drei Programme in die Hand bekommen: Notepad++, Delphi und OpenWatcom Fortran Compiler.

Ich habe schon alles in Notepad++ soweit programmiert.
Dadurch erhalte ich dann ja eine *.cop-Datei.

Jetzt soll ich diese *.cop-Datei in eine *.for-Datei umwandeln und dafür benötige ich einen "Delphi zu Fortran-Compiler".
Nehme ich dafür den OpenWatcom Fortran Compiler?
... und wenn ja, weis jemand wie?

Die zweite Frage wäre dann, wie ich dann die dadurch erstellte *.for-Datei in eie ausführbare *.exe-Datei umwandeln kann.
Dies soll durch einen "Fortran-Compiler" geschehen.


Im Anschluss ließe sich dann ja das Gleichungssystem in der Arbeitsumgebung berechnen.
Der Start des Prozesses soll dann über die CMP-Ebene stattfinden.


Es wäre wirklich super, wenn jemand Zeit & Lust hat, sich meiner etwas anzunehmen ... probier schon seit ein paar Tagen rum, hab nirgendwo im Netz etwas dazu entdeckt und bin kurz vorm Verzweifeln :(



Für Antworten wäre ich euch wirklich super dankbar! :)

sx2008 18. Apr 2013 15:41

AW: Erste Delphi-Fortran-Erfahrungen
 
Zitat:

Zitat von PK87 (Beitrag 1211953)
ich soll ein Gleichungssystem erstellen und das auch berechnen lassen

Für Schule, Studium oder Beruf?
Ist Fortran fest vorgegeben oder darf's auch eine andere Programmiersprache sein?
(ich würde da ja Python + NumPy verwenden, aber man kann lineare Gleichungssystem auch komplett in Delphi lösen)

bap107 18. Apr 2013 15:58

AW: Erste Delphi-Fortran-Erfahrungen
 
Hallo,

vielen Dank erstmal für die Antwort!

Für den Beruf :/

... also vorgegeben ist in dem Sinne nichts ... aber ich hab einen USB-Stick bekommen mit einem Delphi-, einem Fortran- und einem Notepad++-Ordner.

Außerdem ist ein Textdokument dabei, in dem steht:


1.) vollständige Installation des OPen-Watcom Fortran Compilers aus dem Verzeichnis OpenWatcom
2.) Delphi Verzeichnisstruktur auf Laufwerk kopieren z.B. c:\delphi
3.) unter dem Verzeichnis cop befinden sich die Unterverzeichnisse
mit denen die Optiemierungstexte/-programme erstellt werden
z.B. das Verzeichnis testcop


zur Einrichtung Verzeichnis:

a) zuerst durch kopieren von testcop neues Verzeichnis unter cop erstellen; z.B. meincop
b) in das Verzeichnis wechseln
c) mit Notepad++ neue cop-Datei erstellen
d) unter start - ausführen - cmd ausführen
e) auf meincop positionieren
f) Optimierungsprogramm erstellen
g) mit "makearg.bat name" ausführen

h) weitere ausführung mit "name.exe"





1. habe ich gemacht, das ist ja recht offensichtlich
2. habe ich auch gemacht
3. habe ich auch gemacht

a) habe ich
b) habe ich
c) habe ich
d) habe ich
... und ab hier herrscht dann leider Unverständnis :/


Also mir ist klar, wie ich die Datei mit dem Gleichungssystem mithilfe von Notepad++ als *.cop-Datei erstelle ... die Umwandlung in eine *.for und dann in eine *.exe-Datei wie ich es ja machen sollte ist mir aber leider vollkommen unklar :/

sx2008 18. Apr 2013 16:31

AW: Erste Delphi-Fortran-Erfahrungen
 
Ich hole mal meine Glaskugel :glaskugel: raus:

die Koeffizienten des Gleichungssystems werden als Text eingeben.
(Datei *.cop)
Ein Delphi-Programm erzeugt aus den Koeffizenten ein Fortran-Programm.
(Datei *.for)

Das Fortran-Programm muss kompiliert werden und daraus entsteht eine Exe, die dann letztendlich die Lösung des Gleichungssystems berechnet.

e) auf meincop positionieren
soll wohl heisen du sollst in das Verzeichnis .../meincop wechseln.

makearg.bat ist eine Batchdatei, die den Fortrancompiler aufruft, um aus dem Fortran-Sourcecode eine Exe zu machen.

=========
keine Ahnung wie gross das Gleichungsystem ist, aber mit Python + NumPy kann man Gleichungssysteme interaktiv lösen ohne vorher eine ganze Kette von vorbereitenden Schritten durchlaufen zu müssen.
http://docs.scipy.org/doc/numpy/refe...y.linalg.solve (siehe Examples)

bap107 18. Apr 2013 16:56

AW: Erste Delphi-Fortran-Erfahrungen
 
Hallo und nochmals vielen herzlichen Dank für die Antwort!


Genau!
... also: ich öffne als erstes Notepad++ und schreibe da meine ganzen Formeln & Co. entsprechend als Text rein.

Das speichere ich dann als *.cop-Datei in meinem neuen Verzeichnis - bspw. "meincop".


... aber wie kann ich dann aus der Datei eine *.for-Datei machen?
Vielleicht hilft es, wenn ich den mir vorliegenden DELPHI-Ordner mal beschreibe?

Ebene 1:
Ordner Delphi

Ebene 2:
Ordner bin
Ordner cop
Ordner lib

bin-Ebene:
delphiarg

cop-Ebene:
Ordner meincop
mit Inhalt:
Arbeitsumgebung
makearg
s001.cop


lib-Ebene:
wcqclib.lib
Wcqclib-16.lib



Das Gleichungssystem ist ziemlich groß und führt auch zu keiner eindeutigen Lösung. Je nachdem welche Parameter man eingibt wird dann eine bestmögliche Annäherung ermittelt.

:/

sx2008 18. Apr 2013 17:12

AW: Erste Delphi-Fortran-Erfahrungen
 
Also entweder findest du unter Delphi\bin\ oder Delphi\bin\delphiarg\ ein Programm (*.exe) oder du musst dieses Programm erst erzeugen.
Dazu müsste dann aber eine passende Delphi-Version installiert sein.

Das Programm heisst evtl. Delphiarg.exe; es nimmt die cop-Datei als Input und erzeugt eine for-Datei.

bap107 18. Apr 2013 17:20

AW: Erste Delphi-Fortran-Erfahrungen
 
Hallo,

ich hab grad mal geschaut, in "bin" ist die Datei "delphiarg" eine Anwendung, die ich starten kann -- wenn ich das mache, erscheint aber nur ganz kurz ein kleiner schwarzer Bildschirm, der dann sofort wieder weg ist ... das ist alles :/

sx2008 18. Apr 2013 17:27

AW: Erste Delphi-Fortran-Erfahrungen
 
Zitat:

Zitat von PK87 (Beitrag 1211989)
..in "bin" ist die Datei "delphiarg" eine Anwendung, die ich starten kann -- wenn ich das mache, erscheint aber nur ganz kurz ein kleiner schwarzer Bildschirm, der dann sofort wieder weg ist ...

Das ist eine Konsolenanwendung, die man nur in einer Eingabeaufforderung starten kann:

Du kannst die exe in dein "meincop"-Verzeichnis kopieren und dann dort starten:
Code:
C:\> cd C:\Delphi\cop\meincop

C:\Delphi\cop\meincop>

C:\Delphi\cop\meincop> delphiarg testdaten.cop

bap107 18. Apr 2013 17:48

AW: Erste Delphi-Fortran-Erfahrungen
 
Cool!

Das hat tatsächlich geklappt ... für einen Augenblick hatte ich da eine *.for-Datei :-)
... und in der Arbeitsumgebung steht jetzt auch einiges drin.
... also im Titel Delphi übersetzen
Vielen Dank :)

Weißt Du vielleicht wie ich dann weiter machen kann?
Das macht man einfach mit Enter.
Da käme dann Schritt 2 von 3 ... also Fortran übersetzen
Da müssten dann zwei Dateien erscheinen, eine mit der Endung *.err und eine mit *.obj

... und Schritt drei ist dann Prgramm ausführen ... das wird auch durch nochmaliges Enter-Drücken fortgesetzt ...

stahli 18. Apr 2013 18:23

AW: Erste Delphi-Fortran-Erfahrungen
 
Wenn Dir die Formel/Zielstellung bekannt und der Umfang begrenzt ist könnte man das vielleicht in Delphi in einer Formularanwendung neu umsetzen.
Im Handling wäre es sicher einfacher. ;-)

BUG 18. Apr 2013 19:26

AW: Erste Delphi-Fortran-Erfahrungen
 
Zitat:

Zitat von stahli (Beitrag 1211995)
Wenn Dir die Formel/Zielstellung bekannt und der Umfang begrenzt ist könnte man das vielleicht in Delphi in einer Formularanwendung neu umsetzen.

:warn: Vorsicht! Wir wissen alle nicht, was im Fortran-Programm numerisch so getrieben wird.
So etwas könnte auch sehr sensibel auf kleinste Änderungen reagieren, zum Beispiel auf Optimierungen im Delphicompiler oder semantisch eigentlich unbedeutende Übersetzungsfehler.

Jens01 18. Apr 2013 19:54

AW: Erste Delphi-Fortran-Erfahrungen
 
Zitat:

Zitat von BUG (Beitrag 1212005)
:warn: Vorsicht! Wir wissen alle nicht, was im Fortran-Programm numerisch so getrieben wird.
So etwas könnte auch sehr sensibel auf kleinste Änderungen reagieren, zum Beispiel auf Optimierungen im Delphicompiler oder semantisch eigentlich unbedeutende Übersetzungsfehler.

So ein Ding kann man doch sowieso nicht ohne umfangreiche Tests in der Wirklichkeit einsetzen. Die muss es in Fortran und in Delphi geben. ..oder sehe ich das falsch:gruebel: Edit: nö

BUG 18. Apr 2013 20:06

AW: Erste Delphi-Fortran-Erfahrungen
 
Zitat:

Die muss müsste es in Fortran und in Delphi geben.
Wir wissen nichts über das Projekt. Es könnte auch ein vor Jahren von mehreren Physiker/Mathematiker-HiWis zusammengefrickelter Codegenerator sein :mrgreen:

Jens01 18. Apr 2013 20:12

AW: Erste Delphi-Fortran-Erfahrungen
 
Zitat:

Wir wissen nichts über das Projekt. Es könnte auch ein vor Jahren von mehreren Physiker/Mathematiker-HiWis zusammengefrickelter Codegenerator sein
Auch dann.. oder gerade dann..
das ich wie mit Auto ohne Bremsen fahren.

Medium 18. Apr 2013 22:54

AW: Erste Delphi-Fortran-Erfahrungen
 
Von einer "naiven" Reimplementierung würde ich hier auch gänzlich absehen. Insbesondere, weil die LGS wie der TE schrieb nicht immer vollständig lösbar sein müssen, sondern ggf. Näherungsverfahren eingesetzt werden. Wenn sich der Einsatzzweck auf die benutzten Verfahren bezieht (was durchaus sein könnte), dann müsste man schon sehr genau wissen, was sowohl das Delphi als auch Fortran (inkl. der jeweils benutzten Compiler) da gemacht haben. Die Problemstellung erscheint mir einfach zu komplex und vage um dazu raten zu können.
Viel mehr wäre es wünschenswert, wenn vom TE ein paar mehr Infos kommen würden, bzgl. Fehlermeldungen, Dingen die passieren, nicht passieren, passieren sollten, was die EIngabemenge ist, was das Ergebnis genau sein sollte - irgendwie wirkt mir das Ganze noch ein wenig konfus. Insbesondere hat es aber nichts mit Delphi (auch nicht mit Fortran) zu tun, sondern es geht lediglich darum, zwei Programme zum Zusammenspiel zu bewegen, die über eine Form von Quellcode-Datei miteinander sprechen. Also im weiteren Sinne. (Insgesamt ist das Design durchaus recht seltsam, aber ich wittere hier Arbeitsersparnis als Motivation - sprich Wiederverwenden um "Verstehenmüssen" zu vermeiden.)

Habe ich das so weit richtig verstanden?

1) Es gibt ein Programm, dass aus einer Textdatei Daten liest, und diese in einen automatisch generierten Fortran-Quellcode "verwurstet"
2) Es gibt einen Fortran Compiler, der diese Quelldatei entgegen nehmen, und sie in ein Ausführbares Format bringen soll. (Kompilieren eben.)
3) Das so entstandene Programm tätigt auf irgend eine Weise eine Ausgabe, um die es letztlich geht.

4) Das Problem ist im Moment, dem Fortran Compiler die generierten Quelldateien so schmackhaft zu machen, dass er sie in eine EXE umsetzen mag.

Passt das so weit?

p80286 19. Apr 2013 09:58

AW: Erste Delphi-Fortran-Erfahrungen
 
Bis auf das "das kann man auch in Delphi" stimme ich mit meinen Vorrednern überein.

Zitat:

Zitat von PK87 (Beitrag 1211993)
Cool!

Das hat tatsächlich geklappt ... für einen Augenblick hatte ich da eine *.for-Datei :-)
... und in der Arbeitsumgebung steht jetzt auch einiges drin.
... also im Titel Delphi übersetzen
Vielen Dank :)

Weißt Du vielleicht wie ich dann weiter machen kann?
Das macht man einfach mit Enter.
Da käme dann Schritt 2 von 3 ... also Fortran übersetzen
Da müssten dann zwei Dateien erscheinen, eine mit der Endung *.err und eine mit *.obj

... und Schritt drei ist dann Prgramm ausführen ... das wird auch durch nochmaliges Enter-Drücken fortgesetzt ...

Was heißt "für einen Augenblick?

Was ist die "Arbeitsumgebung"?

Das ist alles ein wenig konfus. Könntest Du versuchen hier ein wenig Struktur hinein zu bekommen?
Dann würden u.U. die Arbeitsschritte etwas klarer?

Gruß
K-H

stahli 19. Apr 2013 10:43

AW: Erste Delphi-Fortran-Erfahrungen
 
Zitat:

Zitat von p80286 (Beitrag 1212087)
Bis auf das "das kann man auch in Delphi" stimme ich mit meinen Vorrednern überein.

:oops: Ich hatte und habe halt nicht verstanden, was das Projekt eigentlich tun soll. Aber was soll Delphi nicht können, was Fortran kann?

p80286 20. Apr 2013 20:30

AW: Erste Delphi-Fortran-Erfahrungen
 
Zitat:

Zitat von stahli (Beitrag 1212095)
Aber was soll Delphi nicht können, was Fortran kann?

Natürlich kannst Du mit Delphi alles was Du in Fortran kannst, wenn Du die richtigen Bibliotheken hast. Fortran ist nun mal seit Jahr(en)zehnten die Sprache wenn es ums "Rechnen" geht.

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz