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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2008, 05:34   #1
Yermek
 
Регистрация: 22.08.2008
Сообщений: 5
По умолчанию Дискриминант

Здраствуйте дикриминант не высчитывает
x1:=(-b-(sqrt(d)))/(2*a);
x2:=(-b+(sqrt(d)))/(2*a); - вот эти формулы выводят не правильные цифры
Подскажите в чём ошибка?
procedure TForm1.Button1Click(Sender: TObject);
var
a:real;
b:real;
c:real;
d:real;
x1:real;
x2:real;
x3:real;

begin
a:=strtofloat(edit1.Text);
b:=strtofloat(edit2.Text);
c:=strtofloat(edit3.Text);
x1:=(-b-(sqrt(d)))/(2*a);
x2:=(-b+(sqrt(d)))/(2*a);
d:=(sqr(b))-(4*a*c);
x3:=-b/2*a;
if d>0 then
memo1.Lines.Add(floattostr(x1)+floa ttostr(x2));
if d<0 then
memo1.Lines.Add('menshe 0');
if d=0 then
memo1.Lines.Add(floattostr(x3));
end;
Yermek вне форума Ответить с цитированием
Старый 18.09.2008, 10:19   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,091
По умолчанию

может сначала нужно считать d, а потом на его основе x1 и x2?

Последний раз редактировалось pu4koff; 18.09.2008 в 10:21.
pu4koff вне форума Ответить с цитированием
Старый 18.09.2008, 17:15   #3
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию

Попробуй так
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c,d,x1,x2,x3:real;
begin
a:=strtofloat(edit1.Text);
b:=strtofloat(edit2.Text);
c:=strtofloat(edit3.Text);
x1:=(- b -(sqrt(d)))/(2*a);
x2:=(- b +(sqrt(d)))/(2*a);
d:=(sqr(b))-(4*a*c);
x3:=-b/2*a;
if d>0 then
memo1.Lines.Add(floattostr(x1+x2))
else if d<0 then
memo1.Lines.Add('Menshe 0')
else if d=0 then
memo1.Lines.Add(floattostr(x3));
end;
end.
Вот полный исходник....сверял с реализайией в Excel. Результат совпадает, но вот только знак значения Х3 отличается (если в Excel зачение "-" то в пргограмме "+")
Вложения
Тип файла: rar Prog.rar (168.7 Кб, 24 просмотров)

Последний раз редактировалось Noor; 18.09.2008 в 17:33.
Noor вне форума Ответить с цитированием
Старый 18.09.2008, 18:03   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
x3:=-b/2*a;
Нужно x3:=-b/(2*a);
puporev вне форума Ответить с цитированием
Ответ


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