Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Geometrische Körper ausrechnen (https://www.delphipraxis.net/49035-geometrische-koerper-ausrechnen.html)

Coolnes 4. Jul 2005 17:08


Geometrische Körper ausrechnen
 
Hallo. Ich Programmiere gerade ein Programm mit dem ich Körper ausrechnen kann.
Das wären dann bei mir Quader, Pyramide, Kegel und Zylinder. Die ersten beiden Körper hab ich ja noch hinbekommen, doch beim Kegel weiss ich nicht mehr weiter, wenn ich es Kompiliere, dann steht bei denn Warnungen: "[Warnung] Unit1.pas(105): W1036 Variable 'PI' ist möglicherweise nicht initialisiert worden"

Könnt ihr mir einen kleinen Code-Schnippsel aufschreiben!
Hier ist der Quellcode, welches ich geschrieben habe, ist nur der kleine Teil:

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var r, h, PI, v: Real;
begin
r :=strtofloat(Edit11.Text);
h :=strtofloat(Edit12.Text);
v :=((1/3)*(PI)*r*r*h);
Edit13.Text :=floattostr(v);
end;

JasonDX 4. Jul 2005 17:10

Re: Geometrische Körper ausrechnen
 
nach dem Begin kommt noch
Delphi-Quellcode:
Pi := 3.1415926; //ect.
oder du lässt die deklaration von PI weg und bindest die unit Math mit ein

Coolnes 4. Jul 2005 17:20

Re: Geometrische Körper ausrechnen
 
Danke hat geklappt!
Und wie würde ich das mit dem "normalem" Pi von Delphi aus hinbekommen?

JasonDX 4. Jul 2005 17:24

Re: Geometrische Körper ausrechnen
 
PI ist in der Unit Math deklariert, also diese Unit einbinden und deine Variablendeklaration rausschmeißen ;)

Thanatos81 4. Jul 2005 17:31

Re: Geometrische Körper ausrechnen
 
Lass einfach deine Deklaration weg. Und schreibst ganz normal Pi in deinen Code.

Die Unit math musste auch nicht einbinden, da Pi auch in der System.pas ist. Kannst ja mal ein leeres Projekt mit nem Button anlegen und das hier ausprobieren:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var A,r : Real;
begin
  r := 2.3;
  A := pi * r*r;
  showMessage(FloatToStr(a));
end;
edit:
Fehler im Code beseitigt. Hate r² stat r*r geschrieben. Danke für den Hinweis, Ultimator.

Ultimator 4. Jul 2005 17:32

Re: Geometrische Körper ausrechnen
 
Zitat:

und das hier ausprobieren
Dann musst du aber pi * r * r schreiben, weil Delphi r² eher nicht mögen wird ;)

Thanatos81 4. Jul 2005 17:39

Re: Geometrische Körper ausrechnen
 
Verdammt, das kommt davon, wenn man es direkt ins Forum tippt, ohne was auszuprobieren :wall:

Danke für den Hinweis, Ultimator!

Coolnes 4. Jul 2005 17:39

Re: Geometrische Körper ausrechnen
 
Das habe ich ja bis jetzt aber jetzt will er nicht richtig rechnen:

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var r, h, PI, v, o, s: Real;
begin
Pi :=3.1415926;
r :=strtofloat(Edit11.Text);
h :=strtofloat(Edit12.Text);
v :=((1/3)*(PI)*r*r*h);
s :=(sqrt(h*h)+(r*r));
o :=PI*r*(r + s);
Edit13.Text :=floattostr(v);
Edit14.Text :=floattostr(o);
end;
die oberfläche wird nicht richtig ausgerechnet, ich glaube der zieht die Wurzel nicht?
Bitte um Hilfe.

Thanatos81 4. Jul 2005 17:41

Re: Geometrische Körper ausrechnen
 
Du hast auch immernoch das PI drin. das muss weg. Sonst nimmt er nicht das "Delphi-Pi". Also so:

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var r, h, v, o, s: Real;
begin
  r :=strtofloat(Edit11.Text);
  h :=strtofloat(Edit12.Text);
  v :=((1/3)*(PI)*r*r*h);
  s :=(sqrt(h*h)+(r*r));
  o :=PI*r*(r + s);
  Edit13.Text :=floattostr(v);
  Edit14.Text :=floattostr(o);
end;

Khabarakh 4. Jul 2005 17:45

Re: Geometrische Körper ausrechnen
 
Der Fehler liegt meistens beim Programmierer :wink: .
Das hier:
Delphi-Quellcode:
s :=(sqrt(h*h)+(r*r));
sollte wohl eher
Delphi-Quellcode:
s := Sqrt(h * h + r * r);
heißen, oder :wink:² ?

@Thanatos81: Müssen nicht, aber es bietet sich natürlich an.

Coolnes 4. Jul 2005 17:46

Re: Geometrische Körper ausrechnen
 
Jetzt klappt es mit dem PI, aber wenn ich mit dem Schulrechner die Oberfläche nachrechne bekomme ich ein anderes Ergebniss. :wall:

Coolnes 4. Jul 2005 17:47

Re: Geometrische Körper ausrechnen
 
OK, die letzt antwort nehme ich zurück. Hat alles geklappt, vielen Dank.

Ultimator 4. Jul 2005 17:48

Re: Geometrische Körper ausrechnen
 
:shock:

Wie geht das denn? :gruebel:

Klappts vielleicht, wenn du das pi durch ne Konstante mit dem Wert3,141592654 ersetzt?


Geklärt, Weltbild wieder in Ordnung :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:04 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