14.11.2011, 22:51 | #1 (permalink) |
Новичок
Регистрация: 14.11.2011
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите, пожалуйста, решить уравнение в Паскале
Pi*x^3-E*x^2+(2*E+1)*x+Pi^2=0 очень нужно) заранее спасибо) |
14.11.2011, 22:51 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Полезную информацию так же можно поискать в аналогичных обсуждениях Решить дифференциальное уравнение в Паскале Помогите решить задачи в Паскале, пожалуйста |
16.11.2011, 20:55 | #3 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Так - это уже интереснее. Дело в том, что я половинное деление не признаЮ, считая его пережитком старины глубокой, а использую только десятичное. Если подойдет, то сделаю - только один вопрос: вызывает некоторое недоумение одинаковое обозначение точности и коэффициентов (Е). Это действительно так и задумано, или, может быть, в коэффициентах другое "Е", например, основание натуральных логарифмов?
|
17.11.2011, 00:35 | #4 (permalink) | |
Новичок
Регистрация: 14.11.2011
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Цитата:
мне бы, конечно, половинным нужно, ну можно и десятичным,я просто ни то, ни другое не знаю |
|
17.11.2011, 09:20 | #5 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
О, Боже, прости мя, грешнаго, за мысли дурныя, кровожадныя...
Значит, исходим из уравнения вида πx³ - ex² + (2e+1)x + π² = 0 Ладно. Пояснения. 1. Подстановкой пределов в уравнение устанавливаем, что значение левой части при х=-2 - около -39, при х=2 - около +37, т.е. при прохождении указанной области знак меняется с отрицательного на положительный. 2. Суть алгоритма: начиная с исходного значения, идем по оси "х", пока знак функции, стоящей слева в уравнении, не станет положительным. Как только это произойдет, "отпрыгиваем" по оси х назад на один шаг и повторяем процедуру, уменьшив шаг в 10 раз, и так делаем до тех пор, пока величина шага не станет меньшей заданного значения точности. Код:
CONST Eps=0.00001; VAR e,x,dx:Real; Function Eq(z:real):Real; begin Eq:=Pi*z*z*z-e*z*z+(2*e+1)*z+Sqr(Pi); end; BEGIN e:=Exp(1); x:=-2; dx:=1; REPEAT repeat x:=x+dx; until Eq(x)>0; x:=x-dx; dx:=dx/10; UNTIL dx<Eps; Writeln('x= ',x:8:5); Readln; END. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|