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

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

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

> задача, вычисление суммы ряда с заданной точностью
STAB
сообщение 17.12.2008 1:13
Сообщение #1





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

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


Задача: вычислить сумму ряда с заданной точностью.

Условие:
1. Записать расчетные формулы для вычисления слагаемого по рекуррентной формуле
2. Вычислить сумму с точностью до члена ряда, меньшего е, в указанном диапазоне изменения х с определенным шагом. Для получения шага диапазон разделить на п.
3. Сравнить вычисленное значение суммы функционального ряда с данной суммой ряда у {сравнить полученные суммы с у}.
Указания. Результат напечатать в виде таблицы: первый столбец - значение х, второй — вычисленное значение суммы 5, третий 1 значение у. Значение точности е > 0 ввести с клавиатуры.
Прикрепленное изображение

Вот мои наработки:
 
program summa;
Uses crt;
Var w,n,a,j:integer;
eps,x,z,s,i,e:real;
k:longint;
BEGIN
ClrScr;
Writeln(' x s y n');
x:=pi/2; w:=0;
Repeat
s:=0; j:=1; k:=1; eps:=0.00001;
Write(x:3:1);
Repeat
j:=j+1;
k:=k*j;
{Write(' n=',j:4);
Write(' in k=',k:14);}
i:=exp((j/2)*ln(2)) * sin(j*pi/4) * exp((j)*ln(x)) ; z:=i/k; s:=s+z;
{Write(' x^n=',i:4:2);
Writeln(' an=',z:10:8); }
Until abs(z)<eps;
e:=exp(x)*sin(x);
Write(' ',s:10:5);
Write(' ',e:10:5);

w:=w+1; Writeln(' ',w);
x:=x+1/10;
Until x>pi;
Readln;
END.



Функцию y вроде считает правильно, сумму неправильно
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 3)
volvo
сообщение 17.12.2008 1:53
Сообщение #2


Гость






STAB,
  Repeat
s:=0; j:=1; k:=1; eps:=0.00001;
Почему J с единицы? Ты же его в следующем же Repeat-е сначала увеличиваешь, и только потом считаешь... При J = 1 значение теряется...


 К началу страницы 
+ Ответить 
STAB
сообщение 17.12.2008 11:25
Сообщение #3





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

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


Цитата(volvo @ 17.12.2008 1:53) *

Почему J с единицы? Ты же его в следующем же Repeat-е сначала увеличиваешь, и только потом считаешь... При J = 1 значение теряется...

Даже если j:=0 всё равно что-то не то

Сообщение отредактировано: STAB - 17.12.2008 11:25
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.12.2008 12:02
Сообщение #4


Гость






Цитата
Даже если j:=0 всё равно что-то не то
Не знаю, что там у тебя "не то", но во-первых, ты задаешь не те интервалы (по крайней мере - не те, что указаны в задании), а во-вторых, вот это выдает правильные результаты (не веришь - раскомментируй печать слагаемых, посчитай вручную, что должно быть, и сравни... Я вот сравнил для x = pi/2, расхождений не обнаружил)
program summa;
uses crt;
const eps = 0.00001;
var w,i:integer;
x, curr, s, e, nominator, xn: real;
fact : longint;
BEGIN
clrscr;
writeln(' x s y n');
x := - pi; w := 0;
repeat
s := 0; i := 1;
write(x:3:1);

i := 0; xn := 1; fact := 1;
{ writeln('Слагаемые'); }
repeat
i := i + 1;
fact := fact * i;
xn := xn * x;
nominator := exp((i/2)*ln(2)) * sin(i*pi/4) * xn;
curr := nominator / fact;
{ writeln(curr:12:7); }
s := s + curr;
until abs(curr) < eps;

e := exp(x)*sin(x);
Write(' ',s:10:5);
Write(' ',e:10:5);
w := w + 1; Writeln(' ', w);
x := x + pi / 10; { <--- }
until x > pi;
Readln;
END.

 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 20.07.2025 18:24
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"