Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2012, 19:17   #1
Чумак Татьяна
Пользователь
 
Регистрация: 27.03.2011
Сообщений: 23
По умолчанию Построение графика функции в Делфи

Я написала программу, но почему-то она не работает...все время выдает какие-то ошибки....помогите мне пожалуйста, подскажите в чем дело..
Вот код программы:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    pnl1: TPanel;
    lbl1: TLabel;
    lbl2: TLabel;
    edt1: TEdit;
    edt2: TEdit;
    btn1: TButton;
    img1: TImage;
    procedure img1Click(Sender: TObject);
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
Function f(x,a,b:real):real;
 begin
 if x<10 then f:=a*(x*x*x*x)+b*x;
 if x=10 then  f:=Sin(x+0.5)/cos(x+0.5);
 if x>10 then f:=exp(2*x)+ Sqrt(Sqr(a)+(x*x*x));

 end;

procedure GrOfFunc; 
var
  x1,x2:real; 
  y1,y2:real; 
  x:real; 
  y:real; 
  dx:real; 
  l,b:integer; 
  w,h:integer; 
  mx,my:real; 
  x0,y0:integer; 

procedure Form1.img1Click(Sender: TObject);
begin
  
  l:=10; 
  b:=Form1.ClientHeight-20; 
  h:=Form1.ClientHeight-40; 
  w:=Form1.Width-40; 

  x1:=2.5; 
  x2:=12.5; 
  dx:=0.5; 

  y1:=f(x1); 
  y2:=f(x1); 
  x:=x1;
  repeat
   y := f(x);
   if y < y1 then y1:=y;
   if y > y2 then y2:=y;
   x:=x+dx;
  until (x>=x2);

  
  my:=h/abs(y2-y1); 
  mx:=w/abs(x2-x1); 
  
  x0:=l;
  y0:=b-Abs(Round(y1*my));

  with form1.Canvas do
  begin
   
  MoveTo(l,b);LineTo(l,b-h);
  MoveTo(x0,y0);LineTo(x0+w,y0);
  TextOut(l+5,b-h,FloatToStrF(y2,ffGeneral,6,3));
  TextOut(l+5,b,FloatToStrF(y1,ffGeneral,6,3));
  
  x:=x1;
  repeat
   y:=f(x);
   Pixels[x0+Round(x*mx),y0-Round(y*my)]:=clRed;
   x:=x+dx;
  until (x>=x2);
 end;
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
  GrOfFunc;
end;


procedure TForm1.FormResize(Sender: TObject);
begin
  
  form1.Canvas.FillRect(Rect(0,0,ClientWidth,ClientHeight));
  
  GrOfFunc;
end;

procedure TForm1.btn1Click(Sender: TObject);
begin
a:=StrToFloat(edit1.text);  
b:=StrToFloat(edit2.text);
end;

end.

end;

end.

Последний раз редактировалось ACE Valery; 28.02.2012 в 23:44.
Чумак Татьяна вне форума Ответить с цитированием
Старый 28.02.2012, 20:27   #2
Чумак Татьяна
Пользователь
 
Регистрация: 27.03.2011
Сообщений: 23
По умолчанию

Ну помогите, пожалуйста.
Чумак Татьяна вне форума Ответить с цитированием
Старый 28.02.2012, 23:45   #3
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Если вы каждый раз будете набивать сообщения для поднятия темы, этим вы ничего не добьетесь. Ошибки какие выдает? "Какие-то" не катит. Текст ошибок приведите.
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Делфи построение графика, Tchart crazyopex Общие вопросы Delphi 2 23.06.2011 14:38
построение графика в делфи electrovolk Помощь студентам 0 07.01.2011 15:30
Построение графика функции. TP sysfa1l Помощь студентам 8 15.11.2009 13:01
Построение графика функции Жека:) Общие вопросы C/C++ 5 11.11.2008 19:05
Графика. Построение функции AngelOfDeath Общие вопросы Delphi 2 14.10.2008 13:44