Форум: "Прочее";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];
ВнизПОМОГИТЕ РАЗОБРАТЬСЯ С ЗАДАЧЕЙ Найти похожие ветки
← →
Караед (2006-12-07 17:05) [0]Помогите пожалуйста с задачей не могу ни как её сделать:
Для данного x (вещественное число, вводится с клавиатуры) вычислить значение выражения:
x – x3/3! + x5/5! – x7/7! + x9/9! – x11/11! + … .Вычисления производить до тех пор, пока разница между двумя соседними слагаемыми не станет меньше 0,00001 (выражение N! Называется "N факториал" и вычисляется как произведение всех чисел от 1 до N: N! = 1*2*3*4…*N). Для проверки сравните результат с синусом x. Правильно реализованные в программе вычисления в результате должны давать расхождение только в последних знаках после запятой.
Данную задачу нужно реализовать с помощью цикла While на PASCAL`Е(и ни как иначе).
← →
iXT (2006-12-07 17:12) [1]С чем помочь? Написать функцию?
← →
novill © (2006-12-07 17:18) [2]> [0] Караед (07.12.06 17:05)
Тут программы бесплатно не пишут. А помогают только тем,кто пытается делать сам :)
Как ты пробовал это сделать?
← →
Андрей Сенченко © (2006-12-07 17:18) [3]While abs(предыдущее - текущее) > 0,00001 do
begin
end;
← →
Desdechado © (2006-12-07 17:19) [4]x3/3!
это чего
← →
Jeer © (2006-12-07 17:45) [5]
> Desdechado © (07.12.06 17:19) [4]
> это чего
Это попытка черного едальщика выругаться формулой.
← →
Ega23 (from home) (2006-12-07 18:51) [6]
> Данную задачу нужно реализовать с помощью цикла While на
> PASCAL`Е(и ни как иначе).
Сколько?
← →
TUser © (2006-12-07 18:52) [7]Интересно, сколько же местных все-таки нуждаются в расшифровке обозначения N!?
← →
TUser © (2006-12-07 18:54) [8]> и ни как иначе
Вот засада-то, а ведь наверняка есть стандартная функциевина в моделе math :)
← →
Vga © (2006-12-07 19:21) [9]
function Series(x)
local Res, OldRes, Power, Sign;
OldRes=0;
Res=x;
Sign=-1;
Pow=3;
while math.abs(Res-OldRes)>0.0001 do
OldRes=Res;
Res=Res+Sign*(math.pow(x, Pow)/Fact(Pow));
Pow=Pow+2;
Sign=Sign*-1;
end;
return Res;
end;
Только это отнюдь не паскаль :)
← →
Alien1769 © (2006-12-07 19:25) [10]Напиши ход мыслей своих, даже без паскаля. А с паскалем можем помочь
← →
Vga © (2006-12-07 19:26) [11]> [10] Alien1769 © (07.12.06 19:25)
Это кому?
← →
Alien1769 © (2006-12-07 19:29) [12]автору ветки
← →
Думкин © (2006-12-07 19:32) [13]Тут недавно вычисляли синус 30-ю способами. Ищи в архивах. Удачи. Может до зачета успеешь.
← →
Alien1769 © (2006-12-07 19:36) [14]
> Думкин © (07.12.06 19:32) [13]
> Тут недавно вычисляли синус 30-ю способами. Ищи в архивах.
> Удачи. Может до зачета успеешь.
Ну вот все испортил, обидно :))
← →
Думкин © (2006-12-07 19:44) [15]> Alien1769 © (07.12.06 19:36) [14]
я? Да ты что? Код уже дали. :)
Но тут и такой момент. Если автор не почесался и не хочет, то вряд ли он и в архивы полезет. :)
К тому же после показа синуса, я бы на месте преподавателя предложил ему про косинус, а через неделю про экспоненту, через неделю про тангенс. А там и сессия закончится.
← →
Vga © (2006-12-07 20:04) [16]> [15] Думкин © (07.12.06 19:44)
Код не на паскале и с ошибкой :)
← →
Думкин © (2006-12-08 05:57) [17]
> Vga © (07.12.06 20:04) [16]
> Ну вот все испортил, обидно :))
:)
← →
Vga © (2006-12-08 14:16) [18]> [17] Думкин © (08.12.06 05:57)
ТЗ внимательнее надо читать... Хотя при тестах ошибка на длину ряда не повлияла...
← →
Vga © (2006-12-08 14:23) [19]> внимательнее надо читать...
внимательнее надо было читать...
← →
Думкин © (2006-12-08 14:25) [20]
> Vga © (08.12.06 14:23) [19]
Ну там что под слагаемым еще понимать, и под разностью.
> x9/9! – x11/11!
или
> x9/9! -(– x11/11!)
:)
← →
Anatoly Podgoretsky © (2006-12-08 14:39) [21]> Vga (08.12.2006 14:23:19) [19]
>> внимательнее надо читать...
> внимательнее надо было читать...
Первое правильнее, не последний и не первый раз.
← →
Vga © (2006-12-08 15:26) [22]> [21] Anatoly Podgoretsky © (08.12.06 14:39)
В общем случае, а в частном - малость попутал параметры, после перечитывания заметил и исправил.
← →
Zeqfreed © (2006-12-08 15:36) [23]Хм, написал на питоне:
#!/usr/bin/python
import math;
def factorial(n):
if (n < 2):
return n
else:
return factorial(n - 1)*n
acc = 0;
x = 1;
p = 1;
e = 0.000000001;
while (True):
a = (x**p) / factorial(p);
b = -(x**(p+2)) / factorial(p + 2);
acc += a + b;
p += 4;
if (abs(b - a) < e):
break;
print acc;
print math.sin(x);
При x <> 1 вроде все правильно считает, а вот при x = 1 не сходится ряд? Я все правильно сделал?
← →
Zeqfreed © (2006-12-08 15:38) [24]Ай-яй-яй, форум съел отступы, смертельные для питона! :)
← →
Jeer © (2006-12-08 15:41) [25]
> Zeqfreed © (08.12.06 15:38) [24]
Вот поэтому мы змей и не едим.
← →
Vga © (2006-12-08 15:55) [26]> [23] Zeqfreed © (08.12.06 15:36)
У меня при x=1 все нормально
← →
Anatoly Podgoretsky © (2006-12-08 16:06) [27]> Zeqfreed (08.12.2006 15:38:24) [24]
Что же ты так?
На форум вали, но и свою голову имей, вот пример каждая строка на один пробел больше, в первой 0 пробелов
0
1
2
3
2
1
0
← →
Zeqfreed © (2006-12-08 16:07) [28]
> У меня при x=1 все нормально
Все, разобрался. Оказывается, когда пишешь x = 1, то он рассматривает x как целое число и использует целочисленное деление. Следовательно, нужно писать x = 1.0.
Вот и доверяй этим интерпретаторам, то ли дело паскаль :)
← →
Vga © (2006-12-08 16:09) [29]> [28] Zeqfreed © (08.12.06 16:07)
Я писал в lua, в нем int отсутствует. Только number, в моей версии - double, хотя можно скомпилить с другим числовым типом, int например.
← →
Zeqfreed © (2006-12-08 16:10) [30]
> Anatoly Podgoretsky © (08.12.06 16:06) [27]
В каком месте тогда съедаются пробелы/табуляции? Ведь съедает скрипт по одному пробелу от строки? Сейчас проведу эксперимент :)
1 Тут один пробел
2 Тут два
3 Здесь три
1 Здесь одна табуляция
2 А здесь две
← →
Zeqfreed © (2006-12-08 16:12) [31]Ну вот, первый пробел и первая табуляция пропали, как и следовало ожидать.
← →
TUser © (2006-12-08 16:13) [32]> При x <> 1 вроде все правильно считает, а вот при x = 1 не сходится ряд?
Должен сходиться, сказали же уже, что это разложение синуса.
← →
Anatoly Podgoretsky © (2006-12-08 16:18) [33]Zeqfreed © (08.12.06 16:12) [31]
А у меня полный порядок, не веришь пальцем посчитай
← →
Zeqfreed © (2006-12-08 16:39) [34]
> TUser © (08.12.06 16:13) [32]
Да, я уже понял где ошибся (см. [28]). Все отлично считается.
> Anatoly Podgoretsky © (08.12.06 16:18) [33]
Ну я ведь не единственный, у кого такая проблема. Помню, кто-то ещё жаловался. Было бы интересно разобраться в чем все-таки она заключается и как её избегать.
← →
Anatoly Podgoretsky © (2006-12-08 16:44) [35]> Zeqfreed (08.12.2006 16:39:34) [34]
Заключается она в HTML и в серверном скрипте
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.049 c