hehe nein nicht wirklich.
nachdem man mir hier bei der ersten frage so nett geholfen hat, poste ich nun die zweite aufgabe die ich lösen muß. Hier hackts bei mir total.
Unit 2 zuerst, weil man zuerst die aufgaben in
unit 2 beantworten muß um
unit 1 zu beantworten. Also:
Delphi-Quellcode:
unit Unit2;
//Aufgaben:
// 1) Ergänze die Methode TViereck.FlaecheBerechnen
// Tip:Die Fläche eines beliebigen Vierecks mit den Eckpunkten
// (ax,ay);(bx,by);.... berechnet man wie folgt:
// a0:=(cx-ax)*(by-dy);
// a1:=(bx-ax)*(by-ay)/2;
// a2:=(cx-bx)*(by-cy)/2;
// a3:=(cx-dx)*(cy-dy)/2;
// a4:=(dx-ax)*(ay-dy)/2;
// flaeche:=a0-a1-a2-a3-a4; ERKLÄRE DIE FORMEL!
//
// 2) Leite Vom Objekt TViereck ab ein Objekt TGrundstück,
// das alle Eigenschaften erbt und zusätzlich die Methode
// KostenBerechnen kennt. (Quadratmeterpreis als Konstante mit
// Anfangswert 85 festlegen!)
// Weitere Aufgaben in Unit1 !
interface
uses graphics,unit1;
type TViereck =
class(TObject)
public
ax,ay,bx,by,cx,cy,dx,dy:integer;
Flaeche:real;
constructor Erzeugen;
procedure Zeigen(canv:TCanvas);
function FlaecheBerechnen :real;
end;
{type TGrundstueck .....fehlt...}
implementation
constructor TViereck.Erzeugen;
begin end;
procedure TViereck.Zeigen (canv:TCanvas);
begin
with canv
do
begin
moveto(ax,ay);
lineto(by,by);
lineto(cx,cy);
lineto(dx,dy);
lineto(ax,ay);
end;
end;
function TViereck.FlaecheBerechnen:real;
Var a0,a1,a2,a3,a4:real;
Begin
{ unfertig}
End;
end.
zu 1) hier ich irgendwie meine Probleme. Ich weiß nicht wirklich wie ich das lösen soll. Hier fehlt mir einfach total der Durchblick. ich hab z.b. keine ahnung was a0 ist (bei a1-a4
vermute ich, dass es sich um die vier eckpunkte des dreiecks handelt.
Zu 2) Bei Aufgabe zwei habe ich folgendes (siehe SourceCode)! Ich hoffe das ist soweit in ordnung.
Delphi-Quellcode:
Type
TGrundstück = class(TViereck)
private
PreisProQM: real;
public
function KostenBerechnen: real;
constructor Erzeugen;
end;
Function TForm1.Kostenberechnen: real;
begin
result := Flaecheberechnen * PreisProQM;
end;
Constructor TGrundstueck.Erzeugen;
begin
inherited create;
PreisProQM := 85;
end;
Hier
Unit 1:
Delphi-Quellcode:
unit Unit1;
// Berechnung von Fläche und Preis beliebiger viereckiger Grundstücke
// Ehemals Abituraufgabe(4.Fach)
// UNIT2 wird verwendet !!!
//
// Löse zuerst die in Unit2 gestellten Aufgaben.
//
// Weitere Aufgaben:
// Schreibe mit Hilfe der neuen Methoden aus Unit2
// die hier fehlenden Prozeduren
// a)procedure FlaecheBtnClick(Sender: TObject);
// b)procedure KostenBtnClick(Sender: TObject);
interface
//uses + type weggelassen
var
Form1: TForm1;
implementation
uses unit2;
{$R *.DFM}
var Viereck1: TViereck;
procedure TForm1.ZeigeBtnClick(Sender: TObject);
begin
Viereck1.zeigen(Form1.canvas);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Viereck1:=TViereck.erzeugen;
with Viereck1
do
begin
ax:=20;ay:=180;
bx:=180;by:=200;
cx:=200;cy:=40 ;
dx:=40 ;dy:=20 ;
end;
end;
procedure TForm1.FlaecheBtnClick(Sender: TObject);
begin
{ unfertig };
end;
procedure TForm1.KostenBtnClick(Sender: TObject);
begin
{ unfertig }
end;
end.
Die kann ich nicht lösen, weil ich die
unit 2 nicht ganz verstehe.
Wenn mir hier jemand helfen könnte, wäre ich unendlich dankbar, ich kaue hierbei nämlich ein bischen auf dem Zahnfleisch.
Vielen Dank
Trax