/**
* @file main.h
* @author Зайченко Д.І., гр. 515
* @date 14 березня 2023
* @brief Лабораторна робота No 2
*
* Модульне тестування. Завдання 1
*/
#include <stdio.h>
#include "prototypes.h"
int main() {
double x;
//виведення таблиці
printf("\t x \t| S(x) \t\t\t| Y(x) \t\t\t| |Y(x)-S(x)| \n\t");
for (int i = 0; i < 79; i++)printf("-");
//виведення значень в таблицю
for (x = A; x <= B; x += H) {
printf("\n\t %.1lf", x);
printf("\t| %.18lf", S(x));
printf("\t| %.18lf", Y(x));
printf("\t| %.18lf\n ",Y_minus_S(x));
}
}
/**
* @file realisation.c
* @author Зайченко Д.І., гр. 515
* @date 14 березня 2023
* @brief Лабораторна робота No 2
*
* Модульне тестування. Завдання 1
*/
#include <math.h>
#include "prototypes.h"
double S(double x) {
double temp = 0;
for (int n = 1; n < N; n++) {
temp+= pow(-1, n + 1.0) * ((pow(x, 2.0*n)) / (n * 2.0*(n*2.0 - 1.0)));
}
return temp;
}
double Y(double x) {
return ((x * atan(x)) - log(sqrt((1 + x*x)))); //x*arctgx-ln(sqrt(1+x*x))
}
double Y_minus_S(double x) {
return (fabs(Y(x) - S(x)));
}
/**
* @file prototypes.h
* @author Зайченко Д.І., гр. 515
* @date 14 березня 2023
* @brief Лабораторна робота No 2
*
* Модульне тестування. Завдання 1
*/
#ifndef PROTOTYPES
#define PROTOTYPES
#include "const.h"
double S(double x);
double Y(double x);
double Y_minus_S(double x);
#endif
/**
* @file const.h
* @author Зайченко Д.І., гр. 515
* @date 14 березня 2023
* @brief Лабораторна робота No 2
*
* Модульне тестування. Завдання 1
*/
#ifndef CONST
#define CONST
#define A 0.1
#define B 0.8
#define H 0.1
#define N 180
#endif