завдання 1 лаба 2

Run Settings
LanguageC
Language Version
Run Command
/** * @file laba2_1.c * @author Нездоймишпка А.О., гр. 515б * @date 21 лютого 2023 * @brief Лабораторна робота № 2 * * Модульне тестування. Завдання 1 */ #include <stdio.h> #include "functions.h" // Підключення вашого модуля з функціями Y(x) та S(x) #include<locale.h> int main() { setlocale(LC_CTYPE, "ukr"); printf("x\tY(x)\tS(x)\t|Y(x) - S(x)|\n"); for (double x = a; x <= b; x += h) { double y = Y(x); double s = S(x); double diff = y - s; if (diff < 0) diff = -diff; printf("%.2f\t%.11f\t%.11f\t%.11f\n", x, y, s, diff); // Перевірка на співпадіння у цілій частині та у перших двох позиціях після десяткової точки int y_int = (int)y; int s_int = (int)s; double y_decimal = y - y_int; double s_decimal = s - s_int; if (y_int == s_int && ((int)(y_decimal * 10000000) == (int)(s_decimal * 10000000))) { printf("Результати для x = %.2f співпадають.\n", x); } else { printf("Помилка: Результати для x = %.2f не співпадають.\n", x); } } return 0; }
/** * @file functions.h * @author Нездоймишпка А.О., гр. 515б * @date 21 лютого 2023 * @brief Лабораторна робота № 2 * * Модульне тестування. Завдання 1 */ #ifndef FUNCTIONS_H #define FUNCTIONS_H // Оголошення констант extern const double a; extern const double b; extern const double h; extern const int n; // Прототипи функцій double Y(double x); double S(double x); #endif
/** * @file functions.c * @author Нездоймишпка А.О., гр. 515б * @date 21 лютого 2023 * @brief Лабораторна робота № 2 * * Модульне тестування. Завдання 1 */ #include "functions.h" #include <math.h> // Визначення констант const double a = 0.1; // початкове значення x const double b = 1.0; // кінцеве значення x const double h = 0.1; const int n = 140; // максимальне значення n у сумі S(x) double Y(double x) { double res = ((1 + x * x) / 2) * (atan(x)) - (x / 2); return res; } double S(double x) { double sum = 0.0; for (int i = 1; i <= n; ++i) { sum += pow(-1, i + 1) * pow(x, 2 * i + 1) / (4 * pow(i, 2) - 1); } return sum; }
Editor Settings
Theme
Key bindings
Full width
Lines