Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 14.11.2011, 22:51   #1 (permalink)
VaiLet
Новичок
 
Регистрация: 14.11.2011
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите, пожалуйста, решить уравнение в Паскале

методом половинного деления вычислить с точностью Е корень уравнения
Pi*x^3-E*x^2+(2*E+1)*x+Pi^2=0

очень нужно)
заранее спасибо)
VaiLet вне форума   Ответить с цитированием

Старый 14.11.2011, 22:51
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Полезную информацию так же можно поискать в аналогичных обсуждениях

Решить дифференциальное уравнение в Паскале
Помогите решить задачи в Паскале, пожалуйста

Старый 16.11.2011, 18:34   #2 (permalink)
VaiLet
Новичок
 
Регистрация: 14.11.2011
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

аууууу
никто не может решить??
а каким-нибудь другим способом?
отрекоз от-2 до 2
VaiLet вне форума   Ответить с цитированием
Старый 16.11.2011, 20:55   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от VaiLet Посмотреть сообщение
а каким-нибудь другим способом?
Так - это уже интереснее. Дело в том, что я половинное деление не признаЮ, считая его пережитком старины глубокой, а использую только десятичное. Если подойдет, то сделаю - только один вопрос: вызывает некоторое недоумение одинаковое обозначение точности и коэффициентов (Е). Это действительно так и задумано, или, может быть, в коэффициентах другое "Е", например, основание натуральных логарифмов?
Vladimir_S вне форума   Ответить с цитированием
Старый 17.11.2011, 00:35   #4 (permalink)
VaiLet
Новичок
 
Регистрация: 14.11.2011
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
Так - это уже интереснее. Дело в том, что я половинное деление не признаЮ, считая его пережитком старины глубокой, а использую только десятичное. Если подойдет, то сделаю - только один вопрос: вызывает некоторое недоумение одинаковое обозначение точности и коэффициентов (Е). Это действительно так и задумано, или, может быть, в коэффициентах другое "Е", например, основание натуральных логарифмов?
ну в задании стоит Е прописная,в уравнении е маленькая.
мне бы, конечно, половинным нужно, ну можно и десятичным,я просто ни то, ни другое не знаю
VaiLet вне форума   Ответить с цитированием
Старый 17.11.2011, 09:20   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от VaiLet Посмотреть сообщение
ну в задании стоит Е прописная,в уравнении е маленькая.
О, Боже, прости мя, грешнаго, за мысли дурныя, кровожадныя...
Значит, исходим из уравнения вида
π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.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 10:54.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.