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

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

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

> Задача на сумму ряда, Помогите решить
sintanial
сообщение 14.12.2007 20:41
Сообщение #1


Пионер
**

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

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


Помогите плиз разобраться. Короче пытаюсь сдать задачу учителю по программированию, но он не как не принимает. Говорит что что то не правельно но тоно не говорит что именно =).
Вот задачка
При заданном значении x и eps вычислить s(x,e), прекратив вычисления кода очередной член суммы по абсолютной елечине станет меньше e. При том же значении x вычеслить функцию y(x). Близость значений s(x,e) и y(x) указывает на правельность вычислений (ЭТО ЗАДАНИЕ ИЗ МЕТОДИЧКИ)

Вот сами функции и ряд

s(x,e)=x-x^2/2+x^3/3-x^4/4+x^5/5-...; y(x)=ln(1+x); [-1<x<=1]

Я программу написал, она была простенька, но после этого преподаватель попросил что бы я написал программу во первых с помощью функции во вторых, нужно вычислять сумму ряда при трех разных значениях e+ каждое значение е нужно вводить самому. Дальше еще сделать так что бы на экран выводилось количество итераций, и выводить достигнута ли точность или нет.+ еще конечное количество итераций задавать самому.
Вот код, что тута не правельно =) ?
 
const eps=1e-7;
var x,c,y,e:real;
i,l,j:integer;
fl:boolean;
procedure summa(x,e:real; l:integer;var s:real;var f:boolean; var n:integer);
var a:real;
begin
n:=1;
a:=x; {первый член}
s:=a;
while (abs(a)>e) and (n<l) do
begin
n:=n+1;
a:=a*(-1)*n/(n+1); {рекурентная формула}
s:=s+a;
end;
s:=s*2;
if abs(a)<e then
f:=true
else
f:=false;
end;

begin
writeln('vvedite x,l');
readln(x,l);
y:=ln(x+1);
for i:=1 to 3 do
begin
writeln ('vvedite e');
readln(e);
summa(x,e,l,c,fl,j);
if fl then
writeln('tochno')
else
writeln ('ne tochno');
writeln('s=',c,' y=',y,' iteracii=',j);
end;
end.



Добавлено через 12 мин.
И еще помогите с еще одной проблемкой. У меня задание
Нужно найти предел последовательности an=(1-cos(2/n))/1/n*sin(1/n) при n->бесконечность.(предел этой последовательность заранее дан он равен "2" . Дан он для того что бы сравнить примерное значение вычисляемого на паскале последовательности и 2)

Я предел вычислил через вот такой код

var an,an1,eps,x,y,z,c:real;
i,n:integer;
begin
readln(eps);
an1:=(1-cos(2))/sin(1);
i:=0;
n:=1;
repeat
n:=n+1;
an:=an1;
x:=1/n;
y:=1/n+x;
an1:=(1-cos(y))/(1/n*sin(x));
i:=i+1;
until abs(an1-an)<eps;
writeln(an1);
writeln(i);
end.



А как вычислить предел вот такой последовательности ? an= 1/(n+1)+1/(n+2)+...+1/2*n n->бесконечность. (Lim (an)= ln2 тоже дан заранее для сравнения)

Подскажите пожалуйста

Добавлено через 10 мин.
Подскажите пожааааалуйста =) ммммплииииз

Сообщение отредактировано: sintanial - 14.12.2007 20:43
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Client
сообщение 14.12.2007 21:21
Сообщение #2


Профи
****

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

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


Цитата
А как вычислить предел вот такой последовательности ? an= 1/(n+1)+1/(n+2)+...+1/2*n

Делаешь цикл с параметром, значение которого прибавляешь к N вот здесь
1/(n+i)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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