![]() |
Re: Hilfe Luftdruckrechner
Zitat:
nur wie bekomme ich den Logarithmus in Delphi hin. Weil ich kenne nur den Befehl für den natürlichen Logarithmus. :gruebel:
Delphi-Quellcode:
h2:=ln(1000 *(1-p))*luft;
|
Re: Hilfe Luftdruckrechner
Der reicht auch völlig. Such mal nach Log-Gesetzen, da wirst du ein Gesetz finden, wie du so einen Ausdruck auch mit dem ln berechnen kannst. (Besser gesagt, mit Log-Funktionen zu beliebiger Basis)
|
Re: Hilfe Luftdruckrechner
log(4)3 = lg(4) / lg(3)
wenn ich mich nicht irre .. |
Re: Hilfe Luftdruckrechner
Hab das mal versucht so zu programmieren, aber die Werte stimmen noch nicht.
Wenn jemand sich nochmal den Quelltext anschauen könnte?
Delphi-Quellcode:
Bei einem Druck von z.B.: 933hpa müssten 500 Meter herauskommen.p:=0.013869/100; luft:=strtofloat(edit4.Text); h2:=ln(1000*(1-p))/ln(luft); edit3.text:=floattostrf(h2,fffixed,10,2); |
Re: Hilfe Luftdruckrechner
Danke euch allen, jetzt klapts.
Zu Vollständigkeit noch: 933=1000(1-0,00013869)500 /:1000 0,993=(1-0,00013869)500 log(1-0,00013869)0,933=500 500=ln(0,933)/ln(1-0,00013869) |
Re: Hilfe Luftdruckrechner
Deine Schreibweise ist recht unverständlich, aber es sieht so aus, als hättest du es verstanden. :mrgreen: Falls es sich um eine Hausaufgabe handelt, solltest du bei der Abgabe natürlich erklären können, wie du auf die Formel gekommen bist.
Auf jeden Fall sieht diese Lösung doch deutlich eleganter aus, als deine Schleife, die einmal recht lange dauert und in der du bei den ganzen Operationen mit Rundungsfehlern rechnen musst. |
Re: Hilfe Luftdruckrechner
Zitat:
Delphi-Quellcode:
Ach kennt jemand zufällig noch nein Algorithmus zum Absichern? Sprich das wenn man in ein edit Feld z.b.: einen Buchstaben eingibt, eine Warnung ausgegeben wird? (um zu verhindern, dass das Programm abstürtzt)
luft:=luft/1000;
h2:=ln(luft)/ln(1-p); Also mir ist dieser bekannt (funktioniert aber nicht):
Delphi-Quellcode:
Gibts da noch ne andere Möglichkeit? Zum Beispiel mit "if Buchstabe do begin"?
try
h:=strtoint(edit1.text); except MessageDlg ('Bitte nur Zahlen eingeben!', mtwarning,[mbOK],0); edit1.setfocus; exit; end; |
Re: Hilfe Luftdruckrechner
Zitat:
Frank :coder: PS.: Int(S,Error); // Sowas? |
Re: Hilfe Luftdruckrechner
Ich habe mal den Code für ein Editfeld, dass nur korrekt eingegebene Zahlen zulässt in der Codelibrary veröffentlicht, den kannst du für deine Zwecke anpassen.
|
Re: Hilfe Luftdruckrechner
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz