Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет_1 часть_укр.doc
Скачиваний:
2
Добавлен:
09.11.2019
Размер:
1.41 Mб
Скачать

5.2. Постановка задачі

Для , яке змінюється від до із кроком , де – кількість точок, обчислити функцію , використовуючи її розклад в ступеневий ряд для двох випадків: для заданого і для заданої точності =0.0001. Для порівняння знайти точне значення функції.

5.3. Варіанти

Функція

Діапазон зміни аргументу

n

Сума

1

5

2

5

3

5

4

5

5

5

6

5

7

5

8

10

9

5

10

5

11

5

12

10

13

5

14

10

15

5

16

5

17

5

18

5

19

5

20

5

21

10

22

5

23

5

24

5

25

5

5.4. Методичні вказівки

  1. Виконання роботи зводиться до обчислення при фіксованому аргументі наступних величин: точного значення функції ; суми ряду при фіксованому ; суми ряду , що апроксимує c заданою точністю .

  2. Функція main працює за наступним алгоритмом (мал. 5.1). Спочатку оголошуються змінні: x (значення аргументу), n (число членів ряду, що враховуються), delta (величина членів, що відкидаються). За запитом користувачем уводяться значення n і delta. Потім виводиться на екран заголовок таблиці й ініціюються інтервали зміни аргументу: x1 і x2. Щоб обчислити ряд і функцію y при x, що змінюється, запускається цикл for із параметром j. Для даного j визначається поточне х, викликаються функції sum1 і sum2, які розраховують ряд при фіксованому і при заданій точності . Значення, що повертаються цими функціями, присвоюються відповідно змінним sn і se. За допомогою функції форматного виведення printf на екрані відображаються значення x, sn, se і y. Після цього інкрементується j і за умови j<=10 цикл повторюється (у даному алгоритмі 10 – це кількість значень x).

  3. Крім функції main, у програмі повинні використатися функції:

double sum1(double x, int n);

double sum2(double x, float eps);

double term(double x, int k);

double y(double x);

sum1 и sum2 записуються у вигляді:

double sum1(float x, int n){

double z=0.;

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

z+=term(x, k);

return z;

}

double sum2(float x, float eps){

double z=0., ak=1.;

int k=0;

while(fabs(ak)>eps){

ak=term(x, k);

z+=ak;

k++;

}

return z;

}

fabs – це функція бібліотеки math, що повертає значення модуля числа із плаваючою крапкою. Функція term(x,k) призначена для обчислення k-го члена ряду при заданому x.

Мал. 5.1. Блок-схема обчислення ряду

  1. Результати обчислення необхідно вивести на екран у наступному виді:

x Sn Se y

..... ...... ..... ......

..... ...... ..... ......

5.5. Зміст звіту