Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Настройка формы




Панель диалога программы с получеными результатами представлена на рис. 9.2.

 

Рис. 9.2

 

 

Текст программы, реализующий поставленную задачу, может иметь следующий вид:

...

//---------------------------------------------------------------------------

double a,b,h,y_min,y_max;

int n;

typedef double (*Tfun)(double);

Tfun f;

double fun0(double);

double fun1(double);

double fun2(double);

//----------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

Edit1->Text="-3,1416"; // a

Edit2->Text="3,1416"; // b

Edit3->Text="50"; // n

RadioGroup1->ItemIndex = 0;

}

//----------------- Задать начальные значения ------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

double x, r;

a=StrToFloat(Edit1->Text);

b=StrToFloat(Edit2->Text);

n=StrToInt(Edit3->Text);

h = (b-a)/n;

switch(RadioGroup1->ItemIndex) {

case 0: f = fun0; break;

case 1: f = fun1; break;

case 2: f = fun2; break;

}

y_min = y_max = f(a);

for (x = a+h; x<=b; x+=h) {

r = f(x);

if(y_min>r)

y_min = r;

if(y_max<r)

y_max = r;

}

}

//------------------------ Построить график в Chart ----------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Chart1->Series[0]->Clear(); // Очистка графика

for(double x=a; x<=b; x+=h)

Chart1->Series[0]->AddXY(x,f(x));

}


//--------------------- Копировать в буфер ----------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

Chart1->CopyToClipboardMetafile(True);

}

//--------------------- Построить график в Image ---------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)

{

int xmax, ymax, xt, yt, y0, x0;

double hx,hy,x;

Image1->Canvas->Pen->Color=clBlack; // Установка цвета пера

// Поиск координат правого нижнего угла холста Image

xmax = Image1->Width;

ymax = Image1->Height;

// Закрашивание холста Image текущей белой кистью

Image1->Canvas->Rectangle(0,0,xmax,ymax);

// Поиск середины холста

y0=ymax/2;

x0=xmax/2;

// Вычерчивание координатных линий

Image1->Canvas->MoveTo(0,y0);

Image1->Canvas->LineTo(xmax,y0);

Image1->Canvas->MoveTo(x0,0);

Image1->Canvas->LineTo(x0,ymax);

Image1->Canvas->Pen->Color=clRed; // Установка цвета пера

Image1->Canvas->Pen->Width=2; // Установка ширины пера

// Поиск шагов по х и у с масштабированием

hx=(b-a)/xmax;

hy=(y_max-y_min)/ymax;

Image1->Canvas->MoveTo(ceil(x0+a/hx),ceil(y0-f(a)/hy));

for(x=a; x<=b; x+=h)

Image1->Canvas->LineTo(ceil(x0+x/hx),ceil(y0-f(x)/hy));

}

//------------------------------------------------------------

double fun0(double r)

{

return sin(r);

}

//------------------------------------------------------------

double fun1(double r)

{

return r*r;

}

//------------------------------------------------------------

double fun2(double r)

{

return r*r*r;

}

 

 





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 409 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Начинать всегда стоит с того, что сеет сомнения. © Борис Стругацкий
==> читать все изречения...

2403 - | 2177 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.