AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pyramidenstümpfe berechnen

Ein Thema von thknub · begonnen am 26. Apr 2008 · letzter Beitrag vom 26. Apr 2008
Antwort Antwort
thknub

Registriert seit: 25. Apr 2008
12 Beiträge
 
Turbo Delphi für Win32
 
#1

Pyramidenstümpfe berechnen

  Alt 26. Apr 2008, 14:01
Hi,

ich bin noch ziemlich neu hier. Ich habe mit Dlephi angefangen, weil wir es gerade in Info haben und es doch ganz interessant klang :). Aus langerweile hab ich mich mal hingesetzt und einen kleinen Rechner zur Berechnung von Pyramidenstümpfen erstellt. Wenn ich mit einfachen Zahlen rechen, stimmt das Ergebnis nahezu 100%. Als ich dann aber einen größeren Körper berechnen wollte, wurde es ungenau: Das vom Programm erechnete Ergebnis weicht um 3 von dem mit dem Taschenrechner errechneten ab, wobei das aus dem Taschenrechenr definitiv richtig ist und der Funktionsaufbau der gleiche.

Delphi-Quellcode:
procedure TForm2.Button2Click(Sender: TObject);
var a, b, c, d, e, f, g, h, i, j : REAL;
begin
a := StrToFloat(edit1.text);
b := StrToFloat(edit2.text);
c := StrToFloat(edit3.text);
d := StrToFloat(edit4.text);
i := StrToFloat(edit9.text);
e := a*c;
f := b*d;
g := 2*((a+b)/2*sqrt((sqr(a-b)/2)+sqr(i)))+2*((c+d)/2*sqrt(sqr((c-d)/2)+sqr(i)));
h := e+f+2*((a+b)/2*sqrt((sqr(a-b)/2)+sqr(i)))+2*((c+d)/2*sqrt(sqr((c-d)/2)+sqr(i)));
j := 1/3*i*(e+sqrt(e*f)+f);
  edit5.text := FloatToStr(e);
  edit6.text := FloatToStr(f);
  edit7.text := FloatToStr(g);
  edit8.text := FloatToStr(h);
  edit10.text := FloatToStr(j);

  end;

end.
Ich weiß, das Prog ist relativ einfach, aber für mich reicht es aus.

Genaugenommen geht es um den Oberflächeninhalt (Variable h), Variable i ist die Höhe. Die Formel sollte sein:

(a*c)+(b*d)+(2*((a+b)/2*Wurzel(((a-b)/2)²+i²))+(2*((c+d)/2*Wurzel(((c-d)/2)²+i²))

http://img403.imageshack.us/img403/7...midenstal4.jpg


Mathematisch gesehen sollte alles richtig sein, aber das Ergebnis weicht mir doch etwas zu sehr ab.
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Pyramidenstümpfe berechnen

  Alt 26. Apr 2008, 14:06
Hallo und Herzlich willkommen bei der DP

Versuche mal statt Real den Datentyp Double oder Extended zu nehmen.
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
thknub

Registriert seit: 25. Apr 2008
12 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Pyramidenstümpfe berechnen

  Alt 26. Apr 2008, 14:37
Hat sich erledigt. Ich hatte eine Klammer falsch gesetzt. :wall:
Aber mal eine andere Frage:

Ich möchte mir eine Programmsammlung aus kleinen Mathe-Progs wie diesem erstellen. Wie kann ich dieses Programm vom Oberprogramm öffnen lassen. Ich hab es mit ShellExecute probiert, bin aber augenscheinlich zu blöd dazu... :gruebel:
Könnte mir mal jemand einen BSP.-Quellcode schreiben und mir dann genau sagen, was ich ersetzen muss?

PS: Extended und Double hatte ich auch schon probiert, die brachten aber logischerweise kein anderes Ergebnis.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Pyramidenstümpfe berechnen

  Alt 26. Apr 2008, 14:43
Hallo,

zukünftig gilt: neue Frage - neues Thema, damit man über die Suche auch leichter auf Problemlösungen stößt.

Dateien und Anwendungen aus Delphi heraus starten

ParamStr(0) (oder Application.ExeName) ist übrigens der Pfad zu deiner Exe und mit ExtractFilePath kannst du daraus dein Programmverzeichnis ermitteln, falls sich diese Programme in dem Verzeichnis befinden sollten.

Grüße
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:41 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