Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2012, 19:46   #1
alilar
Новичок
Джуниор
 
Регистрация: 18.08.2012
Сообщений: 2
По умолчанию Решить уравнение методом хорд( нужен ответ - программа работает правильно?)

Методы решения скалярных уравнений. С точностью до E=0.0001 найти ко-рень уравнения, локализованный на(0.5;2) методом хорд

х3-х2-9х+9=0

Код:
uses crt;
function f(x:real):real;
begin
f:=x*x*x-x*x-9*x+9;
end;
var xn,xk,p,e:real;
begin
clrscr;
repeat
write('Введите точность вычислений ) e=');
readln(e);
until (e>0)and(e<0.1);
xn:=0.5;
xk:=2.0;
repeat
p:=(f(xk)*xn-f(xn)*xk)/(f(xk)-f(xn));
if abs(f(p))<=e then
 begin
  writeln('x=',p:0:5,'  y=',f(p):0:5);
  readln;
  exit;
 end;
if f(xn)*f(xk)>0 then xn:=p else xk:=p;
until abs((f(xk)*xn-f(xn)*xk)/f(xk)-f(xn)-p)<=e;
writeln('x=',p:0:5);
readln
end.
Просто этот метод для меня не очень понятен и мне нужно мнение, правильно ли она находит решение.

Последний раз редактировалось Stilet; 17.09.2012 в 21:48.
alilar вне форума Ответить с цитированием
Старый 17.09.2012, 20:31   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Во-первых, для начала немного школьной программы: уравнение x3-x2-9x+9 вполне преобразуется в (x-1)*(x2-9)

Во-вторых:

Цитата:
С точностью до E=0.0001
и

Цитата:
until (e>0)and(e<0.1);
Вообще, если у Вас изначально по условию задачи e=0.0001, зачем городить огород и вводить с клавиатуры?

Корни уравнения: x=1, x=3, x=-3. Если у Вас что-то похожее получается - значит, правильно решает

На заданном отрезке (0.5;2) единственно правильным решением, естественно, будет 1. Попробуйте расширить диапазон до (-5;0) и (2;5) - если получите -3 и 3 соответственно, значит все ОК в программе.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...

Последний раз редактировалось Stilet; 17.09.2012 в 21:50.
Sciv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нахождение корней линейного уравнения методом хорд.нужен код С++ Belka.ru Помощь студентам 0 23.05.2012 10:03
Нелинейное уравнение методом хорд (подсказать) Swex Помощь студентам 4 25.03.2012 20:24
квадратное уравнение методом Хорд и методом касательных Pomio1 Помощь студентам 1 24.11.2011 00:37
уравнение x=f(x) методом касательный и методом хорд в делфи electrovolk Помощь студентам 0 30.12.2010 00:06