Программируем функцию для вычисления коэффициентов разложения

float C_k_n ( int n, int k)

{

float C;

C= (float) Factorial ( n )/ (Factorial ( k )*Factorial (n-k));

/ /Обратите внимание на приведение результата к типу float.

return C;

}

Программируем функцию для вычисления бинома.

Для возведения в степень используем библиотечную функцию pow ().Не забудьте включить файл прототипов функций математической библиотеки среды программирования.

#include <math.h>

// вычисляем бином Ньютона

float Binom ( float a, float b, int n)

{

float summa;

summa =0.0;

for (int k = 0; k < n +1; k ++)

summa = summa+ pow (a, n-k)* C_k_n(n,k)*pow(b, k);

return summa;

}

Компилируем программу, для того чтобы убедиться, что ошибок нет.

9. Открываем h-файл модуля «Function»

Программируем функцию для вычисления коэффициентов разложения - student2.ru

и помещаем в него прототипы созданных нами функций

int Factorial ( int n );

float C_k_n ( int n, int k);

float Binom ( float a, float b, int n);

Программируем функцию для вычисления коэффициентов разложения - student2.ru

10. Помещаем на форму компоненты «Panel» и «Memo»

Программируем функцию для вычисления коэффициентов разложения - student2.ru

и создаем обработчик события «Panel1Click»

Программируем функцию для вычисления коэффициентов разложения - student2.ru

11. Вставляем из модуля "Function.cpp" строку #include "Function.h в модуль «Main.cpp

Программируем функцию для вычисления коэффициентов разложения - student2.ru

Создаем программный код в обработчике события

void __fastcall TForm1::Panel1Click(TObject *Sender)

{

float B_N, a, b;

int n;

String S;

Memo1->Clear ();

a = StrToFloat (Edit1->Text);

b = StrToFloat (Edit2->Text);

n = StrToInt (Edit3->Text);

S.printf ("Проверка = %f", pow (a+b, n));

Memo1->Lines ->Add(S);

B_N = Binom ( a, b, n);

S.printf ("Вычислили = %f", B_N);

Memo1->Lines ->Add(S);

return;

}

Компилируем программу и получаем такой результат

Программируем функцию для вычисления коэффициентов разложения - student2.ru

Усложним программу, добавив функцию для проверки правильности введенных данных в поля a, b, n.

Для этого из модуля main.сpp в модуль "Function.cpp" строку #include "Function.h"

Программируем функцию для вычисления коэффициентов разложения - student2.ru

Создаем такой код для проверки данных

int Test_value ()

{

try

{

StrToFloat (Form1-> Edit1->Text);

}

catch (...)

{

Form1->Edit1->Focused ();

ShowMessage ("Ошибка в данных");

return -1;

}

try

{

StrToFloat (Form1-> Edit2->Text);

}

catch (...)

{

Form1->Edit2->Focused ();

ShowMessage ("Ошибка в данных");

return -1;

}

try

{

StrToFloat (Form1-> Edit3->Text);

}

catch (...)

{

Form1->Edit3->Focused ();

ShowMessage ("Ошибка в данных");

return -1;

}

return 0;

}

Функция int Test_value () возвращает ноль при условии, что поля ввода не содержат посторонних символов. Если имеется ошибка ввода, то курсор устанавливается в поле ввода.

15.В файл "Function.h" добавляем прототип функции

int Test_value ();

Программируем функцию для вычисления коэффициентов разложения - student2.ru

16.В обработчик события «Panel1Click» вставляем строку

if (Test_value ()) return;

Программируем функцию для вычисления коэффициентов разложения - student2.ru

1. Для того чтобы нести программу на «продажу», не забудьте убрать «галку» в поле «Use dinamic RTL»

Программируем функцию для вычисления коэффициентов разложения - student2.ru

и в поле «Runtime packages«

Программируем функцию для вычисления коэффициентов разложения - student2.ru

Задание

1. Ответьте на вопрос, что в этой программе не учтено, и как можно ее улучшить?

2. Выведите на Memo коэффициенты разложения и убедитесь, что и Паскаль был прав с треугольником.

3. Разработайте программу, в которой нужно решить подобную задачу. Примеры из курса элементарной математики найти просто!

Наши рекомендации