Autor Beitrag
dog.88
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Sa 04.03.06 10:33 
"Entwickle ein Projekt, mit welchem die Kantenlänge, das Volumen und die Oberfläche eines Würfels berechnet werden sollen. Die maximale Masse, welche der Würfel haben soll, ist der einzige Wert, den der Benutzer eingeben muss. Des weiteren soll die konkrete Masse dieses Würfels bestimmt werden. Es müssen mindestens drei verschiedene Stoffe für den Würfel zu Auswahl stehen!"

Und zwar soll das so aussehen:

user defined image

Ich weiß nciht wie das gehen soll. Kann mir einer Helfen?

Wäre für jede Hilfe dankbar.


Zuletzt bearbeitet von dog.88 am Sa 04.03.06 11:35, insgesamt 1-mal bearbeitet
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Sa 04.03.06 10:37 
1.) Bitte ändere den Titel des Topics - er ist nichtssagend.
2.) Fragen zu Hausaufgaben werden hier nicht gerne gesehen - du kannst entweder konkret Fragen zu Problemen stellen, die während dem Programmieren auftreten oder das Topic in die Jobbörse verschieben lassen.

AXMD
dog.88 Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Sa 04.03.06 11:28 
Frage1:

Was ist der Unterschied zwischen maximale Masse und konkreter Masse?

Frage2:

Wie kann ich das Problem mit Verweisungen wie if, then, else bewältigen?
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8553
Erhaltene Danke: 479

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Sa 04.03.06 11:56 
Also ich sehe das Problem so: Man soll mindestens drei Materialien zur Auswahl haben, z.B. Eisen, Blei und Quecksilber (wobei ich mir grade nen Quecksilberwürfel schwer vorstellen kann, aber so siehts im Bild aus).
Diese Materialien sind unterschiedlich schwer. Angenommen, ein cm^3 Eisen wiegt ein Kilo, und der Würfel darf maximal 1000kg wiegen, dann ist das erlaubte Volumen des Würfels 1000cm^3.
Ein Würfel mit Volumen 1000 hat Kantenlänge 10, und mit der Kantenlänge kann man die Oberfläche berechnen.

Also z.B. so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
// ins OnClick des EisenButtons: 
WuerfelVolumen := maxMasse/EisenDichte;
WuerfelKante := Power(WuerfelVolumen,1/3);
WuerfelFlaeche := WuerfelKante*WuerfelKante * 6;
Die Ergebnisse muss man dann noch mit FloatToStrF in die einzelnen Labels/ Edits schreiben, und fertig.

Wo man da jetzt unbedingt ein if then else einbauen muss, ist mir zur Zeit ncoh schleierhaft...

_________________
We are, we were and will not be.
dog.88 Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Sa 04.03.06 12:06 
Danke für die Hilfe.

Aber was bedeutet dieses "Power"? Wie ergibt sich nun die konkrete Masse?
Und wie definiere ich die Dichte?

Kann man so ein Programm mit einer Schleife erstellen?


Sorry für die vielen Fragen aber ich hab keinen Plan.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8553
Erhaltene Danke: 479

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Sa 04.03.06 12:16 
Was der Quatsch mit der konkreten Masse soll, weiss ich auch nicht. Ich berechne halt, wie groß der Würfel sein darf, damit beim gewählten Material das Ding nicht zu schwer wird. Die konkrete Masse ist also dasselbe wie die maximale Masse, die der User angegeben hat. Power ist "hoch" in Delphi. Um von dem Volumen auf die Kantenlänge zu kommen, muss man die dritte Wurzel ziehen, oder "hoch ein Drittel" rechnen.

Programm mit einer Schleife erstellen? Keine Ahnung, was das nun wieder heißen soll. Eine Schleife ist in diesem Programm nicht nötig. Es sei denn, euer Lehrer möchte sowas haben:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
Kantenlaenge := 0;
repeat
  inc(Kantenlaenge);
  Volumen := Kantenlaenge * Kantenlaenge * Kantenlaenge;
  konkreteMasse := Volumen * Dichte;
until konkreteMasse > maximaleMasse;
//letzte Kantenlänge war um eins zu groß
dec(Kantenlaenge);
Volumen := Kantenlaenge * Kantenlaenge * Kantenlaenge;
konkreteMasse := Volumen * Dichte;
Hier wird der Würfel schrittweise vergrößert, bis er zu schwer wird. Mit Schleife.

_________________
We are, we were and will not be.
dog.88 Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Sa 04.03.06 12:21 
Die konkrete Nasse lass ich jetzt weg. Ich bekomme aber immer eine Fehlermeldung da ich nicht weiß wie ich die Dichte definieren soll.
Weißt du wie ich die einzelnen größen definieren soll.

Könne wir auch im ICQ reden?
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8553
Erhaltene Danke: 479

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Sa 04.03.06 12:25 
Da ich gerad nichts besseres zu tun habe, und heir scheinbar ein paar Grundlagen fehlen, geb ich mal ne kleine Nachhilfestunde per ICQ. Meine Nummer steht im Profil.

Die Ergebnisse werden dann hier veröffentlicht ;-)

_________________
We are, we were and will not be.
dog.88 Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Sa 04.03.06 13:27 
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Math;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    Panel5: TPanel;
    Panel6: TPanel;
    Panel7: TPanel;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure Button4Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);


  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  WuerfelVolumen, WuerfelKante, WuerfelFlaeche:double;
  maxMasse: single;
  const
  EisenDichte = 7.8;
  BleiDichte = 11.4;
  AluDichte = 2.7;








implementation

{$R *.dfm}

procedure TForm1.Button4Click(Sender: TObject);
begin
close;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
maxMasse:= StrToFloat(Edit1.text);
WuerfelVolumen:= maxMasse/EisenDichte;
WuerfelKante:= Power(WuerfelVolumen,1/3);
WuerfelFlaeche:= WuerfelKante*WuerfelKante*6;
Label1.Caption := FloatToStrF(WuerfelKante,ffFixed,15,2);
Label2.Caption := FloatToStrF(WuerfelVolumen,ffFixed,15,2);
Label3.Caption := FloatToStrF(WuerfelFlaeche,ffFixed,15,2);
Panel4.Caption := 'Der Würfel ist aus Eisen';

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
maxMasse := StrToFloat(Edit1.text);
WuerfelVolumen:= maxMasse/BleiDichte;
WuerfelKante:= Power(WuerfelVolumen,1/3);
WuerfelFlaeche:= WuerfelKante*WuerfelKante * 6;
Label1.Caption := FloatToStrF(WuerfelKante,ffFixed,15,2);
Label2.Caption := FloatToStrF(WuerfelVolumen,ffFixed,15,2);
Label3.Caption := FloatToStrF(WuerfelFlaeche,ffFixed,15,2);
Panel4.Caption := 'Der Würfel ist aus Blei';
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
maxMasse := StrToFloat(Edit1.text);
WuerfelVolumen:= maxMasse/AluDichte;
WuerfelKante:= Power(WuerfelVolumen,1/3);
WuerfelFlaeche:= WuerfelKante*WuerfelKante * 6;
Label1.Caption := FloatToStrF(WuerfelKante,ffFixed,15,2);
Label2.Caption := FloatToStrF(WuerfelVolumen,ffFixed,15,2);
Label3.Caption := FloatToStrF(WuerfelFlaeche,ffFixed,15,2);
Panel4.Caption := 'Der Würfel ist aus Aluminium';
end;

end.




das ist mit hilfe von gausi entstanden, vielen dank nochmal dafür.

Moderiert von user profile iconAXMD: Delphi-Tags hinzugefügt