Студопедия

Главная страница Случайная страница

Разделы сайта

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






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






Панель диалога программы с получеными результатами представлена на рис. 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;

}

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.