Люди плиз помогите решить задачку, очень надо!
По заданной формуле (K+1)/K*sqrt(K*K*K+2) члена ряда с номером K составить прогу вычисления всех членов ряда не меньших заданного числа E
Help! Задача на pascal!
Тут надо сначала анализ функции сделать, как она себя ведет на разных промежутках. Это еще в 10-ом классе делают. Судя по формуле промежутков где-то три, причем К<>0, К > Корня_Кубического(2) ну и т.д. в том же духе. Получив ООФ несложно проверить в каких диапазонах функция больше Е.
-
- Сообщения: 4
- Зарегистрирован: 11 дек 2006, 12:35
Все, уже разобрались. Все равно спасибо!
program pr;
var res:real;
K,e:integer;
begin
readln(e);
K:=1;
res:=(K+1)/(K*sqrt(K*K*K+2));
while res>=e do
begin
writeln(K,': ',res:0:4);
inc(K);
res:=(K+1)/(K*sqrt(K*K*K+2));
end;
readln;
end.

program pr;
var res:real;
K,e:integer;
begin
readln(e);
K:=1;
res:=(K+1)/(K*sqrt(K*K*K+2));
while res>=e do
begin
writeln(K,': ',res:0:4);
inc(K);
res:=(K+1)/(K*sqrt(K*K*K+2));
end;
readln;
end.
Можно и так, но такой подход - методом перебора, все-таки неправильный. При сложных формулах никогда не знаешь когда получишь деление на 0 или переполнение результата. В этой формуле например при К = 1300 скорее всего будет переполнение