Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.util.Scanner;
- import static java.lang.Math.*;
- public class lab1_5_3 {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- boolean isNotCorrect;
- double x = 0;
- int i = 1;
- double eps = 0;
- double temp2;
- 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;
- }
- } 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 sum = x;
- double temp = -x * x * x / 6;
- double diff = x;
- while (diff > eps) {
- temp2 = sum;
- sum = sum + temp;
- diff = abs(sum - temp2);
- temp = temp * (-1) * x * x / (i + 3) / (i + 4);
- i++;
- }
- System.out.println("Значение функции равно " + sum);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement