You are on page 1of 7

КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ

ІМЕНІ ТАРАСА ШЕВЧЕНКА

ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ

Кафедра інтелектуальних технологій

Індивідуальне завдання №2
з дисципліни «Алгоритмізація і програмування»
Тема роботи: «Наближені обчислення та
рекурентні співвідношення»
Варіант №9

Виконав студент
групи КН-12
Козлов Максим
Олександрович

Перевірила
Гамоцька Сніжана
Леонідівна

Київ – 2020
За допомогою рекурентних співвідношень для степеневих рядів обчислити
наближене значення функції в заданій точці х (див. варіанти завдань).
Отриманий результат порівняти зі значенням, що повертає відповідна
бібліотечна функція мови програмування. Провести табулювання функції
на заданому проміжку [a,b] та вивести таблицю значень.

Обчислення наближеного значення функції оформити в програмі як


ітеративну (обчислення виконуються в циклі з заданою точністю) С/С++
функцію з вхідним параметром х та результатом f(x) – значення функції в
точці.

МПЗ:

Вхідні дані Дії Вихідні данi


a,b,n – цілого типу 1) while (fabs(p / i) >= e){ x – дійсного типу
s += (p / i)*z;
p *= x*x;
i++;
z*=-1;
}
2) double x = a + i * (b - a) /
10;

Рис.1 – МПЗ у вигляді чорної скриньки

Рис.1 –чорна скринька для ф-ції


Рис.3 –
схема

алгоритму роботи ф-ції

Рис.4 – схема алгоритму роботи ф-ції


Рис.5 – схема алгоритму роботи програми
Текст програми:
#include <cmath>
#include <iomanip>
#include <iostream>

using namespace std;

const double e = 1e-3;

double f(double x){


double p,s,i,z;
p = x;
s = 0;
i = 1;
z = 1;

while (fabs(p / i) >= e){


s += (p / i)*z;
p *= x*x;
i++;
z = -z;
}
return s;
}

void tabula(double a, double b, int n) {


double dx,x;
dx = (b - a) / n;
x = a + dx;
while (x <= b)
{
cout << "x: " << x <<setw(20)<< "Function: " << f(x) <<setw(20)<<
"Arctg: " <<atan(x)<<endl;
x += dx;
}
}

int main(){
float a, b;
int n;

cout << "Enter promizhok [|x|<1]: " << endl;


cin>>a>>b;
cout << "Enter the number of iterethions: " << endl;
cin>> n;
tabula(a, b, n);

return 0;
}Текстові приклади:
1. a = 0.1, b = 0.5, n = 5

2. a = 0.001, b = 0.5, n = 5

3. a = 0.5, b = 0.1, n = 5

You might also like