Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3 - Методичка по Builder для заочников.doc
Скачиваний:
21
Добавлен:
16.03.2016
Размер:
1.46 Mб
Скачать

3.2. Пример выполнения задания

Написать и отладить программу вывода всех значений функции S(x) для аргументах, изменяющегося в интервале отадоbc шагом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:

3.3. Индивидуальные задания

Для каждого x, изменяющегося отaдоbс шагомh, найти значения функцииY(x), суммыS(x) и |Y(x)–S(x)| и вывести в виде таблицы. Значенияa,b,hиnвводятся с клавиатуры.

Так как значение S(x) является рядом разложения функцииY(x), при правильном решении значенияSиYдля заданного аргументаx(для тестовых значений исходных данных) должны совпадать в целой части и в первых двух-четырех позициях после десятичной точки.

Работу программы проверить для a= 0,1;b= 1,0;h= 0,1;значение параметра n выбрать в зависимости от задания (10, 20, 50, 100).

1. ,.

2. .

3. .

4. .

5. .

6. .

7. ,.

8. ,.

9. ,.

10. ,.

11. ,.

12. ,.

13. ,.

14. ,.

15. ,.

16. .

Лабораторная работа №4. Функции пользователя

Цель работы:познакомиться с механизмом составления и организации взаимодействия пользова­тельских функций, составить и отладить программу.