Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.14;
Скачать: CL | DM;

Вниз

В чем ошибка?   Найти похожие ветки 

 
Chort ©   (2006-12-21 00:20) [0]

Сейчас сижу, глаза скоро вылезут из орбит, а исправить ошибку не могу.Короче говоря решение квадратного уравнения
implementation
procedure SqRoot(a, b, c: real; var x1, x2: real; var ok: boolean);
   { a,b,c - коэффициенты уравнения
     x1,x2 - корни уравнения
     ok = True  - решение есть
     ok = False - решения нет }
var
 d: real; // дискриминант
begin
 d := Sqr(b) - 4 * a * c;
 if d < 0
   then
   ok := False // уравнение не имеет решения
 else
 begin
   ok := True;
   x1 := (-b + Sqrt(d)) / (2 * a);
   x2 := (-b - Sqrt(d)) / (2 * a);
 end;
 end;

procedure Disc(a, b, c: real; var d: real; var ok: boolean);
begin
 d := Sqr(b) - 4 * a * c;
 if d < 0
   then
   ok := False // уравнение не имеет решения
 else
 begin
   ok := True;
   end;
    end;
{$R *.dfm}

procedure TForm1.SpeedButton1Click(Sender: TObject);
var
 k1, k2,k: real; // корни уравнения
 rez, rez1: boolean; // True - решение есть, False - решения нет
 mes: string; // сообщение
 mes1: string;
begin
 SqRoot(StrToFloat(Edit1.Text), StrToFloat(Edit2.Text),
   StrToFloat(Edit3.Text), k1, k2, rez);
   disc(StrToFloat(Edit1.Text), StrToFloat(Edit2.Text),
   StrToFloat(Edit3.Text),k, rez1);

 if rez  then begin
mes:= FloatToStrF(k1, ffGeneral, 4, 2);
mes1:= FloatToStrF(k2, ffGeneral, 4, 2)
end
else
   mes := "Уровнение не имеет решения";
   mes1 := "Уровнение не имеет решения";
 label20.Caption := mes;
 label21.Caption:= mes1;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
var
 k: real; // Дискриминант
 rez: boolean; // True - решение есть, False - решения нет
 mes: string; // сообщение
begin
 disc(StrToFloat(Edit1.Text), StrToFloat(Edit2.Text),
   StrToFloat(Edit3.Text),k, rez);
 if rez then
mes:= FloatToStrF(k, ffGeneral, 4, 2)
else
   mes := "Уравнение не имеет решения так как" + #13 +
       "дискриминант меньше 0";
Label5.Caption:= mes;
end;
end.
Нигде при компиляции не Матюкается. Но при работе находит один икс нормально, а другой в любом случае пишет "Уровнение не имеет решения"
P.s. Edit1,2,3-это соответственно a,b,c.


 
Axis_of_Evil ©   (2006-12-21 00:23) [1]

if rez  then begin
mes:= FloatToStrF(k1, ffGeneral, 4, 2);
mes1:= FloatToStrF(k2, ffGeneral, 4, 2)
end
else
begin отсутствует
  mes := "Уровнение не имеет решения";
  mes1 := "Уровнение не имеет решения";
end; а зря
label20.Caption := mes;
label21.Caption:= mes1;
end;


 
Chort ©   (2006-12-21 00:29) [2]


> Axis_of_Evil ©   (21.12.06 00:23) [1]

Ну что я могу сказать?Тормоз я короче говоря. Большое спасибо!



Страницы: 1 вся ветка

Текущий архив: 2007.01.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.029 c
15-1166388021
partizan
2006-12-17 23:40
2007.01.14
Вписать эллипс макс. площади в 4-угольник


10-1127933093
Pavell
2005-09-28 22:44
2007.01.14
Передача массива в IDispatch


15-1167066708
Andy BitOff
2006-12-25 20:11
2007.01.14
Новогодние открытки с программистским уклоном


8-1148479532
Костя_909
2006-05-24 18:05
2007.01.14
В строке buf[0]:= virtualalloc(... Delphi пишет Operator not appl


2-1166605815
>>DEATH<<
2006-12-20 12:10
2007.01.14
запись в массив