Einzelnen Beitrag anzeigen

Trax

Registriert seit: 5. Jan 2003
29 Beiträge
 
Delphi 6 Personal
 
#8
  Alt 5. Jan 2003, 18:49
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
  Mit Zitat antworten Zitat