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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2010, 13:44   #1
Heming
Форумчанин
 
Аватар для Heming
 
Регистрация: 06.07.2010
Сообщений: 105
По умолчанию График вручную

y=x*x-5*cos(x)
Посмотрите код, как найти второй корень
и если что нужно подправте, шаг 0.0001
но обычно виснет в таком шаге
что делать !!
хелп срочно через 20 мин сдавать работу!)))
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, TeEngine, Series, ExtCtrls, TeeProcs, Chart;

type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button2: TButton;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
var
x:real;
y:real;
n:integer;
begin
With Image1.Canvas do
begin
//график функции
x:=-3;
while x<3 do
begin
x:=x+0.001;
y:=x*x-5*cos(x);
Pixels[Round(100*x)+200,200-Round(20*y)]:=clBlack;
end;
moveto(0,200);
Lineto(500,200);//Oc' x
Moveto(250,0);
lineto(250,500); //Oc' y
N:=0;
while N<500 do
begin
N:=N+100;
moveto(N,190);
Lineto(N,210);
textout(N,250,Floattostr(Round(N-250)/50));
end;
N:=0;
While N<400 do
begin
N:=N+100;
moveto(245,N);
Lineto(255,N);
textout(235,n,Floattostr(Round(200-n)/50));
end;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
a,b,e,c:real;
begin
A:=Strtofloat(Edit1.Text);
B:=Strtofloat(Edit2.Text);
E:=Strtofloat(Edit3.Text);
REpeat
C:=(b-a)/2;
if (a*a-5*cos(a))*(a*a-5*cos(c))<0
then b:=c
else a:=c;
Until ((b-a)/2)<C;
Label4.Caption:=Floattostr((a+b)/2);
end;
end.
Carpe Diem
Heming вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление квадратного корня вручную 6AZblJlb Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 16.11.2011 04:02
Вручную написанная функция не работает Ananasinka SQL, базы данных 2 16.05.2010 21:26
Вручную собрать проект C++ Builder dcLout Софт 0 14.10.2009 13:35
PostMessage программно и вручную YuraL Win Api 5 12.03.2009 07:54
Копирование *.exe вручную v01umE Общие вопросы C/C++ 4 06.07.2008 20:06