Autor Beitrag
honischmelone
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mi 15.03.17 18:36 
Hallo ! Ich schreibe zurzeit in Lazarus ein Programm zur Untersuchung von einer quadratischen Funktion der Form ax^2+bx+c=0.
Diese will ich nun auch zeichnen lassen mit der TChart Komponente.
hier mein Quelltext:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm1.FormCreate(Sender: TObject);
const
  N = 100;
  MIN = -10;
  MAX = 10;
var
  i: Integer;
  x: Double;
  f:=a*(x*x)+b*x+c;
begin
  for i:=0 to N-1 do begin
    x := MIN + (MAX - MIN) * i /(N - 1);
    Chart1LineSeries1.AddXY(x, f(x));
  end;

Mein Problem: Wie lege ich f als Funktion fest? Ich gebe in mein Programm eigentlich nur a,b und c ein und hab vorher ausschließlich damit gearbeitet.
Hilfe wäre dringend angebracht und ich danke jeder Anregung !!

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
mandras
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 429
Erhaltene Danke: 107

Win 10
Delphi 6 Prof, Delphi 10.4 Prof
BeitragVerfasst: Mi 15.03.17 23:37 
Grob in dieser Art:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
function f (a,x,b,c:double):double;
begin
 result := a*(x*x)+b*x+c;
end;


Diese Funktion kannst Du nun vor die Prozedur TForm1.FormCreate setzen
oder auch gerne innerhalb dieser (also als lokale Funktion).

Das muß dann aber passieren im Block zwischen "procedure ..." und "begin", zB so:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.FormCreate(Sender: TObject);
 function f (a,x,b,c:double):double;
 begin
  result := a*(x*x)+b*x+c;
 end;

const
...


LG
frank ranis
Hält's aus hier
Beiträge: 5
Erhaltene Danke: 1



BeitragVerfasst: Do 16.03.17 11:35 
Hallo honischmelone ,

ein Vorname wäre super.

Habe mal dein Problem in ein LAZ-Mini-Prog gegossen.

Viel Spass beim probieren , ändern .

Gruß

Frank
Einloggen, um Attachments anzusehen!