OberonCore https://forum.oberoncore.ru/ |
|
задача, дробные ряды https://forum.oberoncore.ru/viewtopic.php?f=35&t=4542 |
Страница 1 из 1 |
Автор: | bill [ Вторник, 15 Октябрь, 2013 20:50 ] |
Заголовок сообщения: | задача, дробные ряды |
s=(1/(sin1))+(2/(sin1+sin2))+...+(x/(sin1+...+sinx)) Искал решения сам, но что-то постоянно ускользает от меня, искал примеры на разных сайтах они есть но они не похожи на мою задачу. |
Автор: | Madzi [ Вторник, 15 Октябрь, 2013 23:41 ] |
Заголовок сообщения: | Re: задача, дробные ряды |
Что в этой задаче создаёт для вас трудность? Тут сумма от 1 до x выражения вида i / sumSin(i) ; Соответственно шаги такие: 1. реализуете функцию sin (x) 2. реализуете функцию суммы функций sin(x) от 1 до x sumSin (x) = sin (1) + ... + sin (x) 3. реализуете функцию xDixSumSin(x) = x / sumSin(x) 4. реализуете функцию суммы функций xDivSumSin(x) |
Автор: | Роман М. [ Вторник, 15 Октябрь, 2013 23:56 ] |
Заголовок сообщения: | Re: задача, дробные ряды |
Ну, ничего сложного: 1. У дроби есть две части: числитель и знаменатель. В числителе - просто номер итерации, вычислять не нужно. В знаменателе идёт накопление суммы синусов: с каждой итерацией к предыдущей сумме синусов добавляется новый синус. Вот только не понял что такое 1, 2, x в sin1, sin2, sinx. Это аргументы синусов: sin(1),...,sin(x) ? 2. Каждая следующая дробь прибавляется к накопителю дробей. 3. Для каждой итерации нужно хранить промежуточные значения накопителей предыдущих итераций. Накопители имеют форму a := f(a, v) где v - это новой значение, a - накопитель. Допустим, может f(a, v) = a + v; f(a, v) = a * v; и другие варианты. В твоём случае это f(a, v) = a + v. То есть на КП накопление суммы - это INC(накопитель, новое_значение) . |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |