12-26-2013, 04:47 PM
Здравствуйте, нужна помощь в решении задач, буду премного благодарен(Программирую на Netbeans Java)
1.В последовательности чисел а1, а2, …, аn найти два числа, среднее арифметическое которых ближе всего к числу у.
2.Написать программу нахождения суммы ряда с заданной точностью ε.
Использовать рекуррентные соотношения при вычислении очередного члена
ряда. Вычисление заканчивается, если модуль очередного слагаемого
становится меньше заданного значения точности(ε
, причем для этих рядов
(при| x | < 1) абсолютная величина суммы всех отброшенных членов ряда
будет меньше ε. Для оценки правильности расчетов предусмотреть вычисление
![[Изображение: attachment.php?attachmentid=65120&d=1388061163]](http://www.programmersforum.ru/attachment.php?attachmentid=65120&d=1388061163)
Есть наработки по данной задаче, но результат неверный, буду рад узнать правильное решение.
1.В последовательности чисел а1, а2, …, аn найти два числа, среднее арифметическое которых ближе всего к числу у.
2.Написать программу нахождения суммы ряда с заданной точностью ε.
Использовать рекуррентные соотношения при вычислении очередного члена
ряда. Вычисление заканчивается, если модуль очередного слагаемого
становится меньше заданного значения точности(ε

(при| x | < 1) абсолютная величина суммы всех отброшенных членов ряда
будет меньше ε. Для оценки правильности расчетов предусмотреть вычисление
Есть наработки по данной задаче, но результат неверный, буду рад узнать правильное решение.
Код:
package JavaApplication2;
import java.io.*;
public class javaapplication2{
public static void main(String[] args)throws IOException{
double x, p, n, i, sum, f, eps;
BufferedReader br=new BufferedReader(new
InputStreamReader(System.in, "CP866"));
System.out.print("Введите(0<|x|<1): ");
x=Double.parseDouble(br.readLine());
System.out.print("Введите точность(eps): ");
eps=Double.parseDouble(br.readLine());
f=((x-Math.sin(x))/Math.pow(x, 2));
i=1;
p=1;
sum=p;
n=1;
while(Math.abs(p)>=eps){
p *= Math.pow(x, i)/n;
sum += p;
n=n+2;
i=i+2;
}
System.out.println("x="+x+"\neps="+eps+"\nf="+
f+"\nsum="+sum);
}
}