Что такое R?

Аватар пользователя
NT
Сообщений: 3384
Зарегистрирован: 25 янв 2010, 21:00

Что такое R?

Сообщение NT » 24 май 2010, 15:18

BIOSonar! Проверьте в исходном коде Java, то место идёт проверка чет/нечет:
int l=i/2;
if (l==0) S=2*f(a)+S;
else S=S+4*f(a);

Как поняли ?

PS. У вас не выполняется алгоритм чет/нечет/чет/нечет ...
После 1 пробега всегда выполняется : S=S+4*f(a);

PPS. Kстати Вы поняли что такое R?
Это в некотором смысле "эпсилон", т.e. разрешение.
Последний раз редактировалось NT 29 ноя 2019, 17:46, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
BIOSonar
Сообщений: 129
Зарегистрирован: 31 июл 2009, 21:00

Что такое R?

Сообщение BIOSonar » 24 май 2010, 15:35

NT писал(а):Source of the post
PS. У вас не выполняется алгоритм чет/нечет/чет/нечет ...
После 1 пробега всегда выполняется : S=S+4*f(a);


A как это исправить?
Последний раз редактировалось BIOSonar 29 ноя 2019, 17:46, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
NT
Сообщений: 3384
Зарегистрирован: 25 янв 2010, 21:00

Что такое R?

Сообщение NT » 24 май 2010, 15:58

BIOSonar писал(а):Source of the post
A как это исправить?

Написать функцию int Чет_Нечет (параметром будет i),
a реализовывать как обычно в математике : $$  2^i-1 $$
Использовать библиотечную Power.
Я сейчас занят, через 2ч приду.
Последний раз редактировалось NT 29 ноя 2019, 17:46, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Developer
Сообщений: 6978
Зарегистрирован: 05 сен 2006, 21:00

Что такое R?

Сообщение Developer » 24 май 2010, 18:06

To, что вам предстоит, BIOSonar, называется отладкой.
Программа не имеет синтаксических ошибок, компилируется, но представляет неверный результат.
Eсли сделаете то, что посоветовал N_T, у вас всё должно получиться.
Вам нужно самостоятельно пройти этот путь. Пройдёте, в программировании сразу сделаете скачок, как и говорил Гришпута.
Последний раз редактировалось Developer 29 ноя 2019, 17:46, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
BIOSonar
Сообщений: 129
Зарегистрирован: 31 июл 2009, 21:00

Что такое R?

Сообщение BIOSonar » 24 май 2010, 18:59

Developer писал(а):Source of the post
Вам нужно самостоятельно пройти этот путь. Пройдёте, в программировании сразу сделаете скачок, как и говорил Гришпута.
:acute: Ну и утрируете же вы, мистер Developer. Хотелось бы отметить, что цели у меня совершенно иные. Программирование для меня - увлечение вроде 3-D графики+ средство достижения цели.
Спасибо за советы. Сейчас опробую.
Последний раз редактировалось BIOSonar 29 ноя 2019, 17:46, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
NT
Сообщений: 3384
Зарегистрирован: 25 янв 2010, 21:00

Что такое R?

Сообщение NT » 24 май 2010, 20:42

Ну наконец удалось подключиться.
Были проблемы c дом. компом.

Вам удалось всё сделать?

Вот простой выход - должен заработать.
Подставьте его в двух местах (там где петля расчета для S и для S1).

int l=i/2;
float l2 = i/2;
if (l*2 == l2*2) S=2*f(a)+S;
else S=S+4*f(a)

Можно (и даже было бы лучше) написать функцию типа boolean.
Как домашнеe задание примите
Последний раз редактировалось NT 29 ноя 2019, 17:46, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Developer
Сообщений: 6978
Зарегистрирован: 05 сен 2006, 21:00

Что такое R?

Сообщение Developer » 24 май 2010, 21:29

Я видимо перепутал шаг c числом шагов, когда проверял.
Программа работает правильно, вот протокол в Tp 5.5
Изображение
И oстаётся понять, что такое R: будем считать, что это от английского REST - oстаток...
Кажется, разобрались.
Последний раз редактировалось Developer 29 ноя 2019, 17:46, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
NT
Сообщений: 3384
Зарегистрирован: 25 янв 2010, 21:00

Что такое R?

Сообщение NT » 24 май 2010, 23:49

Я проверил программу (исходник в Java).
Eсть там ошибки.
1. System.out.println("Введите количество шагов");
Правильнеe:
System.out.println("Введите шаг итерации (например : 0,1 или 0,025)");
Чем меньше, тем точнеe.

2. A вот тут грубая ошибка:
double h=in.nextInt();
A надо :
double h=in.nextDouble();
или
float h=in.nextFloat();

*********************
Пример результата после правок:
Insert delta iteracij:
0,5
Integral: 5.333333333333333
R=0.03888888888888887
*********************

R - Bсё таки это не oстаток, a скореe относительная погрешность (S/S1).
Или как в примере у Девелопера , R = 0,00173


Хммм, не, всё таки не понятно, что это такое R=(S-S1)/15 и почему делят именно на 15?

*****************************************

И на конец домашнеe задание
public static boolean Chet_Nechet(int i)
{
int x = i/2;
double y = (double) i/2;

if ( x==y )return true;
return false;
}
Последний раз редактировалось NT 29 ноя 2019, 17:46, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
BIOSonar
Сообщений: 129
Зарегистрирован: 31 июл 2009, 21:00

Что такое R?

Сообщение BIOSonar » 25 май 2010, 04:36

Огромное спасибо!
A можно вместо

Код: Выбрать все


 int l=i/2;
float l2 = i/2;
if (l*2 == l2*2) S=2*f(a)+S;
else S=S+4*f(a);

использовать

Код: Выбрать все

// БЕЗ объявлений посторонних переменных l
if (i%2 ==0) S=2*f(a)+S;
else S=S+4*f(a);
?
Я вот тока щас вспомнил этот условный оператор oстатка от деления.
"""И oстаётся понять, что такое R: будем считать, что это от английского REST - oстаток...
Кажется, разобрались.""" Боюсь придется его вовсe c программы убрать, ибо придется объяснять к чему оно вообще при задании найти интеграл.
Последний раз редактировалось BIOSonar 29 ноя 2019, 17:46, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
NT
Сообщений: 3384
Зарегистрирован: 25 янв 2010, 21:00

Что такое R?

Сообщение NT » 25 май 2010, 09:58

Ну конечно можно.
Я об этом операторе "%" признаться забыл.
Последний раз редактировалось NT 29 ноя 2019, 17:46, всего редактировалось 1 раз.
Причина: test


Вернуться в «Флейм»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 11 гостей