Написание программы

Слайд 2

Слайд 3

typedef double (*TypeFun)(double); // -------------- Прототипы функций -------------------- double fun (double);

typedef double (*TypeFun)(double);
// -------------- Прототипы функций --------------------
double fun (double); // Y(x)
double

sum (double); // S(x)
double razn (double); // |s-y|
void Out ( TypeFun /* double(*p_fun)(double) */,
double, double, double, TMemo*, int);
int n; // Глобальная переменная
Слайд 4

//--------------------- Кнопка START ( Button1Click) ------------ { double a, b, h;

//--------------------- Кнопка START ( Button1Click) ------------
{
double a, b, h;
a

= StrToFloat (Edit1->Text);
b = StrToFloat (Edit2->Text);
h = StrToFloat (Edit3->Text);
n = StrToInt (Edit4->Text);
switch ( RadioGroup1->ItemIndex ) {
case 0: Out ( fun, a, b, h, Memo1, 0);
break;
case 1: Out ( sum, a, b, h, Memo2, 1);
break;
case 2: Out ( razn, a, b, h, Memo3, 2);
break;
}
}
Слайд 5

//-------------- Функция для Y(x) ------------------------- double fun (double x) { return

//-------------- Функция для Y(x) -------------------------
double fun (double x)
{
return «Выражение для

расчета функции»;
}
//-------------- Функция для | y – s | ---------------------
double razn (double x)
{
return fabs ( fun (x) – sum (x) );
}
Слайд 6

//--------------- Функция для расчета суммы ------------ double sum (double x) {

//--------------- Функция для расчета суммы ------------
double sum (double x)
{
double s,

r;
s = «Начальное значение суммы»;
r = «Начальное значение рекуррентного элемента»;
for(int k = 1; k <= n; k++) {
r = r * «Нужный коэффициент»;
s = s + «Текущее значение элемента»;
}
return s;
}
Слайд 7

//-------------------- Вывод результатов ------------------- void Out (TypeFun p_fun /*double (*p_fun)(double)*/, double

//-------------------- Вывод результатов -------------------
void Out (TypeFun p_fun /*double (*p_fun)(double)*/,
double xn,

double xk, double h, TMemo *m, int kod )
{
double x, y;
Form1->Chart1->Series[kod]->Clear();
for(x = xn; x <= xk; x += h) {
y = p_fun(x);
m->Lines->Add("x= " + FloatToStrF(x,ffFixed,5,2)
+ " : " + FloatToStrF(y, ffFixed, 8,6));
Form1->Chart1->Series[kod]->AddXY(x, y);
}
}
Слайд 8

//------------- Кнопка All Clear (Button2Click) ---------- { Memo1->Clear(); Memo2->Clear(); Memo3->Clear(); Chart1->Series[0]->Clear(); Chart1->Series[1]->Clear(); Chart1->Series[2]->Clear(); }

//------------- Кнопка All Clear (Button2Click) ----------
{
Memo1->Clear();
Memo2->Clear();
Memo3->Clear();
Chart1->Series[0]->Clear();
Chart1->Series[1]->Clear();

Chart1->Series[2]->Clear();
}