Другие языки программирования и технологии

построить программу вывода значения ф-ции y=А*sin(wx) в виде графика, где A=0,5, w=2, x на [0;п] ,на делфи.. . нужен текс

Доброго времени суток.

Действительно, уже было.. .А что, ссылочка http://www.realcoding.net/article/view/1601 не помогла? Какой еще текст вам надо?

======Начало цитаты ==========
Процедура DrawGraph
Ну вот и все с теорией и я приведу полный код функции, а потом разберем его.

Type TFunc = function (x: real): real;

procedure DrawGraph (f: TFunc; a: real; b: real; C: TCanvas);
var x, y, h: real;
max, min: real;
sx, sy: real;
xmid, ymid: integer;
begin
sx := (c.ClipRect.Right)/(b-a);
h := 1/sx;
xmid := c.ClipRect.Right div 2;
ymid := c.ClipRect.Bottom div 2;
x := a;
max := f( x);
min := max;
while x<=b do
begin
y := f( x);
if y<min>max then max := y;
x := x + h;
end;
sy := c.ClipRect.Bottom/ (max-min);
c.Brush.Color := clBlack;
c.FillRect(Rect(0, 0, c.ClipRect.Right, c.ClipRect.Bottom));
c.Pen.Color := clYellow;
c.MoveTo(0, ymid);
c.LineTo(c.ClipRect.Right, ymid);
c.MoveTo(xmid, 0);
c.LineTo(xmid, c.ClipRect.Bottom);
x := a;
y := f(x);
c.Pen.Color := clWhite;
c.MoveTo(xmid+round(sx*x), ymid-round(sy*y));
while x<=b do
begin
y := f(x);
c.LineTo(xmid+round(sx*x), ymid-round(sy*y));
x := x + h;
end;
end;

Ну и, наконец, нарисовали график нужной нам функции.

Небольшой пример:

Положим на форму одну кнопку и один компонент TImage. Создадим обработчик функции OnClick для кнопки примерно следующего характера, и следующую функцию для расчета функции

function f(x: real): real;
begin
Result := sin(x)*cos(x);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
DrawGraph (f, -10, 10, Image1.Canvas);
end;
======Конец цитаты========

Как я уже писал, вам нужно, вместо предложенной в статье, сделать реализацию своей функции плюс поставить свои границы при вызове DrawGraph.

Для справки, график будет представлять собой половину синусоиды.

Удачи!
Руслан Избасов
Руслан Избасов
59 613
Лучший ответ
ты это вчера спрашивал.. . Сколько можно? Уже Дельфи бы выучил бы давно

Похожие вопросы