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

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

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

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


Новичок
*

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

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


Помогите пожалуйста решить задачу на вычесление суммы ряда с заданной точностью по таким вот формулам
cos(i)*sin(i)+i*x/(i*(2*i))+abs(i+x*ln(e))

Сама точность 5*exp(-6*ln(10))

Наклепал вот такую задачу, но она неверная, помогите исправить пожалуйста недочёты в ней

program lab4;
uses crt;
const e=2.71;
label t1;
var
a,x,s,ecp:real;
n,i:integer;
begin
clrscr;
ecp:=5*exp(-6*ln(10));
writeln('tocnost=',ecp:1:6,'');
a:=x;
x:=0.71;
n:=6;
s:=x;
i:=0;
t1: for i:=1 to n do
begin
a:=cos(i)*sin(i)+i*x/(i*(2*i))+abs(i+x*ln(e));
s:=s+a;
i:=i+1;
writeln('chusla progresii=',a:6:2,'');
end;
if a<ecp then goto t1;
writeln('kolichestvo chlenov=',i);
writeln('suma chleniv=',s:6:3,'');
readkey;
end.



Результат нужно выдать в таком порядке
• Точность =
• Член 1=
• Член 2=
Сумма чисел прогресии =

Сообщение отредактировано: Lapp -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Профи
****

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

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


Single, пользуйся тегами пожалуйста.

1. А чему должно быть равно x по условию? у тебя оно по умолчанию равно нулю..
2. Когда вычисляешь точность лучше пользоваться не for (тем более с goto), a while'ом:
while (abs(a)>ecp) and (i<=6) do


Попробуй пока так..

Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Цитата
ecp:=5*exp(-6*ln(10));
Это обязательно? Может проще задать тоже константой:
Const ecp = 5E-6;
?

Кстати, зачем ты вычисляешь ln(e) все время? Он же равен 1-це. Ты бы формулу исходную привел, а не переработанную тобой... (теги [ sup ] и [ /sup ] без пробелов для написания показателей степени)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

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

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


По условию задачи нужно делать с помощью меток.
х=0,71

Точность задана так 5*10-6
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Профи
****

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

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


Цитата
По условию задачи нужно делать с помощью меток.

blink.gif Сразу вспомнились слова нашего декана: "Основное свойство оператора перехода: квалификация программиста обратно пропорциональна количеству операторов перехода, которые он использует в своих программах".. ну да ладно, давай разбираться. smile.gif

1. точность, как сказал volvo, лучше задать в виде
Const ecp = 5E-6;

2. за х сорри.. смутило a:=х (можно просто a:=0.0), а дальше была немного невнимательна.. wink.gif
3.
for i:=1 to n do
begin
...
i:=i+1; // <- изменение параметра цикла for "вручную" крайне нежелательно,
// а у меня вообще не проходит компиляцию..
...
end;


Для чего тебе это изменение? ..нужно, чтоб значение i менялось по какому-то правилу (например только нечетные) или что?

Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Знаток
****

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

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


Цитата(Айра @ 3.12.2007 21:35) *

Для чего тебе это изменение? ..нужно, чтоб значение i менялось по какому-то правилу (например только нечетные) или что?


По тому, что там написано, он использует эту переменную для подсчёта проходов цикла (если правильно догадался) ,а => количества элементов в ряду. Но количество проходов всегда постоянно и зависит только от n?-оно равно n.

А точность это, по сути, величина дробной части? или нет.


--------------------
Objective-C, Unity3d
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

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

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


Насколько я понял, препод сказал, что член может быть только один т.к точность у меня очень маленькая. А вот как это всё правильно изобразить, что то немогу понять... А ещё n показывает, кол-во членов, хотел обмануть препода но невышло. Вот как то от этого нужно избавится sad.gif

Сообщение отредактировано: Single -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Знаток
****

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

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


Народ, а всё таки, как считать точность, если она с первого элемента больше заданной?
Этот ряд не есть сходящимся. Когда мы считали Pi, то число приближалось к нужному с каждым проходом и дробная часть росла 14-141-1415-14159 и т.д. , а тут сразу(2.51748224420 blink.gif )


--------------------
Objective-C, Unity3d
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Цитата
Этот ряд не есть сходящимся.
Да ты можешь написать нормально, ряд-то какой? Формулу приведи, тебя же просили, как можно тебе помочь, если ты там что-то намудрил, а ПОТОМ выкладываешь результат своих раздумий? Ты выложи УСЛОВИЕ (в нормальном виде, а не в Паскалевской записи)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Знаток
****

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

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


Цитата(volvo @ 4.12.2007 19:11) *

Да ты можешь написать нормально, ряд-то какой? Формулу приведи, тебя же просили, как можно тебе помочь, если ты там что-то намудрил, а ПОТОМ выкладываешь результат своих раздумий? Ты выложи УСЛОВИЕ (в нормальном виде, а не в Паскалевской записи)


volvo, сорри, а к кому относилась разгромная статья?
Мой вариант проги:

program lab4;
uses crt;
const e=2.71;
var
a,x,s,ecp:real;
i:integer;
begin
clrscr;
ecp:=5e-6;
a:=0;
x:=0.71;
s:=x;
i:=1;
while (abs(a-trunc(a) )>ecp)and(i<=5)or(a=0) do
begin
a:=cos(i)*sin(i)+i*x/(i*(2*i))+abs(i+x*ln(e));{формула}
s:=s+a;{сумма ряда}
i:=i+1;{количество элементов ряда-изначально один}
writeln('chusla progresii=',a:6:12,'');
end;
writeln('tocnost=',ecp:1:6,'');
writeln('kolichestvo chlenov=',i);
writeln('suma chleniv=',s:6:3,'');
readkey;
end.


В принципе да, в ряду получается только один член
Может с другими значениями и точностью что-получше будет?


--------------------
Objective-C, Unity3d
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Профи
****

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

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


Опять ошибочка вышла wink.gif
Удалила текст сообщения..

Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гость






$#%... YYY.gif

Объясни мне,
Цитата
Мой вариант проги:
считающей ЧТО??? Что вы выдумываете-то постоянно, не зная задания? Что это, например: ln(e)? Это что, НАДО СЧИТАТЬ? С каких пор? Устроили непонятно что... Синус в градусах или в радианах задан? Тебе известно? По условию - нет. Считает он... Ну, и что, посчитал?

Я бы все-таки дождался вменяемой реакции автора (а не просто отписки, что он сделал в прошлый раз), прежде чем вообще что-то постить...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13





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

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


Помогите пожалуйста с задачей.(не стал создавать новую тему потому-что задача на эту же тему,если что сорри).
Прикрепленное изображение
Заранее благодарен.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Новичок
*

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

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


Всем спасибо, задачу уже дотумкал сам smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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