package com.company; import java.util.Scanner; import static java.lang.Math.*; public class lab1_4 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); boolean isNotCorrect; double x = 0; int n = 4; double sum = 1; double eps = 0; double temp2 = 0; System.out.println("Данная программа позволяет вычислить значение функции y=sin(x) с точностью eps с помощью разложения функции в ряд Маклорена.."); System.out.println("Введите число x: "); do { isNotCorrect = false; try { x = Double.parseDouble(scanner.nextLine()); } catch (Exception e) { System.out.println("Ошибка! Введите число :"); isNotCorrect = true; } if ((x < -1) || (x > 1)) { System.out.println("Значение X должно находиться в диапозоне от (-1) до (1)"); isNotCorrect = true; } } while (isNotCorrect); System.out.println("Введите точность Eps"); do { isNotCorrect = false; try { eps = Double.parseDouble(scanner.nextLine()); } catch (Exception e) { System.out.println("Ошибка! Число должно быть больше нуля :"); isNotCorrect = true; } if (eps > abs(x)) { System.out.println("Значение точности должно быть меньше числа X"); isNotCorrect = true; } } while (isNotCorrect); double temp = -x * x * x / 6; for (int i = 3; i < n; i += 2) { sum = sum + temp; temp = temp * (-1) * x * x / (i + 1) / (i + 2); if (abs(temp) > eps) { n += 2; } } System.out.println("Значение функции равно " + sum); } }