Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.220.140.5] |
|
Сообщ.
#1
,
|
|
|
что нужно сделать с дискрименантом?
procedure TForm1.Button1Click(Sender: TObject); var a, b, c, d, d1, x, x1, x2 :Extended; begin a:=StrTofloat(Edit1.Text); b:=StrTofloat(Edit2.Text); c:=StrTofloat(Edit3.Text); d1:=sqr(b)-4*a*c; d:=sqrt(d1); Edit4.Text:=FloatTostr(d); Edit4.Visible:=true; Label4.Visible:=true; if d>=0 then begin x1:=(-b-d)/(2*a); x2:=(-b+d)/(2*a); Edit5.Text:=FloatTostr(x1); Edit6.Text:=FloatTostr(x2); Edit5.Visible:=true; Edit6.Visible:=true; Label6.Visible:=true; Label7.Visible:=true; end else if d=0 then begin x:=(-b)/(2*a); Edit7.Text:=FloatTostr(x); Edit7.Visible:=true; Label5.Visible:=true; end else if d<0 then MessageDlg('D<0 нет корней!', mtInformation, [mbOK],0); end; |
Сообщ.
#2
,
|
|
|
Цитата sergio11 @ ТОгда строго больше, если d=0 отдельно рассматривается if d>=0 then |
Сообщ.
#3
,
|
|
|
знак d1 нужно проверять до извлечения корня
|
Сообщ.
#4
,
|
|
|
Цитата sergio11 @ нужно выполнять при условии d>0,а не всегда d:=sqrt(d1); Добавлено MBo Опередил) |
Сообщ.
#5
,
|
|
|
Спасибо БОЛЬШОЕ
|