Написать и отладить программу вывода всех значений функции 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. Пример создания консольного приложения
Текст программы предложенного задания может иметь вид
|
|
#include <vcl.h>
#include <stdio.h>
#include <conio.h>
#pragma hdrstop
#pragma argsused
int main(int argc, char* argv[])
{
double a, b, x, h, r, s;
int n, zn = -1, k;
puts("Input a,b,h,n");
scanf("%lf%lf%lf%d", &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);
}
puts("\nPress any key... ");
getch();
return 0;
}
Результат программы с введенными значениями a =0.1, b =1.0, h =0.2 и n =10: