Ну вот, набросал побыстрому,
создай проект, кинь на форму TPaintBox, у которого в событии OnPaint, пропиши PaintBox1Paint, и смотри на результат...
Код:
function Fact(N : Integer) : Integer;
var
I:integer;
begin
Result := 1;
If N >= 1 Then
For I := 2 To N Do
Result := Result * I;
end;
procedure TForm1.PaintBox1Paint(Sender: TObject);
var
x, x0, y0, scale:integer;
begin
with PaintBox1.Canvas do
begin
scale:=8; //размер построенного графика
Pen.Color:=clBlack;
x0:=(PaintBox1.Width div 2); //определим центр графика
y0:=(PaintBox1.Height div 2);
MoveTo(x0,10);LineTo(x0,PaintBox1.Height-10); //отрисуем оси X,Y
MoveTo(10,y0);LineTo(PaintBox1.Width-10,y0);
Pen.Color:=clGreen;
MoveTo(x0,y0);
for x:=1 to 4 do //ну и отрисуем график..
LineTo(x0+(x*scale), y0-(Fact(x)*scale));
end;
end;