
Текст программы:
#include <conio.h>
#include <stdio.h>
#include <math.h>
double stpn(double x, double n){
double t=2.0, xn;
xn=x;
while(t<=n){
xn=xn*x;
t++;
}
return xn;
}
double fact(double n){
double t=1.0;
double fac=1.0;
while(t<=n){
fac=fac*t;
t++;
}
return fac;
}
double mod(double x){
if(x>=0) return x;
else return -x;
}
double epsylon()
{
double eps=1.0;
while (eps+1>1)
{
eps/=2;}
return eps;
}
double f(double x)
{
return exp(2*x);}
double next(double x, double n)
{
if (n==0) return 1;
else
return (pow(2*x,n)/fact(n));
}
double g(double x)
{
double eps=epsylon();
double sum=0;
double n=0;
double step=1;
while (n<=50)
{
if (n==1)
step=2*x;
else
step=next(x, n);
sum=sum+step;
n++;}
return sum;}
int main(){
double eps=epsylon();
printf("%.36f\n", epsylon());
printf("x \tf(x)\t\t+ \tg(x)\t\t |f(x)-g(x)|\n");
double x=1;
while (x>=0.6)
{
printf("%.2f %.17f %.17f %.30f\n", x, f(x), g(x), mod(g(x)-f(x)));
x-=0.005;}
//return 0;
getch();
}
11.Дневник отладки:
№ |
Лаб. или дом. |
Дата |
Вре-мя |
Событие |
Действие по исправлению |
Примечание |
1. |
дом. |
21.12. |
17.00 |
|
|
|
2. |
дом. |
21.12 |
17.15 |
|
|
|
3. |
лаб. |
22.12 |
14.00 |
|
|
|
Выводы по задаче:
В ходе выполнения этого задания курсовой работы, я смог эффективно использовать функции, в частности использовать в одних функция другие, при этом составленная мною программа показывает разницу между вычислениями стандартными функциями Си и вычислениями с помощью Формулы Тейлора. Для повседневного использования нет разницы между двумя подходами, но для научных работ это может повлиять на результат, поэтому в Си используются более эффективные алгоритмы вычисления функций.