| |
|
SOFTWARE |
|
|
|
|
|
PÜ 2: Berechnung geometrischer Körper
Zielstellung und Szenario:
Vom algorithmischen Anspruch her ordnet sich dieses Projekt in die
Thematik "lineare Programmstrukturen" ein.
Als neue Komponenten lernen die Schüler das TabbedNotebook
(Karteikasten) sowie das Image (Bilderrahmen zur Aufnahme einer
Grafikdatei) kennen.
Da sich die zu programmierenden Seiten des "Karteikastens"
äußerlich und vom Quelltext her ähneln, festigen die Schüler
ihre Fertigkeiten im Umgang mit den visuellen Komponenten sowie die
Umsetzung des E-V-A-Prinzips in linearen Programmstrukturen.
Problemformulierung:
Es ist ein nutzerfreundliches Delphiprogramm zu erstellen, welches für
verschiedene geometrische Körper (Quader, Pyramiden, Kegel,
Zylinder etc.) die jeweiligen Seitenlängen einliest und auf
Knopfdruck die Werte für Oberfläche, Volumen usw. berechnet und
ausgibt.
Es soll möglich sein, auf einem einzigen Formular über Registerseiten die jeweils zu berechnenden Körper auszuwählen. Zur Verbesserung der Übersichtlichkeit ist der betreffende geometrische Körper als Abbildung zu zeigen und seine Abmessungen zu beschriften.
Komponente | Eigenschaft | Wert | Bemerkungen |
Form1 | Caption | ‘Geometrische Körper’ | Überschrift in der Kopfleiste des Programmfensters |
TabbedNotebook1 (Karteikasten) | Align | ‘alClient’ | Komponente füllt das ganze Formular aus und wird mit diesem vergrößert bzw. verkleinert |
Pages |
‘Quader’
‘Pyramide’
‘Kegel’
‘Zylinder’ |
Die Benennung der einzelnen
Registerseiten wird hier festgelegt (TStrings). Jede zu
TStrings hinzugefügte Benennung eröffnet automatisch eine
neue Seite im Register. |
TabsPerRow |
4 |
So viele Registerseiten
erscheinen maximal nebeneinander. |
ActivePage |
z.B. ‘Quader’ |
Name der gerade zu
programmierenden Seite (Auswahl aus Pages).
Diese Seite wird beim späteren Programmstart zur aktuellen
Seite. |
Image1 |
Picture |
quader.bmp |
Einfügen einer Grafik in ein
Formular. |
Quelltext zur Realisierung der
Quaderberechnung:
procedure TForm1.Button1Click (Sender: TObject);
var a, b, c, v, ao, e: Real;
begin
{Einlesen der Variablen}
a := StrToFloat(Edit1.Text);
b := StrToFloat(Edit2.Text);
c := StrToFloat(Edit3.Text);
{Berechnung}
v := a*b*c;
ao:= 2*(a*b+a*c+b*c);
e := Sqrt(Sqr(a)+Sqr(b)+Sqr(c));
{Ausgabe der Ergebnisse}
Edit4.Text := FloatToStr(v);
Edit5.Text := FloatToStr(ao);
Edit6.Text := FloatToStr(e);
end;
|
|
|
|
|
|