Міністерство освіти та науки України
Національний університет «Львівська політехніка»
Кафедра САПР
Курсова робота
« Програмування наближеного обчислення функції на основі тригонометричних рядів »
з курсу «Проблемно-орієнтовані мови програмування»
Львів – 2006
Завдання до курсової роботи.
З використання ПЕОМ обчислити з точністю е= значення функції
f(x)= представленої рядом у 25 точок, що найбільш повно охоплюють область визначення даної функції. Знайти абсолютну, відносну похибки обчислень в цих точках, та побудувати графіки точного значення функції та наближено, а також графіки функцій абсолютної відносної похибок.
Анотація.
Ловас О.М. «Програмування наближеного обчислення функції на основі тригонометричних рядів». Курсова робота. – НУ «Львівська політехніка», каф.: САПР, дисципліна: «Проблемно-орієнтовані мови програмування», 2006.
Курсова робота складається з 33 сторінок, 2 таблиць, блок-схем, графіків.
В даній курсовій роботі розроблено програмування наближеного обчислення функції на основі тригонометричних рядів за допомогою проблемно-орієнтовних мов програмування. Дана робота описує наближене обчислення значення функції представленої певним рядом з вказаною точністю , представлено результати виконання програм на алгоритмічних мовах у вигляді таблиць та графіків.
Зміст.
Завдання до курсової роботи. ..………………………………………… 2
Анотація. ..……………………………………………………………………. 3
Зміст. .…………………………………………………………………………. 4
Вступ. ..………………………………………………………………………… 5
1. Основні теоретичні відомості про мови програмування та їхні середовища. …………………………………………………………………. 7
1.1. Алгоритмічна мова програмування Паскаль. ……………… 8
1.2. Алгоритмічна мова програмування Сі/Сі++. ………………. 12
2. Математичний аналіз та розкладення функції в ряд. ………… 19
3. Аналіз ряду індивідуального завдання……………………………… 21
4. Блок-схема та опис алгоритму обчислення функції по ряду. .. 22
5. Опис тексту програм на проблемно-орієнтованих мовах. ……. 23
5.1. Текст програми на алгоритмічній мові «Паскаль». …………. 23
5.2. Текст програми на алгоритмічній мові «С/С++». …………...25
6. Таблиці та аналіз результатів виконання програм на алгоритмічних мовах «Паскаль» та «С/С++». ……………………………………………….. 27
7. Графіки функції та її наближення рядом, абсолютних і відносних похибок результатів. ………………………………………………………….. 29
Висновки та аналіз результатів. ……………………………………………. 32
Список використаної літератури. ………………………………………….. 33
Вступ
Системи команд, навіть найсучасніших автоматичних пристроїв, у тому числі комп’ютерів, дуже примітивні і часто обмежуються набором елементарних команд. Кожна команда має власний двійковий код, подання алгоритму у вигляді послідовності двійкових кодів називається програмою. Таким чином, програма – це алгоритм, який призначений для виконання комп’ютером.
Двійкове подання команд комп’ютера називається машинним кодом. Першу програму на комп’ютері, написану в машинних кодах, було запущено 1948 року в Англії. До 1950 року всі програми для комп’ютерів складалися виключно в машинних кодах. Досить швидко стало зрозуміло, що процес формування машинного коду можна автоматизувати. Вже 1950 року для запису програм почали застосовувати мнемічну мову(від грец.-уміння запам’ятовувати )- мову асемблера.
Розширення можливостей застосування комп’ютерів сприяло залученню до розробки програм спеціалістів не тільки з програмування, але й з інших галузей – математики, фізики, інженерів, технологів тощо. Стала необхідність до створення більш доступних засобів програмування, такі засоби дістали назву мов програмування.
Мова програмування – це штучна мова, призначена для написання програм для комп’ютера. Одним із найважливіших наслідків створення мов програмування стала можливість для фахівців різних країн обмінюватись програмами. Це сприяло розвитку культури програмування, становлення технології розробки програм, формування фонду програмних продуктів.
У період з 1960 року по наш час було створено тисячі мов програмування, проте лише деякі з них набули всесвітнє визнання, для них було затверджено стандарт мови програмування. Найбільш відомими мовами, якими й досі користуються у багатьох країнах світу, є Бейсік, Кобол, Паскаль, С, С++, Фортран та інші.
Останнім часом дедалі більшу популярність завойовують середовища візуального програмування, які дозволяють користувачеві створювати програмні продукти, з використанням широко спектру стандартних елементів: вікон, кнопок, меню тощо. Найбільш поширеними середовищами програмування є Visual Basic (на базі мови програмування Паскаль), Visual C++ (на базі мов С та С++), Java (візуальне середовище-інтерпретатор, за синтаксисом схоже на С++).
Основні теоретичні відомості про мови програмування та їхні середовища.
Серед тисяч створених на сьогодні мов програмування можна умовно виділити певні групи.
Якщо класифікувати мови програмування з точки зору урахування ними конкретних особливостей комп’ютера (точніше, процесора), то можна ввести поняття «рівень мови програмування».
Якщо мова програмування створена для використання зі спеціальним типом процесора та враховує його особливості, то таку мову називають мовою програмування низького рівня.
Мовою програмування високого рівня вважається мова. Яка майже не враховує особливостей процесора. Найвищий рівень в наш час мають мови візуального проектування. Серед мов програмування високого рівня звичайно виділяють дві основні групи:
● Алгоритмічні мови програмування слугують для подання алгоритмів. Часто вони використовують символіку, близьку до математичної.
● Мови дескриптивного програмування – це мови, які описують не способи розв’язання задач ,а логічний або функціональний взаємозв’язок між об’єктами, поняттями предметної області. Дескриптивні мови поділяються на мови логічного програмування(наприклад, Пролог), які описують предметну область за допомогою засобів математичної логіки, та мови функціонального програмування (наприклад, Лісп), які описують зв’язки між поняттями через ієрархічну функцію.
Алгоритмічна мова програмування Паскаль.
Алфавіт мови Паскаль складається :
Великі і малі літери латинського алфавіту від А до Z і знак
підкреслювання.
Арабські цифри від 0 до 9.
Прості спеціальні символи: + , - , * , / , : , ; , ‘ , {,} ,[,],^,(,), _ ,” .
Складені спеціальні символи '..', ':=','<>', '>=', '<='.
Службові (зарезервовані) слова.
Елементарними конструкціями мови Паскаль є:
1) імена або ідентифікатори;
2)числа;
3)рядки.
Всі імена, які використовуються в програмі для означення різних об'єктів і конструкцій називаються ідентифікаторами. Розрізняють дві групи ідентифікаторів:
- стандартні ідентифікатори;
- ідентифікатори користувача;
Стандартні ідентифікатори для визначення заздалегідь означених розробником мови об'єктів.
Числа в мові Паскаль записуються в десятковій системі числення. Вони можуть бути цілими і дійсними.
Цілі числа записуються набором цифр і в пам'яті машини представляються дискретно. Діапазон значень цілого числа залежить від кількості двійкових розрядів ЕОМ. Для шістнадцяти-розрядних ЕОМ лежать в межах -32768 - 32767.
Числа дійсного типу мають дві форми запису:
1) з фіксованою крапкою;
2) з плаваючою крапкою.
Число з фіксованою крапкою записується у вигляді цілої та дробової частини, розділеної крапкою. Числа з плаваючою крапкою використовуються для запису як дуже великих так і дуже малих чисел. Десятковий порядок записується буквою Е.
Числа дійсного типу в пам'яті не представляються дискретно. Діапазон зміни дійсного числа залежить від класу ЕОМ і лежить в межах -1О- 1О.
Рядки - це послідовність символів, записаних між апострофами.
Константа - це значення, яке не змінюється в процесі виконання програми. Константи записуються або значеннями: 2.73, 5, або іменами : Pi, EPS - іменовані константи. Константи можуть бути дійсного, цілого логічного і символьного типів. Якщо в програмі використовуються іменовані константи, то вони повинні бути описані в розділі визначення констант. Тип константи розпізнається компілятором автоматично по її значенню.
Змінні використовуються для запису значень, які міняються в процесі виконання програми. Вибір імені (ідентифікатора) змінної бажано узгоджувати з її змістом. В Паскалі розрізняють прості змінні і змінні з індексами. Прості змінні записуються своїми ідентифікаторами і можуть належати до різних типів: цілого, дійсного, символьного і логічного. Змінні з індексом - це елементи масиву, наприклад А[4], В[1]. Всі змінні, що використовуються в програмі повинні бути описані у розділі опису змінних VAR.
В мові Паскаль існує чотири стандартних простих типи:
REAL - дійсний;
INTEGER – цілий;
BOOLEAN- логічний;
CHAR - символьний.
Програма на Паскалі складається з:
1) заголовка програми;
2) тіла програми.
Тіло програми містить два розділи:
1) розділ описів і декларацій;
2) розділ операторів.
Розділ операторів - це основний розділ програми, в якому відображається зміст поставленої задачі. Розділ операторів починається службовим словом BEGIN і закінчується словом END. Оператори розділяються символом ';': - крапка з комою. Програма на Паскалі закінчується крапкою '.'. Крапка - це команда для компілятора, що вже можна компілювати програму, вона закінчена. В одному рядку програми може бути як один так і кілька операторів.
В залежності від типу операндів і типу результату розрізняють три групи операцій:
1) арифметичні операції;
2) операції порівняння;
3) логічні операції.
При виклику стандартної функції слід вказати її їм 'я і в дужках її аргумент.
В Паскалі є такі стандартні функції:
ABS(X) – модуль Х;
SQR(X) – квадрат Х;
SIN(X) – синус Х;
COS(X) – косинус Х;
EXP(X) – експонента Х;
LN(X) – логарифм Х;;
SQRT(X) - корінь квадратний Х;
ARCTAN(X) – арктангенс Х;
TRANS(X) – ціла частина Х;
ROUND(X) – заокруглення Х;
ORD(X) – визначення коду символу;
CHR(X) – обернена операція;
Список зарезервованих слів мови програмування Паскаль:
Алгоритмічна мова програмування Сі/Сі++.
Сі - універсальна мова програмування. Вона розроблялась в тісному зв’язку з системою UNIX, однак не є прив’язаною до цієї операційною системою і може використовуватись у будь-яких операційних системах або машинах.
Сі - мова порівняно “низького рівня” У ній немає:
а)прямих операцій над такими об’єктами як множини, стрічки, списки і масиви;
б)операцій які маніпулюють з цілими масивами або строками, натомість використовуються структури;
в)засобів розподілу пам’яті окрім можливості визначення статичних змінних і стекового механізму при виділенні місця для локальних змінних функцій;
г)засобів вводу-виводу (READ, WRITE) і методів доступу до файлів;
все це механізми високого рівня, які в мові Сі реалізуються за допомогою функцій.
Алфавіт мови Сі
Програма в мові Сі записується символами алфавіту, який містить:
1)великі і малі букви латинського алфавіту;
2)десяткові цифри від 0 до 9;
3)спеціальні символи: “,”, [,],(,),{,},+,-,/,%,\,;,:,?,<,>,+,-,|,^,&,*,#.
Із символів складаються базові елементи мови.
Правила запису імені змінної або іменованої константи (ідентифікатора):
Ідентифікатори складаються з букв, цифр і знаку підкреслення (“-”) (до складу ідентифікатора не може входити будь-який спеціальний символ).
Першим символом повинна бути буква. Не можна починати ідентифікатори із знаку підкреслення оскільки багато змінних бібліотечних програм починається саме з цього знаку.
Не можна плутати в ідентифікаторах великі і малі букви (Х і х - це два різні ідентифікатори). Здебільшого імена змінних набирають малими буквами, а іменовані константи - великими.
Ідентифікатори не можуть співпадати з ключовими словами мови Сі.
Довжина ідентифікатора: для зовнішніх імен не більше 6 символів; для внутрішніх - не більше 31 символу.
Базові типи мови Сі:
1) char - одиничний байт, що містить один символ;
2) int - ціле число;
3) float - число з плаваючою крапкою одиничної точності;
4)double - число з плаваючою крапкою подвійної точності.
Для розширення базових типів використовуються кваліфікатори:
1) short - короткий; 2) long - довгий
У мові Сі не існує логічного або булевського типу, хоча логічні операції використовуються. Треба запам’ятати, що значенню “істина” відповідає “не нуль”, тобто будь-яке число, що не дорівнює нулю, а “не істина” - “нуль”.
Декларації
Всі змінні в програмі Сі повинні бути описані (задекларовані) до того як будуть використані. Деякі декларації можуть бути неявними. Декларація вказує тип і містить список одної або кількох змінних
int i,k,ms[20];
char C, cl;
Одночасно з декларацією змінних можлива і їх ініціалізація (задання початкового значення):
char ls=’0’;
іnt k,l,lk[20], I=1;
float eps=1. 0e-5.
До будь-якої змінної в декларації можна використати кваліфікатор const, тоді змінна перетворюється в константу, тобто її значення при виконанні програми не змінюється.
const int n=20;
const double l=2.71828182.
Структура програми
По аналогії з Паскалем і Фортраном програма на мові Сі складається з двох частин:
1) заголовка, 2)тіла програми.
Заголовок складається з директив препроцесора і імені функції. Тіло програми або функції являє собою набір операторів і міститься в фігурних дужках “{}”, що аналогічно оператором Веgin і end у Паскалі. Ознакою закінчення оператора є символ крапка з комою “;”.
Коментарі в мові СІ обмежуються символами /* і */.
Кожна програма на мові Сі складається з функцій. Функції в Сі подібні до підпрограм і функцій в Фортрані і до процедур і функцій в Паскалі. В наведеному прикладі це функція main () - основна програма пусті дужки при імені функції означають, що ніяких вхідних параметрів основна програма не потребує. Стрічка #include <stdio.h> вказує компілятору, що необхідно включити інформацію, яка міститься у файлі stdio.h - стандартна бібліотека вводу-виводу. Значок # означає, що це директива препроцесора. Значки “<>” означають, що це стандартні файли, якими комплектується компілятор Сі.
Специфікатори формату:
%d- десяткове ціле число:
%f - число з плаваючою крапкою, десятковий запис;
%e - число з плаваючою крапкою, експоненціальний запис;
%g - число з плаваючою крапкою або десятковий або експоненціальний запис;
%c - один символ;
%s - строка символів;
%u - десяткове ціле без знаку;
%o - вісімкове ціле число без знаку;
%x - шістнадцяткове ціле число без знаку.
Операції
Умовно операції в мові Сі можна розбити на такі групи:
Операції аналогічні операціям в мові Паскаль і Фортран.
1)Арифметичні операції: унарні: +;-; бінарні +;-;*;/; (додавання, віднімання, множенні, ділення)
2)Операції порівняння: >; >=; <; <=;
3)Операційні рівності: = = - рівне; != - не рівне;
4)Логічні операції: ! - “ні” ; || - “або” ; && - “і”.
Побітові операції
В мові Сі існує 6 операцій для роботи з бітами.
& - побітове “і”;
| - побітове “або”;
^ - побітове “або”;
~ - побітове “ні”;
>> - зсув вправо;
<< - зсув вліво.
Операція
“?”:” Умовний оператор if у мові Сі можна замінити операцією виду
“?”:”
z=(a<b)?a:b;
Цей оператор відповідає оператору умовного переходу такого виду:
if(a<b)
z=a;
else
z=b;
Операція присвоювання може мати такий вигляд:
<змінна>=<вираз>;
<змінна><знак операції>=<вираз>;
наприклад:
1)S=S+4
2)S+=4
У першому випадку операція присвоювання аналогічна оператору присвоювання у Паскалі і Фортрані, у другому - знак арифметичної операції виноситься за знак “=”;
В операції присвоювання можуть використовуватись такі операції:
+,-,*,/,%,<<,>>,&,|
Пріоритет і порядок виконання операцій.
В таблиці 1.2.1 приведено пріоритет і порядок виконання операцій
Таблиця 1.2.1.
Пріори-тет
Операції
Позначення
Порядок виконання
1.
Виклик функції або вибір
(); []; ->;.
зліва-направо
2.
Унарні операції
+; --; !; &; *; ~
справа-наліво
3.
Мультиплікативні
*; /; %
зліва-направо
4.
Адитивні
+; -
зліва-направо
5.
Зсуву
>>; <<
зліва-направо
6.
Порівняння
>; >=; <; <=;
зліва-направо
7.
Рівності
==; !=
зліва-направо
8.
Побітове “і”
&
зліва-направо
9.
Побітове “або”
^
зліва-направо
10.
Побітове “або”
|
зліва-направо
11.
Логічне “і”
&&
зліва-направо
12.
Логічне “або”
||
зліва-направо
13.
Умови
?:
справа-наліво
14.
Присвоювання
=; <знак>=
справа-наліво
15.
Кома
,
зліва-направо
Стандартні функції
Основні математичні функції описуються в файлі <math.h> і приводяться в таблиці 1.2.2.
Таблиця 1.2.2.
Ім’я функції
Математичний запис
Тип і межі зміни аргументів
Тип результату
Sin(x)
sin x
double
Double
Cos(x)
cos x
double
Double
Tan(x)
tg x
double
Double
Asin(x)
Arcsin x
double
Double
Acos(x)
Arccos x
Double
Double
Atan(x)
Arctg x
double
Double
Sinh(x)
sh x
double
Double
Cosh(x)
ch x
double
Double
Tanh(x)
th x
double
Double
Exp(x)
ex
double
Double
Log(x)
ln x
x>0
Double
Log10(x)
lg x
x>0
Double
Pow(x,y)
xy
X<0; y>0
Double
Sqrt(x)
X<0
Double
Fabs(x)
|x|
Double
Double
Ldexp(x,n)
x . 2n
x-double, n-int
Double
Fmod(x,y)
Залишок від ділення дійсних чисел х на у
Double
Double
2. Математичний аналіз та розкладення функції в ряд.
Нехай задана нескінчена послідовність чисел
Вираз: називається рядом, числа - називаються членами ряду, а число - загальним членом цього ряду.
Тригонометричним рядом називається ряд, який має такий вигляд:
+
Нехай функція f(x) дійсної змінної визначена і неперервна на вказаному проміжку всюди , крім , окремих точок , в яких вона може мати розрив першого роду (скінченні стрибки). Вважаємо також , що f(x) – кусково-монотонна – це означає , що проміжок можна розбити на окремі проміжки , у кожному з яких функція монотонна (строго зростає або спадає). Умови , що накладені на функцію f(x) називаються умовами Діріхле.
За умов Діріхле f(x) може бути зображення рядом :
Ряд вигляду: , де , , n=0,1,2,3…… називається рядом Фур’є.
Зважаючи на формули Ейлера ,
можемо подати ряд Фур‘є в комплексній формі :
, де
Якщо задана на проміжку , то можемо зобразити її у вигляді ряду Фур’є:
де
3. Аналіз ряду індивідуального завдання.
Для розкладу функції f(x)=зручно використати комплексну форму ряду Фур’є:
, де
Отже, розвинемо дану функцію в комплексній формі на відрізку [-П, П] нашу функцію:
По формулах Ейлера:
Отже,
. (1)
Для того, щоб перетворити отриманий в комплексній формі ряд в тригонометричну, потрібно об’єднати доданки з індексами n та -n і використовуючи формули Ейлера (наведені вище формули) замінити результат функції тригонометричним:
Із рівності (1), при n=0, обрахуємо .
Отже, .
Кінцевий результат:
.
4. Блок-схема та опис алгоритму обчислення функції по ряду.
5. Опис тексту програм на проблемно-орієнтованих мовах.
5.1. Текст програми на алгоритмічній мові «Паскаль».
program kyrsova;
Uses crt;
const e=0.0001;p=3.1416; {опис констант }
var k,ao,f,f1,x,syma,vid,absol:real;
i,z:integer; {опис змінних}
n:longint;
begin
Clrscr;
Writeln('-------------------Rezyltatu obchuslen na movi Pascal-------------');
writeln;
ao:=(exp(p)+exp(-p))/p; {обрахування значення ао }
x:=-1; {задання початкового значення х}
for i:=1 to 26 do
{цикл табулювання функції в 25 точках
з включення 26-кінцевої точки}
begin
syma:=0;
n:=1;
z:=1; {присвоєння змінним початкових значень}
k:=1;
f:=exp(x); {обрахування значення функції }
while abs(k)>e do {ітераційний цикл}
begin
k:=0;
z:=-z;
syma:=syma+(z/(1+n*n))*(cos(n*x)-n*sin(n*x)); {накручення суми}
k:=abs(f)-abs(ao/2+syma*ao);
{обрахування різниці значення функції та її наближення для визначення кількості ітерацій}
n:=n+1; {накручення n}
end;
f1:=ao/2+ao*syma; {обрахування наближеного значення функції }
absol:=abs(abs(f1)-abs(f)); {знаходження абсолютної похибки}
vid:=(absol/abs(f))*100; {знаходження відносної похибки } writeln(' ',x:3:2,' | ', f:3:4,' | ',f1:3:4,' | ',n,' | ',absol:3:4,' |
',vid:3:4,'% |' ); {вивід даних на монітор}
x:=x+0.08; {збільшення значення х на крок}
end;
readln;
end.
5.2. Текст програми на алгоритмічній мові «С/С++».
#include <stdio.h>
#include <math.h>
#include <conio.h>
#define p 3.1416
#define e 0.0001 /*визначення сталих величин*/
main ()
{
clrscr ();
printf("-----------------------Rezyltatu obraxynkiv na C------------------\n") ;
float x,n,k,ao,f,f1,syma,absol,vid;
int z; /*опис змінних*/
ao=(exp(p)+exp(-p))/p; /*обрахування значення ао*/
for (x=-1;x<1;x+=0.08)
// цикл табулювання функції в 25 точках
//з включення 26-кінцевої точки
{
syma=0;
n=1;
z=1;
k=1;
//присвоєння змінним початкових значень
f=exp(x); /*обрахування значення функції*/
while (fabs(k)>e) /*ітераційний цикл*/
{
k=0;
z=-z;
syma=syma+(z/(1+n*n))*(cos(n*x)-n*sin(n*x)); /*накручення суми*/
k=fabs(f)-fabs(ao/2+ao*syma);
//обрахування різниці значення функції та її наближення для //визначення кількості ітерацій
n++; /* накручення n */
}
f1=(ao/2+ao*syma);
//обрахування наближеного значення функції
absol= fabs(fabs(f)-fabs(f1)) ; /*знаходження абсолютної похибки*/ vid:=(absol/abs(f))*100; /*знаходження відносної похибки*/
printf (" x=%5.2f f(x)=%5.4f f'(x)=%5.4f n=%3.0f a=%5.4f v=%5.4f%\n",x,f,f1,n,absol,vid);
//вивід даних на монітор
}
getch();
return 0;
}
6. Таблиці та аналіз результатів виконання програм на алгоритмічних мовах «Паскаль» та «С/С++».
Результати обчислень на алгоритмічній мові Паскаль.
№
Значення
x
Значення
f(x)
Наближене значення
f’(x)
Кількість ітерацій
n
Абсолютна похибка
Відносна похибка
1
-1.00
0.3679
0.3678
280
0.0001
0.0221 %
2
-0.94
0.3985
0.3985
434
0.0000
0.0036 %
3
-0.84
0.4317
0.4316
109
0.0001
0.0141 %
4
-0.76
0.4677
0.4677
331
0.0000
0.0063 %
5
-0.68
0.5066
0.5067
301
0.0001
0.0149 %
6
-0.60
0.5488
0.5488
419
0.0000
0.0001 %
7
-0.52
0.5945
0.5945
67
0.0000
0.0068 %
8
-0.44
0.6440
0.6441
358
0.0001
0.0107 %
9
-0.36
0.6977
0.6976
359
0.0001
0.0075 %
10
-0.28
0.7558
0.7558
248
0.0000
0.0001 %
11
-0.20
0.8187
0.8186
316
0.0001
0.0103 %
12
-0.12
0.8869
0.8869
449
0.0000
0.0002 %
13
-0.04
0.9608
0.9608
307
0.0000
0.0006 %
14
0.04
1.0408
1.0409
383
0.0000
0.0047 %
15
0.12
1.1275
1.1275
208
0.0000
0.0031 %
16
0.20
1.2214
1.2213
127
0.0001
0.0071 %
17
0.28
1.3231
1.3231
102
0.0000
0.0029 %
18
0.36
1.4333
1.4333
296
0.0000
0.0002 %
19
0.44
1.5527
1.5526
108
0.0001
0.0037 %
20
0.52
1.6820
1.6821
446
0.0000
0.0022 %
21
0.60
1.8221
1.8221
178
0.0000
0.0003 %
22
0.68
1.9739
1.9739
194
0.0001
0.0030 %
23
0.76
2.1383
2.1383
322
0.0000
0.0006 %
24
0.84
2.3164
2.3163
113
0.0000
0.0019 %
25
0.92
2.5093
2.5093
164
0.0000
0.0014 %
26
1.00
2.7183
2.7182
385
0.0001
0.0036 %
Результати обчислень на алгоритмічній мові С.
№
Значення
x
Значення
f(x)
Наближене значення
f’(x)
Кількість ітерацій
n
Абсолютна похибка
Відносна похибка
1
-1.00
0.3679
0.3678
280
0.0001
0.0217 %
2
-0.94
0.3985
0.3985
434
0.0000
0.0036 %
3
-0.84
0.4317
0.4317
109
0.0001
0.0140 %
4
-0.76
0.4677
0.4677
331
0.0000
0.0067 %
5
-0.68
0.5066
0.5067
301
0.0001
0.0149 %
6
-0.60
0.5488
0.5488
419
0.0000
0.0000 %
7
-0.52
0.5945
0.5945
67
0.0000
0.0067 %
8
-0.44
0.6440
0.6441
358
0.0001
0.0109 %
9
-0.36
0.6977
0.6976
359
0.0000
0.0070 %
10
-0.28
0.7558
0.7558
248
0.0000
0.0002 %
11
-0.20
0.8187
0.8186
316
0.0001
0.0103 %
12
-0.12
0.8869
0.8869
449
0.0000
0.0002 %
13
-0.04
0.9608
0.9608
307
0.0000
0.0007 %