IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Проверьте правильность задачи..., на сумму ряда
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Условие:
Вычислить сумму ряда с точностью ε=10(в -5 степени)
Ряд представлен в прикрепленном файле.
Текст программы:
program z1;
const e=0.00001;
var
s{Сумма ряда},n{член ряда},x,x1{Переменная}:real;
i,k:integer;{счетчик}
begin
s:=0;
i:=2;
Write('VVedite x(<=1.01): ');Read(x);
n:=((i*sqr(x))+1)/(sqr(i+1));
s:=s+n;
REPEAT
i:=i+1;
x1:=Power(x,i);n:=((x1*i)+1)/(sqr(i));
if odd(i)=false{чет} then begin
s:=s+n;
i:=i+1;end
else
s:=s-n;
i:=i+1;
until n<e;
writeln(s:20:12);
end.


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Во-первых, ты не привел свою реализацию функции Power. А во-вторых я переписал программку по-другому, и вот что получилось (в твою программу добавил вычисление Power через exp(i * ln(x))):

Твоя программа:
Цитата
VVedite x(<=1.01): 1
-4.907396669029
VVedite x(<=1.01): 0.7
-0.179428755969
VVedite x(<=1.01): 0.5
-0.114767705942
VVedite x(<=1.01): 0.3
-0.110536721367

Моя программа:
Цитата
X = 1
0.484380786041
X = 0.7
0.346899755541
X = 0.5
0.272062898495
X = 0.3
0.215163742135
Смотри сам, но почему-то у меня вызывает сомнение результат работы твоей программы. Откуда такая отрицательная сумма при X = 1?

(собственно код пока не смотрел)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Когда я делал через експаненту, то ошибку выдавало деления на ноль,и вообще это я добавил услови что вводимое число должно быть меньше либо равно 1.1, просто если другое вводишь получается вещественное переполнение.
Помогите плиз, как правильно надо делать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Я сделал вот так:
program z1;
const e=0.00001;
var
s, next, chisl: real;
x: real;
i, sign: integer;

begin
write('X = '); readln(x);
s := 0;
sign := 1; i := 1; chisl := x;
repeat
chisl := chisl*x; { <--- Это заменяет возведение в степень через функцию }
next := ((i + 1) * chisl + 1) / sqr(1.0*i + 1);
inc(i);
s := s + sign * next;
sign := -sign; { <--- Меняем знак следующего члена ряда }
until abs(next) < e;
writeln(s:20:12);
end.

Вроде нигде не ошибся...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


А почему нельзя к Х применять числа большие 1.1, как понял я - там получается очень большое число, которое не влезает в границы типа real, а может и нет, интересно как оно на самом деле?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Цитата
А почему нельзя к Х применять числа большие 1.1
Потому что при X большем чем 1 ряд расходится. И как ты собрался искать сумму расходящегося ряда? smile.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Понятно. Спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 20:15
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name