Kann mir jemand eine DLL bauen?

Anfängerfragen zum Programmieren mit PureBasic.
Tietze
Beiträge: 9
Registriert: 27.10.2004 10:47

Kann mir jemand eine DLL bauen?

Beitrag von Tietze »

Hallo,

ich habe verzweifelt versucht mit Purebasic folgende Funktion zu programmmieren. Ich habe es mit den Double Userlibaries probiert aber irgendwie geht es nicht. Könnte mir jemand die Funktion als dll in c++ oder so programmieren?

Bild



Vielen Dank im vorraus, falls sich jemand die Mühe macht. Wäre sonst auch glücklich wenn man das mit PB lösen könnte, aber irgendwie habe ich das nicht hinbekommen.


Gruss

Thies
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

die zeile wo procedure am anfang steht kann ich nicht lesen und die zeile unter var auch nicht. wenn du sie nicht als bild postest könnte ich es vll übersetzen. (also lesen schon aber die satzzeichen seh ich nicht wirklich, so viel wie ich da jetzt seh kommen , . : ; vor)
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
traumatic
Beiträge: 478
Registriert: 27.11.2004 15:42

Beitrag von traumatic »

Was gibt's da nicht zu erkennen?

Code: Alles auswählen

procedure GeoGk(br,la:Twinkel;sy:Longint;var x,y:double);

Code: Alles auswählen

var
  brDezimal,laDezimal,rm,e2,c,bf,g,co,g2,g1,t,dl,fa,grad,min,sek:extended;
Ansonsten kann ich mich Rings nur anschließen: Geht raus! :D
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

ok also ich habe es jetzt größtenteils verstanden was das programm macht aber so direkt übersetzten kann man das nicht. wenn ich es übersetzte brauch ich etwas länger und ich hab im moment keine zeit bzw. nicht viel zeit wegen APs
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
MARTIN
Beiträge: 454
Registriert: 08.09.2004 14:03
Wohnort: Kiel

Beitrag von MARTIN »

Code: Alles auswählen

#PI = 3.1415926
#rho = 180/#PI


Structure Twinkel
  grad.l
  min.l
  sek.l
EndStructure

Procedure.l GeoGk(*br.Twinkel,*la.Twinkel,sy.l,*x.f,*y.f)

  DefType.f brDezimal,laDezimal,rm,e2,c,bf,g,co,g2,t,dl,fa,grad,min,sek
  e2=0.0067192;188
  c=6398786.84;9
  ;in Dezimal
  ;Breite
  brDezimal=*br\grad+*br\min/60+*br\sek/3600
  ;Länge
  laDezimal=*la\grad+*la\min/60+*br\sek/3600
  bf=brDezimal/#rho
  g=111120.619*brDezimal-15988.638*Sin(2*bf)+16.72995*Sin(4*bf)-0.02178*Sin(6*bf)+0.00003*Sin(8*bf)
  co=Cos(bf)
  g2=e2*(co*co)
  gl=c/Sqr(1+g2)
  t=Sin(bf)/Cos(bf);=tan(t)
  dl=laDezimal - sy * 3
  fa=co*dl/#rho
  *y=g+(fa*fa*t*gl/2)+(fa*fa*fa*fa*fa*gl*(5-18*t*t*t*t*t*t)/120)
  *x=rm+(sy*1000000)+500000
EndProcedure
Ich weiss nicht ob es richtig funktioniert weil ich nicht weiss was die funktion berechnet.
Ausserdem sind einige der Konstanten zu gross für PB.
Datentypen ist die echte Schwachstelle von PB.
Amilo 1667|Suse Linux 10.1_64bit/WinXP |PB 4.00/3.94
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

dateitypen hmm...aber wiso sind sie so klein?

ich meine float ist wirklich ein wenig schwach für pi berechnung.
ich meine...pi wurde auf eine billion stellen hinter dem komma berechnet, das würde ich gerne in pb eingeben :lol:
warum haben andere progsprachen mehr stellen?
-.-"
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Weil viele andere Programmiersprachen z.B. auch Doubles unterstützen, PureBasic hingegen nur einfache Floats, oder auch Singles genannt. Doubles benötigen im Gegensatz zu Floats den doppelten Speicher, also 8 Bytes und können so eine höhere Genauigkeit erreichen.

Außerdem gibt es PI noch nicht mit mit einer Billion Nachkommastellen. Bis si soweit gekommen sind, müssen sie noch ein paar Jahrtausende rechnen, wenn sie nicht zwischenzeitlich eine zukünftige Rechnerarchitektur aufgreifen.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

halt

aus zuverläsiger quelle, nähmlich von microsoft weis ich, das das so ist.
2002 haben sies mit nem supercomputer beendet.

hier zitat aus encarta
Encarta hat geschrieben:
Pi, griechischer Buchstabe (p), der in der Mathematik als Symbol für das Verhältnis des Umfangs eines Kreises zu seinem Durchmesser benutzt wird.

Der griechische Mathematiker Archimedes stellte richtig fest, dass der Wert zwischen 3 10/70 und 3 10/71 liegen muss. 190 n. Chr. wurde in China die Zahl auf fünf Stellen berechnet: 3,14159. Das Symbol p für dieses Verhältnis verwendete erstmals 1706 der englische Mathematiker William Jones. Aber es wurde erst 1737, nachdem der Schweizer Mathematiker Leonhard Euler es übernommen hatte, in weiten Kreisen gebräuchlich. 1882 bewies der deutsche Mathematiker Ferdinand Lindemann, dass p eine transzendente Zahl ist – d. h., sie ist nicht Lösung irgendeiner polynomischen Gleichung mit rationalen Koeffizienten. Infolgedessen konnte Lindemann beweisen, dass die Quadratur des Kreises sowohl algebraisch als auch durch Zirkel und Lineal unmöglich ist.

Obwohl p eine irrationale Zahl ist, also unendlich viele Dezimalstellen besitzt, kann sie beliebig genau durch eine besondere mathematische Operation, eine Taylor-Reihenentwicklung, ermittelt werden. Mit Hilfe eines Computers wurde p 1989 auf 480 Millionen Stellen berechnet. Im März 1998 gelangen mit Hilfe eines Verbundes von Hochleistungsrechnern 51 Milliarden Stellen hinter dem Komma. Und mit Hilfe eines Supercomputers konnte p Ende 2002 sogar auf über eine Billion Stellen hinter dem Komma berechnet werden.

© 1993-2003 Microsoft Corporation. Alle Rechte vorbehalten.

ps. es sollte schon stimmen
ps2. aber ob microsoft wirklich zuverlässig ist :lol: ich denke nach windows 95 ist das auf 0 gesunken :lol:
-.-"
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Green Snake hat geschrieben:2002 haben sies mit nem supercomputer beendet.
π ist eine irrationale Zahl, ein nicht endender, nicht periodischer dezimalbruch.
deshalb kann die berechnung niemals beendet werden...

selbst wenn man ein Mol nachkommastellen berechnet, gibt es immer noch mehr...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Tietze
Beiträge: 9
Registriert: 27.10.2004 10:47

Beitrag von Tietze »

Hallo Jungs,

danke erstmal für die Kommentare und Martin für die Umsetzung in Purebasic. Bei der Umsetzung in PB bin ich auch auf das Problem mit den doubles gestosssen. Es gibt ja Userlibs dafür, aber irgendwie habe ich das nicht umgestzt bekommen.

Kann man in nächster Zeit doubles bei PB erwarten?

Gruß

Tietze
Antworten