Написать и отладить программу вывода всех значений функции S (x) для аргумента х, изменяющегося в интервале от а до b c шагом h и заданном n.
.
Панель диалога и полученные результаты представлены на рис. 3.1.
3.2.1. Пример создания оконного приложения
Текст функций-обработчиков может быть следующим (стандартный текст опущен):
//---------------------------------------------------------------------------
void __fastcall TForm1:: FormCreate (TObject *Sender)
{
Edit1->Text="0,1"; Edit2->Text="1,0";
Edit3->Text="10"; Edit4->Text="0,2";
Memo1->Lines->Add("Лабораторная работа 3");
}
Рис. 3.1
//---------------------------------------------------------------------------
void __fastcall TForm1:: Button1Click (TObject *Sender)
{
double a, b, x, h, r, s;
int n, zn = -1, k;
a = StrToFloat(Edit1->Text);
b = StrToFloat(Edit2->Text);
n = StrToInt(Edit3->Text);
h = StrToFloat(Edit4->Text);
for(x = a; x<=b; x+=h) {
r = s = 1;
for(k = 1; k<=n; k++) {
r = zn*r*x/k;
s+=r;
}
Memo1->Lines->Add("при x= "+FloatToStrF(x,ffFixed,8,2)
+" сумма= "+FloatToStrF(s,ffFixed,8,5));
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1:: Button2Click (TObject *Sender)
{
Memo1->Clear();
}
3.2.2. Пример создания консольного приложения
Текст программы предложенного задания может иметь вид (при желании можете использовать потоковый ввод-вывод и основную функцию main взять в простейшей форме, стандартный текст опущен)
|
|
#include <stdio.h> // #include <iostream.h>
#include <conio.h>
void main()
{
double a, b, x, h, r, s;
int n, zn = -1, k;
puts("Input a,b,h,n"); // cout << "Input a,b,h,n" << endl;
scanf("%lf%lf%lf%d", &a, &b, &h, &n); // cin >> a >> b >> h >> n;
for(x = a; x<=b; x+=h) {
r = s = 1;
for(k = 1; k<=n; k++) {
r=zn*r*x/k;
s+=r;
}
printf("\n x= %8.2lf sum= %8.5lf", x,s);
// cout <<"\n x = " << x << "\t sum = " << s;
}
puts("\nPress any key... "); // cout << "\nPress any key... " << endl;
getch();
}
Результат программы с введенными значениями a =0.1, b =1.0, h =0.2 и n =10: