Primer_Laby_4_Plyus_9_-_2012.ppt
- Количество слайдов: 8
typedef double (*Type. Fun)(double); // ------- Прототипы функций ----------double fun (double); // Y(x) double sum (double); // S(x) double razn (double); // |s-y| void Out ( Type. Fun /* double(*p_fun)(double) */, double, TMemo*, int); int n; // Глобальная переменная
//----------- Кнопка START ( Button 1 Click) ------{ double a, b, h; a = Str. To. Float (Edit 1 ->Text); b = Str. To. Float (Edit 2 ->Text); h = Str. To. Float (Edit 3 ->Text); n = Str. To. Int (Edit 4 ->Text); switch ( Radio. Group 1 ->Item. Index ) { case 0: Out ( fun, a, b, h, Memo 1, 0); break; case 1: Out ( sum, a, b, h, Memo 2, 1); break; case 2: Out ( razn, a, b, h, Memo 3, 2); break; } }
//------- Функция для Y(x) ------------double fun (double x) { return «Выражение для расчета функции» ; } //------- Функция для | y – s | ----------double razn (double x) { return fabs ( fun (x) – sum (x) ); }
//-------- Функция для расчета суммы ------double sum (double x) { double s, r; s = «Начальное значение суммы» ; r = «Начальное значение рекуррентного элемента» ; for(int k = 1; k <= n; k++) { r = r * «Нужный коэффициент» ; s = s + «Текущее значение элемента» ; } return s; }
//---------- Вывод результатов ---------void Out (Type. Fun p_fun /*double (*p_fun)(double)*/, double xn, double xk, double h, TMemo *m, int kod ) { double x, y; Form 1 ->Chart 1 ->Series[kod]->Clear(); for(x = xn; x <= xk; x += h) { y = p_fun(x); m->Lines->Add("x= " + Float. To. Str. F(x, ff. Fixed, 5, 2) + " : " + Float. To. Str. F(y, ff. Fixed, 8, 6)); Form 1 ->Chart 1 ->Series[kod]->Add. XY(x, y); } }
//------- Кнопка All Clear (Button 2 Click) -----{ Memo 1 ->Clear(); Memo 2 ->Clear(); Memo 3 ->Clear(); Chart 1 ->Series[0]->Clear(); Chart 1 ->Series[1]->Clear(); Chart 1 ->Series[2]->Clear(); }
Primer_Laby_4_Plyus_9_-_2012.ppt