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

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

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

> Вычислить с заданной точностью ε
marwell
сообщение 19.11.2009 21:37
Сообщение #1


Бывалый
***

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

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


задали задачу dry.gif может, кто сможет помочь? я написал программу
var x,y,z,i,n: integer;
s,m,e:real;
begin
write ('vvedite x');
readln (x);
write ('vvedite n');
readln (n);
write ('vvedite e');
readln (e);
y:=1;
z:=1;
s:=1;
for i:=1 to n do
if y/z>e then {училка говорит,что тут нужен while,а не if.Пробовал с while,но прога вычисляет неверно mad.gif }
begin
z:=z*i;
y:=y*(2*x);
s:=s+y/z;
end;
write (s:9:5);
readln;
end.

задание прикреплено

М
Тэги!! Правила раздела, п.2 (подними глаза на верх страницы).
Lapp



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


Гость






Цитата
я ошибаюсь, или тут в этой строчке "y:=y*2*x/i;" числитель делится на очередное число, а не на факториал? этого числа?
Да, именно так и происходит, ты не ошибаешься. А теперь подумай, что произойдет, если на первой итерации поделим на 1, на второй на 2, на третьей на 3, и так далее? В итоге на что поделим?
 К началу страницы 
+ Ответить 
marwell
сообщение 1.01.2010 18:37
Сообщение #3


Бывалый
***

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

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


Цитата(volvo @ 1.01.2010 18:22) *

Да, именно так и происходит, ты не ошибаешься. А теперь подумай, что произойдет, если на первой итерации поделим на 1, на второй на 2, на третьей на 3, и так далее? В итоге на что поделим?

и так далее на очередное число. Но ведь факториал это произведение, например если n=5 то 1*2*3*4*5?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 1.01.2010 19:05
Сообщение #4


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(marwell @ 1.01.2010 18:37) *
и так далее на очередное число. Но ведь факториал это произведение, например если n=5 то 1*2*3*4*5?

Да. Но

1/n! = 1/(1*2*3*..*n) = 1/1/2/3/../n


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
marwell
сообщение 1.01.2010 19:25
Сообщение #5


Бывалый
***

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

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


Цитата(Lapp @ 1.01.2010 19:05) *

Да. Но

1/n! = 1/(1*2*3*..*n) = 1/1/2/3/../n

я уже не знаю что делать wacko.gif училка говорит, что надо делать с while, но условие такое что пока разность между предыдущим и следующим меньше эпсилон dry.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 1.01.2010 19:42
Сообщение #6


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(marwell @ 1.01.2010 19:25) *
я уже не знаю что делать wacko.gif училка говорит, что надо делать с while, но условие такое что пока разность между предыдущим и следующим меньше эпсилон dry.gif

Супер-трудно. Вычитание же проходят в академии, да?..
Вот так попробуй:
var
i: integer;
x,y,s,e,d: double;

begin
write ('vvedite x: ');
readln (x);
write ('vvedite e: ');
readln (e);
y:=1;
s:=1;
i:=1;
d:=e+1;
while d>e do begin
d:=y;
y:=y*2*x/i;
d:=Abs(d-y);
s:=s+y;
Inc(i)
end;
write (s:9:5);
readln;
end.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
marwell
сообщение 1.01.2010 20:45
Сообщение #7


Бывалый
***

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

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


Цитата(Lapp @ 1.01.2010 19:42) *

Супер-трудно. Вычитание же проходят в академии, да?..
Вот так попробуй:
var
i: integer;
x,y,s,e,d: double;

begin
write ('vvedite x: ');
readln (x);
write ('vvedite e: ');
readln (e);
y:=1;
s:=1;
i:=1;
d:=e+1;
while d>e do begin
d:=y;
y:=y*2*x/i;
d:=Abs(d-y);
s:=s+y;
Inc(i)
end;
write (s:9:5);
readln;
end.


спасибо большое smile.gif ну уж если она и это не примет, я молча врежу ей lol.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
marwell   Вычислить с заданной точностью ε   19.11.2009 21:37
Lapp   Пробовал с while,но прога вычисляет неверноПокажи ...   20.11.2009 12:25
marwell   Покажи вариант с while, плз. var x,y,z,i,n: int...   20.11.2009 23:00
Unconnected   А какие исходные данные известны, x,n и точность? ...   20.11.2009 22:11
Lapp   marwell, тебе не нужно вводить n - оно определяетс...   21.11.2009 4:03
marwell   marwell, тебе не нужно вводить n - оно определяет...   21.11.2009 21:59
marwell   marwell, тебе не нужно вводить n - оно определяет...   1.01.2010 18:04
Lapp   понятно.Но так как тема у меня циклы, то и прогу н...   22.11.2009 2:01
marwell   ммм... У меня возникло смутное подозрение, что ...   22.11.2009 10:01
Lapp   училка говорит,что тут нужен while я имею ввиду, ч...   22.11.2009 12:10
volvo   Да, именно так и происходит, ты не ошибаешься. А т...   1.01.2010 18:22
marwell   Да, именно так и происходит, ты не ошибаешься. А ...   1.01.2010 18:37
Lapp   и так далее на очередное число. Но ведь факториал ...   1.01.2010 19:05
marwell   Да. Но 1/n! = 1/(1*2*3*..*n) = 1/1/2/3/../...   1.01.2010 19:25
Lapp   я уже не знаю что делать :wacko: училка говорит, ч...   1.01.2010 19:42
marwell   Супер-трудно. Вычитание же проходят в академии, ...   1.01.2010 20:45


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

 



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