|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.01.2015, 08:45 | #1 |
Новичок
Джуниор
Регистрация: 20.01.2015
Сообщений: 2
|
подсчитать сумму ряда
Program lab3;
const y=0.57721566; x=0.50; eps=0.0000001; function fact(n1:integer):longint; begin if n1<=1 then fact:=1 else fact:= n1*fact(n1-1); end; Var Ei:real; n,n2:integer; begin Ei:=y+ln(x); n:=1; while Ei>eps do begin n2:=fact(n); Ei:=Ei+exp(ln(x)*n)/(n*n2); n:=n+1; end; write('Ei=',Ei:8:5,' n=',n); end. x,y заданы условием задачи. Выдает "Ei=-0.11593 n=1" Вопроса у меня 1. Почему отрицательное число выдает? Помогите очень срочно надо я заочник строитель это задание по информатике. |
20.01.2015, 09:10 | #2 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Код:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
20.01.2015, 09:16 | #3 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,825
|
Ei:=y+ln(x); = 0.5 + (-0,69526869920966972292207061766178) вот и получается отрицательное число,
а по условию оно должно быть больше eps=0.0000001; не выполеняется ваше условие. надо убрать минус. пиши тогда уж так while abs(Ei)>eps do
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подсчитать сумму ряда по формуле с заданной погрешностью E(ипсилон) для произвольно заданного аргумента | anast2594 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 22.06.2012 21:24 |
Подсчитать сумму ряда по формуле [Паскаль] | Yury381 | Помощь студентам | 1 | 23.12.2010 20:14 |
Найти сумму ряда с точностью e, если дан общий член этого ряда | JiLiYa | Общие вопросы C/C++ | 2 | 18.02.2009 11:11 |
Подсчитать сумму! | Deman4eg | Microsoft Office Excel | 2 | 02.04.2008 09:16 |